A system tray utility to visualize local ports, kill blocking processes, and manage SSH tunnels.
- 🔌 Port Visualization - See all active ports and their associated processes at a glance
- 🗑️ One-Click Kill - Terminate processes blocking your ports instantly
- 🔗 SSH Tunnel Manager - Create, save, and manage SSH tunnels with visual status indicators
- 🖥️ System Tray - Runs quietly in your system tray with quick access menus
- 🌙 Dark Mode - Beautiful dark theme for comfortable viewing
- 🔄 Auto-Update - Automatic update checks from GitHub releases
Download the latest release for your platform:
- Windows:
PortPilot-Setup.exe - macOS:
PortPilot.dmg - Linux:
PortPilot.AppImage
# Clone the repository
git clone https://github.com/logando-al/port_pilot.git
cd port_pilot
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
# Install dependencies
pip install -r requirements.txt
# Run the application
python src/main.py- Launch PortPilot - The app starts minimized in your system tray
- Right-click the tray icon to see:
- Active SSH tunnels
- Top listening ports
- Quick actions
- Double-click to open the full dashboard
- Kill processes by clicking the 🗑️ button next to any port
- Manage tunnels in the Tunnel Manager tab
# Install dev dependencies
pip install -r requirements-dev.txt
# Run tests
pytest tests/ -v
# Run linting
ruff check src/ tests/
# Type checking
mypy src/
# Build executable
pyinstaller --onefile --windowed src/main.pyportpilot/
├── src/
│ ├── core/ # Business logic
│ ├── ui/ # PyQt6 UI components
│ └── utils/ # Utilities and helpers
├── tests/ # Unit and integration tests
├── .github/workflows/ # CI/CD pipelines
└── scripts/ # Build scripts
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.