Files
local_machine/docs/connectivity/TELEGRAM_GUIDE.md
2026-03-14 20:03:57 +03:00

147 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Telegram через SOCKS-туннель (ru.hunab.app)
Трафик Telegram идёт через прокси 149.154.64.19 по SOCKS5 на **127.0.0.1:1081**. Гайд для быстрых команд и для настройки с нуля на новой машине.
---
## ⚡ Быстрые команды
```bash
# Поднять туннель вручную
./docs/connectivity/scripts/telegram-socks-tunnel.sh start
# Проверить, слушается ли порт
lsof -i :1081
# Статус туннеля
./docs/connectivity/scripts/telegram-socks-tunnel.sh status
# Остановить туннель
./docs/connectivity/scripts/telegram-socks-tunnel.sh stop
# Включить автозапуск при входе (один раз)
./docs/connectivity/launchd/install.sh
# Отключить автозапуск
./docs/connectivity/launchd/uninstall.sh
# Проверить доступ к Telegram API через прокси
curl -x socks5h://127.0.0.1:1081 -sI https://api.telegram.org | head -3
```
**В Telegram:** Настройки → Данные и память → Прокси → добавить **SOCKS5**, **127.0.0.1**, порт **1081**.
---
## Полный гайд: новая машина (порядок действий)
### 1. Требования
- macOS (для LaunchAgent; на Linux можно использовать systemd или скрипт в автозагрузке).
- Доступ по SSH к **149.154.64.19** под пользователем **ahau** (ключ в `~/.ssh/` или алиас в `~/.ssh/config`, например `hsites-ahau`).
- Репозиторий **local_machine** склонирован (нужны скрипты из `docs/connectivity/`).
### 2. Проверка SSH
Убедись, что вход без пароля работает:
```bash
ssh -o BatchMode=yes -o ConnectTimeout=10 ahau@149.154.64.19 "echo OK"
```
Если просит пароль или ключ не подхватывается — настрой `~/.ssh/config` или укажи ключ явно: `ssh -i ~/.ssh/id_ed25519 ahau@149.154.64.19`.
### 3. Поднять туннель вручную (первый раз)
Из корня репо:
```bash
./docs/connectivity/scripts/telegram-socks-tunnel.sh start
```
Ожидаемый вывод: `SOCKS tunnel started: 127.0.0.1:1081 -> ahau@149.154.64.19`.
Проверка порта:
```bash
lsof -i :1081
```
Должен быть процесс `ssh` в состоянии LISTEN.
### 4. Настройка прокси в Telegram
1. Открой **Telegram** (Desktop или мобильное приложение).
2. **Настройки** (Settings) → **Данные и память** (Data and Storage) → **Прокси** (Proxy).
3. **Добавить прокси** (Add Proxy):
- Тип: **SOCKS5**
- Сервер: **127.0.0.1**
- Порт: **1081**
- Логин/пароль — не нужны.
4. Сохрани и **включи** прокси.
После этого Telegram должен подключаться через туннель. Если не подключается — см. раздел [Проверка и диагностика](#проверка-и-диагностика) ниже.
### 5. Автозапуск туннеля при входе в систему (macOS)
Чтобы не запускать туннель вручную после каждой перезагрузки:
```bash
./docs/connectivity/launchd/install.sh
```
Скрипт копирует plist в `~/Library/LaunchAgents/` и загружает его. Дальше при каждом входе в систему туннель будет подниматься сам (и перезапускаться при обрыве).
**Важно:** при старте системы SSH должен иметь доступ к ключу. Добавь ключ в связку с keychain (один раз):
```bash
ssh-add --apple-use-keychain
# или, если ключ не дефолтный:
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
```
Проверка после перезагрузки:
```bash
lsof -i :1081
./docs/connectivity/scripts/telegram-socks-tunnel.sh status
```
### 6. Проверка и диагностика
**Туннель слушает порт?**
```bash
lsof -i :1081 -sTCP:LISTEN
```
**Доступ к API Telegram через SOCKS?**
```bash
curl -x socks5h://127.0.0.1:1081 -sI https://api.telegram.org | head -5
```
Успех: в ответе есть HTTP-заголовки (например 302 или 200). Таймаут или отказ — туннель не работает или порт занят.
**Лог LaunchAgent (если туннель при старте не поднимается):**
```bash
tail -50 /tmp/telegram-socks-tunnel.log
```
Типичные причины: ключ не в keychain, ошибка «Permission denied», сеть ещё недоступна при RunAtLoad.
### 7. Конфликты портов
| Порт | Назначение |
|-------|------------|
| 1081 | Telegram SOCKS (этот гайд) |
| 10809 | Cursor IDE SOCKS (другой туннель) |
Если на 1081 уже висит другой прокси (например Shadowsocks), смени порт в plist и в настройках Telegram или отключи автозапуск: `./docs/connectivity/launchd/uninstall.sh`.
### 8. Ссылки
- [PROXY_GUIDE.md](./PROXY_GUIDE.md) — общее руководство по прокси ru.hunab.app (SSH, Nginx, Cursor, scp).
- [launchd/README.md](./launchd/README.md) — детали LaunchAgent (удаление, ThrottleInterval, логи).