У меня нет опыта работы с launchd, но я бы хотел настроить Tor и Polipo как службу, которая автоматически перезапускается каждые 24 часа или около того. Как я могу это сделать?
2 ответа
Для этого вы можете использовать этот список запуска для запуска при запуске системы. (Нет необходимости в том, чтобы пользователь входил в систему, что идеально подходит для серверов и людей, использующих мост или узел, работающий круглосуточно.)
Сохраните этот файл /Library/LaunchDaemons/org.torproject.tor.plist
(для этого вам понадобятся привилегии root, поэтому используйте 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>
Замените следующую информацию на ту, которая соответствует вашей системе:
/path/to/your/binary/of/tor
Обычно это /usr/local/bin/tor
если вы установили tor из исходного кода, или /Applications/Vidalia.app/Contents/MacOS/tor
если вы хотите использовать tor бинарный от Vidalia. Или поищите его с which tor
в вашей системе.
/path/to/your/torrc
Если вы используете tor как отдельный пользователь, он должен находиться в .torrc
в домашнем каталоге этого пользователя. Вам необходимо указать абсолютный путь к этому файлу. Например, если ваш пользователь называется tor и находится в /Users/tor
тогда этот путь будет /Users/tor/.torrc
userNameToRunTorUnder-UsuallyTorOrYourOwnUsershortname
Это имя пользователя для запуска tor
. Если у вас есть отдельный пользователь (который, вероятно, будет назван tor), используйте его, иначе вы можете использовать практически любое другое имя пользователя. Если это только для вас, сделайте это своим собственным именем пользователя. (Ака, как называется ваш домашний каталог.)
Убедитесь, что привилегии элемента launchd безопасны, как того требует launchd.
sudo chown root:wheel /Library/LaunchDaemons/org.torproject.tor.plist
sudo chmod 755 /Library/LaunchDaemons/org.torproject.tor.plist
Затем запустите его с помощью команды sudo launchctl load -w /Library/LaunchDaemons/org.torproject.tor.plist
Вы можете использовать очень похожий предмет для запуска polipo.
Сохраните этот элемент Launchd как /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>
Снова замените следующую информацию на ту, которая соответствует вашей системе:/path/to/your/binary/of/polipo Если вы хотите использовать информацию из Vidalia, используйте /Applications/Vidalia.app/Contents/MacOS/polipo, иначе узнайте, где ваш двоичный файл с полипо, с which polipo
. (Например, MacPorts устанавливает это в /opt/local/bin/polipo
)
/path/to/your/polipo.conf
Опять же, если вы хотите использовать файл, предоставленный Vidalia /Applications/Vidalia.app/Contents/Resources/polipo.conf
или использовать абсолютный путь к вашей пользовательской конфигурации.
userNameToRunPolipoUnder-UsuallyPolipoOrYourOwnUsershortname
Это может быть то же имя пользователя, с которым вы запускаете tor
, но оно также может быть отдельным пользователем. Мне нравится разделять своих демонов.
Опять же, убедитесь, что привилегии элемента launchd безопасны, как того требует launchd.
sudo chown root:wheel /Library/LaunchDaemons/fr.jussieu.pps.polipo.plist
sudo chmod 755 /Library/LaunchDaemons/fr.jussieu.pps.polipo.plist
Затем запустите его с помощью команды sudo launchctl load -w /Library/LaunchDaemons/fr.jussieu.pps.polipo.plist
Предостережение: эта установка не перезапускает демонов каждые 24 часа в соответствии с запросом. Я не думаю, что это необходимо, поскольку у меня никогда не было проблем со стабильностью работы с tor
. (Я работаю с узлами в течение нескольких лет в Mac OS X.)
tor
вообще не поддерживает системный сон. Поэтому, если вы переведите ваш Mac в спящий режим, вам нужно перезапустить его, чтобы он снова tor
надежно строить схемы.
Это описание предназначено для Mac, которые все равно работают. Это можно сделать как пользователь и только при графическом входе в систему, не требуя привилегий root
.
Это должно быть так.
PS: Пожалуйста, имейте в виду, что tor
предназначен для предоставления доступа, где происходит блокировка и цензура, а также анонимности и конфиденциальности в сети, и почему запуск BitTorrent поверх tor
не является хорошей идеей.
Lingon больше не выпускается, но все еще работает и является лучшим инструментом для управления запуском, если у вас нет опыта.