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>
11 KiB
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-ahau — PROXY_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. Первоначальная настройка (один раз)
Порядок фиксирован (детальнее и варианты — раздел «Развёртывание с нуля»).
- Проверка SSH (см. быстрые проверки в сценарии 1).
~/.ssh/config:Host telegram-socks-via-doпо PROXY_GUIDE.md.ssh-add --apple-use-keychainдля обоих ключей.- Снять старый агент only-RU при необходимости:
./docs/connectivity/launchd/uninstall.sh. ./docs/connectivity/launchd/install-via-do.sh.- Настроить прокси в Telegram (таблица выше).
- Контрольные проверки (п. 6).
4. Повседневная эксплуатация
| Ситуация | Действие |
|---|---|
| Обычный день | Ничего не запускать: туннель поднимает LaunchAgent после входа. |
| Ручной перезапуск туннеля | stop → export TELEGRAM_SOCKS_VIA_DO=1 → start (см. быстрые команды). |
| После смены 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. Действия при сбое
- П. 6 (контрольные проверки).
tail -80 /tmp/telegram-socks-tunnel-via-do.log.Too many open files: обновить plist из репозитория, сноваinstall-via-do.sh.channel … open failed: часто сеть или следствие п.3; перезапуск туннеля после правок.- После правок
~/.ssh/config:stop→TELEGRAM_SOCKS_VIA_DO=1→startилиkickstart. - Прокси в Telegram по-прежнему включён (п. 5).
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).
-
Проверка 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" -
Добавить в
~/.ssh/configблокHost telegram-socks-via-do— PROXY_GUIDE.md. -
ssh-add --apple-use-keychainдляid_ed25519иhunab_deploy_key. -
Если ранее стоял агент только-RU:
./docs/connectivity/launchd/uninstall.sh. -
./docs/connectivity/launchd/install-via-do.sh. -
В Telegram — прокси по таблице в «Быстрые команды».
-
Проверки из п. 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 (шаги 1–3). Прокси в 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 не используется.
Ссылки
- PROXY_GUIDE.md — прокси ru.hunab.app,
Host telegram-socks-via-do, scp. - launchd/README.md — LaunchAgent, логи, порты.