mitmproxy-wireguard
WireGuard interface for mitmproxy
What it is and what it does
mitmproxy_wireguard is a Rust-based native Python module that runs a user-space WireGuard server capable of transparently proxying traffic from any device configured as a WireGuard client. It uses tokio for async I/O across three worker threads: one managing the WireGuard protocol layer, one handling the network stack, and one communicating with Python. The package exposes a Python API similar to asyncio with a Server class for lifecycle management and TcpStream classes for handling established connections.
The module supports full IPv4 (TCP and UDP) and partial IPv6 (TCP and UDP) packet handling. It ships with prebuilt wheels for Windows x64, macOS (Intel and Apple Silicon), and Linux (x86_64 and aarch64), eliminating the need to compile Rust locally for most users. However, the repository is archived and has not received updates since February 2024, making it a legacy tool suitable only for stable, non-evolving deployments.
Use it for:
- Integrate WireGuard VPN proxying into mitmproxy for transparent traffic interception from remote clients.
- Build a transparent proxy server that accepts WireGuard connections and forwards or inspects TCP/UDP traffic.
- Test WireGuard client behavior by running a mock server that echoes or modifies packets in a controlled environment.
- Route traffic from Raspberry Pi or other aarch64 Linux devices through a Python-based proxy via WireGuard.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Implements a user-space WireGuard server that transparently proxies traffic from WireGuard clients, with asyncio-like Python bindings for TCP and UDP packet handling.
No—do not install for new projects. The package is archived and unmaintained since February 2024. While it has no known vulnerabilities and carries a permissive MIT license, the lack of maintenance means no bug fixes, no compatibility updates for newer Python or mitmproxy versions, and no response to issues. Install only if you are maintaining an existing deployment that already depends on it and cannot migrate.
Install
mitmproxy-wireguard on PyPI
pip
pip install mitmproxy-wireguarduv
uv add mitmproxy-wireguardpoetry
poetry add mitmproxy-wireguardInstalling mitmproxy-wireguard
Before you install
Medium friction: compiled native module with prebuilt wheels for Windows x64, macOS Intel/Apple Silicon, and Linux x86_64/aarch64. No runtime dependencies, but requires Python 3.7+. Repository is archived and unmaintained since February 2024.
License in practice
MIT license permits commercial and private use with minimal restrictions—suitable for most projects, though you assume responsibility for any issues given the package is no longer actively maintained.
Quickstart
import asyncio
import mitmproxy_wireguard
async def main():
server = await mitmproxy_wireguard.start_server()
await server.wait_closed()
asyncio.run(main())
Requires Python 3.7+; repository is archived and no longer maintained as of February 2024.
Verify before relying
- Whether partial IPv6 support is sufficient for your use case (description notes incomplete IPv6 implementation).
- Current stability and compatibility with modern mitmproxy versions, given the package has not been updated in over 1.5 years.
- Whether the tokio async runtime integration remains compatible with current Python asyncio patterns.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,228 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 3,394,480/month — #2,637 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: mitmproxy_wireguard-0.1.23-cp37-abi3-macosx_10_7_x86_64.whl; mitmproxy_wireguard-0.1.23-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl; mitmproxy_wireguard-0.1.23-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; mitmproxy_wireguard-0.1.23-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; mitmproxy_wireguard-0.1.23-cp37-abi3-win_amd64.whl
Tags
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
psutilpsutil retrieves real-time information about…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
uvloopuvloop is a drop-in replacement for Python's…
permissive · top 1,000 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
pyzmqPyZMQ provides Python bindings for ZeroMQ…
permissive · top 1,000 on PyPI
pproxypproxy is an asynchronous proxy server that…
permissive · top 15,000 on PyPI
mitmproxy-windowsProvides Windows-specific traffic redirection…
copyleft · top 15,000 on PyPI
mitmproxymitmproxy is an interactive, SSL/TLS-capable…
permissive · top 5,000 on PyPI
sshuttlesshuttle creates a transparent proxy that…
copyleft · top 15,000 on PyPI
threatwirethreatwire provides real-time network packet…
permissive · top 15,000 on PyPI
mitmproxy-macosProvides macOS-specific helper applications and…
permissive · top 15,000 on PyPI
pydivertPyDivert is a Python binding for the WinDivert…
copyleft · top 15,000 on PyPI
pmd-net-protoParses, assembles, and validates network…
copyleft · top 15,000 on PyPI
aiopnsenseAn async Python client library that wraps…
permissive · top 15,000 on PyPI
nono-pynono-py provides Python bindings for…
permissive · top 15,000 on PyPI