Новый вариант byedpi.service ломает работоспособность
Closed this issue · 12 comments
https://github.com/hufrea/byedpi/blob/main/dist/linux/byedpi.service
ExecStart=/usr/bin/ciadpi --split 1 --disorder 3+s --mod-http=h,d --auto=torst --tlsrec 1+s $ARGS
На мой взгляд опции корректнее поместить в конфиг. Это лучше, чем размазывать ключи тонким слоем по разным файлам.
К тому же у меня, например, второй аргумент ломает работоспособность.
@GambitVKM, отредактируй (ну или переопредели) сервис и добавь в него:
[Service]
// ...
EnvironmentFile=-/etc/byedpi
ExecStart=ciadpi $OPTIONS
в /etc/
создай файл byedpi
, со следующим содержимым (со своими ключами, разумеется):
OPTIONS="--disorder 1"
Из плюсов, не нужно делать daemon-reload
после правки ключей, как при редактировании .service
файла напрямую.
Себе для Arch Linux накидал PKGBUILD, хранит "настройки" в /etc/
и ставится системным, а не пользовательским сервисом.
Ну а конфиг автор добавлять не хочет, чтобы не раздувать утилиту, не тянуть в нее парсер.
@GambitVKM, отредактируй (ну или переопредели) сервис и добавь в него:
[Service] // ... EnvironmentFile=-/etc/byedpi ExecStart=ciadpi $OPTIONSв
/etc/
создай файлbyedpi
, со следующим содержимым (со своими ключами, разумеется):OPTIONS="--disorder 1"Из плюсов, не нужно делать
daemon-reload
после правки ключей, как при редактировании.service
файла
напрямую.
У меня byedpi не хотел настройки окружения читать, либо я что-то неверно сделал
Себе для Arch Linux накидал PKGBUILD, хранит "настройки" в
/etc/
и ставится системным, а не пользовательским сервисом.
#134
Собрал rpm, сейчас разбираюсь как deb собирать. Автор, почему-то, мержить не спешит.
@lufog, с переопределением сервиса понятно. На данный момент у меня так и сделано.
Вопрос в том, зачем вообще ключи в файле сервиса? В AUR задаются тем же вопросом.
Есть конфиг. Может, все же стоит хранить все параметры конфигурации именно там?
Нужно передать некие дефолтные значения? Так внести их туда сразу.
На мой взгляд опции корректнее поместить в конфиг.
Да, так будет правильнее, можно использовать EnvironmentFile, как предлагает @lufog. Раз уже есть готовые юниты, возможно кто-то пришлет PR, а нет, так сам поправлю позже.
Собрал rpm, сейчас разбираюсь как deb собирать. Автор, почему-то, мержить не спешит.
Мне же это поддерживать потом придется, необходимо все протестировать, изучить (вдруг в PR что-то сделано некорректно). А то выйдет как тут, с systemd.
Да, так будет правильнее, можно использовать EnvironmentFile, как предлагает @lufog. Раз уже есть готовые юниты, возможно кто-то пришлет PR, а нет, так сам поправлю позже.
Вы имеющееся сначала возмите. В моем .service файле, который я проверял, так и было сделано. Я его не приложил, правда. Так же я исправил makefile на предмет определения опций компиляторов по-умолчанию в разных дистрибутивах.
Собрал rpm, сейчас разбираюсь как deb собирать. Автор, почему-то, мержить не спешит.
Мне же это поддерживать потом придется, необходимо все протестировать, изучить (вдруг в PR что-то сделано некорректно). А то выйдет как тут, с systemd.
Так сделано так, что бы имеющееся собиралось в пакет сразу же. Я тут появляюсь переодически, смогу помогать по мере возможности.
Вопрос в том, зачем вообще ключи в файле сервиса?
Потому что, я ленивый!
К тому же у меня, например, второй аргумент ломает работоспособность.
@hufrea, а почему такой суровый конфиг по-умолчанию? И его нет в примерах в README. Всё, что серьёзнее --split
может ломать сайты, с --disorder
на неделе были приключения.
а почему такой суровый конфиг по-умолчанию?
Обычный --split
не работает на многих провайдерах, т.к. они уже давно научились пересобирать запрос (хотя на YouTube он все еще может действовать).
--disorder
до ютубовских блокировок работал хорошо и практически ничего не ломал (кроме HTTP у некоторых).
Этот конфиг взят из батника для Windows, где --disorder
работает некорректно из-за полной ретрансмиссии и упомянут тут.
После был немного изменен по предложению отсюда.
Я имел в виду, что лучше пусть из-за дефолтного конфига не работает обход блокировок, чем ломается доступ ко всей сети. Хотя... только что с ним ещё раз проверил МГТС, часть незаблокированных и заблокированных сайтов стала открываться, раньше не работало.
Засинхронизировал файлы .conf и .service
Еще вроде полезная функция Dynamic user feature, может тоже добавите?
@nebulosa2007, она доступна только для системного сервиса, а этот хотят оставить универсальным (подробнее тут #152). Не запаривайся, просто скопируй файл в репу и добавь DynamicUser
(оно того стоит). Все равно пакетом ставишь сервис системным. Сам так же делаю.
Мне кажется, вопрос решен в полном объеме и issue можно закрывать.