Skip to content

Subscription

  • Clash / Mihomo YAML subscriptions
  • Standard subscription headers used by panels (Remnawave-compatible fields where applicable)
HeaderEffect
profile-titleDisplay name hint
announceBanner text on Home
profile-update-intervalAuto refresh interval (hours)
subscription-userinfoUpload/download/total/expire for quota UI

On every subscription import and profile refresh, CheezyClash sends the same client identification headers on Android, Windows, macOS, and Linux:

HeaderPurpose
x-hwidStable device ID (UUID generated once, stored locally)
x-device-osAndroid, Windows, macOS, or Linux
x-ver-osOS version string
x-device-modelDevice model (Android) or OS-arch on desktop
User-AgentCheezyClash/OPEN/mihomo/<version> (open builds)
AcceptYAML / plain text

These are sent unconditionally — not only for Remnawave. Any panel that enforces device limits or filters by client can read x-hwid.

HWID here is CheezyClash’s x-hwid header: a random UUID created on first subscription request and reused for that install.

  • Android — stored in app private preferences (cheezy.device).
  • Desktop (Windows / macOS / Linux) — stored in Electron local settings (desktopHwid).

Reinstalling the app or clearing app data generates a new HWID. Panels that count devices will see that as a new device.

Services like Remnawave Panel bind subscriptions to a maximum number of devices. The panel reads x-hwid (and sometimes User-Agent) on each fetch.

CheezyClash open builds always send HWID so open and proprietary clients behave consistently toward the subscription server.

HWID is a client-generated identifier, not hardware serial numbers. It is sent only to your subscription URL when you import or refresh a profile.

Profiles → Update re-fetches the subscription (with the same headers) and reloads the core when connected.