Skip to content

πŸ” Tor Manager - A PySide6 system tray application for managing Tor connections with bridge support. Your privacy, your way! πŸš€

License

Notifications You must be signed in to change notification settings

journalehsan/tor-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Tor Manager

A PySide6 system tray application for managing Tor connections with bridge support.

Features

  • 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

Requirements

  • Python 3.6+
  • PySide6
  • Tor (installed system-wide)
  • obfs4proxy (optional, for bridge support)
  • Linux with system tray support

Installation

Prerequisites

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

Building and Installing

  1. Clone the repository:
git clone https://github.com/your-username/tor-manager.git
cd tor-manager
  1. Run the build script:
./build_simple.sh

This 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

Usage

Command Line

tor-manager

Desktop

  • Find "Tor Manager" in your applications menu
  • The application will start automatically on login

System Tray

  • Right-click the system tray icon to access the menu
  • Connect/Disconnect from Tor
  • View connection status
  • Quit the application

Configuration

The application includes default obfs4 bridges and automatically detects:

  • Tor executable (/usr/bin/tor or /usr/local/bin/tor)
  • obfs4proxy executable (/usr/local/bin/obfs4proxy or /usr/bin/obfs4proxy)

Bridge Configuration

The application includes a powerful bridge configuration dialog accessible from the system tray menu.

Accessing Bridge Configuration

  1. Right-click the system tray icon
  2. Select "Bridge Config" from the menu
  3. The Bridge Configuration dialog will open

Bridge Configuration Features

Current Bridges

  • View all currently configured bridges
  • Select and remove unwanted bridges
  • Edit bridges by copying and modifying them

Adding New Bridges

  • Enter bridges manually in the text input field
  • Press Enter or click "Add Bridge" to add
  • Support for both obfs4 and vanilla bridge formats

Preset Bridge Collections

  • Add obfs4 Bridges: Adds a collection of tested obfs4 bridges
  • Add Vanilla Bridges: Adds simple vanilla bridges for basic circumvention

Bridge Management

  • Remove Selected: Remove selected bridges from the list
  • Clear All: Remove all bridges (with confirmation)
  • Restore Defaults: Restore the original default bridges

Bridge Formats Supported

  • obfs4: obfs4 IP:PORT FINGERPRINT cert=CERT iat-mode=0
  • Vanilla: bridge IP:PORT

Bridge Storage

Bridges are automatically saved to ~/.config/tor-manager/bridges.json and persist between sessions.

Example Bridge Formats

obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6QPSuWOiNJDINpBS8XtNUA6iOhzE/V2IFEmHJFPsRl8xQV6oNnUBjpPU/Q iat-mode=0
bridge 85.17.30.79:443

Troubleshooting

System Tray Issues

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

Qt Platform Plugin Issues

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-base

Permission Issues

The application requires sudo privileges to run Tor. Make sure your user can run sudo commands.

Development

Testing

Run the test script to check dependencies:

python test.py

Building from Source

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run the application
python main.py

Security Considerations

  • 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

License

This project is licensed under the MIT License.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

Support

For issues and questions, please open an issue on the GitHub repository.

About

πŸ” Tor Manager - A PySide6 system tray application for managing Tor connections with bridge support. Your privacy, your way! πŸš€

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published