Commit Graph

337 Commits

Author SHA1 Message Date
ospab 3ffa057d03 fix(client): fix catastrophic channel loopback in UoT transport that echoed packets locally 2026-05-21 18:24:48 +03:00
ospab 6c4006c48c CI/CD: release version v0.2.23 2026-05-21 18:09:46 +03:00
ospab 7c84c17336 fix(core): add raw_len and noise_len to noise-read error 2026-05-21 18:02:42 +03:00
ospab b57a3180bd CI/CD: release version v0.2.22 2026-05-21 15:58:16 +03:00
ospab 855ef7655f fix(core): improve UoT tracing and test coverage 2026-05-21 15:54:39 +03:00
ospab b9c6022b6c CI/CD: release version v0.2.21 2026-05-21 15:16:52 +03:00
ospab 1cff291fdd fix: noise-read in UoT handshake (single attempt, 4s timeout); add TCP rate limiter against bots 2026-05-21 15:15:56 +03:00
ospab be55aa6c6f CI/CD: release version v0.2.20 2026-05-21 15:05:46 +03:00
ospab 09b6f202d0 fix: UoT always uses plain TCP (remove broken TLS branch for port 443) 2026-05-21 14:59:48 +03:00
ospab 41562707ec fix: UoT uses server port instead of hardcoded 443 when stealth_port not overridden 2026-05-21 14:54:03 +03:00
ospab 02d0665edd CI/CD: release version v0.2.19 2026-05-21 14:45:45 +03:00
ospab cc3b0b689d fix: UoT server logs warn level, fix duplicate mux config, fix i686 CI with cross 2026-05-21 14:45:29 +03:00
ospab 3685ecac5c CI/CD: release version v0.2.18 2026-05-21 14:36:22 +03:00
ospab 3febe79b15 feat: log raw HTTP response on UoT handshake failure 2026-05-21 14:35:45 +03:00
ospab 9ef2282b31 CI/CD: release version v0.2.17 2026-05-21 14:12:06 +03:00
ospab 834c244f94 feat: disguise UoT handshake as WebSocket to bypass DPI and proxies 2026-05-21 14:11:50 +03:00
ospab 975a0dc0d9 CI/CD: release version v0.2.16 2026-05-21 14:06:28 +03:00
ospab 960382e93b fix: revert UoT POST back to GET for direct DPI bypass without proxy 2026-05-21 14:05:43 +03:00
ospab 9e2b29723c CI/CD: release version v0.2.15 2026-05-21 13:43:15 +03:00
ospab 1bc63c4094 feat: add X-Ostp-Server validation to UoT handshake 2026-05-21 13:15:49 +03:00
ospab e7ad24bb13 CI/CD: release version v0.2.14 2026-05-21 13:06:19 +03:00
ospab 92fc73756f fix: use POST and Content-Length in UoT to prevent nginx chunked encoding 2026-05-21 13:06:06 +03:00
ospab 3eb547db9d CI/CD: release version v0.2.13 2026-05-21 12:44:06 +03:00
ospab a81625d721 fix: correctly handle payload buffering during http handshake in uot 2026-05-21 12:43:47 +03:00
ospab 1c98bf9a51 CI/CD: release version v0.2.12 2026-05-21 03:00:51 +03:00
ospab 921533f560 fix: pass mtu to tun2socks 2026-05-21 03:00:44 +03:00
ospab c957a3a395 CI/CD: release version v0.2.11 2026-05-21 03:00:24 +03:00
ospab 5fa110d962 fix: make uot check case-insensitive 2026-05-21 03:00:07 +03:00
ospab a5a0a17cfd feat: add transport and mtu fields to gui 2026-05-21 02:59:01 +03:00
ospab f55769bae0 CI/CD: release version v0.2.10 2026-05-21 02:33:24 +03:00
ospab b87e87a7bd fix: correctly parse transport config section from json in CLI and GUI 2026-05-21 02:33:14 +03:00
ospab aa3fb70933 CI/CD: release version v0.2.9 2026-05-21 02:28:33 +03:00
ospab d9c3ba875c fix: disable aws-lc-rs backend in rustls for 32-bit musl compatibility 2026-05-21 02:28:28 +03:00
ospab 8bc8a3ce51 CI/CD: release version v0.2.8 2026-05-21 02:24:59 +03:00
ospab 81293a9071 feat: indicate protocol in connection log 2026-05-21 02:24:53 +03:00
ospab 30dea79197 CI/CD: release version v0.2.7 2026-05-21 02:24:02 +03:00
ospab ceb760e4ce feat: implement server-side UoT and MTU tuning 2026-05-21 02:23:49 +03:00
ospab 112ddfee59 CI/CD: release version v0.2.6 2026-05-21 02:11:45 +03:00
ospab 83f7ff2119 feat: UoT and xHTTP stealth 2026-05-21 02:11:02 +03:00
ospab 9329bcef45 feat: WSS transport mode selector in Flutter UI + TransportConfig in Rust 2026-05-21 00:39:12 +03:00
ospab 0cc5cf47ef feat: NetworkChanged command for instant mobile reconnect, lower stall threshold 25s->8s 2026-05-21 00:29:49 +03:00
ospab baff58c7fb CI/CD: release version v0.2.5 2026-05-18 22:05:26 +03:00
ospab a0e38c462e fix: clamp padding size to prevent UDP fragmentation on LTE/cellular and dynamically report connection status 2026-05-18 22:03:33 +03:00
ospab 4384125bf8 CI/CD: release version v0.2.4 2026-05-18 21:05:15 +03:00
ospab 8a2af5d73d feat: implement robust multiplexing, high-latency timeouts, and dynamic background reconnects for mobile network stability 2026-05-18 21:04:51 +03:00
ospab 3a4b5a8c63 chore: fix cargo clippy warnings
- Boxed HandshakeState in NoiseSession to reduce enum variant sizes
- Used is_ok() instead of let Ok(_) pattern
- Applied automatic clippy fixes for minor warnings
2026-05-17 22:22:39 +03:00
ospab 990af12fbe CI/CD: release version v0.2.3 2026-05-17 22:13:37 +03:00
ospab ee14a60348 feat: GUI v2 redesign + CI/CD speedup
GUI (ostp-gui):
- Complete HTML rewrite: orbit rings, server badge, metrics bar, peek-key
- CSS design system v2: ambient blobs, glassmorphism card, richer token set
  orbit animation (connected/connecting states), breathing power button,
  modern toggle component with thumb, toast variants (ok/error/default)
