mirror of
https://github.com/remnawave/panel.git
synced 2026-10-20 18:51:47 +00:00
docs: enhance PAGE_RESPONSE_HEADERS documentation
This commit is contained in:
parent
ba2e206352
commit
68b9e6ef80
4 changed files with 185 additions and 1 deletions
|
|
@ -45,3 +45,49 @@ Key: `support-url`
|
|||
Example value: `https://dummy.docs.rw`
|
||||
|
||||
Default value: `https://dummy.docs.rw`
|
||||
|
||||
## Variables in header values
|
||||
|
||||
Any header value can contain template variables — for example `{{USERNAME}}` or `{{SUBSCRIPTION_URL}}`. They are replaced with the user's data before the response is sent.
|
||||
|
||||
### The `{{STATUS}}` variable
|
||||
|
||||
Inserts the user's subscription status.
|
||||
|
||||
| Status | Default value |
|
||||
| ---------- | ------------- |
|
||||
| `ACTIVE` | `Active` |
|
||||
| `EXPIRED` | `Expired` |
|
||||
| `LIMITED` | `Limited` |
|
||||
| `DISABLED` | `Disabled` |
|
||||
|
||||
Example value: `rwEncodeBase64:Your subscription: {{STATUS}}`
|
||||
|
||||
### The `{{RESET_STRATEGY}}` variable
|
||||
|
||||
Inserts the traffic reset strategy. By default the value itself is printed: `NO_RESET`, `DAY`, `WEEK`, `MONTH` or `MONTH_ROLLING`.
|
||||
|
||||
Example value: `rwEncodeBase64:Reset: {{RESET_STRATEGY}}`
|
||||
|
||||
### Custom labels
|
||||
|
||||
Labels can be overridden right in the header value by listing `VALUE=label` pairs separated by `|`. Overriding is supported by `{{STATUS}}` and `{{RESET_STRATEGY}}`.
|
||||
|
||||
Example value: `rwEncodeBase64:Your subscription is {{STATUS:ACTIVE=✅ Active|EXPIRED=😓 Expired}}`
|
||||
|
||||
Result for an active user: `Your subscription is ✅ Active`
|
||||
|
||||
Example value: `rwEncodeBase64:Reset: {{RESET_STRATEGY:NO_RESET=never|MONTH=once a month}}`
|
||||
|
||||
Result for a monthly reset: `Reset: once a month`
|
||||
|
||||
Rules:
|
||||
|
||||
- Pairs are separated by `|`.
|
||||
- A value is split from its label at the first `=`, and the variable name at the first colon. That means both `=` and `:` are allowed inside a label: `{{STATUS:ACTIVE=Status: active}}`.
|
||||
- Whitespace inside a label is preserved as is, including a leading space.
|
||||
- Listing every value is optional — the ones you omit keep their default label.
|
||||
- An unknown value (a typo such as `ACTIVEE=`) is ignored, and the default label is used.
|
||||
- The characters `|`, `{` and `}` cannot be used inside a label.
|
||||
|
||||
> ⚠️ Emoji, Cyrillic and any other non-ASCII characters are only allowed together with `rwEncodeBase64:`. HTTP headers cannot carry such characters directly, and without encoding the subscription will not be served. Stick to Latin characters if `rwEncodeBase64:` is not used.
|
||||
|
|
|
|||
|
|
@ -45,3 +45,49 @@
|
|||
مقدار نمونه: `https://dummy.docs.rw`
|
||||
|
||||
مقدار پیشفرض: `https://dummy.docs.rw`
|
||||
|
||||
## متغیرها در مقدار هدرها
|
||||
|
||||
در مقدار هر هدری میتوانید از متغیرهای قالب استفاده کنید، برای نمونه `{{USERNAME}}` یا `{{SUBSCRIPTION_URL}}`. این متغیرها پیش از ارسال پاسخ با دادههای کاربر جایگزین میشوند.
|
||||
|
||||
### متغیر `{{STATUS}}`
|
||||
|
||||
وضعیت اشتراک کاربر را درج میکند.
|
||||
|
||||
| وضعیت | مقدار پیشفرض |
|
||||
| ---------- | ------------- |
|
||||
| `ACTIVE` | `Active` |
|
||||
| `EXPIRED` | `Expired` |
|
||||
| `LIMITED` | `Limited` |
|
||||
| `DISABLED` | `Disabled` |
|
||||
|
||||
مقدار نمونه: `rwEncodeBase64:اشتراک شما: {{STATUS}}`
|
||||
|
||||
### متغیر `{{RESET_STRATEGY}}`
|
||||
|
||||
راهبرد بازنشانی ترافیک را درج میکند. بهصورت پیشفرض خود مقدار چاپ میشود: `NO_RESET`، `DAY`، `WEEK`، `MONTH` یا `MONTH_ROLLING`.
|
||||
|
||||
مقدار نمونه: `rwEncodeBase64:بازنشانی: {{RESET_STRATEGY}}`
|
||||
|
||||
### نامهای دلخواه
|
||||
|
||||
نامها را میتوانید مستقیماً در مقدار هدر بازنویسی کنید؛ کافی است جفتهای `مقدار=نام` را با `|` از هم جدا کنید. متغیرهای `{{STATUS}}` و `{{RESET_STRATEGY}}` از بازنویسی پشتیبانی میکنند.
|
||||
|
||||
مقدار نمونه: `rwEncodeBase64:اشتراک شما {{STATUS:ACTIVE=✅ فعال|EXPIRED=😓 منقضی شده}}`
|
||||
|
||||
نتیجه برای کاربر فعال: `اشتراک شما ✅ فعال`
|
||||
|
||||
مقدار نمونه: `rwEncodeBase64:بازنشانی: {{RESET_STRATEGY:NO_RESET=بدون بازنشانی|MONTH=ماهانه}}`
|
||||
|
||||
نتیجه در حالت بازنشانی ماهانه: `بازنشانی: ماهانه`
|
||||
|
||||
قواعد:
|
||||
|
||||
- جفتها با نویسه `|` از هم جدا میشوند.
|
||||
- مقدار از نام با نخستین `=` و نام متغیر با نخستین دونقطه جدا میشود. بنابراین استفاده از `=` و `:` درون نام مجاز است: `{{STATUS:ACTIVE=وضعیت: فعال}}`.
|
||||
- فاصلههای درون نام دقیقاً حفظ میشوند، از جمله فاصله ابتدایی.
|
||||
- آوردن همه مقادیر الزامی نیست؛ مقادیری که مشخص نشوند نام پیشفرض خود را نگه میدارند.
|
||||
- مقدار ناشناخته (برای نمونه غلط تایپی `ACTIVEE=`) نادیده گرفته میشود و نام پیشفرض به کار میرود.
|
||||
- نویسههای `|`، `{` و `}` را نمیتوان درون نام به کار برد.
|
||||
|
||||
> ⚠️ ایموجی، حروف فارسی و هر نویسه غیر ASCII دیگر تنها همراه با `rwEncodeBase64:` مجاز هستند. هدرهای HTTP نمیتوانند چنین نویسههایی را مستقیماً منتقل کنند و بدون کدگذاری، اشتراک ارائه نخواهد شد. اگر از `rwEncodeBase64:` استفاده نمیکنید، تنها از حروف لاتین بهره بگیرید.
|
||||
|
|
|
|||
|
|
@ -44,4 +44,50 @@
|
|||
|
||||
Пример значения: `https://dummy.docs.rw`
|
||||
|
||||
Значение по умолчанию: `https://dummy.docs.rw`
|
||||
Значение по умолчанию: `https://dummy.docs.rw`
|
||||
|
||||
## Переменные в значениях хэдеров
|
||||
|
||||
В значении любого хэдера можно использовать шаблонные переменные — например `{{USERNAME}}` или `{{SUBSCRIPTION_URL}}`. Перед отправкой ответа они заменяются на данные пользователя.
|
||||
|
||||
### Переменная `{{STATUS}}`
|
||||
|
||||
Подставляет статус подписки пользователя.
|
||||
|
||||
| Статус | Значение по умолчанию |
|
||||
| ---------- | --------------------- |
|
||||
| `ACTIVE` | `Active` |
|
||||
| `EXPIRED` | `Expired` |
|
||||
| `LIMITED` | `Limited` |
|
||||
| `DISABLED` | `Disabled` |
|
||||
|
||||
Пример значения: `rwEncodeBase64:Ваша подписка: {{STATUS}}`
|
||||
|
||||
### Переменная `{{RESET_STRATEGY}}`
|
||||
|
||||
Подставляет стратегию сброса трафика. По умолчанию выводится само значение: `NO_RESET`, `DAY`, `WEEK`, `MONTH` или `MONTH_ROLLING`.
|
||||
|
||||
Пример значения: `rwEncodeBase64:Сброс: {{RESET_STRATEGY}}`
|
||||
|
||||
### Свои названия
|
||||
|
||||
Названия можно переопределить прямо в значении хэдера, перечислив пары `ЗНАЧЕНИЕ=название` через `|`. Переопределение поддерживают `{{STATUS}}` и `{{RESET_STRATEGY}}`.
|
||||
|
||||
Пример значения: `rwEncodeBase64:Ваша подписка {{STATUS:ACTIVE=✅ Активна|EXPIRED=😓 Истекла}}`
|
||||
|
||||
Результат для активного пользователя: `Ваша подписка ✅ Активна`
|
||||
|
||||
Пример значения: `rwEncodeBase64:Сброс: {{RESET_STRATEGY:NO_RESET=не сбрасывается|MONTH=раз в месяц}}`
|
||||
|
||||
Результат при месячном сбросе: `Сброс: раз в месяц`
|
||||
|
||||
Правила:
|
||||
|
||||
- Пары разделяются символом `|`.
|
||||
- Значение от названия отделяет первый знак `=`, а имя переменной — первое двоеточие. Поэтому и `=`, и `:` внутри названия допустимы: `{{STATUS:ACTIVE=Статус: активна}}`.
|
||||
- Пробелы внутри названия сохраняются как есть, включая ведущий.
|
||||
- Перечислять все значения необязательно — незаданные останутся со значением по умолчанию.
|
||||
- Неизвестное значение (например, опечатка `ACTIVEE=`) игнорируется, подставится значение по умолчанию.
|
||||
- Внутри названия нельзя использовать `|`, `{` и `}`.
|
||||
|
||||
> ⚠️ Эмодзи, кириллица и любые другие не-ASCII символы допустимы только вместе с `rwEncodeBase64:`. HTTP-хэдеры не умеют передавать такие символы напрямую, и без кодирования подписка не будет отдана. Если `rwEncodeBase64:` не используется, ограничьтесь латиницей.
|
||||
|
|
|
|||
|
|
@ -45,3 +45,49 @@
|
|||
示例值: `https://dummy.docs.rw`
|
||||
|
||||
默认值: `https://dummy.docs.rw`
|
||||
|
||||
## 头部值中的模板变量
|
||||
|
||||
任何头部的值都可以使用模板变量,例如 `{{USERNAME}}` 或 `{{SUBSCRIPTION_URL}}`。在发送响应之前,它们会被替换为该用户的数据。
|
||||
|
||||
### `{{STATUS}}` 变量
|
||||
|
||||
用于插入用户的订阅状态。
|
||||
|
||||
| 状态 | 默认值 |
|
||||
| ---------- | ---------- |
|
||||
| `ACTIVE` | `Active` |
|
||||
| `EXPIRED` | `Expired` |
|
||||
| `LIMITED` | `Limited` |
|
||||
| `DISABLED` | `Disabled` |
|
||||
|
||||
示例值: `rwEncodeBase64:你的订阅: {{STATUS}}`
|
||||
|
||||
### `{{RESET_STRATEGY}}` 变量
|
||||
|
||||
用于插入流量重置策略。默认输出值本身:`NO_RESET`、`DAY`、`WEEK`、`MONTH` 或 `MONTH_ROLLING`。
|
||||
|
||||
示例值: `rwEncodeBase64:重置: {{RESET_STRATEGY}}`
|
||||
|
||||
### 自定义名称
|
||||
|
||||
可以直接在头部值中覆盖名称,用 `|` 分隔多组 `值=名称`。`{{STATUS}}` 和 `{{RESET_STRATEGY}}` 支持覆盖。
|
||||
|
||||
示例值: `rwEncodeBase64:你的订阅 {{STATUS:ACTIVE=✅ 有效|EXPIRED=😓 已过期}}`
|
||||
|
||||
对活跃用户的结果: `你的订阅 ✅ 有效`
|
||||
|
||||
示例值: `rwEncodeBase64:重置: {{RESET_STRATEGY:NO_RESET=不重置|MONTH=每月一次}}`
|
||||
|
||||
按月重置时的结果: `重置: 每月一次`
|
||||
|
||||
规则:
|
||||
|
||||
- 各组之间用 `|` 分隔。
|
||||
- 值与名称按第一个 `=` 分隔,变量名按第一个冒号分隔。因此名称中可以包含 `=` 和 `:`:`{{STATUS:ACTIVE=状态: 有效}}`。
|
||||
- 名称中的空格会原样保留,包括开头的空格。
|
||||
- 不必列出全部值,未指定的将保留默认名称。
|
||||
- 未知值(例如拼写错误的 `ACTIVEE=`)会被忽略,并使用默认名称。
|
||||
- 名称中不能使用 `|`、`{` 和 `}`。
|
||||
|
||||
> ⚠️ 表情符号、中文以及其他任何非 ASCII 字符只能与 `rwEncodeBase64:` 一起使用。HTTP 头部无法直接传输这类字符,未经编码将导致订阅无法下发。如果不使用 `rwEncodeBase64:`,请仅使用拉丁字符。
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue