Инструкция / Справка
Ключи подписки
Клиент читает эти ключи из заголовков ответа подписки или из строк в текстовом теле.
Строка в теле выглядит так: #ключ: значение. Знак номера в начале строки тоже подходит. В 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 PROXYsupport-url
Адрес поддержки.
Заголовок ответа или строка #support-url: в текстовом теле. Пустое служебное значение https://dummy.docs.rw панель не показывает.
support-url: https://dyproxy.com/ru/docsprofile-web-page-url
Адрес страницы подписки.
Заголовок ответа или строка #profile-web-page-url: в текстовом теле.
profile-web-page-url: https://example.com/sub/xxxxsubscription-userinfo
Трафик и срок. upload, download и total задаются в байтах, expire в секундах Unix. total со значением 0 клиент показывает как отсутствие потолка. expire со значением 0 не показывает.
Заголовок ответа или строка в текстовом теле. Панель это поле не заполняет: оно проходит, если его отдал вышестоящий ответ.
subscription-userinfo: upload=0; download=0; total=0; expire=1893456000providerid
Идентификатор провайдера. Без него new-url, new-domain и fallback-url не применяются. Второе имя того же ключа: provider-id.
Заголовок или строка #providerid: в текстовом теле. В панели поля нет. Сырой ответ этот заголовок не копирует.
#providerid: examplenew-url
Новый адрес подписки целиком. Принимается только https с хостом. После проверки провайдера он заменяет текущий адрес.
Заголовок или строка #new-url: в текстовом теле. В панели поля нет.
#new-url: https://sub.example.com/sub/xxxxnew-domain
Новый хост. Путь и query остаются от текущего адреса. Схема остаётся https.
Заголовок или строка #new-domain: в текстовом теле. В панели поля нет. Сырой ответ этот заголовок не копирует, поэтому в JSON-теле ключу некуда встать: его место в заголовке того адреса, который клиент запрашивает напрямую, или строкой в текстовом теле.
#new-domain: sub.example.comfallback-url
Запасной адрес подписки. Только https. Клиент сохраняет его после проверки провайдера и открывает, если основной запрос не удался.
Заголовок или строка #fallback-url: в текстовом теле. В панели поля нет. Сырой ответ этот заголовок не копирует.
#fallback-url: https://backup.example.com/sub/xxxx