A wireguard and AmneziaWG client that exposes itself as a socks5/http proxy or tunnels.
wireproxy is a completely userspace application that connects to a wireguard/AmneziaWG peer,
and exposes a socks5/http proxy or tunnels on the machine. This can be useful if you need
to connect to certain sites via a wireguard peer, but can't be bothered to setup a new network
interface for whatever reasons.
To keep things organized, the documentation is split into several modules. Please refer to the specific guides below:
- 🚀 Installation & CLI Usage - How to build, install, and run wireproxy.
- ⚙️ Configuration Guide - Extensive configuration examples (SOCKS5, HTTP, TCP/UDP tunnels, AmneziaWG parameters).
- 🐳 Docker Guide - How to run wireproxy inside a Docker container.
- 🏥 Health Endpoints - Monitoring and health checks (
/metrics&/readyz). - 🦊 Use with VPN & Browser Extensions - Setup with Firefox Container Tabs and MacOS auto-start.
System Services Integrations:
- TCP static routing for client and server
- UDP proxy and forwarding tunnel (
UDPProxyTunnel) - SOCKS5/HTTP proxy (currently only CONNECT is supported)
- Native AmneziaWG support
- You simply want to use wireguard/AWG as a way to proxy some traffic.
- You don't want root permission just to change wireguard settings.
Currently, I'm running wireproxy connected to a server in another country, and configured my browser to use wireproxy for certain sites. It's pretty useful since wireproxy is completely isolated from my network interfaces, and I don't need root to configure anything.
This project is a heavily modified fork standing on the shoulders of giants:
- windtf/wireproxy (formerly octeep): The original creator and upstream maintainer.
- artem-russkikh/wireproxy-awg: Added AmneziaWG (AWG) support.
- bropines/wireproxy-awg: Current maintainer. Added dynamic UDP Proxy Tunnel support, refined build systems, and overall structural improvements.