Files
infrastructure/openspec/changes/archive/2026-09-06-add-vpn-tunnel-proxy/design.md
T

1.5 KiB

Design: add-vpn-tunnel-proxy

Approach

Использовать существующий systemd-юнит telegram-tunnel.service (SSH -D :1080 → VPS01). Добавить:

  • Restart=always, RestartSec=5 в юнит
  • WantedBy=multi-user.target + systemctl enable
  • Healthcheck: cron-скрипт или systemd-таймер, проверяющий curl --socks5-hostname 127.0.0.1:1080 https://api.tavily.com (HTTP 200 = жив). Молчит, если всё ок; шумит только при падении (по предпочтению пользователя — тихие watchdogs).

Files

  • /etc/systemd/system/telegram-tunnel.service — модифицировать (Restart, enable)
  • /opt/hermes/.hermes/scripts/tunnel_healthcheck.sh — новый скрипт-вотчдог
  • /opt/hermes/README.md — обновить (порт 1080, юнит, healthcheck)

Commands

# Применение
sudo systemctl daemon-reload
sudo systemctl enable --now telegram-tunnel.service

# Проверка
systemctl is-active telegram-tunnel.service
curl -s -o /dev/null -w "%{http_code}" --socks5-hostname 127.0.0.1:1080 https://api.tavily.com

Rollback

sudo systemctl disable telegram-tunnel.service
# восстановить исходный юнит из бэкапа

Risks

  • SSH-ключ должен быть доступен сервису (owner root) — проверить права
  • VPS01 недоступен → туннель падает → healthcheck молчит/шумит по порогу