Hido для провайдеров
Руководство по интеграции · Обновлено 8 ноября 2026 г.
Hido работает с панелями V2Board, Xboard и XiaoV2Board без доработок. Эта страница — для провайдеров, которые хотят ограничивать число устройств по идентификатору устройства Hido (HWID) или используют изменённую панель.
1. Получите код провайдера
Напишите на [email protected] и укажите:
- Название сервиса и желаемый код (строчные латинские буквы и цифры, например
abcvpn). - Адрес API панели и резервные адреса на случай блокировки одного из доменов.
- Домен подписки, если он отличается от домена панели.
- Ссылку на покупку и канал поддержки — они показываются в приложении в разделе Аккаунт → Подробнее.
- Для изменённой панели — параметры из таблицы ниже.
Домены можно менять в любой момент. Сообщите нам, и установленные приложения перейдут на новые адреса без обновления и повторного входа.
| Параметр | Когда нужен | По умолчанию |
|---|---|---|
api_path | Ваш API находится не в /api/v1, например в /api/v3. Hido использует этот путь для входа, данных аккаунта и полученной ссылки на подписку. | /api/v1 |
payload = header | Панель принимает все запросы как GET, а JSON-тело — в заголовке X-Payload в кодировке base64url. | POST с JSON-телом |
hido_client | Вы хотите узнавать Hido в запросах к API: приложение будет отправлять User-Agent Hido, X-Device и заголовки устройства в каждом запросе, включая вход. | Выключено |
2. Что отправляет Hido
При каждой загрузке подписки
Эти заголовки отправляются всегда и называются так же, как у Happ и Remnawave, поэтому панель, которая уже ограничивает устройства для этих приложений, работает с Hido без изменений. Панель без лимита устройств их просто игнорирует.
| Заголовок | Пример |
|---|---|
x-hwid | 3f2a9c0d5e7b41a8c6d2e9f0a1b3c4d5 |
x-device-os | iOS, Android |
x-ver-os | 18.5 |
x-device-model | iPhone 16 |
x-device-locale | ru |
User-Agent загрузки выглядит так: Hido/v2.0.5 clash.meta mihomo clash-verge Platform/ios. Отдавайте формат Clash Meta (mihomo), как для клиентов clash.meta.
В запросах к API панели (при hido_client)
| Заголовок | Пример |
|---|---|
User-Agent | Hido/v2.0.5 (iOS; 18.5) |
X-Device | iPhone 16 — понятное имя для списка устройств |
x-hwid | Тот же идентификатор, что выше, вместе с остальными заголовками устройства |
Authorization | auth_data, который вернул вход |
GET /api/v1/user/getSubscribe HTTP/1.1
Authorization: Bearer …
User-Agent: Hido/v2.0.5 (Android; 15)
X-Device: Samsung SM-S928B
x-hwid: 3f2a9c0d5e7b41a8c6d2e9f0a1b3c4d5
x-device-os: Android
x-ver-os: 15
x-device-model: Samsung SM-S928B
x-device-locale: ru
Об идентификаторе устройства
- 32 строчных шестнадцатеричных символа — подходит под правила HWID в Remnawave.
- Односторонний хеш собственного идентификатора телефона (Android ID или запись в Keychain на iPhone и iPad). Исходный идентификатор не покидает телефон, а значение не совпадает с тем, что отправляют другие приложения.
- Не меняется при переустановке Hido и у каждого устройства свой.
- Клиент может посмотреть и скопировать его в Настройках, чтобы поддержка нашла устройство в вашем списке.
3. Где считать устройства
Ссылками на подписку часто делятся, их загружают другие программы, поэтому мы рекомендуем считать устройства в запросах аккаунта, различая их по x-hwid и называя по X-Device:
POST {api_path}/passport/auth/loginи/passport/auth/registerGET {api_path}/user/getSubscribe
Для аккаунта, вошедшего по коду провайдера, Hido вызывает getSubscribe сразу после входа, перед каждым обновлением подписки (вручную или автоматически), при открытии приложения и каждые 30 минут, пока оно открыто. Поэтому устройство будет учтено, даже если маршрут подписки устройства не считает.
Клиенты, которые просто вставили ссылку на подписку (без входа), отправляют заголовки устройства только при загрузке. Чтобы ограничить и их, считайте устройства и на маршруте подписки.
4. Ответы, которые понимает Hido
Hido показывает ваше message дословно — пишите на языке клиента и объясняйте, что делать дальше.
| Ответ панели | Что делает Hido |
|---|---|
403 с {"code": "device_limit_exceeded", "message": "…"} | Показывает сообщение. Вошедший аккаунт выходит на этом устройстве, его конфигурация удаляется. Вставленная вручную ссылка остаётся, но не обновляется. |
429 с {"code": "device_cooldown", "message": "…", "data": {"retry_after_minutes": 42}} | Показывает сообщение, сохраняет аккаунт и не повторяет запрос сам. Укажите время ожидания в сообщении. |
401 или 403 без code в запросе с Authorization | Считает, что устройство вышло: аккаунт удаляется с устройства, клиент входит заново. Используйте для устройства, которое вы удалили из аккаунта. |
Заголовок ответа подписки x-hwid-max-devices-reached: true или x-hwid-limit: true | Показывает собственное сообщение Hido о лимите устройств, как с Remnawave. |
5. Проверка перед запуском
- Войдите из Hido: устройство появилось в панели с именем из
X-Device. - Переустановите Hido и войдите снова: это то же устройство, а не новое.
- Войдите на устройстве сверх лимита тарифа: оно получает ваше сообщение 403 и выходит из аккаунта.
- Удалите устройство в панели и нажмите «Обновить» в Hido на нём: аккаунт исчезает с устройства до повторного входа.
Вопросы или тестовая сборка для вашей панели: [email protected].