mirror of
https://gitverse.ru/kpa39l/openspec-lab.git
synced 2026-09-29 21:25:04 +00:00
38 lines
1.5 KiB
Markdown
38 lines
1.5 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
# Применение
|
|
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
|
|
|
|
```bash
|
|
sudo systemctl disable telegram-tunnel.service
|
|
# восстановить исходный юнит из бэкапа
|
|
```
|
|
|
|
## Risks
|
|
|
|
- SSH-ключ должен быть доступен сервису (owner root) — проверить права
|
|
- VPS01 недоступен → туннель падает → healthcheck молчит/шумит по порогу |