Commit Graph

401 Commits

Author SHA1 Message Date
ospab af4a16e809 fix(android): protect xhttp TCP socket from VPN routing loop
When using xhttp (UoT) mode on Android, the underlying TcpStream was
not protected with VpnService.protect(fd). This caused the TCP connection
to be routed back into the TUN interface, creating an infinite routing
loop and failing the connection immediately.

Added Android-specific socket protection to the TcpStream in connect_xhttp.
This fixes xhttp/UoT mode on mobile networks.
2026-05-29 17:27:50 +03:00
ospab 59a9d5499d CI/CD: release version v0.2.71 2026-05-29 16:42:05 +03:00
ospab cde1035d80 fix(workspace): remove missing ostp-prober member from workspace 2026-05-29 16:41:34 +03:00
ospab 8d4b3a77a4 CI/CD: release version v0.2.70 2026-05-29 16:23:12 +03:00
ospab ec333470aa fix(reality): fix TLS 1.3 handshake causing 1KB DPI cutoff on mobile
The core bug: server sent 5 TLS records in server_hello but client only
read the first one (ServerHello), then passed remaining bytes (CCS + fake
records) into RealityStream. RealityStream saw 0x14 (CCS) != 0x17 and
immediately returned an error, killing the connection.

Changes:
- reality.rs: append ChangeCipherSpec after ClientHello (RFC 8446 D.4)
  export REALITY_SERVER_HANDSHAKE_RECORDS=5 constant
- xhttp.rs: drain all 5 server handshake records before creating RealityStream
- uot.rs: rebuild server_hello as proper 5-record TLS 1.3 flight:
  ServerHello + CCS + fake EE (108B) + fake Cert (812B) + fake Fin (52B)
  drain client CCS from raw stream before wrapping in RealityStream
