автозапуск сервиса sing-box

Started by hayate, December 11, 2024, 03:21:17 PM

Previous topic - Next topic
Коллеги, что-то я совсем потерялся в трех соснах.
Не получается настроить сервис на автозапуск при перезагрузке.
командой /usr/local/bin/sing-box run -c /usr/local/etc/sing-box/config.json все запускается, ну или service sing-box start
А вот при перезапуске не стартует

в /usr/local/etc/rc.d/ лежит скрипт singbox
он запускается на старте /usr/local/etc/rc.syshook.d/start файлом 90-singbox
внутри одной строчкой /usr/local/etc/rc.d/sing-box start
и он даже вроде срабатывает, я вижу в логах
Quote<118>Starting sing-box...
но дальше ничего не происходит


он вроде та и запускает:
Quoteон запускается на старте /usr/local/etc/rc.syshook.d/start файлом 90-singbox
внутри одной строчкой

Quote from: Balya on December 11, 2024, 09:44:19 PM
Попробуйте использовать `rc.syshook.d`
Спасибо, но я собственно говоря так и делаю

Quote from: hayate on December 11, 2024, 03:21:17 PMвнутри одной строчкой

В начале файла должна быть строчка #!/bin/sh
#!/bin/sh
service sing-box start

Файл нужно положить в /usr/local/etc/rc.syshook.d/early/ и обозвать как-нибудь типа 50-sing-box. Цифра в имени файла нужна для указания порядка запуска.

Quote from: Balya on December 12, 2024, 02:06:47 PM#!/bin/sh
Да это понятно, не стал просто цитировать.
Я в итоге разобрался, правда криво как-то, самому не нравится, но работает.
В syshook запускаю не службу, но напрямую бинарник с нужными параметрами
/usr/local/bin/sing-box run -c /usr/local/etc/sing-box/config.json
Quote from: Balya on December 12, 2024, 02:06:47 PMФайл нужно положить в /usr/local/etc/rc.syshook.d/early/ и обозвать как-нибудь типа 50-sing-box.
А почему в early, а не в start? В доках вроде бы все подобное рекомендуют как-раз в start класть.

Quote from: Balya on December 12, 2024, 02:06:47 PMФайл нужно положить в /usr/local/etc/rc.syshook.d/early/

эм. Тоже интересно, откуда такая информация.

Quote from: hayate on December 12, 2024, 03:42:49 PMВ syshook запускаю не службу, но напрямую бинарник с нужными параметрами
странно, я истерию и tun2socks запускаю как службы и нормально стартует

Quote from: hayate on December 12, 2024, 03:42:49 PMА почему в early, а не в start? В доках вроде бы все подобное рекомендуют как-раз в start класть.

Брал пример из этого мануала: https://blog.ohmykreee.top/article/setup-tun2socks-in-opnsense/

December 12, 2024, 09:33:45 PM #9 Last Edit: December 13, 2024, 01:10:20 AM by _tribal_
Ну это я, если память не изменяет, давал ссылку. Я, кстати, пробовал из start оно тоже запускается вполне себе нормально. Если кто найдет описание в чем различие, с удовольствием бы почитал. Подозреваю, что в очередности загрузки дело.. но что из них первое идет start или early вопрос интересный и в доке не описан.

Апд. нашел, наверное все же лучше в Start добавлять пользовательские службы, Early вообще до загрузки всего работает.

Quote from: Balya on December 12, 2024, 06:45:24 PMБрал пример из этого мануала: https://blog.ohmykreee.top/article/setup-tun2socks-in-opnsense/
Да, тоже его видел, но не курил tun2socks пока. Это в планах, когда руки дойдут. Я собственно хочу чтобы все в одной коробке было, потому что сейчас у меня sing-box в openwrt на pi4 крутится. А я хочу в opnsense внутри proxmos. Но времени мало((

Quote from: _tribal_ on December 12, 2024, 05:02:04 PMстранно, я истерию и tun2socks запускаю как службы и нормально стартует
Ну я потом в /var/log/sing-box.log нашел, что он на самом деле запускался. И к нему даже какие-то коннекты успевали от клиентов в сети прийти. Но потом он падал, потому что кто-то его пытался второй раз запустить.

root@OPNsense:~ # cat /var/log/singbox.log
+0300 2024-12-12 16:44:16 INFO outbound/direct[direct]: outbound packet connection to time.apple.com:123
+0300 2024-12-12 16:44:16 INFO ntp: updated time: 2024-12-12 16:44:16 +0300
+0300 2024-12-12 16:44:16 INFO clash-api: restful api listening at [::]:9090
+0300 2024-12-12 16:44:16 INFO inbound/http[http-in]: tcp server started at 10.77.77.1:8081
+0300 2024-12-12 16:44:16 INFO inbound/socks[socks-in]: tcp server started at 10.77.77.1:1080
+0300 2024-12-12 16:44:16 INFO outbound/vless[Amster]: outbound connection to www.gstatic.com:443
+0300 2024-12-12 16:44:16 INFO sing-box started (0.199s)

блаблабла всякие коннекшны
и потом, бац, поехали запускать еще один sing-box

+0300 2024-12-12 16:44:17 INFO clash-api: restful api listening at [::]:9090
FATAL[0001] start service: initialize inbound/http[http-in]: listen tcp 10.77.77.1:8081: bind: address already in use

Я так и не понял почему так. Какие-то взаимосвязи rc.conf и rc.d видимо
Просто командой из rc.syshook.d/start запустилось и ладно, позже разберусь, что там было