Zurück zu den Updates
New releaseSep 1, 2026

TrustTunnel v1.1.0

Open-Source-VPN-Protokoll, das TCP-, UDP- und ICMP-Datenverkehr über HTTPS tunnelt und dabei DPI und Drosselung umgeht. Bietet Split-Tunneling, SOCKS5-Proxy, benutzerdefiniertes DNS und plattformübergreifende Clients.

Teilen

TrustTunnel

Clients · App store · Play store


Inhaltsverzeichnis


Einleitung

TrustTunnel ist ein modernes, quelloffenes VPN-Protokoll, das ursprünglich von AdGuard VPN entwickelt wurde und jetzt von jedem genutzt und überprüft werden kann.

Es bietet schnelle, sichere und zuverlässige VPN-Verbindungen ohne die üblichen Kompromisse. Durch sein Design ist der TrustTunnel-Datenverkehr von regulärem HTTPS-Verkehr nicht zu unterscheiden, sodass er Drosselung und Deep Packet Inspection umgehen kann, während ein starker Datenschutz gewährleistet wird.

Das TrustTunnel-Projekt umfasst den VPN-Endpunkt (dieses Repository), die Bibliothek und CLI für den Client sowie die GUI-Anwendung.

Server-Funktionen

  • VPN-Protokoll: Die Bibliothek implementiert das VPN-Protokoll, das mit HTTP/1.1, HTTP/2 und QUIC kompatibel ist. Durch die Nachahmung von regulärem Netzwerkverkehr wird es unmöglich, es zu erkennen und zu blockieren.

  • Flexibles Verkehrs-Tunneling: TrustTunnel kann TCP-, UDP- und ICMP-Verkehr zum und vom Client tunneln.

  • Plattformkompatibilität: Der Server ist mit Linux und macOS kompatibel. Der Client ist für Android, Apple, Windows und Linux verfügbar.


Client-Funktionen

  • Verkehrs-Tunneling: Die Bibliothek ist in der Lage, TCP-, UDP- und ICMP-Verkehr vom Client zum Endpunkt und zurück zu tunneln.

  • Plattformübergreifende Unterstützung: Sie unterstützt Linux, macOS und Windows, und bietet eine einheitliche Erfahrung über verschiedene Betriebssysteme hinweg.

  • Systemweiter Tunnel und SOCKS5-Proxy: Sie kann als systemweiter Tunnel unter Verwendung einer virtuellen Netzwerkschnittstelle sowie als SOCKS5-Proxy eingerichtet werden.

  • Split Tunneling: Die Bibliothek unterstützt Split Tunneling, sodass Benutzer Verbindungen zu bestimmten Domains oder Hosts vom Routing über den VPN-Endpunkt ausschließen können, oder umgekehrt nur Verbindungen zu bestimmten Domains oder Hosts über den Endpunkt leiten, basierend auf einer Ausschlussliste.

  • Benutzerdefinierter DNS-Upstream: Benutzer können einen benutzerdefinierten DNS-Upstream angeben, der für DNS-Anfragen verwendet wird, die über den VPN-Endpunkt geleitet werden.


Schnellstart

Endpunkt einrichten

Endpunkt installieren

Ein Installationsskript ist verfügbar, das mit folgendem Befehl ausgeführt werden kann:

curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnel/refs/heads/master/scripts/install.sh | sh -s -

Das Installationsskript lädt das vorgefertigte Paket aus dem neuesten GitHub-Release für die geeignete Systemarchitektur herunter und entpackt es nach /opt/trusttunnel. Das Ausgabeverzeichnis kann durch Angabe des Flags -o DIR am Ende des obigen Befehls überschrieben werden.

Wenn Sie eine bestimmte Version (anstelle der neuesten) installieren möchten, verwenden Sie -V <version>:

curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnel/refs/heads/master/scripts/install.sh | sh -s - -V <version>

[!NOTE] Vorgefertigte Pakete sind für die Architekturen linux-x86_64, linux-aarch64 und macos-universal (Intel und Apple Silicon) verfügbar.

Endpunkt aktualisieren

Das Installationsskript installiert immer die neueste verfügbare Version. Um Ihre Installation zu aktualisieren, führen Sie den Installationsbefehl erneut aus:

curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnel/refs/heads/master/scripts/install.sh | sh -s -

Dies führt das Installationsprogramm erneut aus und ersetzt die Binärdateien im Installationsverzeichnis (standardmäßig /opt/trusttunnel oder das mit -o DIR angegebene Verzeichnis).

[!NOTE] Vergessen Sie nicht, den Endpunkt vor der Aktualisierung zu stoppen:

sudo systemctl stop trusttunnel

Um den Endpunkt nach der Aktualisierung wieder zu starten:

sudo systemctl start trusttunnel

