mirror of https://github.com/ospab/ostp.git
Adds a socket-level TTL desync: before the UDP handshake, the client fires a few decoy datagrams with a lowered IP TTL, then restores the socket's TTL and sends the real handshake. The decoys are meant to reach an on-path DPI box and expire before the server, so the box classifies the flow on the decoys while the server never sees them. Each decoy carries the key's junk marker, so any that does reach the server is dropped there silently. UDP only. On UoT the carrier is a single TCP stream, so a socket-level TTL change would apply to the real traffic too; proper TCP desync needs injected packets via a driver (WinDivert/NFQUEUE), which this deliberately does not attempt — it stays a no-op there rather than pretending to work. Off by default, and configurable under transport: ttl_desync (bool), ttl_desync_ttl (u8, default 8), ttl_desync_count (u8, default 2). The right TTL is the injector hop distance the prober's ttl_injector_probe reports, plus a hop or two so decoys die just past the DPI; the wrong value is simply inert, which is why this ships opt-in. Plumbed through the engine, the CLI, and the GUI config mapping; new fields default so existing configs are unaffected. Its actual DPI-evasion effect cannot be verified here — it needs a real censored path — so this is the mechanism, to be tuned against the prober. |
||
|---|---|---|
| .. | ||
| src | ||
| src-tauri | ||
| .gitignore | ||
| README.md | ||
| build_dist.js | ||
| package-lock.json | ||
| package.json | ||
| stage-sidecar.cjs | ||
README.md
Tauri + Vanilla
This template should help get you started developing with Tauri in vanilla HTML, CSS and Javascript.