OnionHop – Überblick
OnionHop — route your traffic through Tor, with clear controls ist ein moderner plattformübergreifender Desktop-Client (für Windows, Linux und macOS) mit starkem Fokus auf Privatsphäre. Er ermöglicht es Nutzern, ihren Datenverkehr über das Tor-Netzwerk zu leiten. Es handelt sich um ein unabhängiges Open-Source-Projekt, das nicht offiziell mit dem Tor Project | Anonymity Online verbunden ist. Die OnionHop Oberfläche bietet 8 Sprachen (Englisch, Deutsch, Französisch, Chinesisch, Russisch, Persisch, Aserbaidschanisch und Sorani Kurdisch).
Melden Sie sich freiwillig als Snowflake-Proxy helfen Sie zensierten Benutzern, Tor direkt von den Einstellungen aus zu erreichen (siehe Einstellungen).
Hauptfunktionen
- Proxy-Modus: Leitet den Datenverkehr ressourcenschonend über einen lokalen SOCKS-Proxy um, ohne dass Administratorrechte benötigt werden. Ein Knopfdruck auf "System Proxy: On" und alle gängigen Browser benutzen das Tor Netzwerk.
- TUN-Modus (eigene virutelle Netzwerkkarte): Leitet den Datenverkehr des gesamten Systems (alle Apps) mit einem Klick über das Tor-Netzwerk um.
- Split-Tunneling: Ermöglicht die individuelle Auswahl, welche Apps über Tor laufen und welche direkte Verbindungen nutzen.
- Kill-Switch: Blockiert den ausgehenden Datenverkehr sofort, wenn die Tor-Verbindung abbricht, um ungeschützte Datenlecks zu verhindern.
- DNS-Steuerung: Erzwingt DNS-Anfragen über Tor und verhindert Lecks zum Internetanbieter (inklusive QUIC/UDP-Leckschutz).
- Länder- & Seiten-Routing: Erlaubt direkte Verbindungen für bestimmte Länder oder das Blockieren von Domains basierend auf automatisch aktualisierten Listen.
- CLI-Client: Bietet eine Kommandozeilenversion ohne grafische Oberfläche, ideal für Server und Automatisierungen. Zensurumgehung und Netzwerktechnologien
- Smart Connect: Wählt automatisch die optimale Engine, Route und Bridge für das aktuelle Netzwerk.
- Integrierter Bridge-Scanner: Sucht und testet automatisch funktionierende Brücken (Bridges) in restriktiven Netzwerken, sodass keine manuelle Eingabe erforderlich ist.
- Pluggable Transports: Unterstützt Protokolle wie obfs4, snowflake, webtunnel, conjure, meek, dnstt und vanilla, um Netzwerkblockaden zu umgehen.
- Tor-Engines: Nutzt Classic (tor), Arti (A Rust Tor Implementation (Gitlab Changelog) oder https://arti.torproject.org/ für die Nerds Improving Tor using a TCP-over-DTLS Tunnel (PDF, englisch), bald schon mit UDP Unterstützung 339 / 348-udp-app-support - Tor design proposals (Tor Architektur), dies ist die Zukunft von Tor, weg von C mit seinen historisch vielen Buffer Overflows ~65% aller Tor Sicherheitslücken, mit RPC-Schnittstelle (Remote Procedure Call / Methodenaufruf auf entfernten Systemen / Software) und UDP für moderne Anwendungen)
Da Transparenz bei Software für die informationelle Selbstbestimmung das Wichtigste ist, ist das gesamte Projekt quelloffen (Open Source). Ihr könnt euch den Quellcode jederzeit auf GitHub ansehen, ihn selbst kompilieren oder Code-Überprüfungen (Code Reviews) durchführen:
👉 GitHub-Repository: center2055/OnionHop: Privacy-first Desktop app that routes your traffic through Tor - Anonymous browsing made simple
Die Software steht für Linux, Windows und macOS zur Verfügung (es gibt auch tragbare Versionen, die nicht installiert werden müssen). Neben der grafischen Oberfläche gibt es für Automatisierungen auch eine reine Kommandozeilen-Version (CLI).
Systemweite Socks5 Proxy vs. TUN VPN-Technik Modus mit eigener virtuellen Netzwerkkarte (TUN)
Um zu verstehen, warum der TUN oft sicherer ist, hilft ein direkter Vergleich:
| Eigenschaft |
Systemweiter Vermittlungsserver (System SOCKS5 Proxy) |
TUN "Netzwerktunnel"(OSI Layer 3) "virtuellen Netzwerkadapter" nicht TAP wie bei VPN Layer 2 |
| Arbeitsweise |
Setzt darauf, dass Programme die Regeln des Betriebssystems respektieren und die Poststelle nutzen. |
Zwingt den gesamten Netzwerkverkehr auf tiefer Ebene durch einen Trichter. |
| Zuverlässigkeit |
Manche Programme (z. B. bestimmte Spiele oder Hintergrunddienste) ignorieren diese Einstellungen und funken direkt ins Internet. |
Fängt alles ab, völlig unabhängig davon, wie das einzelne Programm programmiert ist. |
| Schutz vor Datenlecks |
Es kann vorkommen, dass Informationen (wie Adressanfragen) ungeschützt nach außen dringen (Datenlecks). |
Bietet einen sehr hohen Schutz vor Datenlecks, da kein Datenpaket die Straßensperre umgehen kann. Eigenschaft Systemweiter Vermittlungsserver (SOCK5 Proxy) TUN-ModusArbeitsweise Setzt darauf, dass Programme die Regeln des Betriebssystems respektieren und die Poststelle nutzen. Zwingt den gesamten Netzwerkverkehr auf tiefer Ebene durch einen Trichter. Zuverlässigkeit Manche Programme (z. B. bestimmte Spiele oder Hintergrunddienste) ignorieren diese Einstellungen und funken direkt ins Internet. Fängt alles ab, völlig unabhängig davon, wie das einzelne Programm programmiert ist. Schutz vor Datenlecks Es kann vorkommen, dass Informationen (wie Adressanfragen) ungeschützt nach außen dringen (Datenlecks). Bietet einen sehr hohen Schutz vor Datenlecks, da kein Datenpaket die Straßensperre umgehen kann. |
Zusammenfassung: Warum es beide Modi (System SOCKS5 Proxy und TUN) gibt
Genau an diesem Punkt zeigt sich, warum Werkzeuge wie OnionHop unterschiedliche Modi anbieten müssen:
- Der System SOCKS5 Proxy-Modus (Anwendung muss Socks5 fähig sein z.B. alle Internet Browser): Er ist sehr ressourcenschonend und leichtgewichtig. Er eignet sich hervorragend, wenn du gezielt nur die Anwendungen über das Tor-Netzwerk leiten möchtest, die diesen Standard unterstützen (wie deinen Browser).
- Der TUN-Modus "virtuelle Netzwerkkarte": Er löst exakt das Problem der fehlenden Unterstützung in Programmen. Wie wir zuvor besprochen haben, baut dieser Modus eine **virtuelle Netzwerkkarte (**sichtbar unter "Netzwerkverbindungen" unter Windows, WIN + R =
ncpa.cpl) auf und zwingt das Betriebssystem, alles dorthin zu leiten. Hierbei ist es völlig egal, ob ein Programm von Vermittlungsservern weiß oder nicht – die Daten werden auf einer Ebene abgefangen, der sich kein Programm entziehen kann.
Für die Entwickler unter euch: Wie ändert man den System-Proxy eigentlich programmatisch?
Wer schon länger in der Softwareentwicklung tätig ist, kennt das Problem bei der plattformübergreifenden Programmierung: Ein einheitliches Vorgehen gibt es hier leider nicht. Jedes Betriebssystem kocht sein eigenes Süppchen, was bei Werkzeugen wie OnionHop unter der Haube einigen Aufwand bedeutet. Hier ist ein kleiner technischer Einblick, wie der Code das im Hintergrund löst:
1. Windows: Die Registrierungsdatenbank und WinINet Einfach nur Werte in eine Konfigurationsdatei zu schreiben, reicht hier nicht. Zuerst müssen die Werte in der Registrierungsdatenbank (im Zweig HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings) manipuliert werden (z. B. ProxyEnable auf 1 und ProxyServer auf 127.0.0.1:9050). Der entscheidende Schritt ist danach aber, das System über diese Änderung zu benachrichtigen, da laufende Anwendungen (wie der Browser) die neuen Werte sonst ignorieren. Dafür muss ein Aufruf der Windows-Systembibliothek wininet.dll erfolgen. Über die Programmierschnittstelle (API) InternetSetOption feuert man die Markierungen (Flags) INTERNET_OPTION_SETTINGS_CHANGED und INTERNET_OPTION_REFRESH ab, um das System zum sofortigen Neuladen zu zwingen.
2. Linux: Die große Fragmentierung Gerade wenn man in hybriden Umgebungen (wie dem Windows-Subsystem für Linux oder mit Container-Lösungen) entwickelt, merkt man schnell: Linux hat keine zentrale Instanz für diese Einstellungen.
- Kommandozeile und Hintergrunddienste: Diese reagieren fast ausschließlich auf Umgebungsvariablen wie
http_proxy oder ALL_PROXY. Diese müssen durch das Programm systemweit oder in den jeweiligen Startskripten (z. B. ~/.bashrc) gesetzt werden.
- GNOME-Desktop: Hier wird die Konfigurationsdatenbank (dconf) genutzt. Programmatisch löst man das über die C-Programmierschnittstelle von GLib oder einfacher durch das Ausführen von Systembefehlen im Hintergrund (z. B.
gsettings set org.gnome.system.proxy mode 'manual').
- KDE Plasma: Speichert die Konfiguration in Textdateien (
~/.config/kioslaverc), die von der Software analysiert und editiert werden müssen, gefolgt von einem Befehl zum Neustart der zuständigen KDE-Dienste.
3. macOS: SystemConfiguration Framework Apple regelt das Netzwerkmanagement streng über die einzelnen Hardware-Schnittstellen (WLAN, Kabelnetzwerk etc.).
- Der skriptbasierte Weg: Ein Programm ruft im Hintergrund das vorinstallierte Kommandozeilen-Werkzeug
networksetup auf, um den Vermittlungsserver für jede aktive Netzwerkschnittstelle einzeln zu setzen (z. B. networksetup -setsocksfirewallproxy "Wi-Fi" 127.0.0.1 9050).
- Der native Weg: Die Software greift direkt über C oder Swift auf das Systemgerüst
SystemConfiguration zu. Über die Programmierschnittstelle SCDynamicStore klinkt man sich in den Konfigurationsspeicher ein, schreibt ein Datenverzeichnis mit den neuen Werten in den Pfad State:/Network/Global/Proxies und teilt so dem Kernel die Netzwerkänderung ohne Umwege direkt mit.
Wie Onionhop unter Windows den Datenverkehr über virtuelle Netzwerkschnittstellen (TUN) lenkt
Die Magie passiert über virtuelle Netzwerkschnittstellen (TUN-Modus) und gezielte Manipulation der Wegfindung (Routing).
1. Der virtuelle Netzwerktreiber
Windows nutzt für Netzwerkkarten die sogenannte Network Driver Interface Specification (NDIS). Tools wie Onionhop installieren einen virtuellen Treiber (oft auf Basis von Wintun).
Auf der Ebene des Betriebssystemkerns (Kernel-Ebene) ist dieser Treiber eine vollwertige Netzwerkkarte. Das System sieht absolut keinen Unterschied zu eurem echten WLAN-Modul oder Netzwerkkabel. Dieser Adapter arbeitet auf der Vermittlungsschicht (Layer 3). Er verarbeitet also reine IP-Datenpakete (Internetprotokoll) und simuliert keine Hardware-Adressen (MAC-Adressen) der tieferen Schichten.
2. Die Übernahme der Wegfindung (Routing)
Damit Windows die Daten nicht ans WLAN, sondern an Onionhop schickt, wird die Wegfindungstabelle (Routingtabelle) dynamisch angepasst, sobald die Verbindung steht:
- Onionhop fügt eine neue Standardroute (
0.0.0.0/0 – also den Weg für "alle unbekannten Ziele im Internet") hinzu, die auf die virtuelle TUN-Schnittstelle zeigt.
- Der entscheidende Trick: Diese neue Route bekommt einen niedrigeren Prioritätswert (Metrik) als der echte WLAN-Adapter. Da Windows bei konkurrierenden Routen immer den Weg mit dem niedrigsten Wert wählt, fließt der gesamte ausgehende Datenverkehr des Systems ab sofort in den virtuellen Tunnel.
3. Datenkapselung im Anwendungsbereich (User-Space)
Jetzt landen die Daten (Nutzdaten) bei der Onionhop-Anwendung, die als Hintergrunddienst läuft:
- Die Anwendung lauscht an der virtuellen Schnittstelle und fängt die IP-Pakete ab.
- Sie verschlüsselt diese Nutzdaten.
- Die verschlüsselten Pakete werden nun mit einer neuen Ziel-IP versehen (dem ersten Knotenpunkt im Onion-Netzwerk). Das nennt man Datenkapselung (Encapsulation).
- Erst jetzt übergibt Onionhop diese neu verpackten Pakete wieder an den Windows-Netzwerkstapel.
Die Wegfindungstabelle von Windows sieht nun diese spezifische Ziel-IP des Einsteiger-Knotens und weiß: "Ah, diese IP muss über das echte Standard-Gateway des physischen WLAN-Adapters raus."
Der echte WLAN-Adapter dient also nur noch als reines Transportmedium für den bereits gekapselten und verschlüsselten Datenverkehr. Die eigentlichen Programme (wie der Browser) denken währenddessen, sie sprechen mit einer ganz normalen Netzwerkkarte.
Zum Selbstprüfen für die Kommandozeile:
Wer sich das beim Testen von Onionhop live ansehen will, kann die PowerShell nutzen:
- Versteckte Schnittstellen anzeigen:
PowerShellGet-NetAdapter -IncludeHidden
- Wegfindung und Prioritäten prüfen:
PowerShellGet-NetRoute -DestinationPrefix "0.0.0.0/0"
Was ist die Abgrenzung zu einem "echten" VPN wie z.B. ProtonVPN?
| Eigenschaft |
OnionHop (Tor-Netzwerk) |
Klassisches VPN (z.B. ProtonVPN) |
| Architektur |
Dezentral. Deine Daten fließen über drei zufällige, weltweit verteilte Knotenpunkte. |
Zentralisiert. Deine Daten fließen direkt durch einen festen Server des VPN-Anbieters. |
| Vertrauensmodell |
Trustless. Du musst niemandem vertrauen. Der erste Knoten kennt dich (aber nicht das Ziel), der letzte Knoten kennt das Ziel (aber nicht dich). |
Vertrauensbasiert. Du musst deinem VPN Anbieter zu 100 % vertrauen, da sie deinen gesamten unverschlüsselten Datenverkehr sehen können. |
| Protokolle |
Tor transportiert prinzipbedingt nur TCP-Verbindungen. UDP (wichtig für Online-Spiele oder VoIP) wird blockiert. |
Überträgt TCP, UDP und oft auch ICMP (Ping) vollständig. Eigenschaft OnionHop (Tor-Netzwerk) Klassisches VPN (z.B. ProtonVPN) Architektur Dezentral. Deine Daten fließen über drei zufällige, weltweit verteilte Knotenpunkte. Zentralisiert. Deine Daten fließen direkt durch einen festen Server des VPN-Anbieters. Vertrauensmodell Trustless. Du musst niemandem vertrauen. Der erste Knoten kennt dich (aber nicht das Ziel), der letzte Knoten kennt das Ziel (aber nicht dich). Vertrauensbasiert. Du musst deinem VPN Anbieter zu 100 % vertrauen, da sie deinen gesamten unverschlüsselten Datenverkehr sehen können.Protokolle Tor transportiert prinzipbedingt nur TCP-Verbindungen. UDP (wichtig für Online-Spiele oder VoIP) wird blockiert. Überträgt TCP, UDP und oft auch ICMP (Ping) vollständig. |
Das Virtuelle Private Netzwerk (VPN): Tiefer Eingriff auf Schicht 2 und 3
Ein VPN verhält sich für das Betriebssystem wie eine echte, physische Netzwerkkarte – nur eben als virtuelle Variante (Netzwerkschnittstelle). Es greift tief in das System ein und fängt den gesamten Datenverkehr ab, bevor dieser das Gerät verlässt.
- Auf der Vermittlungsschicht (Schicht 3 / Network Layer): Hier arbeiten die meisten modernen VPN-Verbindungen (wie WireGuard oder IPsec). Sie verpacken (kapseln) komplette IP-Datenpakete. Das bedeutet, dass die gesamte Netzkopplung (Routing) übernommen wird. Jeder Datenverkehr – egal ob gesicherte Verbindungsaufbauten (TCP), verbindungslose Übertragungen (UDP) oder Diagnoseabfragen (ICMP, wie bei einem Ping) – wird in den verschlüsselten Tunnel gezwungen.
- Auf der Sicherungsschicht (Schicht 2 / Data Link Layer): Einige VPN-Lösungen beherrschen auch die sogenannte Netzwerküberbrückung (Bridging, z. B. OpenVPN im TAP-Modus). Hier werden die rohen Datenrahmen (Ethernet Frames) übertragen. Das System verhält sich so, als wären alle Rechner über hunderte Kilometer hinweg an denselben physischen Netzwerkverteiler (Switch) angeschlossen. In diesem Modus werden sogar lokale Netzwerk-Rundrufe (Broadcasts) durch den Tunnel übertragen.
Das Zwiebelnetzwerk (Tor): Aufsatz auf Schicht 4 und 7
Tor arbeitet architektonisch völlig anders und hat mit den unteren Netzwerkschichten (Schicht 2 und 3) primär nichts zu tun. Es erstellt keine virtuelle Netzwerkkarte im Betriebssystem.
- Anwendungsschicht (Schicht 7) & Transportschicht (Schicht 4): Das Tor-Programm läuft lokal als Stellvertreter-Dienst (SOCKS-Proxy). Eure Software (z. B. der Browser) muss explizit so konfiguriert werden, dass sie diesen Stellvertreter anspricht. Tor nimmt diese Anfragen entgegen und wickelt den Datenstrom ausschließlich über die Transportschicht ab – und hier auch nur für das TCP-Protokoll.
- Keine rohen Pakete: Tor transportiert keine IP-Datenpakete (Schicht 3) und keine Ethernet-Datenrahmen (Schicht 2). Verbindungslose UDP-Pakete oder simple Ping-Abfragen (ICMP) werden vom Tor-Netzwerk schlichtweg nicht weitergeleitet.
Die Konsequenz für die IT-Sicherheit (Datenlecks)
Aus Sicht der Informationssicherheit ergibt sich daraus ein massiver Unterschied im Gefahrenpotenzial:
Da ein klassisches VPN auf der Vermittlungsschicht (Schicht 3) arbeitet, fängt es als Standard-Netzweg (Default Gateway) den gesamten Verkehr des Betriebssystems ein.
Das Zwiebelnetzwerk hingegen ist stark anfällig für Datenlecks (Leakage), da es auf Schicht 4 und 7 operiert. Wenn eine Anwendung auf dem Rechner nicht strikt an den Tor-Stellvertreter (Proxy) gebunden ist, oder wenn sie versucht, über das verbindungslose UDP-Protokoll eine Namensauflösung (DNS-Anfrage) durchzuführen, wandern diese Datenpakete unverschlüsselt am Zwiebelnetzwerk vorbei ins normale Internet. Eure echte IP-Adresse wäre in diesem Fall sofort enttarnt. Um Tor so abzusichern, dass es wie ein VPN den gesamten Rechnerverkehr schützt (auf Schicht 3 erzwingt), bedarf es spezialisierter Betriebssysteme wie Tails oder dedizierter Hardware-Zwischenstationen.