Konfigurationsassistent für Endpunkte

Bitte lesen Sie die CONFIGURATION.md für eine ausführlichere Dokumentation zur Konfiguration des Endpunkts.

Das Installationsverzeichnis enthält die Binärdatei setup_wizard, die bei der Generierung der für den Endpunkt erforderlichen Konfigurationsdateien hilft:

cd /opt/trusttunnel/
./setup_wizard -h

Der Setup-Assistent unterstützt den interaktiven Modus, sodass Sie ihn ausführen können und er nach den für die Endpunktkonfiguration erforderlichen Daten fragt.

cd /opt/trusttunnel/
sudo ./setup_wizard

[!NOTE] sudo ist erforderlich, um TLS-Zertifikate ordnungsgemäß zu verwalten.

Der Assistent fragt nach den folgenden Feldern, einige davon haben Standardwerte, die Sie bedenkenlos verwenden können:

  • Die Adresse, auf der gelauscht werden soll - Geben Sie die Adresse an, auf der der Endpunkt lauschen soll. Verwenden Sie 0.0.0.0:443 für native Bereitstellungen (HTTPS auf allen Schnittstellen). Wenn Sie mit Docker-Portzuordnung 443:8443 ausführen, setzen Sie sie auf 0.0.0.0:8443.

  • Pfad zur Anmeldeinformationsdatei - Pfad, in dem die Benutzeranmeldeinformationen für die Autorisierung gespeichert werden.

  • Benutzername - der Benutzername, den der Benutzer für die Autorisierung verwenden wird.

  • Passwort - das Passwort des Benutzers.

  • Einen weiteren Benutzer hinzufügen? - Wählen Sie yes, wenn Sie weitere Benutzer hinzufügen möchten, oder no, um den Konfigurationsprozess fortzusetzen.

  • Pfad zur Regeln-Datei - Pfad zum Speichern der Filterregeln.

  • Verbindungsfilterregeln - Sie können Regeln hinzufügen, die der Endpunkt verwendet, um Verbindungen des Benutzers basierend auf folgenden Kriterien zuzulassen oder zu verweigern:

    • Client-IP-Adresse
    • TLS-Zufallspräfix
    • TLS-Zufall mit Maske

    Drücken Sie n, um alle Verbindungen zuzulassen.

  • Pfad zu einer Datei zum Speichern der Bibliothekseinstellungen - Pfad zum Speichern der Hauptkonfigurationsdatei des Endpunkts.

  • Zertifikatsauswahl - Wählen Sie aus, wie ein TLS-Zertifikat erlangt werden soll:

    • Ein Let's Encrypt-Zertifikat ausstellen (erfordert eine öffentliche Domain) - der Setup-Assistent verfügt über integrierte ACME-Unterstützung und kann automatisch ein kostenloses, öffentlich vertrauenswürdiges Zertifikat von Let's Encrypt erhalten. Sie benötigen:
      • Eine registrierte Domain, die auf die IP-Adresse Ihres Servers verweist
      • Port 80, der aus dem Internet erreichbar ist (für HTTP-01-Challenge), oder
      • Die Möglichkeit, DNS-TXT-Einträge hinzuzufügen (für DNS-01-Challenge)
    • Ein selbstsigniertes Zertifikat generieren - geeignet für Tests oder wenn nur der CLI-Client verwendet wird. Hinweis: Der Flutter-Client unterstützt selbstsignierte Zertifikate noch nicht.
    • Pfad zu einem vorhandenen Zertifikat angeben - verwenden Sie Ihre eigenen Zertifikatsdateien, die von einer anderen Zertifizierungsstelle oder einem Tool wie certbot bezogen wurden.
  • Pfad zu einer Datei zum Speichern der TLS-Host-Einstellungen - Pfad zum Speichern der TLS-Host-Einstellungsdatei.

An diesem Punkt sind alle erforderlichen Konfigurationsdateien erstellt und auf der Festplatte gespeichert.

Lebenszyklus des Let's Encrypt-Zertifikats

Der Setup-Assistent kann beim ersten Einrichten ein Let's Encrypt-Zertifikat erhalten, aber Sie sind dafür verantwortlich, dass es im Laufe der Zeit gültig bleibt (Erneuerung und Neuladen/Neustart des Dienstes).

Wenn Sie Certbot zur Verwaltung von Zertifikaten und zur automatischen Erneuerung verwenden, folgen Sie der Anleitung in CERT_RENEWAL.md.

Endpunkt ausführen

Das installierte Paket enthält eine systemd-Dienstvorlage namens trusttunnel.service.template.

Diese Vorlage kann verwendet werden, um den Endpunkt als systemd-Dienst einzurichten:

