O primeiro método de instalação é através da compilação das fontes. A grande vantagem desse método é que você vai instalar a versão mais atualizada.
Antes de começar, o
Tor tem algumas dependências. No caso de um Debian, recém instalado, ele só pediu essas duas:
Talvez tenha mais em outros sistemas operacionais, mas não acredito que sejam muitas.
Vamos baixar o fonte, entre em:
Clique em "Source Code" e clique em "Download". Obs.: Não baixe a versão unstable.
Descompacte o arquivo baixado com:
tar xf tor*.gz
Nesse ponto você vai ter o arquivo compactado e ao lado, a pasta com os arquivos de fonte. Mude o nome da pasta dos arquivos de fonte para um nome mais fácil de lembrar e mova-a para o diretório
/opt/:
mv tor-0.2.5.12/ tor/
# mv tor/ /opt/
Entre no diretório
/opt/tor e mande o comando:
./configure
Se houver a necessidade da instalação de algumas dependências a mais, é aqui que será exibido um aviso sobre essa necessidade. Se ocorreu tudo certo, só continuar:
# make
Se não deu nenhum erro, quer dizer que o Tor já está instalado corretamente. Vamos testar, execute o binário do Tor através da linha de comando usando:
# /opt/tor/src/or/tor
Ao executar pela primeira vez, ele vai buscar algumas informações necessárias para montar o circuito. Talvez demore um pouco.
Se uma linha contendo "[notice] Bootstrapped 100%: Done" aparecer, quer dizer que o Tor conseguiu se conectar à rede perfeitamente. Então, já temos o Tor instalado e funcionando. Então, manda um
Ctrl+C para fechar o Tor e vamos partir para a parte de configuração.
Uma questão importante de segurança é que você não deve executar o Tor como root. Então vamos começar criando um usuário específico para rodar o Tor:
# useradd -d /opt/tor/src/or -s /bin/bash tor-user
# passwd tor-user #-- Defina uma senha para o usuário.
Altere a propriedade da pasta do Tor para o usuário novo:
# chown -R tor-user.tor-user /opt/tor/
Crie um diretório para nosso arquivo de configuração, um diretório para armazenar o PID do Tor e um diretório onde serão armazenadas as informações do nosso
Hidden Service. Eu geralmente uso:
# mkdir /etc/tor/ #-- Diretório para arquivo de configuração.
# mkdir /var/run/tor #-- Diretório onde será armazenado o PID.
# mkdir /tor/ #-- Diretório onde serão armazenados os arquivos hostname e private_key.
Altere as propriedades e permissões dessas pastas para que o usuário "tor-user" tenha permissão de escrita:
# chown tor-user.tor-user /etc/tor/
# chown tor-user.tor-user /var/run/tor/
# chown tor-user.tor-user /tor/
# chmod 700 /tor/
Ok, logue para o usuário "tor-user" e vamos começar a configuração:
# su - tor-user
Crie o arquivo "/etc/tor/torrc" e abra-o com seu editor de texto:
vi /etc/tor/torrc
Segue o conteúdo do arquivo:
#RunAsDaemon 1
PidFile /var/run/tor/tor.pid
HiddenServiceDir /tor/
HiddenServicePort 80 127.0.0.1:80
As linhas que configuram de fato nosso Hidden Service são "
HiddenServiceDir" e "
HiddenServicePort".
Se o seu Web Server estiver rodando na porta 80 e na mesma máquina que você está instalando o Tor, esse arquivo do jeito que está já vai servir. Se não for esse o caso, dê uma olhada na próxima página onde eu falo um pouco mais sobre esses dois arquivos.
Salve o arquivo e feche.
Agora vamos testar:
/opt/tor/src/or/tor -f /etc/tor/torrc
Ao executar, se ocorreu tudo certo, já será criado o arquivo "hostname" dentro de
/tor/, que é onde está o endereço do seu Hidden Service, assim como a "private_key".
Para pegar o endereço do seu Hidden Service:
cat /tor/hostname
Só abrir o Tor Browser agora e testar se está acessível.
Se você planeja rodar como Daemon, ainda temos algumas coisas pra fazer.
Descomentar a linha "RunAsDaemon 1" do arquivo
/etc/tor/torrc.
Logar como root e criar o arquivo
/etc/init.d/tor com o seguinte conteúdo:
#! /bin/sh
### BEGIN INIT INFO
# Provides: tor
# Required-Start: $local_fs $remote_fs $network $named $time
# Required-Stop: $local_fs $remote_fs $network $named $time
# Should-Start: $syslog
# Should-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts The Onion Router daemon processes
# Description: Start The Onion Router, a TCP overlay
# network client that provides anonymous
# transport.
### END INIT INFO
# Author: MarceloTheodoro <marcelotheodoro@outlook.com>
PIDFILE=/var/run/tor/tor.pid
DAEMON=/opt/tor/src/or/tor
UID=1001
TOR_OPTS='-f /etc/tor/torrc'
case "$1" in
start)
start-stop-daemon --start --quiet --chuid $UID --pidfile $PIDFILE --exec $DAEMON \
-- $TOR_OPTS
echo "Ok."
;;
stop)
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --exec $DAEMON
rm -f $PIDFILE
echo "Ok."
;;
status)
start-stop-daemon --status --pidfile $PIDFILE --exec $DAEMON
if [ "$?" = "0" ]; then
echo Tor is running.
else
echo Tor is not running.
fi
;;
*)
echo "Usage: tor {start|stop|status}" >&2
exit 3
;;
esac
Esse código, do jeito que está, vai funcionar bem para Debian-like. Em outras distribuições que não tenham o "start-stop-daemon", não vai servir. Nesse caso você pode utilizar o outro método de instalação que está descrito na próxima página.
Antes de continuar, você deve alterar a variável "UID" com as informações do usuário que você criou anteriormente. Você pode descobrir o "UID" do usuário com:
cat /etc/passwd
Ache a linha correspondente ao usuário criado, o "UID" é a terceira coluna.
Salve e feche o arquivo. Torne-o executável com:
# chmod +x /etc/init.d/tor
Coloque para iniciar automaticamente com:
# insserv tor
Pronto. :)