%20usando%20o%20launchd%20no%20Mac%20OS%20X%3F.png)
Não tenho experiência com o launchd, mas gostaria de configurar o Tor e o Polipo como um serviço que reinicia automaticamente a cada 24 horas ou mais. Como posso fazer isso?
Responder1
Para tor, você pode usar este launchd plist para que ele seja iniciado na inicialização do sistema. (Não há necessidade de um usuário estar logado, o que é ideal para servidores e pessoas que executam uma ponte ou nó que deve funcionar 24 horas por dia, 7 dias por semana.)
Salve este arquivo /Library/LaunchDaemons/org.torproject.tor.plist
(você precisará de privilégios de root para isso, então use sudo
.)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<false/>
<key>Label</key>
<string>org.torproject.tor</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/your/binary/of/tor</string>
<string>-f</string>
<string>/path/to/your/torrc</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>OnDemand</key>
<false/>
<key>UserName</key>
<string>userNameToRunTorUnder-UsuallyTorOrYourOwnUsershortname</string>
<key>GroupName</key>
<string>daemon</string>
</dict>
</plist>
Substitua as informações a seguir pelas que correspondem ao seu sistema:
/path/to/your/binary/of/tor
Isso geralmente ocorre /usr/local/bin/tor
se você instalou o tor a partir do código-fonte ou /Applications/Vidalia.app/Contents/MacOS/tor
se deseja usar o binário tor do Vidalia. Ou procure-o which tor
em seu sistema.
/path/to/your/torrc
Se você estiver executando o tor como um usuário separado, ele deverá estar .torrc
no diretório inicial desse usuário. Você precisa especificar ocaminho absolutopara este arquivo. Por exemplo, se o seu usuário se chamaparae reside /Users/tor
então esse caminho seria/Users/tor/.torrc
userNameToRunTorUnder-UsuallyTorOrYourOwnUsershortname
Este é o nome de usuário para execução tor
. Se você tiver um usuário separado (que provavelmente será nomeadopara) então use esse, caso contrário você pode usar praticamente qualquer outro nome de usuário. Se isso for apenas para você, crie seu próprio nome de usuário. (Também conhecido como o nome do seu diretório inicial.)
Certifique-se de que os privilégios do item launchd sejam seguros conforme exigido pelo launchd.
sudo chown root:wheel /Library/LaunchDaemons/org.torproject.tor.plist
sudo chmod 755 /Library/LaunchDaemons/org.torproject.tor.plist
Em seguida, inicie-o com
sudo launchctl load -w /Library/LaunchDaemons/org.torproject.tor.plist
Você pode usar um item muito semelhante para lançar a polipo. Salve este item do Launchd como/Library/LaunchDaemons/fr.jussieu.pps.polipo.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<false/>
<key>Label</key>
<string>fr.jussieu.pps.polipo</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/your/binary/of/polipo</string>
<string>-c</string>
<string>/path/to/your/polipo.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>OnDemand</key>
<false/>
<key>UserName</key>
<string>userNameToRunPolipoUnder-UsuallyPolipoOrYourOwnUsershortname</string>
<key>GroupName</key>
<string>daemon</string>
</dict>
</plist>
Substitua novamente as seguintes informações pelas que correspondem ao seu sistema:
/caminho/para/seu/binário/de/polipo
Se você quiser usar o da Vidalia, use /Applications/Vidalia.app/Contents/MacOS/polipo, caso contrário, descubra onde está o seu binário polipo which polipo
. (Por exemplo, MacPorts instala isso em /opt/local/bin/polipo
)
/path/to/your/polipo.conf
Novamente, se você quiser usar o arquivo fornecido pela Vidalia /Applications/Vidalia.app/Contents/Resources/polipo.conf
ou usar ocaminho absolutoà sua configuração personalizada.
userNameToRunPolipoUnder-UsuallyPolipoOrYourOwnUsershortname
Este pode ser o mesmo nome de usuário com o qual você executa tor
, mas também pode ser um usuário separado. Eu gosto de ter meus daemons separados.
Novamente, certifique-se de que os privilégios do item launchd sejam seguros conforme exigido pelo launchd.
sudo chown root:wheel /Library/LaunchDaemons/fr.jussieu.pps.polipo.plist
sudo chmod 755 /Library/LaunchDaemons/fr.jussieu.pps.polipo.plist
Em seguida, inicie-o com
sudo launchctl load -w /Library/LaunchDaemons/fr.jussieu.pps.polipo.plist
Advertência: esta configuração faznãoreinicie os daemons a cada 24h conforme solicitado. Não acho que seja necessário, pois nunca tive problemas de estabilidade com o tor
. (Tenho executado nós há vários anos no Mac OS X.)
tor
faznãolidar com a suspensão do sistema. Portanto, se você colocar seu Mac em suspensão, será necessário reiniciá-lo tor
para que ele construa circuitos novamente de maneira confiável.
Esta descrição destina-se a Macs que já estão funcionando de qualquer maneira. É possível fazer isso rodar como seu usuário e somente quando você fizer login graficamente sem exigir root
privilégios.
Deveria ser isso.
PS: Lembre-se de que tor
isso visa permitir o acesso onde ocorre bloqueio e censura, bem como o anonimato e a privacidade online epor que executar o BitTorrent tor
não é uma boa ideia.
Responder2
Lingonfoi descontinuado, mas ainda funciona e é a melhor ferramenta para gerenciar o launchd se você não tiver experiência.