Hido cho nhà cung cấp
Hướng dẫn tích hợp · Cập nhật ngày 8/11/2026
Hido chạy được ngay với panel V2Board, Xboard và XiaoV2Board nguyên bản. Trang này dành cho nhà cung cấp muốn giới hạn số thiết bị bằng mã thiết bị (HWID) của Hido, hoặc đang chạy panel đã sửa đổi.
1. Đăng ký mã nhà cung cấp
Gửi email tới [email protected], kèm:
- Tên dịch vụ và mã bạn muốn (chữ thường và số, ví dụ
abcvpn). - Địa chỉ API của panel, cùng các địa chỉ dự phòng để khách vẫn vào được khi một tên miền bị chặn.
- Tên miền subscription, nếu khác tên miền panel.
- Link mua gói và kênh hỗ trợ, hiện trong app ở Tài khoản → Chi tiết.
- Với panel đã sửa đổi: các tuỳ chọn trong bảng dưới.
Bạn đổi tên miền lúc nào cũng được. Báo cho chúng tôi, máy đã cài sẽ tự theo mà không cần cập nhật app hay đăng nhập lại.
| Tuỳ chọn | Dùng khi | Mặc định |
|---|---|---|
api_path | API của bạn không nằm ở /api/v1, ví dụ /api/v3. Hido dùng đường dẫn này cho đăng nhập, tài khoản và link subscription nhận được. | /api/v1 |
payload = header | Panel nhận mọi lệnh bằng GET, phần thân JSON mã hoá base64url trong header X-Payload. | POST, thân JSON |
hido_client | Bạn muốn nhận ra Hido trên các lệnh API: app sẽ gửi User-Agent của Hido, X-Device và các header thiết bị ở mọi lệnh, kể cả đăng nhập. | Tắt |
2. Hido gửi những gì
Mỗi lần tải subscription
Các header này luôn được gửi, cùng tên với Happ và Remnawave, nên panel đã giới hạn thiết bị cho các app đó dùng được với Hido mà không phải sửa gì. Panel không giới hạn thiết bị thì cứ bỏ qua.
| Header | Ví dụ |
|---|---|
x-hwid | 3f2a9c0d5e7b41a8c6d2e9f0a1b3c4d5 |
x-device-os | iOS, Android |
x-ver-os | 18.5 |
x-device-model | iPhone 16 |
x-device-locale | vi |
User-Agent khi tải có dạng Hido/v2.0.5 clash.meta mihomo clash-verge Platform/ios. Hãy trả về định dạng Clash Meta (mihomo), như bạn vẫn trả cho client clash.meta.
Trên các lệnh API của panel (khi bật hido_client)
| Header | Ví dụ |
|---|---|
User-Agent | Hido/v2.0.5 (iOS; 18.5) |
X-Device | iPhone 16: tên dễ đọc cho danh sách thiết bị |
x-hwid | Cùng mã thiết bị như trên, kèm các header thiết bị khác |
Authorization | auth_data mà lệnh đăng nhập trả về |
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: vi
Về mã thiết bị
- Gồm 32 ký tự thập lục phân viết thường, hợp với quy tắc HWID của Remnawave.
- Là bản băm một chiều từ mã riêng của máy (Android ID, hoặc một mục Keychain trên iPhone và iPad). Mã gốc không bao giờ rời khỏi máy, và giá trị này không trùng với mã các app khác gửi.
- Giữ nguyên khi khách cài lại Hido, và mỗi thiết bị một mã khác nhau.
- Khách xem và sao chép được trong Cài đặt, để bộ phận hỗ trợ tìm đúng máy trong danh sách thiết bị của bạn.
3. Nên đếm thiết bị ở đâu
Link subscription hay bị chia sẻ và được các công cụ khác tải về, nên chúng tôi khuyên đếm thiết bị ở các lệnh tài khoản, nhận diện mỗi máy bằng x-hwid và đặt tên theo X-Device:
POST {api_path}/passport/auth/loginvà/passport/auth/registerGET {api_path}/user/getSubscribe
Với tài khoản đăng nhập bằng mã nhà cung cấp, Hido gọi getSubscribe ngay sau khi đăng nhập, trước mỗi lần cập nhật subscription (bấm tay hay tự động), khi mở app và cứ 30 phút một lần trong lúc app mở. Nhờ vậy thiết bị vẫn được đếm dù route subscription của bạn không đếm.
Khách chỉ dán link subscription (không đăng nhập) thì chỉ gửi header thiết bị khi tải. Muốn giới hạn cả họ, hãy đếm thêm ở route subscription.
4. Các phản hồi Hido hiểu
Hido hiện nguyên văn message của bạn, nên hãy viết bằng ngôn ngữ của khách và nói rõ khách cần làm gì tiếp.
| Panel trả về | Hido làm |
|---|---|
403 kèm {"code": "device_limit_exceeded", "message": "…"} | Hiện thông báo. Tài khoản đã đăng nhập sẽ bị đăng xuất khỏi máy này và cấu hình bị gỡ. Link dán tay vẫn giữ nhưng không được cập nhật. |
429 kèm {"code": "device_cooldown", "message": "…", "data": {"retry_after_minutes": 42}} | Hiện thông báo, giữ tài khoản, không tự thử lại. Hãy ghi thời gian chờ trong message. |
401, hoặc 403 không có code, ở lệnh có Authorization | Coi như máy đã bị đăng xuất: tài khoản rời khỏi máy, khách đăng nhập lại. Dùng cách này cho máy bạn đã gỡ khỏi tài khoản. |
Header phản hồi subscription x-hwid-max-devices-reached: true hoặc x-hwid-limit: true | Hiện thông báo hết số thiết bị của Hido, giống Remnawave. |
5. Kiểm tra trước khi chạy thật
- Đăng nhập từ Hido: máy hiện trong panel với tên lấy từ
X-Device. - Cài lại Hido rồi đăng nhập: vẫn là máy cũ, không thành máy mới.
- Đăng nhập thêm một máy vượt giới hạn của gói: máy đó nhận thông báo 403 của bạn và bị đăng xuất.
- Gỡ một máy trong panel, rồi bấm Cập nhật trong Hido trên máy đó: tài khoản rời khỏi máy cho tới khi khách đăng nhập lại.
Cần hỏi thêm hay cần bản thử cho panel của bạn: [email protected].