[!NOTE] Die Vorlagendatei geht davon aus, dass sich die TrustTunnel-Endpunkt-Binärdatei und alle ihre Konfigurationsdateien in /opt/trusttunnel befinden und die Standarddateinamen haben. Ändern Sie die Vorlage, wenn Sie andere Pfade verwendet haben.

cd /opt/trusttunnel/
cp trusttunnel.service.template /etc/systemd/system/trusttunnel.service
sudo systemctl daemon-reload
sudo systemctl enable --now trusttunnel

Client-Konfiguration exportieren

Die Endpunkt-Binärdatei kann Client-Konfigurationen in zwei Formaten generieren:

Generieren Sie einen kompakten tt://? URI, der für QR-Codes und mobile Apps geeignet ist:

# <client_name> - Name des Clients, dessen Anmeldeinformationen in die Konfiguration aufgenommen werden
# <address> - `ip`, `ip:port`, `domain` oder `domain:port`, die der Client zum Verbinden verwenden wird
#           Wenn nur `ip` oder `domain` angegeben wird, wird der Port aus dem `listen_address`-Feld verwendet
cd /opt/trusttunnel/
./trusttunnel_endpoint vpn.toml hosts.toml -c <client_name> -a <address>

# Oder geben Sie das Format explizit an:
./trusttunnel_endpoint vpn.toml hosts.toml -c <client_name> -a <address> --format deeplink

Dies gibt einen tt://? Deep-Link-URI aus, der:

Sie können auch zusätzliche Optionen angeben:

  • --name <display_name>: Legt einen benutzerdefinierten Anzeigenamen für den Server in der Client-App fest.
  • --dns-upstream <dns_upstream>: Gibt einen DNS-Upstream für den Client an. Kann eine IP-Adresse oder ein sicherer DNS-URI sein (z.B. tls://1.1.1.1, https://dns.google/dns-query). Dieses Flag kann mehrmals verwendet werden, um eine Liste von DNS-Upstreams anzugeben.

Beispiel mit benutzerdefiniertem Namen und DNS-Upstreams:

./trusttunnel_endpoint vpn.toml hosts.toml -c <client_name> -a <address> \
    --name "My Secure VPN" \
    --dns-upstream 1.1.1.1 --dns-upstream tls://8.8.8.8

Wenn --generate-client-random-prefix verwendet wird, hängt der Endpunkt auch eine Erlaubnisregel für den generierten Wert an die Datei rules.toml an, auf die in vpn.toml verwiesen wird.

Hinweis: Wenn Ihr Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle (z.B. Let's Encrypt) signiert ist, wird es automatisch aus dem Deep-Link weggelassen, um ihn kompakt zu halten. Selbstsignierte Zertifikate werden automatisch eingefügt.

TOML-Format (für CLI-Client)

Generieren Sie eine traditionelle TOML-Konfigurationsdatei:

cd /opt/trusttunnel/
./trusttunnel_endpoint vpn.toml hosts.toml -c <client_name> -a <public_ip> --format toml

Dies gibt eine TOML-Konfigurationsdatei aus, die für den CLI-Client geeignet ist.

Beide Formate enthalten alle notwendigen Informationen, um eine Verbindung zum Endpunkt herzustellen. Siehe die TrustTunnel Flutter Client-Dokumentation für Einrichtungsanweisungen.

Herzlichen Glückwunsch! Sie haben die Einrichtung des Endpunkts abgeschlossen!

Client einrichten

Mehrere Clients sind verfügbar, um eine Verbindung zum Endpunkt herzustellen – siehe Abschnitt Clients für die vollständige Liste. Die folgenden Anweisungen decken die Einrichtung des offiziellen CLI-Clients ab.

Client installieren

Linux / macOS

Ein Installationsskript ist verfügbar:

curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnelClient/refs/heads/master/scripts/install.sh | sh -s -

Das Installationsskript lädt das vorgefertigte Paket aus dem neuesten GitHub-Release für die geeignete Systemarchitektur herunter und entpackt es nach /opt/trusttunnel_client. Das Ausgabeverzeichnis kann durch Angabe des Flags -o DIR am Ende des obigen Befehls überschrieben werden.

[!NOTE] Das Installationsskript unterstützt die Architekturen x86_64, aarch64, armv7, mips und mipsel für Linux und arm64 und x86_64 für macOS.

Windows

Laden Sie das neueste Release-Archiv von der TrustTunnel Client-Releases-Seite herunter.

Extrahieren Sie das Archiv in ein Verzeichnis Ihrer Wahl, z.B. C:\TrustTunnel\.

Router einrichten

Für Router-Bereitstellungen lesen Sie bitte die routerspezifischen Client-Installationsanleitungen.

Client aktualisieren

Linux / macOS

Das Installationsskript installiert immer die neueste verfügbare Version. Um Ihre Installation zu aktualisieren, führen Sie den Installationsbefehl erneut aus:

curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnelClient/refs/heads/master/scripts/install.sh | sh -s -

Dies führt das Installationsprogramm erneut aus und ersetzt die Binärdateien im Installationsverzeichnis (standardmäßig /opt/trusttunnel_client oder das mit -o DIR angegebene Verzeichnis).

[!NOTE] Vergessen Sie nicht, den Client vor der Aktualisierung zu stoppen (z.B. durch Stoppen des laufenden Prozesses).

Windows

Laden Sie die neueste Version von der Releases-Seite herunter und ersetzen Sie die Dateien in Ihrem Installationsverzeichnis.

Konfigurationsassistent für Clients

Das Installationsverzeichnis enthält die Binärdatei setup_wizard, die bei der Generierung der für den Client erforderlichen Konfigurationsdateien hilft.

Linux / macOS
cd /opt/trusttunnel_client/
./setup_wizard -h

Um den Client mit der vom Endpunkt generierten Konfiguration zu konfigurieren, führen Sie den folgenden Befehl aus:

./setup_wizard --mode non-interactive \
     --endpoint_config <endpoint_config> \
     --settings trusttunnel_client.toml
Windows
setup_wizard.exe --mode non-interactive ^
    --endpoint_config <endpoint_config> ^
    --settings trusttunnel_client.toml

In beiden Fällen ist <endpoint_config> der Pfad zur Konfigurationsdatei, die vom Endpunkt generiert wurde.

trusttunnel_client.toml enthält dann alle erforderlichen Konfigurationen für den Client.

[!TIP] Die generierte Konfiguration enthält grundlegende Einstellungen, um eine Verbindung zum Endpunkt herzustellen. Für erweiterte Funktionen bearbeiten Sie trusttunnel_client.toml direkt. Sie können konfigurieren:

  • VPN-Modus: Den gesamten Verkehr routen (general) oder nur bestimmte Ziele (selective)
  • Kill-Switch: Verkehr blockieren, wenn die VPN-Verbindung getrennt wird
  • DNS-Upstreams: Benutzerdefinierte DNS-Resolver (DoH, DoT, DoQ werden unterstützt)
  • Ausschlüsse: Domains/IPs umgehen oder durch VPN routen
  • Listener-Typ: TUN-Gerät oder SOCKS5-Proxy

Siehe die TrustTunnel CLI Client README für alle verfügbaren Optionen.

[!NOTE] Nach der Bearbeitung der Konfiguration starten Sie den Client neu, damit die Änderungen wirksam werden.

Client ausführen

Linux / macOS
cd /opt/trusttunnel_client/
sudo ./trusttunnel_client -c trusttunnel_client.toml

sudo ist erforderlich, um die Routen und das TUN-Interface einzurichten.

Windows

Öffnen Sie eine Eingabeaufforderung als Administrator und führen Sie aus:

trusttunnel_client.exe -c trusttunnel_client.toml

Administratorrechte sind erforderlich, um Routen und das TUN-Interface einzurichten.

Clients

Offiziell

CLI

TrustTunnel Client — Linux, macOS, Windows

GUI

TrustTunnel Flutter Client — iOS, Android (macOS, Windows — in Kürze). Verfügbar im App Store* und Play Store.

[!NOTE] * In einigen Ländern ist die iOS-App nicht im App Store verfügbar. Möglicherweise benötigen Sie eine Apple-ID aus einem anderen Land, um sie herunterzuladen. Erfahren Sie, wie Sie Ihr App Store-Land ändern.

Community

[!NOTE] Community-Clients werden unabhängig entwickelt und gewartet. Sie werden nicht offiziell vom TrustTunnel-Team unterstützt.

GUI

Trusty - Ein plattformübergreifender GUI-Client, erstellt mit Flutter (Windows stabil, macOS Alpha). Funktionen umfassen Echtzeit-Logs, 1-Klick-SSH-Server-Bereitstellung und automatische Erkennung von Split-Tunneling-Domänengruppen.

TrustTunnel-GUI-Client — Windows GUI-Client, implementiert als Python-Wrapper für TrustTunnel Client

Surge — (Kommerziell) macOS- und iOS-Netzwerktoolbox mit experimenteller TrustTunnel-Unterstützung

FireTunnel - Ein plattformübergreifender Client, geschrieben in QT, der einen modifizierten TrustTunnel Client verwendet.

Siehe auch

Roadmap

Während unser VPN derzeit das Tunneln von TCP/UDP/ICMP-Verkehr unterstützt, planen wir, die Unterstützung für Peer-to-Peer-Kommunikation zwischen Clients hinzuzufügen.

Bleiben Sie gespannt auf dieses Feature in kommenden Releases.

Lizenz

Dieses Projekt ist unter der Apache 2.0-Lizenz lizenziert. Siehe LICENSE für Details.

Kategorien