Files
local_machine/docs/connectivity/TELEGRAM_GUIDE.md
ahauimix 1938b7c743 Expand local_machine docs and automation for connectivity, games, and ops.
Add proxy/VPN/telegram launchd and emergency runbooks; reorganize apps docs;
document JA3 CrossOver runbook and Wine troubleshooting; add GOG/HoMM game
scripts, disk cleanup guides, and gitea push-via-proxy helper. Ignore temp/.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 08:12:19 +03:00

11 KiB
Raw Blame History

Telegram через SOCKS (RU-прокси → DigitalOcean)

На Mac поднимается SOCKS5 на 127.0.0.1:1081. Для выхода в интернет с IP DO используется только цепочка Mac → 149.154.64.19 → DO (209.38.32.21) (telegram-socks-via-do). Без доступа к RU автоматический SOCKS «напрямую в DO» не поднимается. Подробности: PROXY_GUIDE.md.

Все пути ниже — от корня репозитория local_machine.


Быстрые команды

Туннель вручную (основной: только Mac→RU→DO)

export TELEGRAM_SOCKS_VIA_DO=1
./docs/connectivity/scripts/telegram-socks-tunnel.sh start
./docs/connectivity/scripts/telegram-socks-tunnel.sh stop
./docs/connectivity/scripts/telegram-socks-tunnel.sh status

Проверка порта и API Telegram

lsof -i :1081 -sTCP:LISTEN
curl -x socks5h://127.0.0.1:1081 -sI --connect-timeout 10 https://api.telegram.org | head -5

Автозапуск после перезагрузки (via-DO + авто-fallback)

Скрипт ~/Library/Application Support/hunab/telegram-socks-launch.sh ставится из репо командой ниже.

./docs/connectivity/launchd/install-via-do.sh
./docs/connectivity/launchd/uninstall-via-do.sh
launchctl list | grep telegram-socks
launchctl kickstart -k "gui/$(id -u)/com.hunab.telegram-socks-via-do"

Лог агента: tail -50 /tmp/telegram-socks-tunnel-via-do.log

Ключи в связку (один раз после смены ключей / сбоя SSH)

ssh-add --apple-use-keychain ~/.ssh/id_ed25519
ssh-add --apple-use-keychain ~/.ssh/hunab_deploy_key

Прокси в Telegram (обязательно)

Поле Значение
Тип SOCKS5
Сервер 127.0.0.1
Порт 1081
Логин / пароль пусто

Настройки → Данные и память → Прокси — добавить, сохранить, включить.


Регламент

Документ задаёт обязательные правила и порядок действий. Отклонения — только осознанно (обрывы, DPI, конфликт портов).

1. Назначение

  • Выход в интернет через DO; предпочтительно через hsites-ahau, при его недоступности — прямой SSH к DO (автоматически).
  • Исключить работу Telegram мимо туннеля и конкуренцию на порту 1081.

2. Обязательные нормы (всегда)

Требование
N1 Основной сценарий: TELEGRAM_SOCKS_VIA_DO=1 и/или LaunchAgent com.hunab.telegram-socks-via-do, не «только RU без DO», если с RU TLS до Telegram нестабилен.
N2 В Telegram — SOCKS5, 127.0.0.1, 1081, без логина/пароля (см. таблицу в «Быстрые команды»).
N3 На 1081 только наш ssh -D. Другие прокси (Shadowsocks, v2ray и т.п.) на этот порт не ставить.
N4 В ~/.ssh/config есть Host telegram-socks-via-do (с jump hsites-ahau) и hsites-ahauPROXY_GUIDE.md.
N5 Ключи id_ed25519 и hunab_deploy_key доступны SSH после входа: связка ключей (ssh-add --apple-use-keychain).
N6 Для работы после перезагрузки: plist ~/Library/LaunchAgents/com.hunab.telegram-socks-via-do.plist загружен. Ручной start без агента перезагрузку не переживает.
N7 Не держать два LaunchAgent на 1081: com.hunab.telegram-socks (только RU) и com.hunab.telegram-socks-via-doровно один вариант.

3. Первоначальная настройка (один раз)

Порядок фиксирован (детальнее и варианты — раздел «Развёртывание с нуля»).

  1. Проверка SSH (см. быстрые проверки в сценарии 1).
  2. ~/.ssh/config: Host telegram-socks-via-do по PROXY_GUIDE.md.
  3. ssh-add --apple-use-keychain для обоих ключей.
  4. Снять старый агент only-RU при необходимости: ./docs/connectivity/launchd/uninstall.sh.
  5. ./docs/connectivity/launchd/install-via-do.sh.
  6. Настроить прокси в Telegram (таблица выше).
  7. Контрольные проверки (п. 6).

4. Повседневная эксплуатация

Ситуация Действие
Обычный день Ничего не запускать: туннель поднимает LaunchAgent после входа.
Ручной перезапуск туннеля stopexport TELEGRAM_SOCKS_VIA_DO=1start (см. быстрые команды).
После смены plist / обновления репо install-via-do.sh или kickstart (см. быстрые команды).

