ProxSwap is a powerful and flexible proxy management tool written in Rust btw. It allows you to manage and configure proxy settings with ease.
- Dynamic Proxy Management: Easily create, edit, and delete proxy configurations.
- Interactive TUI: Navigate through configurations using a terminal-based user interface.
- Asynchronous Operations: Built with async Rust for efficient and responsive performance.
- Configuration Persistence: Save and load configurations from JSON files.
- Integration with Redsocks: Automatically generate and manage
redsocks
configurations.
- Rust
iptables
andredsocks
installed on your systemsudo
privileges for managing network settings
-
Clone the repository:
git clone https://github.com/fobbidennotis/proxswap.git cd proxswap
-
Build the project:
cargo build --release
-
Run the application:
sudo ./target/release/proxswap
Configurations are stored in the ~/.config/proxswap/
directory as JSON files. Each configuration file should define proxies and iptables
rules.
Example configuration file:
{
"name": "example-config",
"proxies": [
{
"proxy_type": "http",
"url": "proxy.example.com",
"port": 8080
}],
"rules": [
{
"dport": 80,
"to_port": 14888,
"action": "REDIRECT"
}]
}
- Normal Mode: Navigate configurations with
↑
and↓
. PressEnter
to activate a configuration. - Editing Mode: Press
/
to search configurations. Type to filter, and pressEnter
to confirm. - Creating Mode: Press
c
to create a new configuration. Use↑
and↓
to navigate fields, andEnter
to confirm.
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
This project is licensed under the MIT License.