Подписка прокси — это приватный URL от вашего провайдера прокси, который возвращает список ваших серверов. Прокси-приложение загружает его, импортирует сразу все серверы, а потом периодически загружает заново, так что новые или измененные серверы появляются сами. Ссылка на подписку Clash устроена так же, только URL возвращает полную конфигурацию Clash: не только серверы, но и группы прокси и правила.
В этой статье разберем, что содержит подписка, какие есть три распространенных формата, как приложения загружают и обновляют подписки и как сохранить свою подписку в тайне.
Что такое подписка прокси?
Отдельным сервером можно поделиться в виде одной ссылки, например ss://… или vless://…. Это удобно для одного собственного сервера. Но провайдеры обычно дают много серверов в разных странах и время от времени меняют адреса, порты и ключи. Присылать каждый раз новые ссылки было бы неудобно.
Поэтому вместо этого они дают один URL, например:
https://sub.example.com/api/v1/client/subscribe?token=abc123
За этим URL находится документ со списком ваших серверов. Часть token определяет ваш аккаунт, поэтому один и тот же URL возвращает именно ваши серверы и ничьи больше. Вы один раз вставляете его в приложение, а дальше приложение само поддерживает его в актуальном состоянии.
| Ссылка на сервер | URL подписки | |
|---|---|---|
| Содержит | Один сервер | Список серверов, часто с группами и правилами |
| Выглядит как | ss://, vless://, trojan://, … |
https://… |
| Изменения | Никогда: новый сервер — новая ссылка | Провайдер меняет то, что возвращает URL |
| Обновляется в приложении | Нет | Да, по расписанию или по запросу |
Распространенные форматы подписок
Единого стандарта нет. Большинство провайдеров используют один из трех форматов.
Подписки Base64 (V2Ray, Xray, Shadowsocks)
Самый старый и простой формат — обычный список ссылок, по одной на строку, закодированный в Base64. В декодированном виде он выглядит так:
ss://YWVzLTI1Ni1nY206c2VjcmV0@ss.example.com:8388#Tokyo
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&sni=vless.example.com#Singapore
trojan://secret@trojan.example.com:443?sni=trojan.example.com#Frankfurt
Его легко прочитать любому приложению, но в нем есть только серверы. Групп и правил нет, так что как направлять трафик, решает приложение.
YAML для Clash и Mihomo
Подписка Clash возвращает конфигурацию в формате YAML. Mihomo, движок большинства современных приложений Clash, читает тот же формат и поддерживает больше протоколов. Сокращенный пример:
proxies:
- name: Tokyo
type: ss
server: ss.example.com
port: 8388
cipher: aes-256-gcm
password: secret
proxy-groups:
- name: Auto
type: url-test
proxies: [Tokyo]
url: https://www.gstatic.com/generate_204
interval: 300
rules:
- DOMAIN-SUFFIX,example.org,DIRECT
- MATCH,Auto
Помимо proxies, конфигурация Clash может содержать proxy-groups (выбор вручную, самого быстрого или резервного сервера), rules, которые решают, что идет через прокси, rule-providers и proxy-providers, подтягивающие дополнительные списки по другим URL, и настройки dns. Поэтому подписку Clash предпочитают, когда она есть: вы получаете готовую схему маршрутизации, а не только серверы.
Профили Surge
Surge использует текстовый файл в стиле INI с разделами вроде [Proxy], [Proxy Group] и [Rule]. Многие провайдеры предлагают и его. Другие приложения могут прочитать общие части, но у разделов, которые есть только в Surge, например скриптов и перезаписи URL, аналогов в других приложениях нет.
Как приложения загружают подписку
Когда приложение загружает подписку, оно отправляет обычный HTTPS-запрос. Здесь важны две детали.
Формат определяет User-Agent
Многие панели провайдеров отдают разный формат в зависимости от того, какое приложение запрашивает, и различают приложения по заголовку User-Agent. Запрос, который представляется клиентом Clash, получает YAML, а остальные могут получить список Base64. Некоторые панели также позволяют выбрать формат дополнительной частью URL — смотрите инструкции провайдера.
Potatso при загрузке подписки представляется как clash.meta. Поэтому панель, которая выбирает формат по приложению, отправляет и Potatso свою конфигурацию Clash / Mihomo с группами и правилами.
Заголовки передают остаток трафика
Многие панели добавляют к ответу заголовок subscription-userinfo:
subscription-userinfo: upload=1234; download=5678; total=107374182400; expire=1798761600
upload и download — израсходованные байты, total — объем трафика по тарифу, а expire — метка времени Unix, когда тариф заканчивается. Приложения, которые читают этот заголовок, показывают израсходованный трафик и дату окончания без входа на сайт провайдера. Заголовок Content-Disposition с именем файла часто становится названием профиля.