5. Норматив: клиент Telegram

Соответствует таблице в разделе «Быстрые команды». Иначе нарушение N2.

6. Контрольные проверки

test -f "$HOME/Library/LaunchAgents/com.hunab.telegram-socks-via-do.plist" && echo "plist OK" || echo "FAIL: нет plist"
launchctl list | grep telegram-socks
lsof -i :1081 -sTCP:LISTEN
curl -x socks5h://127.0.0.1:1081 -sI --connect-timeout 10 https://api.telegram.org | head -5

Лог: /tmp/telegram-socks-tunnel-via-do.log.

7. Запреты и конфликты

  • Не занимать 1081 сторонним ПО (N3).
  • Не два LaunchAgent на 1081 (N7).
  • Не отключать прокси в Telegram и ожидать тот же доступ «через туннель» (N2).
Порт Назначение
1081 Telegram SOCKS
10809 Cursor IDE SOCKS

8. Действия при сбое

  1. П. 6 (контрольные проверки).
  2. tail -80 /tmp/telegram-socks-tunnel-via-do.log.
  3. Too many open files: обновить plist из репозитория, снова install-via-do.sh.
  4. channel … open failed: часто сеть или следствие п.3; перезапуск туннеля после правок.
  5. После правок ~/.ssh/config: stopTELEGRAM_SOCKS_VIA_DO=1start или kickstart.
  6. Прокси в Telegram по-прежнему включён (п. 5).
  7. Connection timed out during banner exchange к RU: без доступа к 149.154.64.19 цепочка Mac→RU→DO невозможна — восстановите доступ к RU или временно используйте только-RU агент (install.sh) / другую сеть; автоматического SOCKS «напрямую в DO» нет.

9. Снятие автозапуска и откат

  • Via-DO: ./docs/connectivity/launchd/uninstall-via-do.sh.
  • Переход на только-RU: ./docs/connectivity/launchd/install.sh — см. сценарий 2 ниже.

Развёртывание с нуля (по сценариям)

Общие требования: macOS; репозиторий local_machine; SSH без пароля к 209.38.32.21:2222 (hunab, hunab_deploy_key) и к 149.154.64.19 (ahau) — для SOCKS через DO нужен оба hop (Mac→RU→DO).

Сценарий 1: основной — macOS, автозапуск (только Mac→RU→DO)

Рекомендуемый вариант (регламент N1, N6).

  1. Проверка SSH (для via-DO нужны оба):

    ssh -o BatchMode=yes -o ConnectTimeout=10 ahau@149.154.64.19 "echo OK"
    ssh -o BatchMode=yes -o ConnectTimeout=15 -i ~/.ssh/hunab_deploy_key -p 2222 hunab@209.38.32.21 "echo OK"
    
  2. Добавить в ~/.ssh/config блок Host telegram-socks-via-doPROXY_GUIDE.md.

  3. ssh-add --apple-use-keychain для id_ed25519 и hunab_deploy_key.

  4. Если ранее стоял агент только-RU: ./docs/connectivity/launchd/uninstall.sh.

  5. ./docs/connectivity/launchd/install-via-do.sh.

  6. В Telegram — прокси по таблице в «Быстрые команды».

  7. Проверки из п. 6 регламента.

Сценарий 2: только RU-прокси (без DO)

Если прямой выход с 149.154.64.19 до Telegram устойчив или для диагностики. Не ставить одновременно с via-DO на 1081 (N7).

Ручной туннель:

./docs/connectivity/scripts/telegram-socks-tunnel.sh start

Автозапуск: ./docs/connectivity/launchd/install.sh
Снятие: ./docs/connectivity/launchd/uninstall.sh

Перед переходом на сценарий 1 — uninstall.sh, затем сценарий 1 с шага 5.

Сценарий 3: без LaunchAgent, только ручной туннель (via-DO)

Для отладки; после перезагрузки нужно снова поднимать вручную.

export TELEGRAM_SOCKS_VIA_DO=1
./docs/connectivity/scripts/telegram-socks-tunnel.sh start

Убедиться, что ~/.ssh/config и ключи настроены как в сценарии 1 (шаги 13). Прокси в Telegram — как в таблице.

Сценарий 4: смена с via-DO на only-RU или обратно

  • На only-RU: ./docs/connectivity/launchd/uninstall-via-do.sh, затем ./docs/connectivity/launchd/install.sh.
  • Обратно на via-DO: ./docs/connectivity/launchd/uninstall.sh, затем ./docs/connectivity/launchd/install-via-do.sh.

Каждый раз проверять: один plist на 1081, launchctl list | grep telegram-socks.

Сценарий 5: Linux (без LaunchAgent)

Репозиторий и скрипт docs/connectivity/scripts/telegram-socks-tunnel.sh; автозапуск — systemd, cron @reboot, или ручной start как в сценарии 3. Plist macOS на Linux не используется.


Ссылки