
Gerencie seus Serviços Onion via CLI ou TUI em sistemas operacionais do tipo Unix com um shell compatível com POSIX.
OnionJuggler é uma coleção portátil de scripts e documentação com requisitos mínimos para ajudar o operador de serviço a gerenciar (juggle) seus onion(s).
AVISO: não confie neste repositório ainda, faça backup das suas chaves hs em outro local. Este projeto ainda não foi lançado e deve ser considerado apenas para desenvolvimento.
Link rápido para este repositório: git.io/onionjuggler

Este projeto foi iniciado após ver os incríveis scripts Python CLI do OnionShare, que possibilitam serviços onion efêmeros que nunca tocam o disco e podem ser executados no Tails ou Whonix facilmente. Depois, ao ver o script bash de serviço onion do RaspiBlitz para Raspberry Pi, surgiu a ideia de portá-lo para qualquer distribuição Debian. Conforme a ideia crescia, usar GNU Bash e Linux era um ponto único de falha 1 2, então tornar o script compatível com POSIX para ser compatível com qualquer sistema Unix-like foi um objetivo definitivo.
O objetivo deste projeto é:
Mitigação contra ponto único de falha:
Linux para também BSD e qualquer outro sistema Unix-like.Bash para também qualquer shell POSIX como ksh, (y,d)ash e Zsh (emulando sh).Systemd para também RC, OpenRC, SysVinit, Runit.Editar o arquivo de configuração do tor (torrc) não é difícil, mas a automação resolve problemas de má configuração e proporciona:
<HiddenServiceDir>/authorized_clients/<client>.auth. Se algum cliente estiver configurado, o serviço não será acessível sem autenticação.<ClientOnionAuthDir>/<SOME_ONION>.auth_private.Gerais:
Programas necessários:
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.Programas opcionais:
Programas de desenvolvimento:
Testado principalmente em sistemas Debian, incluindo Whonix.
Pode funcionar no OpenBSD -
basez a partir do código-fonte, pois não está nos ports.Em relação a outros sistemas operacionais, consulte etc/onionjuggler para configurações predefinidas para seu sistema operacional. Eles não foram todos testados.
git clone https://github.com/nyxnor/onionjuggler.git
cd onionjuggler
Execute dentro do repositório clonado para criar os diretórios tor, criar páginas de manual e copiar scripts para o PATH:
./configure.sh --install
Você não deve modificar a configuração padrão em /etc/onionjuggler/onionjuggler.conf, ela será modificada a cada atualização. Suas configurações locais devem estar em /etc/onionjuggler/conf.d/*.conf, e a partir desta pasta, elas serão analisadas em ordem lexical, e o último valor substituirá os padrões.
Cada configuração e script tem sua própria página de manual e mensagem de ajuda, é a melhor maneira de aprender onionjuggler por completo.
Antes de executar qualquer script para fazer alterações, é recomendável ver quais opções estão configuradas. Cada script tem uma opção --getconf que exibirá a configuração atual lida pelo onionjuggler:
onionjuggler-cli --getconf
Também é possível obter opções de linha de comando sem fazer alterações, útil para ver se a atribuição está correta:
onionjuggler-cli --getopt --service=example --hs-version=3
Para usar a TUI, basta executar:
onionjuggler-tui
Para criar um serviço na CLI:
onionjuggler-cli --on --service=terminator --socket=tcp --hs-version=3 --port="80:127.0.0.1:80"
Muitas outras coisas são possíveis, leia as páginas de manual
dialog e whiptail.@all para incluir todos os serviços ou clientes dependendo da opção --service ou --client, listar argumentos ativados [SERV1,SERV2,...] e [CLIENT1,CLIENT2,...]; o comando percorrerá as variáveis e aplicará a combinação.