Piko не связан ни с одним провайдером. Совместимость с Piko не означает рекомендации, и мы не составляем списков провайдеров.
Ссылки «Добавить в Piko»
Разместите на сайте, в боте или в письмах кнопку, которая открывает Piko и добавляет подписку. Прежде чем что-либо сохранить, Piko всегда показывает окно подтверждения.
piko://install-sub?url=https%3A%2F%2Fsub.example.com%2Fs%2Fabc123&name=Example
url: адрес подписки в percent-кодировке. Используйтеhttps://; для адресаhttp://Piko предупредит пользователя, что он не зашифрован.name: необязательно. Название, которое видно, пока не придёт ваш заголовокprofile-title.
Также поддерживаются:
piko://add?url=…&name=…иpiko://install-config?url=…— то же, что выше;piko://add/<адрес>с адресом подписки как есть (форма как у Happ);piko://import?data=…с отдельными ссылками в percent-кодировке или base64 — чтобы добавить отдельные серверы.
Ссылка piko:// открывает приложение, только если Piko установлен, поэтому показывайте и обычный адрес подписки, чтобы его можно было скопировать. Если пользователь вставит или отсканирует их, Piko также поймёт ссылки happ://add/<адрес> и v2rayng://install-sub?url=….
Что отправляет Piko
Piko загружает подписку обычным запросом GET с такими заголовками:
| Заголовок | Пример | Значение |
|---|---|---|
User-Agent | Piko/0.1.0/Android/36 | Piko/<версия приложения>/<система>/<версия системы>. Префикс Piko/ не меняется, по нему можно выбирать нужный формат. Piko никогда не отправляет User-Agent браузера. |
x-hwid | 32 шестнадцатеричных символа | ID устройства, созданный только для вашего домена. Другие провайдеры получают от того же устройства другое значение. |
x-device-os | Android, iOS | Операционная система. |
x-ver-os | 16 | Версия системы. |
x-device-model | Pixel 9, iPhone17,3 | Модель устройства (никогда не имя, которое дал устройству пользователь). |
Заголовки устройства отправляются только на хост вашей подписки и на адреса, которые вы указали в new-url, new-domain или fallback-url. При перенаправлении на другие хосты они не передаются. В редких случаях, например на iOS до первой разблокировки после перезагрузки, Piko не отправляет ни одного из них.
Поддерживаемые форматы
- Список ссылок обычным текстом или в base64:
vless://,vmess://,trojan://,ss://(в том числе Shadowsocks 2022) иhysteria2://(hy2://). - Полная конфигурация Xray JSON. Piko удаляет локальные входящие подключения, файлы журналов и другие настройки, которые не нужны приложению на телефоне.
- Транспорты: TCP (RAW), WebSocket, gRPC, HTTPUpgrade, XHTTP (SplitHTTP) и mKCP. Защита: TLS, REALITY и XTLS Vision.
- Не поддерживаются: sing-box JSON, Clash YAML, WireGuard, TUIC, AnyTLS, NaiveProxy, ShadowTLS и другие протоколы вне Xray, удалённые транспорты
h2и QUIC, плагиныss://и Hysteria2 сinsecure=1. VLESS без шифрования к публичному серверу отклоняется.
Используйте серверы, которые шифруют соединение: TLS, REALITY, Shadowsocks 2022 или Hysteria2. Правила магазинов приложений требуют, чтобы VPN-приложения шифровали трафик до сервера, поэтому Piko может отклонять серверы без шифрования.
Заголовки, которые учитывает Piko
Отправляйте их как заголовки ответа. Те же имена работают и как строки #ключ: значение в начале тела ответа (как у Happ). Если есть оба варианта, приоритет у заголовка.
| Заголовок | Что делает Piko |
|---|---|
subscription-userinfo | upload=…; download=…; total=…; expire=… в байтах и Unix-времени (0 — без ограничений или бессрочно). Piko показывает израсходованный трафик и оставшиеся дни, а на Android напоминает об окончании подписки. |
profile-title | Название подписки, обычным текстом или base64:…. Без него Piko берёт имя файла из content-disposition. |
profile-update-interval | Как часто обновлять, в часах. По умолчанию 4. |
support-url | Ссылка на поддержку (https://, tg: или mailto:), показывается в разделе «От провайдера». |
profile-web-page-url | Ваш сайт или личный кабинет. |
support-email | Адрес электронной почты поддержки. |
announce | Сообщение для показа, обычным текстом или base64:…. |
announce-url | Ссылка на ваши объявления (https:// или tg:). |
sub-info-text, sub-info-button-text, sub-info-button-link | Баннер с необязательной кнопкой (формат Happ). |
routing, routing-enable | Профиль маршрутизации в виде ссылки (формат Happ, например piko://routing/add/<base64>). Piko применяет его только после согласия пользователя. routing-enable: 0 отключает его. |
new-url, new-domain | Подписка переехала. Piko загружает новый адрес и, если он работает, сохраняет его. Принимаются только адреса https:// на публичных хостах. |
fallback-url | Зеркало, которое Piko использует, если основной адрес не отвечает, не меняя ссылку пользователя. |
check-url-via-proxy | Адрес https://, который Piko запрашивает через ваши серверы для тестов задержки конфигураций Xray JSON. |
x-hwid-active, x-hwid-not-supported, x-hwid-max-devices-reached, x-hwid-limit | Состояние лимита устройств (true или 1). Piko объясняет пользователю отказ и показывает вашу ссылку на поддержку. |
Записи в списке серверов, которые на самом деле являются сообщениями (например, «сервер» с названием «Осталось 5 дней»), показываются как сообщения, а не как серверы.
Защищённые ссылки
Piko открывает ссылки piko://crypt1/…, которые скрывают адрес подписки от случайного копирования: Piko никогда не показывает, не копирует и не экспортирует адрес, добавленный таким образом. Это обфускация, а не DRM: ключ находится внутри приложения. Инструмент для создания таких ссылок станет доступен провайдерам вместе с публичным выпуском Piko. Чтобы получить уведомление, напишите на support@pikonet.io.
Проверка и вопросы
Добавьте тестовую подписку в Piko и проверьте её данные: название, трафик, срок действия и ваши сообщения. Если ваша панель не работает с Piko, напишите на support@pikonet.io, указав название и версию панели. Присылайте тестовую подписку, а не подписку реального клиента.