Инструкция / Справка

Ключи подписки

Клиент читает эти ключи из заголовков ответа подписки или из строк в текстовом теле.

Строка в теле выглядит так: #ключ: значение. Знак номера в начале строки тоже подходит. В JSON-теле таких строк нет.

В панели подписки есть поля названия, объявления, адреса поддержки и страницы. Они уходят в profile-title, announce, support-url и profile-web-page-url. Полей new-domain, fallback-url, new-url и providerid в панели нет.

Сырой ответ подписки копирует только часть заголовков: content-type, profile-title, profile-update-interval, subscription-userinfo, profile-web-page-url, support-url, content-disposition, announce, routing. Заголовки new-domain, fallback-url, new-url и providerid этот ответ не передаёт. Их ставят строками в текстовое тело или в заголовки того адреса, который приложение открывает само.

Команды new-url, new-domain и fallback-url применяются только вместе с providerid, и только если проверка подтверждает и прежний, и новый хост. Без providerid клиент их пропускает.

profile-title

Имя подписки в клиенте. Обычный текст или значение с префиксом base64:.

Заголовок ответа. Панель записывает его как base64: и сам текст в кодировке base64.

profile-title: base64:RFkgUFJPWFk=

announce

Короткая заметка в профиле. Обычный текст или base64:. Клиент оставляет не больше 200 символов.

Заголовок ответа или строка #announce: в текстовом теле.

#announce: DY PROXY

support-url

Адрес поддержки.

Заголовок ответа или строка #support-url: в текстовом теле. Пустое служебное значение https://dummy.docs.rw панель не показывает.

support-url: https://dyproxy.com/ru/docs

profile-web-page-url

Адрес страницы подписки.

Заголовок ответа или строка #profile-web-page-url: в текстовом теле.

profile-web-page-url: https://example.com/sub/xxxx

subscription-userinfo

Трафик и срок. upload, download и total задаются в байтах, expire в секундах Unix. total со значением 0 клиент показывает как отсутствие потолка. expire со значением 0 не показывает.

Заголовок ответа или строка в текстовом теле. Панель это поле не заполняет: оно проходит, если его отдал вышестоящий ответ.

subscription-userinfo: upload=0; download=0; total=0; expire=1893456000

providerid

Идентификатор провайдера. Без него new-url, new-domain и fallback-url не применяются. Второе имя того же ключа: provider-id.

Заголовок или строка #providerid: в текстовом теле. В панели поля нет. Сырой ответ этот заголовок не копирует.

#providerid: example

new-url

Новый адрес подписки целиком. Принимается только https с хостом. После проверки провайдера он заменяет текущий адрес.

Заголовок или строка #new-url: в текстовом теле. В панели поля нет.

#new-url: https://sub.example.com/sub/xxxx

new-domain

Новый хост. Путь и query остаются от текущего адреса. Схема остаётся https.

Заголовок или строка #new-domain: в текстовом теле. В панели поля нет. Сырой ответ этот заголовок не копирует, поэтому в JSON-теле ключу некуда встать: его место в заголовке того адреса, который клиент запрашивает напрямую, или строкой в текстовом теле.

#new-domain: sub.example.com

fallback-url

Запасной адрес подписки. Только https. Клиент сохраняет его после проверки провайдера и открывает, если основной запрос не удался.

Заголовок или строка #fallback-url: в текстовом теле. В панели поля нет. Сырой ответ этот заголовок не копирует.

#fallback-url: https://backup.example.com/sub/xxxx