CI / test (push) Successful in 1m48s
- новая категория fail2ban: jail.local, jail.d (в т.ч. 3x-ipl.local), IP-лимит 3x-ui (filter.d/action.d/3x-ipl.conf), свои *.local; при восстановлении создаются логи 3xipl*.log, без которых jail не поднимается - xui: свои *.dat из /usr/local/x-ui/bin (ipcheck, discord-*) — на них ссылается роутинг; штатные geo-файлы релиза не бэкапятся - recipe 3x-ui больше не очищает /usr/local/x-ui и не стирает восстановленные файлы - маски (*, ?) в paths и keep_binaries каталога - provision ставит nftables вместе с fail2ban - .gitattributes: LF во всех файлах Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
123 lines
3.8 KiB
YAML
123 lines
3.8 KiB
YAML
# Встроенный каталог категорий. Переопределяется конфигом клиента в веб-морде:
|
|
# категория с тем же name заменяется целиком, `- {name: X, disabled: true}` отключает её.
|
|
|
|
auto_compose: true
|
|
|
|
exclude:
|
|
- "*.swp"
|
|
|
|
categories:
|
|
- name: system
|
|
type: files
|
|
paths:
|
|
- /etc/ufw/user.rules
|
|
- /etc/ufw/user6.rules
|
|
- /var/spool/cron/crontabs
|
|
- /etc/cron.d/ban-blacklist
|
|
- /usr/local/sbin/ban.sh
|
|
- /etc/sysctl.d
|
|
post_restore:
|
|
- "ufw reload || true"
|
|
- "sysctl --system >/dev/null || true"
|
|
|
|
- name: xui
|
|
type: xui
|
|
detect: [/usr/local/x-ui/x-ui]
|
|
paths:
|
|
- /etc/x-ui
|
|
- /root/cert
|
|
# свои geo-файлы (ipcheck.dat, discord-*.dat и т.п.): на них ссылается роутинг,
|
|
# без них Xray не стартует; штатные geo*.dat приходят с релизом 3x-ui
|
|
- /usr/local/x-ui/bin/*.dat
|
|
exclude:
|
|
- "/etc/x-ui/x-ui.db*"
|
|
- "/usr/local/x-ui/bin/geoip.dat"
|
|
- "/usr/local/x-ui/bin/geosite.dat"
|
|
- "/usr/local/x-ui/bin/geo*_IR.dat"
|
|
- "/usr/local/x-ui/bin/geo*_RU.dat"
|
|
- "*.bak"
|
|
service: x-ui
|
|
version_cmd: [/usr/local/x-ui/x-ui, -v]
|
|
install: xui
|
|
keep_binaries: [/usr/local/x-ui, /usr/bin/x-ui, /etc/systemd/system/x-ui.service]
|
|
|
|
# fail2ban: свои jail'ы (jail.local, jail.d/*.local) и IP-лимит 3x-ui (3x-ipl).
|
|
# Штатные filter.d/action.d ставит пакет — берём только файлы 3x-ui и свои *.local.
|
|
- name: fail2ban
|
|
type: systemd
|
|
detect: [/etc/fail2ban]
|
|
paths:
|
|
- /etc/fail2ban/jail.local
|
|
- /etc/fail2ban/jail.d
|
|
- /etc/fail2ban/fail2ban.local
|
|
- /etc/fail2ban/fail2ban.conf # 3x-ui включает в нём allowipv6
|
|
- /etc/fail2ban/filter.d/3x-ipl.conf
|
|
- /etc/fail2ban/action.d/3x-ipl.conf
|
|
- /etc/fail2ban/filter.d/*.local
|
|
- /etc/fail2ban/action.d/*.local
|
|
service: fail2ban
|
|
restore_after: [system, xui]
|
|
post_restore:
|
|
# jail 3x-ipl читает лог x-ui: без файла fail2ban не поднимет jail
|
|
- "if ls /etc/fail2ban/jail.d/3x-ipl* >/dev/null 2>&1; then mkdir -p /var/log/x-ui && touch /var/log/x-ui/3xipl.log /var/log/x-ui/3xipl-banned.log; fi"
|
|
|
|
- name: nebula
|
|
type: systemd
|
|
detect: [/etc/nebula]
|
|
paths: [/etc/nebula, /etc/systemd/system/nebula.service]
|
|
service: nebula
|
|
version_cmd: [/usr/local/bin/nebula, -version]
|
|
install: nebula
|
|
keep_binaries: [/usr/local/bin/nebula, /usr/local/bin/nebula-cert]
|
|
|
|
- name: caddy
|
|
type: systemd
|
|
detect: [/etc/caddy/Caddyfile]
|
|
paths: [/etc/caddy, /var/www, /var/lib/caddy/.local/share/caddy]
|
|
service: caddy
|
|
|
|
- name: telegraf
|
|
type: systemd
|
|
detect: [/etc/telegraf]
|
|
paths: [/etc/telegraf, /etc/sudoers.d/telegraf]
|
|
service: telegraf
|
|
|
|
- name: sing-box-warp
|
|
type: systemd
|
|
detect: [/opt/sing-box-warp]
|
|
paths:
|
|
- /opt/sing-box-warp
|
|
- /etc/sing-box-warp
|
|
- /etc/systemd/system/sing-box-warp.service
|
|
- /etc/sysctl.d/99-sing-box-warp.conf
|
|
service: sing-box-warp
|
|
version_cmd: [/usr/local/bin/sing-box, version]
|
|
version_regex: 'version\s+(\S+)'
|
|
install: sing-box-extended
|
|
keep_binaries: [/usr/local/bin/sing-box]
|
|
ensure_dirs: [/var/cache/sing-box-warp]
|
|
|
|
- name: scripts
|
|
type: files
|
|
paths: [/var/scripts, /usr/local/bin/update-geosite.sh]
|
|
|
|
- name: pnvpanel
|
|
type: compose
|
|
dir: /opt/PnvPanel
|
|
|
|
- name: stoat
|
|
type: compose
|
|
dir: /opt/stoat
|
|
skip_services: [rabbit, redis]
|
|
heavy_paths: [data/minio]
|
|
|
|
- name: stoat-mbot
|
|
type: compose
|
|
dir: /opt/stoat-mbot
|
|
restore_after: [stoat]
|
|
|
|
- name: psiphon
|
|
type: compose
|
|
dir: /opt/psiphon
|
|
disabled: true
|