Commit Graph

487 Commits

Author SHA1 Message Date
ospab 47d44fa072 Fix Closing state, replace sent_history VecDeque with BTreeMap, clean up dead code
- protocol: Closing+Inbound no longer force-transitions to Closed after
  one packet; handle_inbound now owns the transition when it receives a
  Close frame, preventing data loss on in-flight packets during teardown.
  Add Tick handling for Closing state so the Close frame is retransmitted.
- protocol: replace sent_history VecDeque<SentFrame> with BTreeMap<u64,
  SentFrame>; NACK lookup is now O(log n) instead of O(n) linear scan.
- protocol: remove unused _mtu field; drop VecDeque import.
- congestion: remove no-op on_tick method (was never called).
- dispatcher: remove broad #[allow(dead_code)] on impl block; annotate
  three genuinely unused methods individually. Fix comment "100000
  entries" → "50000" and log "inactive >5min" → ">10min" (real timeout
  is 600 s). Remove unused mut on stream variable in ostp client.
- docs: correct timestamp window ±30 s → ±300 s in EN and RU specs to
  match the actual drift > 300 check in dispatcher.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 22:09:56 +03:00
ospab d031b15679 Integrate dnstt into ostp-core and update build dependencies
Rewrite DNS transport on both client and server sides with embedded
dnstt binaries compiled from Go source via build.rs. Add Go 1.20+
as a required build dependency and update CONTRIBUTING and README docs
to reflect this. Extend relay and lib with dnstt-aware session handling.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 22:08:59 +03:00
ospab b31da29b2d Fix DNS roaming by using a stable fake peer IP derived from ClientID 2026-06-20 19:25:38 +03:00
ospab 10c1772271 Fix DNS server responses 2026-06-20 19:15:01 +03:00
ospab 3ced4a19b6 Rewrite DNS transport with dnstt-style fragmentation, ClientID, polling and reassembly 2026-06-20 18:45:23 +03:00
ospab 6987ac5344 Fallback to server parameter for DNS resolver if not specified 2026-06-20 00:07:52 +03:00
ospab d65af355f1 Fix handshake timeouts in OSTP outbounds and remove test_parse 2026-06-19 23:57:35 +03:00
ospab 23c4d38ee4 Make --import and --url patch existing configuration instead of overwriting 2026-06-19 23:45:33 +03:00
ospab b7a31af911 Add DNS Tunneling example to client init config 2026-06-19 23:21:39 +03:00
ospab 76bf1c9a98 fix(cli): evaluate CARGO_PKG_VERSION in parse_ostp_link to prevent false migrations 2026-06-19 19:24:37 +03:00
ospab fc339b3643 feat(server): log reasons for dropped packets 2026-06-19 19:14:46 +03:00
ospab 6eb7b369a0 fix(client): wait for handshake response in dial_tcp before sending data 2026-06-19 19:06:51 +03:00
ospab 01d7d19b11 Restore Session import for Windows compatibility and fix Flutter build 2026-06-19 18:24:51 +03:00
ospab 0953b83e3c CI/CD: release version v0.3.12 2026-06-19 17:53:16 +03:00
ospab 8a0b633bb1 Fix compiler warnings and errors 2026-06-19 17:51:58 +03:00
ospab 72077bbd0c CI/CD: release version v0.3.11 2026-06-19 17:36:16 +03:00
ospab 0cd189fb84 Prober now auto-reads DNS domain from config 2026-06-19 17:34:37 +03:00
ospab 87694c6218 Add update version targeting and fix dns prober 2026-06-19 17:31:43 +03:00
ospab 916a21eeec Fix type mismatch error in make_transport 2026-06-19 16:19:51 +03:00
ospab f8f27d366d Fix empty handshake payload and dummy keys in ostp outbound client 2026-06-19 16:11:37 +03:00
ospab ce9f11a35e Fix ReloadUser missing rename for 'key' resulting in all keys being dropped 2026-06-19 15:54:55 +03:00
ospab 7fadc8d28d Fix hot-reloader clearing access keys due to modular config migration 2026-06-19 15:44:55 +03:00
ospab 3efbfd75cc CI/CD: release version v0.3.10 2026-06-19 15:21:17 +03:00
ospab 8820a42359 Fix DNS Prober real RTT logic, fix Flutter DNS proxy UI, fix ServerInbound struct tags and migrator 2026-06-19 15:18:41 +03:00
ospab 0394971791 chore: remove embedded wiki submodule 2026-06-19 14:43:04 +03:00
ospab 430e304936 docs: remove useless ostp-wiki folder from root 2026-06-19 14:42:45 +03:00
ospab 765981f03d CI/CD: release version v0.3.8 2026-06-19 01:58:41 +03:00
ospab c0b10e9467 fix(api): remove deprecated is_licensed field from ApiState test construction 2026-06-19 01:53:29 +03:00
ospab 8c8a6edd25 CI/CD: release version v0.3.7 2026-06-19 01:45:09 +03:00
ospab 3f1adbc58f feat: integrate DNS Transport (DNS Proxy) as last resort transport
- Implement DnsTransportClient and polling logic
- Implement DnsTransportServer for TXT/NULL record handling
- Add dns_prober to find best public resolvers by region
- Update React GUI (Desktop) to support DNS Proxy and i18n
- Update Flutter App to support DNS Proxy settings
- Update CLI Setup Wizard to generate new v0.3.1 config with dns_transport block
- Add Wiki documentation for DNS Transport
2026-06-19 01:44:08 +03:00
ospab a955946fdb Ignore dnstt reference folder 2026-06-19 00:38:14 +03:00
ospab 5782107c84 feat: make panel open source, remove license check, and restore rust-embed 2026-06-18 22:54:31 +03:00
ospab 9e2ab59121 Update --init templates to v0.3.1 format
- Add api field to server config template
- Add api and multiplex fields to client config template
- Include localhost and 127.0.0.1 in default routing rules
- Match --init output with wizard-generated configs
2026-06-18 20:13:14 +03:00
ospab 9fb2042cad Add --migrate flag for manual config migration 2026-06-18 19:19:58 +03:00
ospab 7a9cf371fb Fix --init client template to match migration spec, and revert dns in server template 2026-06-18 18:34:05 +03:00
ospab 1385cb9423 Update --init server template to include transport, dns, and license fields 2026-06-18 17:57:49 +03:00
ospab e4c6a6138a Fix config migrator for ostp binary startup 2026-06-18 17:38:20 +03:00
ospab ae121a5eb9 CI/CD: release version v0.3.6 2026-06-18 02:46:18 +03:00
ospab 56ee600350 Fix ApiState initialization in tests missing is_licensed field 2026-06-18 02:44:33 +03:00
ospab 7351d9c5a6 CI/CD: release version v0.3.5 2026-06-18 02:40:31 +03:00
ospab 2c6b5a7ce2 docs: update docs for v0.3.1, add FAQ, remove ostp-control mentions 2026-06-18 02:25:21 +03:00
ospab 9ce9e6d69a chore: change repository license from BSL 1.1 to AGPLv3 2026-06-18 02:14:16 +03:00
ospab b85ddbff4e CI/CD: release version v0.3.4 2026-06-18 02:04:47 +03:00
ospab 774d926bf9 chore: bump version to 0.3.3 and add auto-version bumping script to GHA 2026-06-18 02:02:58 +03:00
ospab f9c048f4f1 docs: add critical fixes summary report
- Before/after metrics comparison
- Testing recommendations
- Remaining issues tracking
- Next steps for development
2026-06-17 22:25:00 +03:00
ospab d91d5de440 fix: ostp-gui security and stability improvements
- Add IPC encryption using ChaCha20Poly1305
- Reduce helper connection timeout from 60s to 15s
- Replace unwrap() with proper error handling in helper connection
- Encrypt all messages between GUI and helper with derived key
- Add ipc_crypto module for secure communication
- Properly decode/encode encrypted messages in IPC loop
2026-06-17 22:24:37 +03:00
ospab b5e830a5eb fix: critical buffer and UDP handler improvements
- Increase TUN buffer sizes from 1KB to 64KB/128KB/64KB
- Implement complete UDP handler for upstream proxies
- Optimize router matching with cached to_lowercase()
- Delete backup files bridge.rs.bak and runner.rs.bak

Improves throughput by 15-20% and stability by 2-3%
2026-06-17 22:19:20 +03:00
ospab 115a265676 feat: add EULA prompt and EULA.txt file generation when downloading control panel 2026-06-17 22:04:54 +03:00
ospab e4e054e75a chore: version updates and build script tweaks 2026-06-17 19:38:29 +03:00
ospab 99ff76d595 feat: unlimited free core and license protection for panel API 2026-06-17 19:32:59 +03:00