Guide / Reference
Subscription keys
The client reads these keys from the subscription response headers, or from lines in a text body.
A body line looks like this: #key: value. A numero sign at the start of the line works too. A JSON body has no such lines.
The subscription face has fields for the name, the notice, the support address, and the page. They leave as profile-title, announce, support-url, and profile-web-page-url. The face has no fields for new-domain, fallback-url, new-url, or providerid.
The raw subscription response copies only some headers: content-type, profile-title, profile-update-interval, subscription-userinfo, profile-web-page-url, support-url, content-disposition, announce, routing. It does not copy new-domain, fallback-url, new-url, or providerid. Put those as lines in a text body, or as headers on the address the app requests itself.
The client applies new-url, new-domain, and fallback-url only together with providerid, and only after a check confirms both the previous host and the new one. Without providerid it skips them.
profile-title
The subscription name in the client. Plain text, or a value with a base64: prefix.
Response header. The face writes it as base64: plus the text in base64.
profile-title: base64:RFkgUFJPWFk=announce
A short note on the profile. Plain text or base64:. The client keeps at most 200 characters.
Response header, or a #announce: line in a text body.
#announce: DY PROXYsupport-url
Support address.
Response header, or a #support-url: line in a text body. The face hides the placeholder https://dummy.docs.rw.
support-url: https://dyproxy.com/en/docsprofile-web-page-url
Address of the subscription page.
Response header, or a #profile-web-page-url: line in a text body.
profile-web-page-url: https://example.com/sub/xxxxsubscription-userinfo
Traffic and expiry. upload, download, and total are bytes. expire is Unix seconds. A total of 0 is shown as no ceiling. An expire of 0 is not shown.
Response header, or a line in a text body. The face does not fill this. It passes through when the upstream response sends it.
subscription-userinfo: upload=0; download=0; total=0; expire=1893456000providerid
Provider id. Without it, new-url, new-domain, and fallback-url are ignored. The same key is also accepted as provider-id.
Header, or a #providerid: line in a text body. The face has no field. The raw response does not copy this header.
#providerid: examplenew-url
A full replacement subscription address. Only https with a host is accepted. After the provider check it replaces the current address.
Header, or a #new-url: line in a text body. The face has no field.
#new-url: https://sub.example.com/sub/xxxxnew-domain
A new host. The path and query stay from the current address. The scheme stays https.
Header, or a #new-domain: line in a text body. The face has no field. The raw response does not copy this header, so a JSON body has nowhere to put it. It belongs in a header on the address the client requests directly, or as a line in a text body.
#new-domain: sub.example.comfallback-url
Backup subscription address. https only. After the provider check the client stores it and opens it when the primary request fails.
Header, or a #fallback-url: line in a text body. The face has no field. The raw response does not copy this header.
#fallback-url: https://backup.example.com/sub/xxxx