Автоматические обновления
Подписка полезна, только пока она актуальна. Приложения загружают ее заново по расписанию, чаще всего раз в день, и заменяют старый список серверов новым. Большинство приложений также позволяют обновить подписку вручную, если сервер перестал работать.
Хорошее приложение к тому же сохраняет ваши изменения. Если вы переименовали группу или добавили правило, следующее обновление не должно все это отменить. Potatso, например, записывает ваши правки как переопределения и применяет их снова после каждого обновления, не трогая исходную подписку.
Храните URL подписки в тайне
URL подписки, по сути, — это пароль:
- Любой, у кого он есть, может пользоваться вашим аккаунтом. Он сможет импортировать ваши серверы и израсходовать ваш трафик.
- Не публикуйте его. Это касается и скриншотов, QR-кодов, отчетов об ошибках и групповых чатов.
- Используйте HTTPS. Подписку, загруженную по обычному
http://, можно прочитать и изменить по пути. Potatso показывает предупреждение, если конфигурация пришла по обычному HTTP. - Сбросьте его при утечке. В большинстве личных кабинетов провайдеров есть кнопка сброса ссылки на подписку. После этого импортируйте новый URL.
- Осторожнее с онлайн-конвертерами. Вставляя URL на сторонний сайт для конвертации, вы отдаете этому сайту свои серверы.
Подписки и протоколы
Подписка — это просто контейнер. Серверы внутри нее используют протоколы вроде Shadowsocks, VLESS, Trojan, Hysteria 2 или AnyTLS, и приложение должно поддерживать каждый из них, чтобы им воспользоваться. Обычно приложение пропускает серверы, которые не может использовать, и сообщает причину. Чем отличаются эти протоколы, рассказано в статье Сравнение протоколов прокси, а о самом распространенном из них — в статье Что такое Shadowsocks.
Подписка на iPhone
Potatso, бесплатный прокси-клиент для iPhone и iPad, импортирует YAML Clash / Mihomo, подписки Base64, JSON V2Ray / Xray, профили Surge и Shadowsocks SIP008. Перед импортом он показывает предпросмотр, отображает израсходованный трафик и дату окончания и по умолчанию обновляет подписку ежедневно.
Пошаговая инструкция — в статье Как импортировать подписку Clash на iPhone, а полный список форматов — на странице Импорт подписок и конфигураций.
Частые вопросы
- Что такое ссылка на подписку Clash?
- Это URL от вашего провайдера прокси, который возвращает конфигурацию Clash или Mihomo в формате YAML. В файле перечислены ваши серверы, а обычно еще группы прокси и правила, и приложение по расписанию загружает его заново, чтобы данные оставались актуальными.
- URL подписки — то же самое, что ссылка на сервер?
- Нет. Ссылка вроде ss:// или vless:// описывает один сервер и никогда не меняется. URL подписки указывает на список на сервере провайдера, где серверы можно добавлять, удалять и изменять, а приложение загружает его заново, чтобы получить эти изменения.
- Почему подписка в браузере выглядит как случайный набор символов?
- Многие подписки V2Ray и Shadowsocks — это списки ссылок, закодированные в Base64. Прокси-приложение их декодирует. Кроме того, некоторые провайдеры отдают разный формат в зависимости от того, какое приложение запрашивает, поэтому браузер может увидеть не то, что получает приложение.
- Что будет, если кто-то получит мой URL подписки?
- Он сможет импортировать ваши серверы и расходовать ваш трафик, потому что URL обычно содержит токен, который работает как пароль. Если ссылка утекла, сбросьте ее в личном кабинете провайдера и импортируйте новую.