2.6 KiB
Эксплуатация
Ротация URI
sudo vpn-egressctl import --stdin
Либо из защищённого файла режима 0600:
sudo vpn-egressctl import --file /run/credentials/new-hysteria2.uri
Для новой установки production URI HY2XS должен использовать Gecko. Salamander допустим как compatibility fallback только при явно совпадающей серверной настройке. Не передавать URI через argv, environment, shell history, тикет или журнал.
Изменение policy
install -m 0600 new-policy.json /etc/vpn-egress/policy.json
vpn-egressctl check
vpn-egressctl diff
vpn-egressctl sync
Path unit следит только за URI; policy применяется явным sync.
State и rollback
vpn-egressctl status --json
vpn-egressctl rollback
Rollback относится только к конфигам, успешно управлявшимся этой же версией
0.2.0 с sing-box 1.14.0. last-good.meta.json обязан совпадать по controller
version, engine version и SHA-256. Legacy backup отклоняется.
Первое clean apply не имеет предыдущего конфига и не создаёт last-good.
Последующие успешные изменения сохраняют backup. Ручной rollback меняет current
и last-good местами, поэтому повторная команда возвращает предыдущий current.
После rollback desired URI не меняется; doctor показывает config drift. До
следующего sync нужно исправить URI либо осознанно вернуть desired state.
Watcher
PathChanged запускает vpn-egress-sync.service. Все операции сериализованы
lock-файлом. Некорректный URI не меняет production config.
journalctl -u vpn-egress-sync.service -n 100 --no-pager
systemctl reset-failed vpn-egress-sync.service
Обновления package/engine
0.2.0 не объявляет совместимость с другими версиями приложения или sing-box.
Переход на другой release выполняется по отдельному release runbook как clean
install. Повторная установка ровно 0.2.0 допускается при согласованных state и
config; apt upgrade на другой release не считается допустимой процедурой.