wirez
- title
- wirez
- type
- toolbox
- summary
- Routes any Linux program's TCP/UDP through a SOCKS5 proxy using rootless namespaces, not LD_PRELOAD
- tags
- golang, networking, proxy, socks5, linux
- language
- Go
- license
- MIT
- created
- 2026-04-06
- updated
- 2026-04-06
A Linux tool that redirects all TCP/UDP traffic from any program through a SOCKS5 proxy. Unlike proxychains or tsocks, which use LD_PRELOAD to intercept libc calls (and break on statically linked binaries), wirez uses rootless Linux containers and a userspace network stack (gVisor).
How it works: wirez spawns the target program in an isolated user+network namespace, creates a TUN device as the default gateway, and routes everything through a gVisor userspace TCP/IP stack connected to the SOCKS5 proxy. No library injection, no root required, works with any binary.
Basic usage:
# route all traffic from bash session through proxy
wirez run -F 127.0.0.1:1234 bash
# one-off command
wirez run -F 127.0.0.1:1234 -- curl example.com
# TCP through proxy, but DNS (UDP 53) goes direct
wirez run -F 127.0.0.1:1234 -L 53:1.1.1.1:53/udp -- curl example.com
Load balancing: wirez can also act as a simple SOCKS5 load balancer across multiple proxies:
wirez server -f proxies.txt -l 127.0.0.1:1080
Limitations: the run subcommand is Linux-only (needs namespaces and TUN). The load balancer server works cross-platform.
Repo: https://github.com/v-byte-cpu/wirez โ 171 stars, MIT license.