Transparent SOCKS5 proxy for Windows. WinTProxy intercepts IPv4 TCP and UDP traffic with WinDivert, classifies packets by process and destination, and applies ordered proxy/direct/block rules.
- Rule-based transparent proxying by process name, IP range, port, and protocol.
- TCP forwarding through SOCKS5 CONNECT.
- UDP forwarding through SOCKS5 UDP ASSOCIATE.
- Optional DNS hijacking to a configured IPv4 resolver.
- 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
--proxy <addr:port> SOCKS5 proxy address (default: 127.0.0.1:7890)
--dns <addr:port> Enable DNS hijacking (redirect to addr:port)
--log <path> Write logs to file (in addition to stderr)
-v, --verbose Increase verbosity (repeat for more: -vv, -vvv, -vvvv)
--version Show version
-h, --help Show help
Command-line options override config file values.
- Guide — build, configuration, and architecture
- config.example.json — annotated example covering all options
Third-party components: