Перейти к основному содержимому

Шаблоны

Шаблон определяет, что именно получит клиент по ссылке подписки. Панель умеет отдавать несколько форматов, и для каждого формата есть свой шаблон.

Типы шаблонов​

ТипФорматКому
XRAY_JSONJSONклиенты на Xray-core (Happ, INCY и другие)
XRAY_BASE64base64-строкауниверсальный формат для большинства клиентов
MIHOMOYAMLMihomo / Clash Meta
CLASHYAMLLegacy Clash
STASHYAMLStash
SINGBOXJSONSing-box

Для каждого типа существует шаблон с именем Default. Его нельзя переименовать или удалить — это точка возврата, если пользовательский шаблон сломан.

Xray-конфиг​

Шаблон типа XRAY_JSON — это каркас клиентского конфига. Хост может ссылаться на собственный Xray JSON шаблон (xrayJsonTemplateUuid), тогда как остальные хосты используют шаблон по умолчанию. Правило маршрутизации может принудительно подставить свой шаблон и проигнорировать хостовый флаг ignoreHostXrayJsonTemplate.

{
"log": { "loglevel": "warning" },
"outbounds": [
{ "protocol": "vless", "tag": "proxy" }
]
}

Шаблоны подписки и клиентских конфигов​

Шаблоны MIHOMO, CLASH и STASH — это YAML с обязательными маркерами, в которые панель вставляет прокси и группы:

proxies: # LEAVE THIS LINE!
proxy-groups:
- name: '→ XLADA'
type: 'select'
proxies: # LEAVE THIS LINE!
rules:
- MATCH,→ XLADA

Маркеры # LEAVE THIS LINE! удалять нельзя. SINGBOX и XRAY_JSON хранятся как JSON, а XRAY_BASE64 — это тот же Xray-конфиг, закодированный в base64.

Переменные подстановки​

Пользовательские тексты в подписке собираются из переменных вида {{КЛЮЧ}}. Они работают в примечании хоста (remark), в customRemarks и в пользовательских заголовках ответа:

Осталось {{TRAFFIC_LEFT}} из {{TOTAL_TRAFFIC}}, дней: {{DAYS_LEFT}}
Подписка: {{SUBSCRIPTION_URL}}
Сброс: {{NEXT_TRAFFIC_RESET_AT:format=DD.MM.YYYY}}
ПеременнаяЗначение
USERNAME, EMAIL, TELEGRAM_ID, TAG, DESCRIPTIONданные пользователя
STATUSстатус (ACTIVE, LIMITED, …)
TRAFFIC_USED, TRAFFIC_LEFT, TOTAL_TRAFFICтрафик в читаемом виде
TRAFFIC_USED_BYTES, TRAFFIC_LEFT_BYTES, TOTAL_TRAFFIC_BYTES, LIFETIME_USED_BYTESтрафик в байтах
DAYS_LEFT, EXPIRE_UNIXсрок действия
SUBSCRIPTION_URL, SHORT_UUID, IDссылка и идентификаторы
RESET_STRATEGYпериод сброса трафика
CREATED_AT_UNIX, LAST_TRAFFIC_RESET_AT, NEXT_TRAFFIC_RESET_ATдаты
SS_HWID_LIMITлимит устройств

У STATUS, RESET_STRATEGY, LAST_TRAFFIC_RESET_AT и NEXT_TRAFFIC_RESET_AT есть аргументы — например, {{STATUS:ACTIVE=Всё хорошо}} или {{NEXT_TRAFFIC_RESET_AT:format=DD.MM.YYYY}}. Префикс rwEncodeBase64: в начале значения кодирует результат в base64.

Совет

Переменные в заголовках и customRemarks позволяют показать остаток трафика прямо в названии подписки, не открывая панель. Настраивается это в разделе настроек подписки.

Внимание

Неизвестный ключ остаётся в тексте как есть. Проверяйте результат в клиенте, прежде чем раскатывать шаблон на всех.

Что дальше​