-
Notifications
You must be signed in to change notification settings - Fork 4
Encrypted Subscriptions ru
ClashFest умеет импортировать подписки, зашифрованные age — конфиг едет от панели до устройства зашифрованным блобом, и CDN, кэши и любой, кто смотрит трафик по пути, не видят ничего.
Знать, как это работает, не нужно. Если ваш провайдер использует шифрование:
- Скопируйте полную ссылку подписки из личного кабинета (или отсканируйте QR). Она выглядит так:
https://panel.example.com/sub/TOKEN#AGE-SECRET-KEY-1XXXX… - Импортируйте её в ClashFest как обычно. Приложение само распознает ключ после
#, сохранит его в профиле, а URL оставит чистым. Всё — обновления дальше работают автоматически.
Если импорт падает с ошибкой «подписка зашифрована… [E-30]» — вы импортировали ссылку без ключа. Вернитесь в кабинет и скопируйте полную ссылку, либо вставьте ключ вручную: Свойства профиля → Секретный ключ age.
Часть ссылки после
#никогда не покидает устройство — браузеры и HTTP-клиенты отрезают fragment перед отправкой запроса.
На вашей стороне два шага: зашифровать конфиг и доставить ключ.
В ClashFest: Настройки → Meta Features → Ключи age → выберите X25519 (или постквантовый MLKEM768-X25519) → Сгенерировать. Скопируйте оба ключа. Либо на сервере:
age-keygen
# Public key: age1… ← на панель
# AGE-SECRET-KEY-1… ← пользователюПанель (или middleware перед ней) шифрует отдаваемый YAML публичным ключом пользователя:
age -r age1… -a -o subscription.yaml.age subscription.yamlОтдавайте armor-вывод (-----BEGIN AGE ENCRYPTED FILE-----…) как тело подписки. Заголовки (subscription-userinfo, X-Brand-*, …) остаются открытыми — ClashFest читает их как обычно.
Приклейте секретный ключ как fragment к ссылке, которую выдаёте пользователю:
https://panel.example.com/sub/TOKEN#AGE-SECRET-KEY-1XXXX…
Fragment не уходит в сеть, не попадает в логи и CDN. Пользователь импортирует одну ссылку — и всё работает.
- Пара ключей на пользователя — генерируйте пару на аккаунт. Отзыв пользователя = удаление его ключа, остальных это не касается.
- Расшифрованный конфиг хранится на устройстве в приватном хранилище приложения (тот же уровень защиты, что и у учёток нод внутри него).
- Файлы rule-/proxy-провайдеров тоже можно отдавать зашифрованными — движок расшифрует их тем же ключом.
📱 User Guide
- Getting Started
- Profiles & Nodes
- Routing & Rules
- Settings
- Deep Links
- Encrypted Subscriptions
- Troubleshooting
🏢 Operator API
📺 Companion