Документация
Всё, что вам нужно знать о HyperGateway
Быстрая навигация
Установка
Клиент — это один самодостаточный бинарник без зависимостей. Пройдите три шага ниже — и туннель заработает. Установка Python не требуется (она нужна только для запуска из исходников, см. конец раздела).
Шаг 1. Получите токен
Войдите в личный кабинет portal.hypergateway.ru, откройте Дашборд и скопируйте персональный токен — он понадобится при первом запуске клиента.
Шаг 2. Скачайте клиент для вашей ОС
| Система | Файл |
|---|---|
| macOS (Apple Silicon) | hypergateway-client-darwin-arm64 |
| macOS (Intel) | hypergateway-client-darwin-x86_64 |
| Linux (x86_64) | hypergateway-client-linux-x86_64 |
| Windows (x64) | hypergateway-client-windows-x86_64.exe |
macOS / Linux — из терминала (пример для Apple Silicon):
curl -L -o hypergateway-client \
https://cdn.hypergateway.ru/download/hypergateway-client-darwin-arm64
chmod +x hypergateway-client
xattr -cr ./hypergateway-client # только macOS: снять карантин Gatekeeper
Шаг 3. Запустите туннель
При первом запуске передайте токен через stdin — клиент сохранит его в конфиг:
echo ВАШ_ТОКЕН | ./hypergateway-client --local 127.0.0.1:8000
Дальше токен уже сохранён — достаточно указывать локальный адрес:
./hypergateway-client --local 127.0.0.1:8000
Публичный URL появится в выводе клиента. Локальная веб-панель инспектора запросов —
на http://127.0.0.1:22080.
Свой поддомен запрашивается флагом --subdomain:
./hypergateway-client --local 127.0.0.1:8000 --subdomain myapp # myapp.hypergateway.ru
Windows. В PowerShell или CMD запуск аналогичен:
.\hypergateway-client-windows-x86_64.exe --local 127.0.0.1:8000.
Токен при первом запуске клиент запросит интерактивно.
Из исходников (для разработки)
Требуется Python 3.10–3.12 и uv, а также доступ к репозиторию проекта:
git clone <адрес-репозитория> hypergateway
cd hypergateway/client
uv sync
uv run hypergateway-client --local 127.0.0.1:8000
Использование
Открыть локальный порт
./hypergateway-client --local 127.0.0.1:8000
Это откроет доступ к вашему локальному приложению на порту 8000 в интернет.
Параметр --local задаётся в форме host:port.
Свой поддомен
./hypergateway-client --local 127.0.0.1:8000 --subdomain myapp
Запросить конкретный поддомен: myapp.hypergateway.ru
Подробное логирование
./hypergateway-client --local 127.0.0.1:8000 -v
Смотрите все HTTP запросы и ответы в реальном времени.
Справка CLI
| Опция | Описание | По умолчанию |
|---|---|---|
| --local | Локальный адрес в форме host:port (обязательный) | — |
| --subdomain | Желаемый поддомен (например, myapp) | случайный |
| --server-host | Хост брокера HyperGateway | control.hypergateway.ru |
| --ctrl-port | Порт control plane | 4040 |
| --data-port | Порт data plane | 4041 |
| --no-tls | Отключить TLS (не рекомендуется; по умолчанию TLS включён) | off |
| --tls-ca | Путь к CA-bundle / серту для проверки TLS | системный |
| --tls-insecure | Отключить проверку сертификата (только для разработки) | off |
| --no-ui | Отключить локальную веб-панель инспектора | off |
| --ui-host | Хост веб-панели | 127.0.0.1 |
| --ui-port | Порт веб-панели (0 — выбрать свободный) | 22080 |
| --name | Имя поддомена (устарело, используйте --subdomain) | — |
| -v, --verbose | Подробные логи (можно повторять) | off |
Конфигурация
Токен аутентификации
При первом запуске HyperGateway запросит токен аутентификации и сохранит его в конфигурационный файл.
В неинтерактивном режиме токен можно передать через stdin (он также сохранится в конфиг):
echo TOKEN | ./hypergateway-client --local 127.0.0.1:8000.
Передавать токен в аргументах командной строки нельзя.
Расположение конфиг. файлов
- macOS / Linux:
~/.config/hypergateway/config.yaml(учитывается$XDG_CONFIG_HOME) - Windows:
%APPDATA%\hypergateway\config.yaml
Пример конфигурации
server_host: control.hypergateway.ru
ctrl_port: 4040
data_port: 4041
auth_token: your-auth-token-here
MCP-сервер (Claude Code)
HyperGateway поставляется с MCP-сервером (Model Context Protocol), который позволяет
поднимать и контролировать туннели прямо из Claude Code —
без переключения в терминал. Ассистент сам открывает туннель для вашего локального
приложения, показывает публичный URL и даёт заглянуть в прошедшие через него HTTP-запросы.
Туннелей может быть несколько одновременно — по одному на каждый локальный сервис.
Сервер работает по транспорту stdio (JSON-RPC) и является
тонкой обёрткой над CLI hypergateway-client (на каждый
туннель запускается отдельный подпроцесс клиента).
1. Подключение к Claude Code
Из исходников (разработка, через uv):
cd hypergateway/client
uv sync
claude mcp add hypergateway -- uv run hypergateway-mcp
Готовый бинарник: скачайте hypergateway-mcp-<os>-<arch>
из того же каталога загрузок,
что и клиент (например, hypergateway-mcp-darwin-arm64). Файлы
hypergateway-mcp и hypergateway-client
должны лежать рядом — MCP-сервер запускает клиент из соседнего файла:
claude mcp add hypergateway -- /путь/к/hypergateway-mcp
Проверить подключение можно командой claude mcp list —
сервер hypergateway должен появиться в списке.
2. Сохранение токена
Перед первым запуском туннеля нужно сохранить токен авторизации. Достаточно попросить
ассистента вызвать инструмент configure:
configure(auth_token="ваш-токен", server_host="hypergateway.ru")
Токен и адрес сервера сохранятся в тот же конфигурационный файл,
что и у CLI. Если вы уже запускали hypergateway-client ранее и токен сохранён — этот шаг можно пропустить.
3. Работа с туннелем
Дальше достаточно обычных фраз ассистенту, например:
«Открой туннель на порт 8000 с поддоменом my-app»
«Подними ещё один туннель на 9000 с поддоменом api»
«Покажи публичный URL и статус всех туннелей»
«Выведи последние 10 запросов туннеля my-app»
«Покажи детали запроса »
«Повтори запрос »
«Дай curl для последнего запроса»
«Закрой туннель api» / «Закрой все туннели»
Доступные инструменты
| Инструмент | Параметры | Назначение |
|---|---|---|
| configure | auth_token?, server_host? | Сохранить токен и/или адрес сервера в конфиг |
| start_tunnel | local, subdomain?, insecure? | Поднять туннель (id вида t1, t2, …) и вернуть публичный URL. Каждый вызов — отдельный туннель |
| stop_tunnel | tunnel_id? | Остановить туннель; "all" — остановить все |
| tunnel_status | tunnel_id? | Без tunnel_id — список всех туннелей; с ним — URL, состояние, аптайм, число запросов одного |
| list_requests | limit? (20), tunnel_id? | Последние HTTP-запросы через туннель (свежие сверху) |
| get_request | id, tunnel_id? | Детали запроса: заголовки, тела, статус, тайминги |
| get_curl | id, tunnel_id? | Готовая curl-команда, воспроизводящая запрос |
| replay_request | id, timeout_s? (10), tunnel_id? | Повторно отправить запрос на localhost и вернуть ответ |
В tunnel_id принимается id туннеля
(t1), его сабдомен, локальная цель
host:port или просто порт. Если запущен только один
туннель, tunnel_id можно не указывать; если несколько —
инструменты вернут список туннелей с просьбой уточнить.
Инспекция запросов и повтор (retry)
Через MCP вы получаете те же данные, что показывает локальная панель инспектора:
list_requests отдаёт список прошедших запросов,
get_request — детали (заголовки, тела, статус, тайминги),
а replay_request повторно отправляет сохранённый запрос
напрямую на ваш localhost (минуя туннель) и возвращает ответ — удобно, чтобы воспроизвести
и отладить обращение, не дожидаясь его повторно с внешней стороны.
list_requests(limit=10) # взять id нужного запроса
get_request(id="<id>") # посмотреть детали
replay_request(id="<id>") # повторить и получить ответ
Веб-панель инспектора
У каждого туннеля есть своя визуальная панель инспектора (живая таблица запросов
с автообновлением, фильтрами и кнопкой Replay). При запуске через MCP она слушает
локальный порт, который возвращается в поле ui_port ответа
start_tunnel и tunnel_status.
Откройте её в браузере:
http://127.0.0.1:<ui_port>
Примечание. Параметр local принимает как голый порт
("8000"), так и host:port
("127.0.0.1:8080"). Повторный start_tunnel
с той же парой local+subdomain вернёт уже работающий туннель, а занятый другим туннелем
сабдомен — ошибку. Логи каждого туннеля пишутся в
mcp-tunnel-<id>.log рядом с конфигом.
Нужна помощь?
Если у вас возникли проблемы, мы готовы помочь!