
Gestisci i tuoi servizi Onion tramite CLI o TUI su sistemi operativi Unix-like con una shell conforme a POSIX.
OnionJuggler è una raccolta di script e documentazione con requisiti minimi e portabile, progettata per aiutare l'operatore di servizi a gestire (juggling) le proprie onion.
ATTENZIONE: non fidarti ancora di questo repository, esegui il backup delle tue chiavi HS in un'altra posizione. Questo progetto non è stato rilasciato e deve essere considerato solo per lo sviluppo.
Collegamento rapido a questo repository: git.io/onionjuggler

Questo progetto è stato avviato dopo aver visto gli straordinari script Python CLI di OnionShare, che permettono servizi onion effimeri che non toccano mai il disco e possono essere eseguiti facilmente su Tails o Whonix. Poi, dopo aver visto lo script bash per servizi onion su Raspberry Pi di RaspiBlitz, è nata l'idea di portarlo su qualsiasi distribuzione Debian. Man mano che l'idea cresceva, l'uso di GNU Bash e Linux rappresentava un singolo punto di fallimento 1 2, quindi rendere lo script conforme a POSIX per essere compatibile con qualsiasi sistema Unix-like è diventato un obiettivo definitivo.
L'obiettivo di questo progetto è:
Mitigazione da un singolo punto di fallimento:
Linux anche a BSD e qualsiasi altro sistema Unix-like.Bash anche a qualsiasi shell POSIX come ksh, (y,d)ash e Zsh (emulando sh).Systemd anche a RC, OpenRC, SysVinit, Runit.Modificare il file di configurazione di tor (torrc) non è difficile, ma l'automazione risolve i problemi di errata configurazione e permette di avere:
<HiddenServiceDir>/authorized_clients/<client>.auth. Se un qualsiasi client è configurato, il servizio non sarà accessibile senza autenticazione.<ClientOnionAuthDir>/<SOME_ONION>.auth_private.Generali:
Programmi richiesti:
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) ecc.Programmi opzionali:
Programmi di sviluppo:
Principalmente testato su sistemi Debian, inclusi Whonix.
Può funzionare su OpenBSD:
basez dal sorgente, poiché non è nei ports.Per altri sistemi operativi, consultare etc/onionjuggler per configurazioni predefinite per il tuo sistema operativo. Non sono state tutte testate.
git clone https://github.com/nyxnor/onionjuggler.git
cd onionjuggler
Eseguire dall'interno del repository clonato per creare le directory di tor, creare le pagine man e copiare gli script nel PATH:
./configure.sh --install
Non dovresti modificare la configurazione predefinita su /etc/onionjuggler/onionjuggler.conf; verrà modificata ad ogni aggiornamento. Le tue configurazioni locali dovrebbero essere in /etc/onionjuggler/conf.d/*.conf, e da questa cartella verranno analizzate in ordine lessicale; l'ultimo valore sostituirà i valori predefiniti.
Ogni configurazione e script ha la propria pagina man e messaggio di aiuto; è il modo migliore per imparare onionjuggler completamente.
Prima di eseguire qualsiasi script per apportare modifiche, si consiglia di vedere quali opzioni sono configurate. Ogni script ha un'opzione --getconf che stampa la configurazione corrente letta da onionjuggler:
onionjuggler-cli --getconf
È anche possibile ottenere le opzioni della riga di comando senza apportare modifiche, utile per verificare se l'assegnazione è corretta:
onionjuggler-cli --getopt --service=example --hs-version=3
Per usare la TUI, basta eseguire:
onionjuggler-tui
Per creare un servizio da CLI:
onionjuggler-cli --on --service=terminator --socket=tcp --hs-version=3 --port="80:127.0.0.1:80"
Molte altre cose sono possibili, leggi le pagine man.
dialog e whiptail.@all per includere tutti i servizi o i client a seconda dell'opzione --service o --client; elencare argomenti abilitati [SERV1,SERV2,...] e [CLIENT1,CLIENT2,...]; il comando scorrerà le variabili e applicherà la combinazione.