Cursor IDE — работа из РФ и обход PING timeout
Проблема: из России Cursor показывает
PING timed out, Agent не отвечает.
Временный обход: Disable Http2 в настройках — помогает, но всё сильно замедляется.
Рекомендуемое решение: SOCKS-прокси через SSH-туннель на сервер с нормальным доступом (DO / RU VPS), без отключения HTTP/2.
Связанные гайды: PROXY_GUIDE.md, BUILD_AAB_FROM_RUSSIA_GUIDE.md — тот же паттерн «туннель через прокси-сервер».
Содержание
- Симптомы и причина
- Обход 1: Disable Http2 (простой, но медленный)
- Обход 2: SOCKS через SSH-туннель (рекомендуется)
- Проверка и диагностика
- Troubleshooting
- Ссылки
Симптомы и причина
Что видно в Cursor
- В чате с Agent: Request ID: … [unavailable] PING timed out,
_he: [unavailable] PING timed out. - Стек указывает на
workbench.desktop.main.js,streamFromAgentBackend/getAgentStreamResponse— обрыв связи с бэкендом агента.
Почему так происходит
-
HTTP/2 и маршрутизация
Cursor использует HTTP/2 для стриминга к*.cursor.sh(в т.ч.agent.api5.cursor.sh). В части сетей (в т.ч. из РФ) запросы уходят в CDN (например Cloudflare) с неудачной конфигурацией SSL/HTTP2 или блокировкой по DPI, из‑за чего соединение обрывается или уходит в таймаут. -
Disable Http2
Отключение HTTP/2 переводит трафик на HTTP/1.1 и часто убирает обрывы, но увеличивает нагрузку и задержки — «всё становится медленным», возможны дополнительные таймауты агента. -
Идея нормального обхода
Пропускать только трафик Cursor через сервер с хорошим доступом к Cursor API (VPS в DO, РФ и т.п.). До этого сервера — SSH (обычно не режется). От сервера до*.cursor.sh— уже «нормальный» канал, HTTP/2 работает без костылей.
Обход 1: Disable Http2 (простой, но медленный)
Если нужно быстро восстановить работу без настройки туннеля:
- Cursor → Settings (Cmd+, / Ctrl+,).
- Поиск: HTTP.
- Включить Cursor > General: Disable Http2.
Минус: выше задержки и нагрузка, возможны таймауты агента при длинных ответах. Для постоянной работы из РФ предпочтительно Обход 2.
Обход 2: SOCKS через SSH-туннель (рекомендуется)
Трафик Cursor идёт в интернет через ваш VPS. До VPS — SSH (один порт), с VPS — обычный доступ к Cursor API, HTTP/2 остаётся включённым.
Схема
Cursor (macOS) → SOCKS 127.0.0.1:10809 → SSH-туннель → VPS (DO/RU)
↓
HTTPS/HTTP2 → *.cursor.sh
На VPS не нужны отдельные прокси-сервисы — достаточно SSH (как в PROXY_GUIDE и BUILD_AAB_FROM_RUSSIA_GUIDE).
Предположения
- Есть VPS с нормальным доступом к интернету (например, тот же, что для ru.hunab.app: 149.154.64.19, доступ по
ssh hsites-ahauили аналог). - Локально свободен порт для SOCKS (ниже — 10809, чтобы не пересекаться с другими прокси).
Шаг 1: Поднять SOCKS-туннель
# Убить старый туннель на порту 10809 (если был)
pkill -f "ssh.*-D 10809" 2>/dev/null
# Запуск SOCKS5 на 127.0.0.1:10809 через ваш VPS
ssh -D 10809 -f -N hsites-ahau
Если используете другой хост (например, hunab-prod):
ssh -D 10809 -f -N hunab-prod
Проверка: туннель держится, пока сессия не разорвана; можно проверить доступ через SOCKS (см. Проверка и диагностика).
Шаг 2: Настроить Cursor на использование SOCKS
- Cursor → Settings (Cmd+, / Ctrl+,), поиск: proxy.
- Заполнить:
- Http: Proxy —
socks5://127.0.0.1:10809 - Http: Proxy Strict SSL — при необходимости отключить только если заведомо знаете, что за прокси (для одного своего VPS обычно не требуется).
- Http: Proxy —
Или в settings.json (Cursor: Open User Settings (JSON)):
{
"http.proxy": "socks5://127.0.0.1:10809",
"https.proxy": "socks5://127.0.0.1:10809"
}
Шаг 3: Не отключать HTTP/2
Cursor > General: Disable Http2 — выключить (оставить HTTP/2 включённым). Весь трафик к Cursor API пойдёт с VPS, где HTTP/2 работает нормально.
Шаг 4: Запуск Cursor при уже поднятом туннеле
Порядок каждый раз:
- В терминале:
ssh -D 10809 -f -N hsites-ahau(или ваш хост). - Запуск Cursor как обычно.
Чтобы не забывать туннель, можно завести скрипт запуска (см. Скрипт запуска с туннелем).
Проверка и диагностика
Туннель поднят
# Должен слушать 10809
lsof -i :10809
# или
nc -z 127.0.0.1 10809 && echo "OK"
Доступ к Cursor API через SOCKS (curl)
curl -x socks5h://127.0.0.1:10809 -sI https://agent.api5.cursor.sh 2>&1 | head -5
Успех: в ответе есть HTTP/2 или заголовки от сервера. Ошибка соединения или таймаут — туннель не работает или порт занят.
Логи Cursor
При проблемах с подключением:
- macOS:
~/Library/Application Support/Cursor/logs/main.log - Искать по
ERROR,PING,timeout,HTTP2,ECONNREFUSED,ETIMEDOUT.
Troubleshooting
После включения прокси Cursor вообще не подключается
- Убедиться, что туннель запущен:
lsof -i :10809. - Проверить доступ через SOCKS:
curl -x socks5h://127.0.0.1:10809 -sI https://agent.api5.cursor.sh. - Временно в настройках Cursor убрать
http.proxy/https.proxyи проверить без прокси (например, с Disable Http2) — если так работает, проблема в туннеле или порте.
PING timed out остаётся даже через прокси
- Перезапустить туннель и Cursor (полностью закрыть приложение и открыть снова).
- В настройках Cursor убедиться, что Disable Http2 выключен (HTTP/2 включён).
- Проверить, что в настройках указан именно
socks5://127.0.0.1:10809(без опечаток, порт совпадает с-D 10809).
Порт 10809 занят
Выбрать другой порт, например 10810:
ssh -D 10810 -f -N hsites-ahau
И в настройках Cursor указать socks5://127.0.0.1:10810.
Туннель рвётся при долгой неактивности
Поддерживать соединение помогут опции SSH:
ssh -D 10809 -f -N -o ServerAliveInterval=30 -o ServerAliveCountMax=6 hsites-ahau
При необходимости можно вынести эту команду в скрипт или systemd/supervisor на стороне клиента.
Скрипт запуска туннеля
В репозитории есть скрипт для поднятия/остановки SOCKS-туннеля:
# Из корня репо
./docs/cursor/scripts/cursor-socks-tunnel.sh start # поднять туннель
./docs/cursor/scripts/cursor-socks-tunnel.sh status # проверить
./docs/cursor/scripts/cursor-socks-tunnel.sh stop # остановить
Переменные окружения: CURSOR_SOCKS_PORT (по умолчанию 10809), CURSOR_TUNNEL_HOST (по умолчанию hsites-ahau).
Запуск Cursor после туннеля (macOS): после ./docs/cursor/scripts/cursor-socks-tunnel.sh start откройте Cursor как обычно; при настроенных http.proxy/https.proxy трафик пойдёт через SOCKS.
Ссылки
| Документ | Назначение |
|---|---|
| PROXY_GUIDE.md | Прокси ru.hunab.app, SSH ProxyCommand для scp/ssh на прод |
| BUILD_AAB_FROM_RUSSIA_GUIDE.md | Сборка AAB из РФ через Maven proxy + SSH-туннель |
| Cursor Forum — HTTP/2 network error | Обсуждение ошибок HTTP/2 и региональной маршрутизации |
| Cursor Forum — Agent timeouts when HTTP2 disabled | Таймауты агента при отключённом HTTP/2 |
Последнее обновление: 2026-03-08