- Python 93.2%
- Shell 6.8%
| Anleitung.txt | Dateien nach „/" hochladen | |
| cloudflared-manager.desktop | Dateien nach „/" hochladen | |
| cloudflared-manager.py | Dateien nach „/" hochladen | |
| cloudflared-tray.py | Dateien nach „/" hochladen | |
| install.sh | Dateien nach „/" hochladen | |
| install_zerotier.sh | install_zerotier.sh aktualisiert | |
| Installationsanleitung.pdf | Dateien nach „/" hochladen | |
| README.md | README.md aktualisiert | |
| Tunnel-anlegen.pdf | Dateien nach „/" hochladen | |
| Zusammenfassung-App_Umfang.pdf | Dateien nach „/" hochladen | |
☁️ Cloudflared Tunnel Manager Pro
GTK4 GUI für Void Linux — Verwalte Cloudflare Tunnels, DNS-Records und ZeroTier-Netzwerke über eine moderne Desktop-Oberfläche.
📸 Übersicht
Der Cloudflared Tunnel Manager Pro ist eine grafische Oberfläche zum Verwalten von Cloudflare Zero Trust Tunnels direkt vom Desktop aus — ohne Terminal-Kenntnisse. Er unterstützt Token-basierte Connector-Tunnels, DNS-Verwaltung per API, ZeroTier-Bridge-Setup und Live-Monitoring aller laufenden Verbindungen.
✨ Features
| Feature | Beschreibung |
|---|---|
| 🖥️ System Dashboard | Installations- und Service-Status auf einen Blick |
| 🔑 Cloudflare Access | API-Token & Credentials sicher speichern |
| 🚇 Token Tunnels | Mehrere Connector-Tokens gleichzeitig verwalten & starten |
| 📊 Live Monitor | Echtzeit-Metriken: Health, Verbindungen, Latenz, Requests/sec |
| 🌐 DNS Management | DNS-Records über die Cloudflare API anlegen & verwalten |
| 🔗 ZeroTier | Netzwerk beitreten, Layer-2-Bridge einrichten & testen |
| 📋 Global Logs | Runit-Service-Logs mit Auto-Refresh anzeigen |
| 🔄 Auto-Update | Automatisches Update der App direkt aus Codeberg |
📋 Voraussetzungen
- Betriebssystem: Void Linux (Runit-basiert)
- Python: 3.8 oder neuer
- GTK: 4.0
- libadwaita: 1.x
Abhängigkeiten installieren (erledigt das install.sh script automatisch)
sudo xbps-install -S python3 python3-gobject gtk4 libadwaita
cloudflared installieren
Direkt über XBPS (oder über den Dashboard-Tab in der App):
sudo xbps-install -S cloudflared
🚀 Installation
ins Terminal kopieren
# Repository klonen
git clone https://codeberg.org/pinguin-void/cloudflare-manager.git
cd cloudflare-manager
chmod +x install.sh
sudo ./install.sh
# Starten
python3 cloudflared-manager.py
🛠️ Erste Schritte
1. App starten & Passwort eingeben
Beim Start fragt die App nach dem Sudo-Passwort. Dieses wird nur im Arbeitsspeicher gehalten und nie gespeichert. Es wird benötigt, um:
- cloudflared zu installieren/deinstallieren
- den Runit-Service zu steuern
- ZeroTier-Bridges einzurichten
2. Cloudflare API-Token hinterlegen
Im Tab Cloudflare Access:
- API-Token aus dem Cloudflare Dashboard kopieren
- Token einfügen und auf Save Credentials klicken
Benötigte Token-Berechtigungen: Zone:Read, DNS:Edit, Tunnel:Read
3. Tunnel-Profil anlegen
Im Tab Token Tunnels:
- Auf Add Profile klicken
- Profilname und Connector-Token eingeben
- Den gesamten
cloudflared service run --token eyJ...-Befehl kann direkt eingefügt werden — der Token wird automatisch extrahiert - Auf Connect klicken
📁 Konfiguration
Einstellungen werden gespeichert unter:
~/.config/cloudflared-manager/settings.json
Das Verzeichnis wird mit chmod 700 angelegt. Die Datei enthält:
| Schlüssel | Inhalt |
|---|---|
cf_dash_url |
Cloudflare Dashboard URL |
cf_email |
E-Mail-Adresse |
cf_password |
Dashboard-Passwort (Klartext — siehe Hinweis unten) |
api_token |
Cloudflare API-Token |
zone_id |
Aktive Zone-ID |
token_tunnels |
Liste aller gespeicherten Tunnel-Profile |
⚠️ Sicherheitshinweis: Das Dashboard-Passwort wird derzeit im Klartext gespeichert. Stelle sicher, dass dein Home-Verzeichnis verschlüsselt ist, wenn du sensible Zugangsdaten hinterlegst.
🖥️ Tab-Übersicht
Dashboard
Zeigt den Installations- und Service-Status von cloudflared. Ermöglicht Installation via XBPS sowie Start/Stop des globalen Runit-Services.
Cloudflare Access
Speichert Zugangsdaten für das Cloudflare-Dashboard und den API-Token. Öffnet das Dashboard im Browser und ermöglicht cloudflared tunnel login für cert.pem-basierte Tunnels.
Token Tunnels ⭐
Herzstück der App. Verwalte beliebig viele Connector-Token-Profile:
- Connect/Disconnect pro Tunnel unabhängig steuerbar
- Live Logs des laufenden Prozesses direkt einsehbar
- Live Monitor mit Metriken via
/metrics-Endpoint
DNS Management
Verwalte DNS-Records über die Cloudflare API. Zonen werden automatisch geladen, Records können angelegt, bearbeitet und gelöscht werden.
ZeroTier
- ZeroTier installieren
- Netzwerken beitreten
- Layer-2-Bridge zu einem physischen Interface einrichten (für Void Linux mit Runit)
- Bridge-Konnektivität testen (Status, ARP-Tabelle, Ping)
Global Logs
Zeigt die Logs des globalen cloudflared-Runit-Services (/var/log/cloudflared/current). Unterstützt manuellen Refresh und Auto-Refresh alle 5 Sekunden.
🔄 Auto-Update
Über das Menü (☰) → Update App wird die neueste Version von Codeberg heruntergeladen und nach /usr/local/bin/cloudflared-manager.py kopiert. Nach dem Update muss die App neu gestartet werden.
Hinweis: Das Update erfolgt ohne Checksummen-Verifikation. Stelle sicher, dass du dem Codeberg-Repository vertraust.
🐛 Bekannte Probleme
- Sudo-Passwort muss bei jedem Start neu eingegeben werden (kein Keyring-Support)
- Log-Buffer wächst bei sehr langen Laufzeiten unbegrenzt an
- Auto-Update ohne kryptografische Signaturprüfung
🤝 Beitragen
Beiträge sind willkommen! Bitte öffne ein Issue oder einen Pull Request auf:
👉 codeberg.org/pinguin-void/cloudflare-manager
📄 Lizenz
Dieses Projekt steht unter der GNU General Public License v3.0. Siehe LICENSE für Details.