ProxyTuner
⚠ Warning: This software is in early development (alpha). Do not use in production or sensitive workspaces. It may contain bugs, insecure defaults, or incomplete security measures. Use only for personal testing and experimentation.
A cross-platform (Windows & Linux) CLI tool for tuning and routing network traffic through multiple proxy outbounds with flexible rule-based routing.
What It Does
ProxyTuner lets you:
- Manage proxy outbounds — add/remove SOCKS5 or HTTP proxies as named outbounds
- Define routing rules — direct traffic to specific outbounds based on:
- Process name (e.g.,
firefox,chrome,curl) - Domain / hostname patterns (regex)
- IP addresses and CIDR ranges
- URL patterns (regex)
- Port ranges
- Process name (e.g.,
- Start/stop tuning — activate or deactivate traffic redirection at any time
- Per-platform optimization — uses native OS mechanisms:
- Linux: nftables/iptables TPROXY + TUN interface
- Windows: WinDivert packet interception
Quick Start
# Install
pip install proxy-tuner
# Add a SOCKS5 proxy outbound
proxy-tuner outbound add my-vpn --type socks5 --host 127.0.0.1 --port 1080
# Add an HTTP proxy outbound
proxy-tuner outbound add my-http --type http --host 127.0.0.1 --port 8080
# Add a routing rule: send Firefox traffic through my-vpn
proxy-tuner rule add firefox-vpn --process firefox --outbound my-vpn
# Add a rule: send *.cn domains through a specific proxy
proxy-tuner rule add china-traffic --domain "*.cn" --outbound my-http
# Start tuning
proxy-tuner start
# Stop tuning
proxy-tuner stop
# Show status
proxy-tuner status
How It Works
ProxyTuner creates a local transparent proxy that intercepts traffic based on your rules and forwards it through the configured outbound proxies.
Application traffic
│
▼
┌──────────────────┐
│ ProxyTuner │
│ (rule engine) │
└──────────────────┘
│
┌────┴────┐
▼ ▼
Outbound1 Outbound2
(SOCKS5) (HTTP)
On Linux, traffic is redirected to ProxyTuner via nftables/iptables with per-process (--uid-owner) matching. On Windows, WinDivert captures packets from specific processes.
Requirements
- Python 3.10+
- Linux:
nftablesoriptables(root/sudo required) - Windows: WinDivert driver (admin required)
Documentation
- Architecture — technical design and internals
- Configuration — config file reference
- Usage Guide — CLI commands and examples
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file proxy_tuner-0.1.0.tar.gz.
File metadata
- Download URL: proxy_tuner-0.1.0.tar.gz
- Upload date:
- Size: 54.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0db20eed2c3cb786cc26fd2edab48509fa5881508478f6801295f86b4449461
|
|
| MD5 |
81849fd898b76ec258afafef058d6293
|
|
| BLAKE2b-256 |
962d121226927d37c55e9d71cd85a82d30a635947cc9feebb675da880928d5a7
|
File details
Details for the file proxy_tuner-0.1.0-py3-none-any.whl.
File metadata
- Download URL: proxy_tuner-0.1.0-py3-none-any.whl
- Upload date:
- Size: 52.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2644a2bb5372d1ae57b3ea69f1ac68fecbba0833db21bad97eb46771e5e5530b
|
|
| MD5 |
652cc43d22b55f74ff7feefd5d262f5d
|
|
| BLAKE2b-256 |
ed7868a9af3f3e974bfb4b0a403c004b2f8c7e287d0bc6a51d01ebea716487c1
|