A PySide6 system tray application for managing Tor connections with bridge support.
- System Tray Integration: Runs in the system tray for easy access
- Bridge Support: Includes obfs4 bridges for bypassing censorship
- Bridge Configuration Dialog: Interactive GUI to manage bridges
- Real-time Status: Shows connection progress and bootstrap status
- Automatic Detection: Detects Tor and obfs4proxy installations
- Desktop Integration: Creates desktop entries and autostart support
- Persistent Configuration: Saves bridge settings automatically
- Python 3.6+
- PySide6
- Tor (installed system-wide)
- obfs4proxy (optional, for bridge support)
- Linux with system tray support
Make sure you have Tor and obfs4proxy installed:
# On Rocky Linux/RHEL/CentOS
sudo yum install tor obfs4proxy
# On Ubuntu/Debian
sudo apt-get install tor obfs4proxy
# On Arch Linux
sudo pacman -S tor obfs4proxy- Clone the repository:
git clone https://github.com/your-username/tor-manager.git
cd tor-manager- Run the build script:
./build_simple.shThis will:
- Create a virtual environment
- Install dependencies
- Install the package
- Create a wrapper script in
~/.local/bin/tor-manager - Create desktop entries
- Set up autostart
tor-manager- Find "Tor Manager" in your applications menu
- The application will start automatically on login
- Right-click the system tray icon to access the menu
- Connect/Disconnect from Tor
- View connection status
- Quit the application
The application includes default obfs4 bridges and automatically detects:
- Tor executable (
/usr/bin/toror/usr/local/bin/tor) - obfs4proxy executable (
/usr/local/bin/obfs4proxyor/usr/bin/obfs4proxy)
The application includes a powerful bridge configuration dialog accessible from the system tray menu.
- Right-click the system tray icon
- Select "Bridge Config" from the menu
- The Bridge Configuration dialog will open
- View all currently configured bridges
- Select and remove unwanted bridges
- Edit bridges by copying and modifying them
- Enter bridges manually in the text input field
- Press Enter or click "Add Bridge" to add
- Support for both obfs4 and vanilla bridge formats
- Add obfs4 Bridges: Adds a collection of tested obfs4 bridges
- Add Vanilla Bridges: Adds simple vanilla bridges for basic circumvention
- Remove Selected: Remove selected bridges from the list
- Clear All: Remove all bridges (with confirmation)
- Restore Defaults: Restore the original default bridges
- obfs4:
obfs4 IP:PORT FINGERPRINT cert=CERT iat-mode=0 - Vanilla:
bridge IP:PORT
Bridges are automatically saved to ~/.config/tor-manager/bridges.json and persist between sessions.
obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6QPSuWOiNJDINpBS8XtNUA6iOhzE/V2IFEmHJFPsRl8xQV6oNnUBjpPU/Q iat-mode=0
bridge 85.17.30.79:443
If the system tray is not working, ensure your desktop environment supports it:
- GNOME: Install
gnome-shell-extension-appindicator - KDE: Should work out of the box
- XFCE: Should work out of the box
If you encounter Qt platform plugin errors, make sure you have the necessary Qt packages installed:
# Rocky Linux/RHEL/CentOS
sudo yum install qt6-qtbase-gui
# Ubuntu/Debian
sudo apt-get install qt6-base-dev
# Arch Linux
sudo pacman -S qt6-baseThe application requires sudo privileges to run Tor. Make sure your user can run sudo commands.
Run the test script to check dependencies:
python test.py# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run the application
python main.py- The application runs Tor with sudo privileges
- Tor configuration includes custom bridges
- All network traffic is routed through Tor when connected
- The application creates temporary configuration files
This project is licensed under the MIT License.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
For issues and questions, please open an issue on the GitHub repository.