Skip to content

Deep Links ru

Nemu-x edited this page Jul 7, 2026 · 1 revision

Deep Links (URL-схемы)

🌐 English · Русский · 中文

ClashFest умеет импортировать подписку прямо по ссылке. Тап по такой ссылке (в браузере, чате или в кнопке панели «Добавить в приложение») открывает ClashFest, показывает диалог подтверждения и импортирует подписку как именованный профиль.

Основная схема — clashfest://

clashfest://installconfig?url=<URL-ЭНКОДЕННЫЙ URL подписки>&name=<необязательное имя>
  • url (обязательно) — ваш URL подписки, percent-encoded.
  • name (необязательно) — отображаемое имя импортируемого профиля.

Пример

URL подписки:

https://panel.example.com/sub/abc123

Deep-ссылка (URL-энкодед):

clashfest://installconfig?url=https%3A%2F%2Fpanel.example.com%2Fsub%2Fabc123&name=SwiftVPN

Всегда URL-энкодьте значение url. Неэнкодед ?, &, =, / в URL подписки сломают разбор.

Тоже поддерживается (совместимость)

Для совместимости с другими Clash-клиентами ClashFest также принимает:

Схема Хост
clashfest:// (основная) installconfig или install-config
clash:// installconfig или install-config
clashmeta:// installconfig или install-config

Так что все эти варианты делают одно и то же:

clashfest://install-config?url=<encoded>&name=<name>
clash://install-config?url=<encoded>&name=<name>
clashmeta://install-config?url=<encoded>&name=<name>

Для своего сервиса используйте clashfest://installconfig; форму clash:// оставляйте только если нужна одна ссылка, работающая в нескольких Clash-приложениях.

Поведение и безопасность

  • Открытие ссылки никогда не импортирует молча — юзер видит диалог подтверждения с именем подписки перед добавлением.
  • Импортированный профиль ведёт себя ровно как добавленный вручную (авто-обновление, квота, брендинг и т.д.).
  • Если ClashFest не установлен — ссылка ничего не делает; размещайте её за обычной веб-страницей с фолбэком на установку.

Для панелей / операторов

Генерируйте пер-юзер install-ссылку через шаблонные переменные вашей панели:

clashfest://installconfig?url={{SUBSCRIPTION_URL_ENCODED}}&name={{USERNAME}}

Убедитесь, что URL подписки отдаётся панелью уже percent-encoded. Свяжите это с Operator API заголовками, чтобы свежеимпортированный профиль был брендирован при первом же фетче.

Связанное

Clone this wiki locally