Files
local_machine/docs/connectivity/HOTSPOT_NETWORK_EMERGENCY.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

7.0 KiB
Raw Blame History

Emergency: сеть после смены хотспота (macOS)

Симптом: отключили Mac от WiFi / переподключились к другому хотспоту — «интернета нет», помогает только перезагрузка.

Документ описывает проверенную на машине причину в вашей конфигурации, ручное восстановление без перезагрузки и скрипт из репозитория.


Причина (точная по конфигурации)

На macOS в Системных настройках → Сеть → WiFi → Подробнее → Прокси часто включён автоматический прокси (PAC) с URL вида http://localhost:1089/proxy.pac (см. PROXY_GUIDE.md → раздел про системный PAC).

Проверка на рабочей машине (2026): PAC для сервиса WiFi включён (Enabled: Yes), при этом на порту 1089 нет процесса, который отдаёт proxy.pac — соединение к 127.0.0.1:1089 отклоняется.

В таком состоянии:

  1. Система и часть приложений сначала должны получить PAC с localhost; при недоступном URL поведение нестабильно (часть трафика «в никуда», таймауты).
  2. При смене хотспота меняются шлюз, DNS, часто появляется captive portal; страница входа может не открыться, пока PAC мешает или DNS закеширован со старой сети.
  3. Перезагрузка «лечит», потому что заново поднимаются configd, mDNSResponder, порядок инициализации WiFi и иногда снова стартует локальный PACсервер (Clash / Surge / свой сервис на 1089).

Дополнительные усилители сбоя (проверять при status):

  • Системный SOCKS на 127.0.0.1:1080 (Shadowsocks и т.д.) — если включён, а клиент не слушает порт, трафик через системный прокси тоже падает.
  • VPN / туннели с политикой «весь трафик» — после смены сети маршруты могут остаться битые до отключения VPN.

SOCKS Telegram (1081) и SSHтуннели сами по себе не отключают WiFi — они приложенческие. Проблема класса «всё мёртво до ребута» у вас с высокой вероятностью — системный PAC/SOCKS на localhost без живого сервиса + кэш DNS / состояние WiFi.


Быстро: один скрипт (рекомендуется)

Из корня репозитория 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 на WiFi, по возможности сбрасывает DNS и кратко перезапускает WiFi и DHCP.

Если скрипт пишет, что нет sudo без пароля — выполните вручную команды из раздела «Вручную» ниже.

После появления интернета, если вам снова нужен PAC:

./docs/connectivity/scripts/macos-pac-on.sh

Только после того как процесс на 1089 реально запущен и отдаёт proxy.pac.


Вручную (без скрипта)

1. Отключить автоматический PAC

GUI: Системные настройки → Сеть → WiFi → Подробнее → Прокси → снять «Автоматическая настройка прокси (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 и «пнуть» WiFi

Узнать интерфейс WiFi (часто 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 — должна открыться страница входа в сеть отели/кафе.


Профилактика (архитектурно)

  1. Не держать PAC включённым, если сервис на 1089 не запущен: сначала поднять Clash/Surge/свой HTTPсервер с PAC, затем macos-pac-on.sh.
  2. Перед подключением к чужому хотспоту с обязательной страницей входа — временно PAC off (macos-pac-off.sh), залогиниться в сеть, затем при необходимости снова on.
  3. Разнести роли: глобальный 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 сеть всё ещё мёртвая — проверьте аппаратный тумблер WiFi, другое SSID, и логи: Консоль → Wi-Fi / configd.