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>
7.0 KiB
Emergency: сеть после смены хотспота (macOS)
Симптом: отключили Mac от Wi‑Fi / переподключились к другому хотспоту — «интернета нет», помогает только перезагрузка.
Документ описывает проверенную на машине причину в вашей конфигурации, ручное восстановление без перезагрузки и скрипт из репозитория.
Причина (точная по конфигурации)
На macOS в Системных настройках → Сеть → Wi‑Fi → Подробнее → Прокси часто включён автоматический прокси (PAC) с URL вида http://localhost:1089/proxy.pac (см. PROXY_GUIDE.md → раздел про системный PAC).
Проверка на рабочей машине (2026): PAC для сервиса Wi‑Fi включён (Enabled: Yes), при этом на порту 1089 нет процесса, который отдаёт proxy.pac — соединение к 127.0.0.1:1089 отклоняется.
В таком состоянии:
- Система и часть приложений сначала должны получить PAC с localhost; при недоступном URL поведение нестабильно (часть трафика «в никуда», таймауты).
- При смене хотспота меняются шлюз, DNS, часто появляется captive portal; страница входа может не открыться, пока PAC мешает или DNS закеширован со старой сети.
- Перезагрузка «лечит», потому что заново поднимаются configd, mDNSResponder, порядок инициализации Wi‑Fi и иногда снова стартует локальный PAC‑сервер (Clash / Surge / свой сервис на 1089).
Дополнительные усилители сбоя (проверять при status):
- Системный SOCKS на
127.0.0.1:1080(Shadowsocks и т.д.) — если включён, а клиент не слушает порт, трафик через системный прокси тоже падает. - VPN / туннели с политикой «весь трафик» — после смены сети маршруты могут остаться битые до отключения VPN.
SOCKS Telegram (1081) и SSH‑туннели сами по себе не отключают Wi‑Fi — они приложенческие. Проблема класса «всё мёртво до ребута» у вас с высокой вероятностью — системный PAC/SOCKS на localhost без живого сервиса + кэш DNS / состояние Wi‑Fi.
Быстро: один скрипт (рекомендуется)
Из корня репозитория local_machine:
chmod +x ./docs/connectivity/scripts/macos-hotspot-network-recover.sh
./docs/connectivity/scripts/macos-hotspot-network-recover.sh status
./docs/connectivity/scripts/macos-hotspot-network-recover.sh recover
recover делает: выключает PAC (те же сервисы, что и macos-system-pac.sh), выключает системный SOCKS на Wi‑Fi, по возможности сбрасывает DNS и кратко перезапускает Wi‑Fi и DHCP.
Если скрипт пишет, что нет sudo без пароля — выполните вручную команды из раздела «Вручную» ниже.
После появления интернета, если вам снова нужен PAC:
./docs/connectivity/scripts/macos-pac-on.sh
Только после того как процесс на 1089 реально запущен и отдаёт proxy.pac.
Вручную (без скрипта)
1. Отключить автоматический PAC
GUI: Системные настройки → Сеть → Wi‑Fi → Подробнее → Прокси → снять «Автоматическая настройка прокси (PAC)».
CLI (из репо):
./docs/connectivity/scripts/macos-pac-off.sh
./docs/connectivity/scripts/macos-system-pac.sh status
2. Отключить системный SOCKS (если включали для Shadowsocks)
networksetup -setsocksfirewallproxystate "Wi-Fi" off
networksetup -getsocksfirewallproxy "Wi-Fi"
3. Сброс DNS
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
4. Обновить DHCP и «пнуть» Wi‑Fi
Узнать интерфейс Wi‑Fi (часто en0):
networksetup -listallhardwareports | sed -n '/Hardware Port: Wi-Fi/,/Ethernet Address/p'
Дальше (подставьте свой Device, например en0):
sudo ipconfig set en0 DHCP
networksetup -setairportpower en0 off
sleep 2
networksetup -setairportpower en0 on
5. Captive portal
Откройте в браузере http://captive.apple.com или http://neverssl.com — должна открыться страница входа в сеть отели/кафе.
Профилактика (архитектурно)
- Не держать PAC включённым, если сервис на 1089 не запущен: сначала поднять Clash/Surge/свой HTTP‑сервер с PAC, затем
macos-pac-on.sh. - Перед подключением к чужому хотспоту с обязательной страницей входа — временно PAC off (
macos-pac-off.sh), залогиниться в сеть, затем при необходимости снова on. - Разнести роли: глобальный PAC — только когда стабильно есть локальный конфиг‑сервер; для «чистого» интернета в дороге — PAC выключен, прокси только в приложениях (Telegram SOCKS 1081, Cursor 10809 и т.д.) — см. TELEGRAM_GUIDE.md, PROXY_EMERGENCY.md.
Связанные документы
| Документ | Зачем |
|---|---|
| PROXY_GUIDE.md | Системный PAC, порты, скрипты macos-pac-*.sh |
| PROXY_EMERGENCY.md | SSH, SOCKS 1081, прод |
| README.md | Оглавление connectivity/ |
Если после recover сеть всё ещё мёртвая — проверьте аппаратный тумблер Wi‑Fi, другое SSID, и логи: Консоль → Wi-Fi / configd.