Как запустить Tor и Polipo (и автоматически перезапустить их) с помощью launchd на Mac OS X?

Как запустить Tor и Polipo (и автоматически перезапустить их) с помощью launchd на Mac OS X?

У меня нет опыта работы с launchd, но я хотел бы настроить Tor и Polipo как службу, которая автоматически перезапускается каждые 24 часа или около того. Как это сделать?

решение1

Для Tor вы можете использовать этот файл launchd plist, чтобы он запускался при запуске системы. (Не требуется входить в систему как пользователь, что идеально подходит для серверов и людей, управляющих мостом или узлом, которые должны работать круглосуточно.)

Сохраните этот файл /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домашнем каталоге этого пользователя. Вам нужно указатьабсолютный путьв этот файл. Например, если ваш пользователь называетсятори находится в /Users/torто этот путь будет/Users/tor/.torrc

userNameToRunTorUnder-UsuallyTorOrYourOwnUsershortname Это имя пользователя, 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>

Снова замените следующую информацию на ту, которая соответствует вашей системе: /путь/к/вашему/двоичному/файлу/polipo Если вы хотите использовать файл от Vidalia, используйте /Applications/Vidalia.app/Contents/MacOS/polipo, в противном случае найдите, где находится ваш исполняемый файл 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не лучшая идея.

решение2

лингонподдержка прекращена, но все еще работает и является лучшим инструментом для управления launchd, если у вас нет опыта.

Связанный контент