ostp/ostp-client/src
ospab a03e2c9855 fix(relay): stop rejecting every generated relay config at load
The relay is a transparent pipe now — it authenticates nothing and forwards to a
fixed next hop. Both the setup wizard and the `init` template write a relay
config with only listen + upstream_tcp + upstream_udp, and the relay runtime
uses exactly those. But UnifiedConfig::validate still demanded a non-empty
upstream_api_url — a field left from the old design where the relay
authenticated clients itself and pulled the key list from the target's API.

So the tool generated a config it then refused to load: every relay came up with
"Relay configuration must specify upstream_api_url." That is why relay "was
never finished" — it could not start from any config the tool itself produced.

Validation now matches the transparent relay: require both upstream addresses
(the runtime needs both carriers), and do not require the dead api_url. Leftover
api_url in an old config is still tolerated, just ignored.

Adds regression tests that load a config exactly as the daemon does
(deserialize into the one canonical UnifiedConfig, then validate) for all three
modes. This is the drift-catcher: whenever the wizard/template and the validator
disagree on required fields again, a test fails instead of a user's node
refusing to start.
2026-08-17 16:04:38 +03:00
..
bin feat(tun): implement process bypass for TCP/UDP and IP bypass for UDP using existing Extended tables 2026-06-14 00:02:08 +03:00
transport §A: remove WSS + Reality (TLS-mimicry); bump to 0.4.0 / AGPL-3.0 2026-06-27 16:29:42 +03:00
tui
tunnel fix(client): stop leaking a socket+task per direct-bypassed SOCKS5 UDP flow 2026-07-21 18:07:49 +03:00
app.rs feat: NetworkChanged command for instant mobile reconnect, lower stall threshold 25s->8s 2026-05-21 00:29:49 +03:00
bridge.rs fix: post-suspend reconnect no longer strands the machine without internet 2026-08-04 00:34:12 +03:00
config.rs fix(relay): stop rejecting every generated relay config at load 2026-08-17 16:04:38 +03:00
lib.rs feat(client): one authoritative config migrator, manual-only 2026-07-08 18:45:04 +03:00
logging.rs refactor(logging): consolidate all logs into one ostp.log, Windows clears on start 2026-07-09 14:32:08 +03:00
migrate.rs refactor: remove dead stealth_sni config field across the whole stack 2026-07-10 01:04:56 +03:00
runner.rs refactor(logging): consolidate all logs into one ostp.log, Windows clears on start 2026-07-09 14:32:08 +03:00
signal.rs feat: v0.2.0 — BBR congestion control, 0-RTT session resumption, management REST API, fallback server, multi-listener 2026-05-17 21:05:44 +03:00
sysproxy.rs docs: update CLI arguments to subcommands 2026-07-10 03:05:30 +03:00