Hiding the subscription URL — hide-settings¶
hide-settings: 1 stops the subscription URL and its raw content from leaving the device. It puts the subscription into exactly the same state as an encrypted (crypt1) or hardware-bound (addhw) one — internally the app treats “locked” and “hidden by the provider” as one condition.
What it blocks¶
| Blocked | Detail |
|---|---|
| The URL field in the subscription editor | The field is not rendered at all — the user cannot read, copy or change the address |
| “Copy link” in the subscription menu | Removed |
| “View config” | Removed, and the config-export routine itself refuses to return anything even if called from elsewhere in the app |
| Editing the URL through an update | An edit that would change the address is ignored; the name and the routing profile stay editable |
What keeps working¶
Connecting, ping, traffic statistics, subscription refresh, the server list, choosing servers, routing profiles, the expiry UI — the user simply cannot see or export the address.
Values and behaviour¶
| Value | Effect |
|---|---|
1 |
Hide. Also clears any pending “unlock” request from the user. |
0 |
Un-hide — and also lifts a crypt1 lock on that subscription, if the provider set one. This is deliberate: the provider owns the link, so an explicit 0 from an active provider opens the subscription completely. |
| absent | Changes nothing — the current state is kept. The flag is sticky: set it once and it holds across refreshes until you send an explicit 0. |
Anything other than 1 or 0 is ignored and logged as “value not recognised” — on / off / true / false are not accepted here.
Accepted as an HTTP response header, as #hide-settings: 1 in the body, and from the provider account. Honored only while the provider id is active — an inactive or unknown provider cannot hide (or reveal) anything.