- main.js: clean state machine, server badge, TUN/SOCKS5 mode label,
  peek-key toggle, toast variants, import link, uptime counter

CI/CD (.github/workflows/release.yml):
- Replaced swatinem/rust-cache with actions/cache@v4 (per-target key)
- Cache cross binary: skip reinstall on cache hit (~3 min saved per job)
- Cache tauri-cli binary: skip reinstall on cache hit (~2 min saved per GUI job)
- Added npm cache (cache-dependency-path: ostp-gui/package-lock.json)
- Removed redundant pre-flight cargo check step (duplicates build step)
- Cleaned up packaging scripts (inline vars, smaller surface area)
2026-05-17 22:13:03 +03:00
ospab 3a16373a31 CI/CD: release version v0.2.2 2026-05-17 21:58:53 +03:00
ospab 9b01466953 test: integration tests for ProtocolMachine (handshake, data, close, wrong-psk, CC, multi-frame)
8 new integration tests in ostp-core::protocol::tests:
- test_full_handshake: Noise handshake -> Established state
- test_data_exchange_client_to_server: encrypt/decrypt data frame C->S
- test_data_exchange_server_to_client: encrypt/decrypt data frame S->C
- test_close_sequence: Close frame -> Closed state
- test_wrong_psk_handshake_fails: bad PSK rejected, never reaches Established
- test_congestion_controller_after_handshake: CC budget >= 2 in SlowStart
- test_multiple_data_frames: 10 sequential frames, payload integrity verified
- test_tick_no_crash: Tick event stable on both sides

Total: 43 tests, 0 failures
2026-05-17 21:58:01 +03:00