2.5 KiB
2.5 KiB
3x-rule-sync
Русский
CLI синхронизирует управляемые Xray routing rules между панелями 3x-ui, сохраняя правила и балансировщики, созданные вручную.
cp config.example.yaml config.yaml
go run . -config config.yaml -once
go run . -config config.yaml -once -dry-run -debug
go run . -config config.yaml
tokenEnv задаёт имя переменной окружения и имеет приоритет над непустым token.
disabled: trueзаписывает в правилоenabled: false; правило остаётся в конфигурации.- Один совпавший
outbound.tagиспользуется напрямую; несколько создают балансировщик. leastPingиleastLoadтребуют Xrayobservatory.- Порядок правил в YAML сохраняется;
sync.positionвыбирает размещение блока:firstилиlast. - В YAML используйте одинарные кавычки для regex с
\:tagRegex: '^[a-z\-]+$'. -debugвыводит доступные outbound tags. Теги outbound-подписок участвуют в regex, но не записываются в редактируемый Xray template.
Не добавляйте config.yaml с токенами в репозиторий.
English
CLI for synchronizing managed Xray routing rules across 3x-ui panels while preserving manually maintained rules and balancers.
cp config.example.yaml config.yaml
go run . -config config.yaml -once
go run . -config config.yaml -once -dry-run -debug
go run . -config config.yaml
tokenEnv names an environment variable and overrides a non-empty token.
disabled: truewritesenabled: falseto the rule while retaining it in configuration.- One matching
outbound.tagis used directly; several matches create a balancer. leastPingandleastLoadrequire an Xrayobservatory.- YAML rule order is retained;
sync.positionplaces the managed block atfirstorlast. - Use single YAML quotes for regexes containing
\:tagRegex: '^[a-z\-]+$'. -debuglogs available outbound tags. Subscription outbound tags participate in regex matching but are not saved into the editable Xray template.
Do not commit config.yaml containing tokens.