Track day metrics/anamnesis HARD rules under .cursor/rules and personal docs so each screening updates days/{KIN}, dynamics, and big-data ledger.
Co-authored-by: Cursor <cursoragent@cursor.com>
6.7 KiB
SSH SOCKS: быстрое переключение выхода в интернет
Операционный ранбук (старт / сброс / из любой папки): RUNBOOK.md.
Три режима без WireGuard/Shadowsocks: локальный IP, RU-прокси, RU → DO (снаружи виден IP прод-сервера DO).
Политика: для выхода с IP DO используется только цепочка Mac → RU (hsites-ahau) → DO (telegram-socks-via-do). Прямой Mac→DO скрипты не поднимают.
На macOS режимы ru / ru-do по умолчанию включают системный SOCKS (networksetup на Wi‑Fi → 127.0.0.1:10809), чтобы браузер и приложения выходили с нужным IP. local его выключает. Отключить поведение: SSH_EXIT_SYSTEM_PROXY=0.
Ловушка: если SSH на 10809 умер, а системный SOCKS остался Enabled: Yes, приложения с системным прокси (Thunderbird, Safari/Chrome) перестают ходить в сеть при живом curl. Почта в TB падает со всех ящиков. Мягкий сброс: networksetup -setsocksfirewallproxystate "Wi-Fi" off (не трогает Telegram 1081). Полный: exit-via-local.sh. Ранбук: RUNBOOK.md.
Из‑за рубежа: RU‑сервисы режут иностранный IP
bash /Users/eternal/code/local_machine/scripts/vpn/exit-via-ru.sh
bash /Users/eternal/code/local_machine/scripts/vpn/ssh-exit-mode.sh verify
Сброс при проблемах с сетью:
bash /Users/eternal/code/local_machine/scripts/vpn/exit-via-local.sh
Полный чеклист: RUNBOOK.md.
Ожидаемые IP (проверка «снаружи»)
| Режим | Как проверить | Ожидаемый публичный IP (на момент настройки репо) |
|---|---|---|
| local | curl -sS https://ipinfo.io/ip |
Ваш домашний/мобильный IP |
| ru | curl -sS -x socks5h://127.0.0.1:10809 https://ipinfo.io/ip |
149.154.64.19 (RU VPS, ru.hunab.app) |
| ru-do | то же -x socks5h://127.0.0.1:10809 |
209.38.32.21 (DO, hunab.app) |
Если IP у VPS сменился — сверяйте с PROXY_GUIDE.md / PROXY_EMERGENCY.md.
Быстрая проверка одной командой (порт SOCKS по умолчанию 10809):
./scripts/vpn/ssh-exit-mode.sh verify
После ru-do в блоке «Через SOCKS» должно быть 209.38.32.21 (или актуальный IP DO). После ru — 149.154.64.19.
curl не использует системный SOCKS macOS — для CLI всегда -x socks5h://127.0.0.1:10809 или exit-verify. Браузер с системным прокси проверяйте на ipinfo.io.
Скрипты (из корня репозитория local_machine)
Один вход:
./scripts/vpn/ssh-exit-mode.sh COMMAND
Короткие алиасы (то же самое):
./scripts/vpn/exit-via-local.sh # стоп туннелей + системный SOCKS off
./scripts/vpn/exit-via-ru.sh # только RU + системный SOCKS on
./scripts/vpn/exit-via-ru-do.sh # RU → DO (IP DO снаружи)
./scripts/vpn/install-exit-aliases.sh # exit-ru / exit-local в ~/.zshrc
| Команда | Действие |
|---|---|
local | off | stop |
Гасит SSH SOCKS на портах 10809, 1081, 1082; на macOS — системный SOCKS off. Дальше: в Cursor уберите http.proxy / https.proxy при необходимости. |
ru |
Поднимает SOCKS 127.0.0.1:10809 → выход с RU (hsites-ahau) + системный SOCKS. В Cursor: socks5://127.0.0.1:10809. |
ru-do |
Проверка RU (6 с), затем SOCKS на 10809 через telegram-socks-via-do + системный SOCKS. Снаружи — IP DO. |
status |
Кто слушает порты + системный SOCKS. |
verify |
IP без прокси и через SOCKS на SSH_EXIT_MAIN_PORT. |
Переменные: SSH_EXIT_MAIN_PORT (по умолчанию 10809), SSH_EXIT_STOP_PORTS, SSH_EXIT_RU_HOST (по умолчанию hsites-ahau), SSH_EXIT_SYSTEM_PROXY (1/0), SSH_EXIT_NET_SERVICE (по умолчанию Wi-Fi).
~/.ssh/config: hsites-ahau, telegram-socks-via-do с ProxyJump hsites-ahau — шаблоны в PROXY_GUIDE.md.
Cursor за 30 секунд
./scripts/vpn/exit-via-ru-do.sh(или./scripts/vpn/ssh-exit-mode.sh ru-do)../scripts/vpn/ssh-exit-mode.sh verify— убедиться, что через SOCKS IP DO.- В Cursor: Settings → proxy →
socks5://127.0.0.1:10809,http.proxySupport:override. Disable Http2 — выкл. Порт 10809, не 1090.
На локальный IP: exit-via-local.sh, затем в Cursor обязательно:
"http.proxy": "",
"http.proxySupport": "off"
иначе останется мёртвый SOCKS и Agent/API упадут при живом интернете (типично после смены страны). См. docs/apps/cursor/RUNBOOK.md.
Telegram (порт 1081)
Скрипт local останавливает и 1081. Если нужен Telegram через DO при том же «полном стопе», после local поднимите туннель отдельно: TELEGRAM_GUIDE.md, telegram-socks-tunnel.sh / LaunchAgent.
Если проблема только в мёртвом системном SOCKS (TB/браузер), а Telegram на 1081 жив — не вызывайте local: достаточно networksetup -setsocksfirewallproxystate "Wi-Fi" off.
Схема
flowchart LR
subgraph off [local]
A[Приложения без SOCKS] --> NET1[Интернет]
end
subgraph r [ru]
B[SOCKS :10809] --> RU[hsites-ahau]
RU --> NET2[Интернет]
end
subgraph rd [ru-do]
C[SOCKS :10809] --> RU2[hsites-ahau]
RU2 --> DO[DO 209.38.32.21]
DO --> NET3[Интернет]
end
Обновлено: 2026-07-22