feat: добавить аддон splitgw — прозрачный split-tunnel gateway (sing-box + Hysteria2 TPROXY)

- Роль: defaults, tasks (main/deploy-host/deploy-k8s), handlers, templates (sing-box config, iptables setup/teardown, systemd, K8s DaemonSet/ConfigMap/Secret)
- Режимы: systemd (host) и K8s DaemonSet с hostNetwork + privileged init-container
- Маршрутизация: YouTube/Google → Hysteria2, RU (geoip/geosite) → прямой, остальное → прямой
- DNS без утечек: protocol=dns перехватывается TPROXY, per-domain DNS серверы
- Интеграция: inventory [splitgw], addons.yml flag, Makefile target, playbooks/addons.yml
- Документация: README.md, docs/addons.md, README.md (счётчик 36)
This commit is contained in:
Sergey Antropoff
2026-04-26 06:56:17 +03:00
parent fb5dcbc3af
commit 07fdc9a994
22 changed files with 1505 additions and 3 deletions

View File

@@ -58,7 +58,7 @@ DOCKER_RUN := docker run --rm -it \
addon-harbor addon-gitea addon-owncloud addon-nextcloud \
addon-csi-s3 addon-csi-ceph addon-csi-glusterfs addon-vaultwarden \
addon-smtp-relay addon-vault addon-external-secrets \
addon-jenkins addon-netbird addon-mediaserver addon-hysteria2-server \
addon-jenkins addon-netbird addon-mediaserver addon-hysteria2-server addon-splitgw \
add-node remove-node \
add-etcd-node remove-etcd-node \
etcd-backup etcd-restore etcd-list-snapshots \
@@ -416,6 +416,10 @@ addon-hysteria2-server: _check_env _check_image ## Установить Hysteria
@printf "$(CYAN)Устанавливаю Hysteria2 сервер на удалённый VPS...$(NC)\n"
$(DOCKER_RUN) addon hysteria2-server $(ARGS)
addon-splitgw: _check_env _check_image ## Установить Split Gateway — sing-box+Hysteria2 TPROXY (группа [splitgw]; ARGS="-e splitgw_deploy_mode=k8s" для K8s DaemonSet)
@printf "$(CYAN)Устанавливаю Split Gateway (sing-box + Hysteria2)...$(NC)\n"
$(DOCKER_RUN) addon splitgw $(ARGS)
# Generic цель — любой аддон из addons/<name>/playbook.yml
addon-%: _check_env _check_image
@if [ ! -f "addons/$*/playbook.yml" ]; then \