No description
Find a file
2026-01-22 20:22:55 +01:00
app Initial commit: Meshtastic SSL Tunnel TUI 2026-01-22 20:22:17 +01:00
.gitignore Initial commit: Meshtastic SSL Tunnel TUI 2026-01-22 20:22:17 +01:00
LICENSE Initial commit: Meshtastic SSL Tunnel TUI 2026-01-22 20:22:17 +01:00
README.md Update README with correct repo URL 2026-01-22 20:22:55 +01:00
requirements.txt Initial commit: Meshtastic SSL Tunnel TUI 2026-01-22 20:22:17 +01:00
run.py Initial commit: Meshtastic SSL Tunnel TUI 2026-01-22 20:22:17 +01:00

Meshtastic SSL Tunnel

Eine Terminal-Benutzeroberfläche (TUI) zum Erstellen von IP-Tunneln über Meshtastic Mesh-Netzwerke.

Python License

Ü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

  1. Verbindungstyp und Host wählen
  2. "Nodes scannen" klicken
  3. Ziel-Node aus Liste wählen
  4. "Start Tunnel" klicken

Server-Modus

  1. Rolle auf "Server" setzen
  2. Verbindungstyp und Host wählen
  3. "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.