Available headers

The HTTP headers Letakof sends with a subscription request and reads from the response.

Header names are compared without regard to case. A value in the form base64:… is decoded only for profile-title and announce. For the letakof-* headers see Additional headers.

Request headers

Sent to the subscription address.

Header Purpose Default Can Be Disabled
User-Agent Client and version, Letakof/<version> Always sent No
Accept */*, so a panel does not take the request for a browser Always sent No
Cache-Control no-cache (Windows only) Always sent No
x-hwid Hashed device identifier, 16 hexadecimal characters Sent Yes: Send HWID
x-device-os Windows, macOS, iOS or Android Sent Yes: Send HWID
x-ver-os OS version, such as 10.0.22631, 14.5.0, 26.0.1 or 14 Sent Yes: Send HWID
x-device-model Device model, such as MacBook Air (M2, 2022) or iPhone 17 Pro Sent Yes: Send HWID

The four x- headers are sent together or not at all: Settings → Subscription and HWID → Send HWID. More in Device identifier (HWID).

For providers. If your panel picks the response format by client name, make a rule so that a User-Agent starting with Letakof/ receives Clash/Mihomo YAML. Otherwise the panel may answer with a base64 list, which Letakof cannot load.

Response headers

Sent by the provider and read by Letakof.

Header Purpose Default Can Be Disabled
profile-title Subscription name; without it, the file name or the host of the link Always read No
profile-update-interval Hours between automatic updates, minimum 1 Used unless you choose another interval Yes: Refresh interval
subscription-userinfo upload, download, total in bytes (0 is no limit) and expire as Unix time Always read No
subscription-refill-date When traffic resets, Unix time Always read No
support-url Address of the Support button, http or https only Always read No
profile-web-page-url Address of the Account button, http or https only Always read No
announce Announcement on the Home screen Always read You can dismiss it
profile-logo Provider logo, https, up to 1.5 MB, downloaded once Always read No
content-disposition Fallback name from filename Always read No

On Android TV the announcement and the links are not shown.

Found a mistake? Open an issue on GitHub.