Transparent SOCKS5 proxy for Windows. WinTProxy intercepts IPv4 TCP and UDP traffic with WinDivert, plans each packet through explicit DNS, bypass, policy, proxy, return-path, and action-execution stages, then applies a proxy/direct verdict.
- Explicit verdict/action traffic engine with centralized pass, drop, rewrite/send, DNS-forward, and UDP-relay actions.
- Traffic-stage JSON config:
dns,bypass,policy,proxy, andlogging. - Ordered first-match proxy/direct policy rules by process name, IP range, port, and protocol.
- TCP forwarding through SOCKS5 CONNECT.
- UDP forwarding through SOCKS5 UDP ASSOCIATE.
- DNS hijacking for both UDP and TCP DNS before normal policy decisions.
- Fixed-size hot-path tables for connection tracking, DNS NAT, process lookup, and relay state.
Cross-compile with MinGW from WSL2 or Linux:
sudo apt install gcc-mingw-w64-x86-64
cmake -B build -DCMAKE_TOOLCHAIN_FILE=cmake/mingw-toolchain.cmake
cmake --build buildPlace WinDivert.dll and WinDivert64.sys next to WinTProxy.exe, then run from an elevated Windows shell:
WinTProxy.exe --config config.example.jsonWinTProxy.exe [options]
Options:
--config <path> Path to JSON config file
--log <path> Override logging.file from config
-v, --verbose Override logging.level (-v=info, -vv=debug, -vvv=trace; extra -v clamps to trace)
--version Show version
-h, --help Show help
Traffic behavior belongs in the config file. CLI flags are intentionally limited to bootstrap/logging/help/version. The five public log levels are error, warn, info, debug, and trace; debug is the normal troubleshooting view with flow decisions, DNS query summaries, and grouped performance snapshots, while trace is reserved for packet/protocol detail. Extra verbosity such as -vvvv clamps to trace.
WinTProxy now uses a traffic-stage schema. Policy decisions are proxy or direct only; the previous policy-level block action has been removed from the traffic model.
See config.example.json for an annotated example.
- Guide — build, configuration, and architecture
- config.example.json — annotated traffic-stage config
Third-party components: