Comprehensive SSH Tools Suite with Tunnel Manager and Third-Party Installer
Project description
SSH Tools Suite
Professional SSH tunnel management and third-party software installation suite with intuitive GUI
SSH Tools Suite is a comprehensive toolkit for managing SSH tunnels, streaming RTSP video, and automating third-party software installations. Built with Python and PySide6, it provides both command-line and graphical interfaces for maximum flexibility.
✨ Features
🔐 SSH Tunnel Manager
- Multiple Tunnel Types: Local, Remote, and Dynamic (SOCKS) tunnels
- Real-time Monitoring: Live status updates and health checks
- RTSP Video Streaming: Stream video securely through SSH tunnels
- SSH Key Management: Generate, deploy, and manage SSH keys
- Network Tools: Port scanner, connection tester, and network visualizer
- SFTP File Browser: Browse and transfer files with drag-and-drop support
- Configuration Management: Import/export tunnel configurations
- System Tray Integration: Minimize to tray with notifications
🛠️ Third-Party Installer
- Automated Installation: Install external tools and dependencies
- Configuration Validation: Ensure proper tool setup
- Dependency Management: Handle complex installation requirements
- GUI and CLI Modes: Flexible installation options
🎥 RTSP Streaming
- Video Playback: View RTSP streams through secure tunnels
- Recording Capabilities: Save streams to local files
- Multiple Stream Support: Handle concurrent video feeds
- Quality Controls: Adjust stream parameters
🚀 Quick Start
Installation Options
Option 1: PyPI Installation (Recommended for Python Users)
# Install the latest stable version from PyPI
pip install ssh-tools-suite
Option 2: Standalone Executables (No Python Required)
For users who prefer not to install Python or want a portable solution, download pre-built executables from our GitHub Releases page:
- Windows: Download and extract
SSH-Tunnel-Manager-v*.*.*.ziporSSH-Tools-Installer-v*.*.*.zip - macOS: Download
SSH-Tools-Suite-v*.*.*.dmg(coming soon) - Linux: Download
SSH-Tools-Suite-v*.*.*.AppImage(coming soon)
Benefits of Standalone Executables:
- ✅ No Python installation required
- ✅ Fast startup (~2-3 seconds)
- ✅ Portable - run from any folder
- ✅ All dependencies included
- ✅ Perfect for end users and system administrators
Option 3: From Source
# Install from GitHub source
git clone https://github.com/NicholasKozma/ssh_tools_suite.git
cd ssh_tools_suite
pip install -e .
Verify Installation
# Check if installation was successful
ssh-tunnel-manager --version
ssh-tools-installer --version
Basic Usage
GUI Mode (Recommended)
# Start SSH Tunnel Manager GUI
ssh-tunnel-manager-gui
# Start Third-Party Installer GUI
third-party-installer-gui
Command Line Mode
# SSH Tunnel Manager CLI
ssh-tunnel-manager --help
# Third-Party Installer CLI
third-party-installer --help
Create Your First Tunnel
- Launch the GUI:
ssh-tunnel-manager-gui - Add New Tunnel: Click "Add Tunnel" button
- Configure Connection:
- Name: "Database Tunnel"
- SSH Host:
jumpserver.example.com - Username: Your SSH username
- Local Port:
5432 - Remote Host:
database.internal - Remote Port:
5432
- Start Tunnel: Click "Start" button
- Connect: Use
localhost:5432to access your database
📚 Documentation
- Full Documentation - Complete guides and API reference
- Getting Started - Installation and setup
- User Guides - Step-by-step tutorials
- API Reference - Developer documentation
- Contributing - How to contribute to the project
🖼️ Screenshots
SSH Tunnel Manager
Main tunnel management interface with real-time status monitoring
RTSP Video Streaming
Secure video streaming through SSH tunnels
Network Scanner
Built-in network discovery and port scanning tools
🛠️ Development
Prerequisites
- Python 3.8+
- Git
- Virtual Environment (recommended)
Setup Development Environment
# Clone the repository
git clone https://github.com/NicholasKozma/ssh_tools_suite.git
cd ssh_tools_suite
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\\Scripts\\activate
# Install development dependencies
pip install -e .[dev,gui,rtsp]
Running Tests
# Run all tests
pytest
# Run with coverage
pytest --cov=src --cov-report=html
# Run specific test categories
pytest tests/unit/
pytest tests/integration/
pytest tests/gui/
Code Quality
# Format code
black src/ tests/
# Lint code
flake8 src/ tests/
# Type checking
mypy src/
Documentation
# Serve documentation locally
mkdocs serve
# Build documentation
mkdocs build
📋 Requirements
System Requirements
- Operating System: Windows 10/11, Linux, macOS
- Python: 3.8 or higher
- Memory: 512 MB RAM minimum
- Storage: 100 MB free space
Dependencies
- Core:
paramiko,cryptography,psutil - GUI:
PySide6(optional, for graphical interface) - RTSP:
opencv-python(optional, for video streaming) - Development:
pytest,black,flake8,mypy
🔧 Configuration
Configuration Files
~/.ssh-tools-suite/
├── config.json # Main configuration
├── tunnels.json # Tunnel configurations
├── logs/ # Application logs
└── keys/ # SSH keys storage
Environment Variables
# Custom configuration directory
export SSH_TOOLS_CONFIG_DIR="/path/to/config"
# Enable debug logging
export SSH_TOOLS_DEBUG=1
# Default SSH key path
export SSH_TOOLS_DEFAULT_KEY="/path/to/key"
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
How to Contribute
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Priorities
- Cross-platform compatibility improvements
- Performance optimizations
- New tunnel types and protocols
- Enhanced GUI features
- Documentation and examples
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Paramiko - SSH implementation for Python
- PySide6 - Qt for Python GUI framework
- OpenCV - Computer vision and video processing
- MkDocs - Documentation generation
🐛 Issues and Support
- Bug Reports: GitHub Issues
- Feature Requests: GitHub Discussions
- Documentation: Full Documentation
🔗 Links
- Homepage: https://ssh-tools-suite.github.io/
- Documentation: https://nicholaskozma.github.io/ssh_tools_suite/
- PyPI: https://pypi.org/project/ssh-tools-suite/
Made with ❤️ by the SSH Tools Suite Team
Project details
Release history Release notifications | RSS feed
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 ssh_tools_suite-1.0.6.tar.gz.
File metadata
- Download URL: ssh_tools_suite-1.0.6.tar.gz
- Upload date:
- Size: 7.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5a504a35b87b229842213650f82f584d5c8e24cc65f402f270ca7e0e6e51826
|
|
| MD5 |
8586036b5f43a970a5dbaa523df77d90
|
|
| BLAKE2b-256 |
58c0ac547fc3cb0dfc1f700c80a8ed1af7d05d5119dd34b055a3cec20868037f
|
Provenance
The following attestation bundles were made for ssh_tools_suite-1.0.6.tar.gz:
Publisher:
publish-pypi.yml on NicholasKozma/ssh_tools_suite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ssh_tools_suite-1.0.6.tar.gz -
Subject digest:
e5a504a35b87b229842213650f82f584d5c8e24cc65f402f270ca7e0e6e51826 - Sigstore transparency entry: 278029559
- Sigstore integration time:
-
Permalink:
NicholasKozma/ssh_tools_suite@322679f47a205a787c53909980b69c379bcd1456 -
Branch / Tag:
refs/tags/v1.0.6 - Owner: https://github.com/NicholasKozma
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@322679f47a205a787c53909980b69c379bcd1456 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file ssh_tools_suite-1.0.6-py3-none-any.whl.
File metadata
- Download URL: ssh_tools_suite-1.0.6-py3-none-any.whl
- Upload date:
- Size: 6.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87180880b24bd40d1968c46a19ae3c98ce916b42d29b3de9a1457b7206ed862c
|
|
| MD5 |
605702dc9b9c0ccae0e0aa8a5d4f6326
|
|
| BLAKE2b-256 |
52afdb7ab464a593e97da373a082859e07cb405a1d7442dfcc3c6a4de44a7aa3
|
Provenance
The following attestation bundles were made for ssh_tools_suite-1.0.6-py3-none-any.whl:
Publisher:
publish-pypi.yml on NicholasKozma/ssh_tools_suite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ssh_tools_suite-1.0.6-py3-none-any.whl -
Subject digest:
87180880b24bd40d1968c46a19ae3c98ce916b42d29b3de9a1457b7206ed862c - Sigstore transparency entry: 278029574
- Sigstore integration time:
-
Permalink:
NicholasKozma/ssh_tools_suite@322679f47a205a787c53909980b69c379bcd1456 -
Branch / Tag:
refs/tags/v1.0.6 - Owner: https://github.com/NicholasKozma
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@322679f47a205a787c53909980b69c379bcd1456 -
Trigger Event:
workflow_dispatch
-
Statement type: