4

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

2 ответа2

6

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

Сохраните этот файл /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 не является хорошей идеей.

0

Lingon больше не выпускается, но все еще работает и является лучшим инструментом для управления запуском, если у вас нет опыта.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .