
Gérez vos services onion via CLI ou TUI sur un système d'exploitation de type Unix avec un shell conforme à POSIX.
OnionJuggler est un ensemble portable de scripts et de documentation à faible prérequis, destiné à aider l'opérateur de service à jongler (gérer) ses onions.
ATTENTION : ne faites pas encore confiance à ce dépôt, sauvegardez vos clés hs dans un autre emplacement. Ce projet n'a pas encore été publié et ne doit être considéré que pour le développement.
Lien rapide vers ce dépôt : git.io/onionjuggler

Ce projet est né après avoir vu les étonnants scripts CLI Python d'OnionShare, qui permettent des services onion éphémères qui ne touchent jamais au disque et peuvent être exécutés facilement sur Tails ou Whonix. Puis, après avoir vu le script bash pour service onion de RaspiBlitz pour le Raspberry Pi, l'idée de le porter sur n'importe quelle distribution Debian a germé. Au fur et à mesure que l'idée grandissait, l'utilisation de GNU Bash et Linux constituait un point de défaillance unique 1 2, donc rendre le script compatible POSIX pour être compatible avec tout système de type Unix est devenu un objectif définitif.
L'objectif de ce projet est de :
Atténuation d'un point de défaillance unique :
Linux prédominant à BSD et tout autre système de type Unix.Bash prédominant à tout shell POSIX tel que ksh, (y,d)ash et Zsh (émulant sh).Systemd prédominant à RC, OpenRC, SysVinit, Runit.Modifier le fichier de configuration de tor (torrc) n'est pas difficile, mais l'automatisation résout les problèmes de mauvaise configuration et permet :
<HiddenServiceDir>/authorized_clients/<client>.auth. Si un client est configuré, le service ne sera pas accessible sans authentification.<ClientOnionAuthDir>/<SOME_ONION>.auth_private.Généraux :
Programmes requis :
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) etc.Programmes optionnels :
Programmes de développement :
Principalement testé sur les systèmes Debian, y compris Whonix.
Cela peut fonctionner sur OpenBSD :
basez à partir des sources, car il n'est pas dans les ports.Concernant les autres systèmes d'exploitation, veuillez consulter etc/onionjuggler pour une configuration prédéfinie pour votre système d'exploitation. Ils n'ont pas tous été testés.
git clone https://github.com/nyxnor/onionjuggler.git
cd onionjuggler
Exécutez depuis l'intérieur du dépôt cloné pour créer les répertoires tor, les pages de manuel et copier les scripts dans le PATH :
./configure.sh --install
Vous ne devez pas modifier la configuration par défaut dans /etc/onionjuggler/onionjuggler.conf, car elle sera modifiée à chaque mise à jour. Vos configurations locales doivent se trouver dans /etc/onionjuggler/conf.d/*.conf, et à partir de ce dossier, elles seront analysées dans l'ordre lexical ; la dernière valeur remplacera les valeurs par défaut.
Chaque configuration et script possède sa propre page de manuel et son message d'aide ; c'est le meilleur moyen d'apprendre OnionJuggler entièrement.
Avant d'exécuter un script pour apporter des modifications, il est recommandé de voir quelles options sont configurées. Chaque script a une option --getconf qui affichera la configuration actuelle lue par OnionJuggler :
onionjuggler-cli --getconf
Il est également possible d'obtenir les options de ligne de commande sans apporter de modifications, utile pour vérifier si l'affectation est correcte :
onionjuggler-cli --getopt --service=example --hs-version=3
Pour utiliser l'interface TUI, exécutez simplement :
onionjuggler-tui
Pour créer un service en CLI :
onionjuggler-cli --on --service=terminator --socket=tcp --hs-version=3 --port="80:127.0.0.1:80"
Beaucoup d'autres choses sont possibles, lisez les pages de manuel.
dialog et whiptail.@all pour inclure tous les services ou clients selon l'option --service ou --client ; liste des arguments activés [SERV1,SERV2,...] et [CLIENT1,CLIENT2,...] ; la commande parcourra les variables et appliquera la combinaison.