2026-05-14 OpenClaw: исходящий HTTP/HTTPS-прокси на арендованном ProxyMac Mac mini — почему export в SSH обманывает и как launchd должен наследовать переменные
Если вы запускаете OpenClaw на арендованном Mac mini с Apple Silicon в Гонконге, Японии, Корее, Сингапуре или США, ноутбук разработчика часто уже выходит в интернет через корпоративный HTTP(S)-прокси, а облачная mini этот путь не получает автоматически. Типично: в SSH выполняют export HTTP_PROXY=... — вызовы модели успешны; LaunchAgent launchd не наследует переменные, и винят «задержку OpenClaw». Здесь (1) фильтр аудитории, (2) симптомы, похожие на сбои модели, (3) четырёхрежимная матрица, (4) девятиступенчатый runbook для launchd, (5) таблица сценариев PAC / split tunnel / TLS-инспекция, (6) ловушки NO_PROXY для stdio MCP. Сопоставьте с MCP и launchd, чек-листом headless SSH, маршрутизацией split tunnel VPN, JSON токена шлюза. GUI по необходимости: VNC; тарифы: pricing; диагностика: help.
Кому нужно явно прописывать исходящий HTTP(S)-прокси для OpenClaw
Сначала проверьте, доходит ли маршрут по умолчанию с mini в публичный интернет без той же цепочки инспекции, что у ноутбука. Регулируемые банки, OEM с глобальным ZTNA, гибриды с белым списком только 443 SaaS часто требуют явного прокси и для небраузерных демонов. Если политика запрещает публичный egress без прокси, процесс шлюза OpenClaw должен соблюдать тот же контракт. При прозрачном перенаправлении на маршрутизаторе иногда достаточно NO_PROXY — но подтверждайте curl -v или захватом, а не догадкой.
- Количественный порог:
curl -I https://api.openai.comбез--proxyдаёт 407, с прокси — успех → явный прокси. - Порог задержки: центральный прокси на другом континенте часто добавляет 180–320 мс RTT — поднимайте таймауты MCP и не раздувайте параллель без причины.
- Порог параллелизма: корпоративные прокси часто ограничивают одновременные туннели
CONNECTзначениями 30–80 — снижайте параллель OpenClaw раньше, чем писать «нестабильно».
Симптомы, похожие на сбой модели или «не та регион»
Ошибки HTTP редко красиво появляются в JSONL как «нужна аутентификация прокси». Чаще — таймауты TLS, обрывы ровно через 60 или 120 секунд, поток, который умер после первого токена при смене ключа прокси. DNS успешен, а TCP зависает: типичный split DNS, отправляющий api.* на резолверы только в VPN, которых mini не подняла. Прежде чем переносить нагрузку из Японии в Сингапур, воспроизведите loopback-curl с теми же флагами прокси, что у launchd.
HTTPS_PROXY для TLS-целей, (3) жив ли stdio MCP — если да, чаще всего сломан только исходящий путь.
Матрица решений: статический, PAC, прозрачный, отсутствует
| Режим | Как видит OpenClaw | Следствие для launchd | Главный риск |
|---|---|---|---|
Статический http://host:port |
Библиотеки читают HTTP_PROXY/HTTPS_PROXY |
Дублировать в plist EnvironmentVariables |
Секреты в world-readable plist при неверном chmod |
| URL PAC / WPAD | Без разбора PAC часто как «нет настроек» | Часто нужен wrapper с экспортом разрешённого прокси | PAC меняется тихо — фиксируйте версию в Git |
| Прозрачная TLS-инспекция | Нет переменных; корпоративный CA в рукопожатии | Доверие CA в системной связке ключей | Ротация корня ломает TLS до обновления |
| Нет (прямой) | Публичный egress из региона mini | NO_PROXY для локального MCP всё равно нужен |
Случайный провал комплаенса, если позже добавят прокси |
Девять шагов: доказательство в SSH, затем паритет launchd
- Инвентаризация:
HTTP_PROXY,HTTPS_PROXY,ALL_PROXY,NO_PROXY, вендорские ключи. - Доказательство curl: на mini
curl -v --proxy http://proxy:8080 https://api.anthropic.comи архив verbose. - Plist: победивший набор в
EnvironmentVariables; не полагаться только на~/.zshrc— см. статью про MCP. - Разделение секретов: не вставлять Basic-пароли в тикеты — файлы как в статье про токен.
- Гигиена NO_PROXY:
127.0.0.1,localhost,*.localи RFC1918 для MCP. - Согласование VPN: ноутбук в full tunnel? Сначала таблица маршрутов mini по статье split/full.
- Дым launchctl:
launchctl kickstartи сравнение исходящих строк JSONL с SSH передним планом. - Замочка: 500 последовательных вызовов модели при 3 параллельных воркерах.
- Откат: ревизии plist в Git;
bootoutи возврат за 2 минуты.
sudo -E в продакшен LaunchAgent надолго — больше поверхность атаки и ненадёжная передача дочерним MCP.
Таблица корпоративных сценариев (до кручения таймаутов найдите свою строку)
| Сценарий | Наблюдаемый сигнал | Рычаг OpenClaw |
|---|---|---|
| Центральный EU-прокси, mini в США | RTT > 220 мс к прямому пути | Увеличить таймауты HTTP-клиента; снизить параллель в полёте |
| SSL-инспекция в духе Zscaler | TLS alert unknown CA | Корпоративный корень в системную связку и обновить кэш доверия |
| Split tunnel без подсети mini | DNS ок, SYN не завершается | Починить маршруты VPN-клиента; зеркалировать политику ноутбука |
| Ротация учётных данных прокси каждые 12 ч | Всплески 407 при смене смены | Короткоживущие токены или управляемый помощник учётных данных |
Ловушки: ошибка NO_PROXY ломает stdio MCP, модель кажется «здоровой»
Серверы stdio MCP слушают высокие порты 127.0.0.1. Пустой NO_PROXY может отправить loopback в корпоративный прокси: модель отвечает, файловые инструменты висят. NO_PROXY=* полностью обходит прокси (риск комплаенса). Явный список через запятую и сравнение с curl --noproxy '*' http://127.0.0.1:8765/health. Финальную строку храните рядом с plist в том же репозитории, что и артефакты headless-чек-листа.
export HTTP_PROXY=http://proxy.corp.local:8080 HTTPS_PROXY=http://proxy.corp.local:8080 NO_PROXY=127.0.0.1,localhost,169.254.169.254
FAQ
Регистр переменных окружения? Многие стеки принимают оба варианта — выберите один стиль на флот.
SOCKS и ALL_PROXY? Часто да для не-HTTP-чувствительных инструментов; проверьте той же матрицей curl.
Нельзя хранить пароль прокси на диске? Краткоживущий PAC или sidecar с заголовками; избегайте интерактивных запросов на headless — разовые диалоги доверия через VNC.
Почему арендованный ProxyMac Mac mini — хорошее место для ужесточения egress OpenClaw
Арендованные Mac mini M4 дают нативный macOS-хранилище доверия, предсказуемый single-tenant CPU для TLS-нагруженных прокси-прыжков и выбор региона HK / JP / KR / SG / US, чтобы control plane был ближе к регионам API, чем один европейский бастион. SSH для следов, help для кросс-региональных сценариев, pricing для второй mini, изолирующей prod и staging egress, — без покупки пяти стоек.
Стабилизировать OpenClaw за корпоративным egress
launchd · HTTP_PROXY · HK / JP / KR / SG / US