# 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, логи).