Commit Graph

565 Commits

Author SHA1 Message Date
Alexey df4494c37a
New reroute algo + flush() optimized + new IPV6 Parser
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com>
2026-02-18 19:08:27 +03:00
Alexey b84189b21b
Update ROADMAP.md 2026-02-18 19:04:39 +03:00
Alexey 9243661f56
Update ROADMAP.md 2026-02-18 18:59:54 +03:00
Alexey bffe97b2b7
Merge pull request #143 from telemt/plannung
Create ROADMAP.md
2026-02-18 18:52:25 +03:00
Alexey bee1dd97ee
Create ROADMAP.md 2026-02-18 17:53:32 +03:00
Alexey 16670e36f5
Merge pull request #138 from LinFor/LinFor-patch-1
Just a very simple Grafana dashboard
2026-02-18 14:13:41 +03:00
Alexey 5dad663b25
Autobuild: merge pull request #123 from vladon/git-action-for-build-for-x86_64-and-aarch64
Add GitHub Actions release workflow for multi-platform builds
2026-02-18 13:43:04 +03:00
LinFor 8375608aaa
Create grafana-dashboard.json
Just a simple Grafana dashboard
2026-02-18 12:26:40 +03:00
Vladislav Yaroslavlev 0057377ac6
Fix CodeQL warnings: add permissions and pin action versions 2026-02-18 11:38:20 +03:00
Igor 319af0e291 Revert "Fix ME proxy config parser to support IPv6 addresses"
This reverts commit 0f40771223.
2026-02-18 10:52:12 +03:00
Igor 0f40771223 Fix ME proxy config parser to support IPv6 addresses
The getProxyConfigV6 endpoint returns addresses in [ipv6]:port format,
but the regex only matched IPv4 host:port, causing IPv6 ME map to be empty.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 10:28:43 +03:00
Igor 0b36e14d6e Merge remote-tracking branch 'upstream/main' 2026-02-18 08:56:45 +03:00
Igor 496a4ab005 Revert "Skip IPv6 connections when IPv6 is unavailable on host"
This reverts commit d122cbfe5a.
2026-02-18 08:56:42 +03:00
Alexey 078ed65a0e
Update Cargo.toml 2026-02-18 06:38:01 +03:00
Alexey 9872f0ed1b
Update Cargo.toml 2026-02-18 06:09:55 +03:00
Alexey fb0cb54776
Merge pull request #133 from telemt/flow
New [network] section + ME Fixes + small bugs coverage
2026-02-18 06:09:36 +03:00
Alexey 67bae1cf2a
[network] in upstream
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com>
2026-02-18 06:02:24 +03:00
Alexey eb9ac7fae4
ME Fixes
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com>
2026-02-18 06:01:52 +03:00
Alexey 8046381939
[network] in main
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com>
2026-02-18 06:01:08 +03:00
Alexey 650f9fd2a4
[network] in docs
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com>
2026-02-18 06:00:21 +03:00
Alexey d4ebc7b5c6
New [network]
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com>
2026-02-18 05:59:58 +03:00
Alexey 7a4ccf8e82
Update Cargo.toml 2026-02-18 04:24:16 +03:00
Alexey 73b40d386a
Merge pull request #121 from vladon/git-action-for-build-n-test-every-pr
Add GitHub Actions workflow for build and test on every PR
2026-02-17 21:03:52 +03:00
Igor d122cbfe5a Skip IPv6 connections when IPv6 is unavailable on host
Detect IPv6 availability at startup using UDP probe. When IPv6 is not
available: override prefer_ipv6 to false, skip IPv6 DC pings, pass empty
ME v6 proxy map, skip IPv6 coverage checks in health monitor, and skip
IPv6 fallback in upstream health checks. This eliminates useless
connection attempts with timeouts on IPv6-less hosts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 20:46:56 +03:00
Vladislav Yaroslavlev 3206ce50bb
add manual workflow run 2026-02-17 18:17:14 +03:00
Vladislav Yaroslavlev bdccb866fe
git action for build binaries 2026-02-17 17:59:59 +03:00
Vladislav Yaroslavlev 9b5b382593
dont fail on loop error 2026-02-17 17:00:17 +03:00
Vladislav Yaroslavlev 9886c9a8e7
use -W warnings for clippy 2026-02-17 16:41:38 +03:00
Vladislav Yaroslavlev cb3d32cc89
comment -D warnings for clippy 2026-02-17 16:35:03 +03:00
Vladislav Yaroslavlev 010eb5270f
add git action to build and test every PR 2026-02-17 16:17:30 +03:00
Alexey e33092530d
Merge pull request #117 from vladon/update-cargo-lock
chore: update Cargo.lock with latest dependencies
2026-02-17 15:19:19 +03:00
Igor 8268714a4c Add CLAUDE.md with reference to AGENTS_SYSTEM_PROMT.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:27:48 +03:00
Igor 279d60693b Merge commit '43990c9' 2026-02-17 14:27:45 +03:00
Alexey e7d649b57f
Merge pull request #116 from An0nX/patch-1
feat: production system prompt — scope control, structured output, decision process
2026-02-17 14:17:28 +03:00
Vladislav Yaroslavlev 5f3d089003
chore: update Cargo.lock with latest dependencies
- Add h2 0.4.13 dependency
- Add httpdate 1.0.3 dependency
- Update hyper to include h2 and httpdate features
- Update tokio-util with additional futures and hashbrown dependencies
2026-02-17 12:49:02 +03:00
An0nX 4322509657
feat: rewrite system prompt with scope control, response format, and decision process
Rewrite the system prompt for production Rust codebase assistance.

