mirror of
https://gitverse.ru/kpa39l/networking-proxy.git
synced 2026-09-29 21:25:03 +00:00
3.6 KiB
3.6 KiB
SSH Tunnel: Telegram API via WireGuard + SOCKS5
Контекст
Telegram Bot API заблокирован на сервере (Россия, DPI). Решение: SSH SOCKS5 туннель через VPS01 по WireGuard.
Схема подключения
bigbox (este сервер)
├── wg0 — 10.8.0.2/24
├── VPS01 — 10.8.0.1 (WireGuard IP), 5.129.217.146 (внешний)
├── Остальные: VPS02 (87.242.100.206), VPS03 (80.209.240.167)
└── SSH SOCKS5: 127.0.0.1:1080
через root@10.8.0.1 (WireGuard адрес VPS01)
Текущая конфигурация (2026-07-15)
Режим: SOCKS5 (-D). Ранее был TCP forward (-L 127.0.0.1:8444:api.telegram.org:443), переключено на SOCKS5 для поддержки TELEGRAM_PROXY и удалённого DNS.
WireGuard
- Интерфейс:
wg0 - Адрес bigbox:
10.8.0.2/24 - Маска:
/24 - Сервис:
wg-quick@wg0.service— автостарт после загрузки - Jump host: VPS01 (5.129.217.146, root, key timewebVPS)
SSH SOCKS5 туннель
ExecStart=/usr/bin/ssh \
-i /mnt/yandex-disk/.ssh_box/timewebVPS \
-D 127.0.0.1:1080 \
-N \
-o ServerAliveInterval=30 \
-o ServerAliveCountMax=3 \
-o ExitOnForwardFailure=yes \
root@10.8.0.1
- Сервис:
telegram-tunnel.service - Файл:
/etc/systemd/system/telegram-tunnel.service - Ключ:
/mnt/yandex-disk/.ssh_box/timewebVPS(совпадает с~/.ssh/timewebVPS, хранится на Yandex.Disk davfs) - Автостарт: включён (
systemctl enable telegram-tunnel.service)
Hermes Gateway
- Сервис:
hermes-gateway.service - В
.env(~/.hermes/.env):TELEGRAM_BOT_TOKEN=8620910071:...TELEGRAM_PROXY=socks5://127.0.0.1:1080
- Gateway читает
TELEGRAM_PROXYчерезresolve_proxy_url()и использует socks5 - В venv должен быть
aiohttp-socks(установлен) - DNS резолвится на VPS01 (обход блокировки DNS)
SSH конфиг (~/.ssh/config)
Host vps01
Hostname 5.129.217.146
User root
IdentityFile ~/.ssh/timewebVPS
IdentitiesOnly yes
ForwardAgent yes
Проверка после перезагрузки
# 1. WireGuard
ip addr show wg0
# 2. SOCKS5 туннель
systemctl status telegram-tunnel
ss -tlnp | grep 1080
# 3. Gateway
systemctl status hermes-gateway
# 4. Telegram API доступен через SOCKS5
TOKEN=$(grep -a TELEGRAM_BOT_TOKEN ~/.hermes/.env | grep -v "^#" | cut -d= -f2-)
curl -s --socks5 127.0.0.1:1080 "https://api.telegram.org/bot${TOKEN}/getMe"
# 5. IP выходит через VPS01
curl -s --socks5 127.0.0.1:1080 https://httpbin.org/ip
# 6. Логи туннеля
journalctl -u telegram-tunnel --since "1 hour ago"
Порядок старта после перезагрузки
- Сеть →
network-online.target - Yandex.Disk davfs →
/etc/fstab(ключи на FUSE) - WireGuard →
wg-quick@wg0.service - SSH SOCKS5 туннель →
telegram-tunnel.service - Hermes Gateway →
hermes-gateway.service
Заметка в Obsidian
Создана: mozg → homelab/hermes/Gateway Telegram tunnel.md
История изменений
- 2026-07-15: Переход с TCP forward (-L 8444) на SOCKS5 (-D 1080)
- Причина: поддержка TELEGRAM_PROXY, удалённый DNS, единый порт для нескольких сервисов
- Добавлено:
TELEGRAM_PROXY=socks5://127.0.0.1:1080в.env