2026-05-29 16:21:59 +03:00
ospab fe32703514 CI/CD: release version v0.2.69 2026-05-29 15:19:51 +03:00
ospab 7d025c119a docs: update obfuscation docs with XTLS-Reality 2026-05-29 15:02:39 +03:00
ospab ede54d3d0d feat: implement custom Reality protocol with ChaCha20Poly1305 and X25519 2026-05-29 15:00:17 +03:00
ospab ffa54cb5d7 feat: implement optional WSS framing for DPI bypass & extract framing logic 2026-05-29 13:59:59 +03:00
ospab bc0f739cee chore: reduce client and server logging verbosity for outbound datagrams and relays 2026-05-29 00:37:08 +03:00
ospab 73b3b4cc02 docs: add CONTRIBUTING guide in English and Russian, link in README 2026-05-29 00:25:40 +03:00
ospab 1141958759 CI/CD: release version v0.2.68 2026-05-29 00:18:47 +03:00
ospab 4975073e3f feat: implement split-tunneling bypass for TCP/UDP and native UDP NAT 2026-05-29 00:06:11 +03:00
ospab 61c6d0d10b CI/CD: release version v0.2.67 2026-05-28 23:18:21 +03:00
ospab 177787b29f CI/CD: release version v0.2.66 2026-05-28 19:43:56 +03:00
ospab 57d5715eb8 Fix E0728: cannot await inside or_else closure in relay.rs 2026-05-28 19:39:07 +03:00
ospab 1ea92b35cb CI/CD: release version v0.2.65 2026-05-28 19:33:33 +03:00
ospab b7911aabf0 Add 'Use Built-in' DNS button in GUI 2026-05-28 19:31:06 +03:00
ospab 2ac66bec42 Fix Speedtest disconnects and Discord WebRTC 2026-05-28 19:25:06 +03:00
ospab cbb0093dd5 Fix UDP over XHTTP and intercept 10.1.0.1 for panel.ostp 2026-05-28 19:13:39 +03:00
ospab 283885244b CI/CD: release version v0.2.64 2026-05-28 18:51:54 +03:00
ospab 7fba4b8aa0 fix(client): prefer IPv6 on Android to support NAT64 mobile networks 2026-05-28 18:51:30 +03:00
ospab eeabd3889b CI/CD: release version v0.2.63 2026-05-28 18:21:12 +03:00
ospab af19c52ac9 Fix Windows TUN NLA delays, UI timer, and Android UDP DNS resolution 2026-05-28 18:19:01 +03:00
ospab 8d0729f0ad CI/CD: release version v0.2.61 2026-05-28 16:41:04 +03:00
ospab ac5031fd95 Fix Windows TUN routing loop for SIM modems (0.0.0.0 NextHop) 2026-05-28 16:40:49 +03:00
ospab 1e7f562f81 Fix frontend ignoring tunnel errors & fix blocking wintun routines 2026-05-28 16:32:59 +03:00
ospab 6547b99798 CI/CD: release version v0.2.60 2026-05-28 15:31:00 +03:00
ospab 46a525ff3d Fix Tauri RealityConfig init 2026-05-28 15:30:48 +03:00
ospab 870d58adb9 CI/CD: release version v0.2.59 2026-05-28 15:19:18 +03:00
ospab 2b89763a72 Upgrade Flutter to 3.41.6 in CI to support Kotlin DSL 2026-05-28 15:19:06 +03:00
ospab d89da73187 CI/CD: release version v0.2.58 2026-05-28 15:06:40 +03:00
ospab eea5b135b6 Fix Android rust_target matrix variable 2026-05-28 15:06:22 +03:00
ospab 56ab555fe5 CI/CD: release version v0.2.57 2026-05-28 15:02:01 +03:00
ospab 23e2c04bc7 Fix Tauri build args, split Android into matrix, track flutter/gui, update docs and contacts 2026-05-28 15:01:41 +03:00
ospab 0cdb53e4e2 CI/CD: release version v0.2.56 2026-05-28 14:54:17 +03:00
ospab 0b5f8f36ef Update GUI builds to output dual architectures 2026-05-28 14:51:58 +03:00
ospab f164c2ffcf CI/CD: release version v0.2.55 2026-05-28 14:48:37 +03:00
ospab 25e29f0d54 Merge GUI jobs into release.yml and remove bare Android build 2026-05-28 14:48:26 +03:00
ospab c188c287f3 CI/CD: release version v0.2.54 2026-05-28 14:40:04 +03:00
ospab 7f0afab42a Fix STUN bug, improve DNS in TUN, fix config gen, add GHA for clients 2026-05-28 14:39:42 +03:00
ospab 10af0ca7a9 Add session id mismatch error trace 2026-05-28 13:49:33 +03:00
ospab e60324ef1a feat: enforce internal DNS on client and restore DNS interception on server
- Flutter: Hide 'DNS Server' field and force '10.1.0.1' if connection link contains owndns=true
- Flutter: Remove 'Use Provider DNS' toggle to eliminate client-side choice
- Server (relay.rs): Intercept DNS queries targeting '10.1.0.1:53' and process them via internal DnsServer if DNS is enabled
- Server (api.rs): Continue appending owndns=true to subscription links to enforce internal DNS logic on clients
2026-05-28 13:18:56 +03:00
ospab d405952463 CI/CD: release version v0.2.53 2026-05-28 12:30:28 +03:00
ospab 2c46750687 fix: remove DNS interception on server, fix TUN routing on Windows and Linux
- ostp-server/relay.rs: remove DNS port 53 interception — DNS queries
  now pass through to the actual DNS server as regular TCP connections
- ostp-client/native_handler.rs (Windows): add explicit gateway/32 route
  via real interface BEFORE setting default route via TUN to prevent loop
- ostp-client/native_handler.rs (Linux): properly detect real gateway and
  add default route via TUN with metric 10 after server IP exclusion
- Remove redundant extra DNS host routes from Windows setup script
2026-05-28 12:30:06 +03:00
ospab c607c40240 CI/CD: release version v0.2.52 2026-05-28 01:39:52 +03:00
ospab a20e74154e fix(client): proxy UDP DNS over TCP via local socks5 2026-05-28 01:39:20 +03:00
ospab 1ebbe0b3a0 CI/CD: release version v0.2.51 2026-05-28 01:29:12 +03:00
ospab 03e113fccf fix(server): return API token support for Relay servers sync 2026-05-28 01:28:29 +03:00
ospab 7b81f617ad CI/CD: release version v0.2.50 2026-05-28 01:09:45 +03:00