Поддержка Commy в вашей панели

Если вы держите панель (Remnawave, Marzban, 3x-ui, свой бэкенд), ваша подписка уже работает в Commy. Ниже — что именно он читает.

Форматы подписки

Список ссылок (обычный или в base64), Clash/Mihomo YAML, sing-box JSON и JSON-массив конфигов Xray (как отдаёт Remnawave для Happ).

Заголовки ответа

Заголовок Что делает Commy
subscription-userinfo Квота и срок на карточке (upload=…; download=…; total=…; expire=…)
profile-title Название подписки (можно base64:…)
profile-update-interval Интервал автообновления, в часах
profile-web-page-url Кнопка «Сайт» на карточке
support-url Кнопка «Поддержка»
announce Объявление под квотой, как есть (можно base64:…)
commy-manifest Подписанный манифест восстановления адреса — Commy Cloud

Заголовки запроса

Commy представляется как Commy/<версия> (пользователь может сменить User-Agent в меню подписки) и, если не выключено, присылает только хосту подписки x-hwid, x-device-os, x-ver-os, x-device-model — как Happ и INCY. При редиректе на другой хост эти заголовки не уходят.

Кнопка «Добавить в Commy»

commy://import/https://sub.example.com/sub/<token>

Commy также открывается по ссылкам других клиентов — значит, кнопки вашей страницы подписки уже работают:

happ://add/<url>            incy://import/<url>        v2raytun://import/<url>
hiddify://import/<url>      streisand://import/<url>   sub://<base64(url)>
v2rayng://install-config?url=<url>    clash://install-config?url=<url>
clashmeta://install-config?url=<url>  stash://install-config?url=<url>
sing-box://import-remote-profile?url=<url>   sn://subscription?url=<url>

Имя из такой ссылки (name=, #фрагмент) — подсказка: если панель прислала profile-title, побеждает он.

Заглушки панели

Если панель отвечает одной строкой с адресом 0.0.0.0 и причиной в имени («App not supported», «Device limit reached»), Commy покажет текст на карточке и не будет считать это сервером.