- Python 100%
| app | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
| run.py | ||
Meshtastic SSL Tunnel
Eine Terminal-Benutzeroberfläche (TUI) zum Erstellen von IP-Tunneln über Meshtastic Mesh-Netzwerke.
Übersicht
Mit diesem Tool können Sie verschlüsselte IP-Verbindungen über das Meshtastic Mesh-Netzwerk aufbauen. Es unterstützt sowohl Client- als auch Server-Modus und bietet eine intuitive grafische Oberfläche im Terminal.
Features
- Client/Server Modus: Flexibler Rollenwechsel
- Mehrere Verbindungstypen:
- TCP (WLAN)
- Serial (USB)
- Bluetooth LE (optional)
- Node Discovery: Automatisches Scannen nach verfügbaren Mesh-Nodes
- Netzwerk-Tools:
- Integrierter Packet Sniffer (tcpdump)
- Ping-Test
- Radio Broadcast Test
- Chat: Direktes Senden von Nachrichten über das Mesh
Voraussetzungen
- Python 3.8+
- Linux (für TUN-Interface Unterstützung)
- Root-Rechte (für Netzwerk-Interface Erstellung)
- Meshtastic-kompatibles Gerät
Installation
# Repository klonen
git clone https://github.com/swissYoshi/meshtastic-tunnel.git
cd meshtastic-tunnel
# Virtuelle Umgebung erstellen
python -m venv venv
source venv/bin/activate
# Abhängigkeiten installieren
pip install -r requirements.txt
Verwendung
# Als Root ausführen (für TUN-Interface)
sudo venv/bin/python run.py
Verbindungsarten
| Typ | Beschreibung | Beispiel |
|---|---|---|
| TCP | Verbindung über WLAN | 192.168.4.246 |
| Serial | USB-Verbindung | /dev/ttyUSB0 |
| BLE | Bluetooth Low Energy | MESHTASTIC_1234 |
Client-Modus
- Verbindungstyp und Host wählen
- "Nodes scannen" klicken
- Ziel-Node aus Liste wählen
- "Start Tunnel" klicken
Server-Modus
- Rolle auf "Server" setzen
- Verbindungstyp und Host wählen
- "Start Tunnel" klicken
Netzwerk-Tools
Sniffer
Startet tcpdump auf dem Tunnel-Interface um den Datenverkehr zu analysieren.
Ping
Testet die Erreichbarkeit einer IP-Adresse über den Tunnel.
Radio Test
Sendet ein Broadcast-Paket an alle Nodes im Mesh.
Tastenkürzel
| Taste | Funktion |
|---|---|
Enter |
Chat-Nachricht senden (wenn im Chat-Feld) |
Ctrl+C |
Anwendung beenden |
Architektur
meshtastic-tunnel/
├── app/
│ ├── __init__.py # Package-Definition
│ └── ui.py # TUI-Anwendung
├── run.py # Einstiegspunkt
├── requirements.txt # Python-Abhängigkeiten
└── README.md
Abhängigkeiten
- meshtastic: Meshtastic Python API
- textual: Terminal User Interface Framework
- pytap2: TUN/TAP Interface Unterstützung
- bleak: Bluetooth LE (optional)
Fehlerbehebung
"Permission denied" beim Starten
→ Führen Sie das Programm mit sudo aus.
"Kein Interface gefunden"
→ Prüfen Sie die Verbindung zum Meshtastic-Gerät.
BLE-Geräte werden nicht gefunden
→ Stellen Sie sicher, dass bleak installiert ist und Bluetooth aktiviert ist.
Lizenz
MIT License - siehe LICENSE
Beitragen
Pull Requests sind willkommen! Bei größeren Änderungen bitte zuerst ein Issue erstellen.