Key changes:
- Add Priority Resolution (Section 0) implementing "Boy Scout Rule" with
  explicit scope control: coordinated style fixes are always in scope,
  architectural changes require explicit approval
- Add role definition as senior Rust systems engineer with strict code
  review responsibilities
- Rewrite negative constraints ("DO NOT") as positive instructions
  throughout all sections for better model adherence
- Add structured decision process for complex changes (Section 8):
  clarify → assess → propose → implement → verify
- Add context awareness rules (Section 9) for partial code handling
- Add mandatory response format (Section 10) with two-section structure:
  Reasoning (Russian) and Changes (English code)
- Add language policy: code/comments/commits in English,
  reasoning in Russian
- Add out-of-scope observations reporting mechanism — model reports
  issues it finds but is not allowed to fix
- Add splitting protocol for responses exceeding output limits
- Add file size thresholds for full-file vs contextual-diff responses
  (200 lines boundary)
- Preserve permission for todo!() and unimplemented!() as idiomatic
  Rust markers
- Preserve all existing rules: file size limits, formatting preservation,
  warning/dead-code protection, architectural integrity, git discipline
2026-02-17 12:42:03 +03:00
Alexey 43990c9dc9
Merge pull request #113 from telemt/me-fixes
Me fixes
2026-02-17 04:26:20 +03:00
Alexey c03db683a5
Improved perf for ME
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com>
2026-02-17 04:16:16 +03:00
Alexey 168fd59187
Fixed critical ME Problems 2026-02-17 03:40:39 +03:00
Alexey 8bd02d8099
Merge pull request #111 from VeryBigSad/feat/metrics-endpoint
Add Prometheus /metrics HTTP endpoint
2026-02-17 01:39:29 +03:00
Mikhail a1db082ec0
Add Prometheus /metrics HTTP endpoint
Wire up unused metrics_port/metrics_whitelist config into working
HTTP server exposing proxy stats in Prometheus text format.
2026-02-17 01:24:49 +03:00
Alexey 9b9c11e7ab
Merge pull request #110 from telemt/neurosl0pe
Create AGENTS_SYSTEM_PROMT.md
2026-02-16 23:41:59 +03:00
Alexey 274b9d5e94
Update AGENTS_SYSTEM_PROMT.md 2026-02-16 23:34:52 +03:00
Alexey d888df6382
Update AGENTS.md 2026-02-16 23:33:09 +03:00
Alexey 011b9a3cbf
Create AGENTS_SYSTEM_PROMT.md 2026-02-16 23:30:46 +03:00
Alexey d67a587f3d
Merge pull request #106 from vladon/docs/update-announce-readme
docs: update README with new 'announce' parameter
2026-02-16 22:33:25 +03:00
Vladislav Yaroslavlev 478fc5dd89
docs: update README with new 'announce' parameter
Replace deprecated 'announce_ip' example with new 'announce' parameter
that supports both hostnames and IP addresses.
2026-02-16 18:51:21 +03:00
Alexey a0e7210dff
Merge pull request #100 from vladon/feature/announce-hostname
feat: extend announce_ip to accept hostnames
2026-02-16 17:36:22 +03:00
vladon 16b5dc56f0 feat: extend announce_ip to accept hostnames
Add new 'announce' field to ListenerConfig that accepts both IP addresses
and hostnames for proxy link generation. The old 'announce_ip' field is
deprecated but still supported via automatic migration.

Changes:
- Add 'announce: Option<String>' field to ListenerConfig
- Add migration logic: announce_ip → announce if announce not set
- Update main.rs to use announce field for link generation
- Support both hostnames (e.g., 'proxy.example.com') and IPs

Backward compatible: existing configs using announce_ip continue to work.
2026-02-16 17:26:46 +03:00
vladon 303a6896bf AGENTS.md 2026-02-16 16:59:29 +03:00