
Verwalten Sie Ihre Onion-Dienste über CLI oder TUI auf einem Unix-ähnlichen Betriebssystem mit einer POSIX-konformen Shell.
OnionJuggler ist eine portable Sammlung von Skripten und Dokumentation mit minimalen Anforderungen, die dem Service-Betreiber hilft, seine Zwiebeln zu jonglieren (verwalten).
WARNUNG: «vertraue diesem Repo noch nicht», sichere deine HS-Schlüssel an einem anderen Ort. Dieses Projekt wurde noch nicht veröffentlicht und sollte nur für die Entwicklung betrachtet werden.
Schnelllink zu diesem Repository: git.io/onionjuggler

Dieses Projekt entstand, nachdem ich die erstaunlichen OnionShare CLI python scripts gesehen hatte, welche ephemere Onion-Dienste ermöglichen, die nie die Festplatte berühren und einfach auf Tails oder Whonix ausgeführt werden können. Nachdem ich dann das RaspiBlitz Onion Service Bash-Script für den Raspberry Pi gesehen hatte, entstand die Idee, es auf jede Debian-Distribution zu portieren. Als die Idee wuchs, stellte die Verwendung von GNU Bash und Linux einen einzelnen Ausfallpunkt dar 1 2, daher war die POSIX-Konformität des Skripts, um mit jedem Unix-ähnlichen System kompatibel zu sein, ein definitives Ziel.
Das Ziel dieses Projekts ist:
Vermeidung eines einzelnen Ausfallpunkts:
Linux auch auf BSD und andere Unix-ähnliche Systeme.Bash auch auf jede POSIX-Shell wie ksh, (y,d)ash und Zsh (mit sh-Emulation).Systemd auch auf RC, OpenRC, SysVinit, Runit.Die Bearbeitung der Tor-Konfigurationsdatei (torrc) ist nicht schwierig, aber Automatisierung löst das Problem von Fehlkonfigurationen und bietet:
<HiddenServiceDir>/authorized_clients/<client>.auth auflisten. Wenn ein Client konfiguriert ist, ist der Dienst ohne Authentifizierung nicht erreichbar.<ClientOnionAuthDir>/<SOME_ONION>.auth_private auflisten.Allgemein:
Erforderliche Programme:
dash 0.5.4+, bash 2.03+, ksh 88+, mksh R28+, yash 2.29+, busybox ash 1.1.3+, zsh 3.1.9+ (zsh --emulate sh) usw.Optionale Programme:
Entwicklungsprogramme:
Hauptsächlich auf Debian-Systemen getestet, einschließlich Whonix.
Es kann auf OpenBSD funktionieren –
basez aus dem Quellcode erstellen, da es nicht in den Ports ist.Bezüglich anderer Betriebssysteme siehe bitte etc/onionjuggler für vorkonfigurierte Einstellungen für Ihr Betriebssystem. Sie wurden nicht alle getestet.
git clone https://github.com/nyxnor/onionjuggler.git
cd onionjuggler
Führen Sie innerhalb des geklonten Repositorys Folgendes aus, um die Tor-Verzeichnisse zu erstellen, Handbuchseiten zu generieren und Skripte in den Pfad zu kopieren:
./configure.sh --install
Sie sollten die Standardkonfiguration unter /etc/onionjuggler/onionjuggler.conf nicht ändern, da sie bei jedem Update geändert wird. Ihre lokalen Konfigurationen sollten unter /etc/onionjuggler/conf.d/*.conf abgelegt werden. Aus diesem Ordner werden sie in lexikalischer Reihenfolge ausgewertet, wobei der letzte Wert die Voreinstellungen überschreibt.
Jede Konfiguration und jedes Skript hat eine eigene Handbuchseite und Hilfemeldung; dies ist der beste Weg, um onionjuggler vollständig zu erlernen.
Bevor Sie ein Skript ausführen, um Änderungen vorzunehmen, empfiehlt es sich, die konfigurierten Optionen zu überprüfen. Jedes Skript hat eine --getconf-Option, die die aktuelle, von onionjuggler gelesene Konfiguration ausgibt:
onionjuggler-cli --getconf
Es ist auch möglich, Befehlszeilenoptionen abzurufen, ohne Änderungen vorzunehmen – nützlich, um zu sehen, ob die Zuweisung korrekt ist:
onionjuggler-cli --getopt --service=example --hs-version=3
Zur Verwendung des TUI führen Sie einfach aus:
onionjuggler-tui
So erstellen Sie einen Dienst in der CLI:
onionjuggler-cli --on --service=terminator --socket=tcp --hs-version=3 --port="80:127.0.0.1:80"
Viel mehr ist möglich – lesen Sie die Handbuchseiten.
dialog und whiptail.@all gebündelt werden, um alle Dienste oder Clients (je nach Option --service oder --client) einzubeziehen. Listen aktivierte Argumente [SERV1,SERV2,...] und [CLIENT1,CLIENT2,...]. Der Befehl durchläuft die Variablen und wendet die Kombination an.