«Конвертация подписки» — шаг, которого многим не избежать: провайдер отдаёт только формат v2ray, клиенту нужен формат Clash, и между ними встаёт сервис конвертации.
Здесь разобрано, что он делает, чем это грозит и как пользоваться им реже — или не пользоваться вовсе.
Почему эта штука существует
Разные клиенты едят разные форматы:
Что делает сервис конвертации:
В чём риск
Конкретно:
Кроме того, возвращаемая конвертером конфигурация содержит шаблон правил. Если происхождение шаблона сомнительно, туда в принципе можно вставить произвольные правила — например, направить определённые домены на конкретный узел.
Когда конвертация действительно нужна
Сначала проверьте, нужна ли она вам вообще:
Многие не знают, что у их провайдера уже есть ссылка в формате Clash. Внимательно посмотрите в панели; на странице подписки обычно есть кнопки для нескольких форматов, либо добавление ?flag=clash к той же ссылке отдаёт формат Clash.
Случаи, когда конвертация действительно помогает:
- Провайдер и правда отдаёт только base64 для v2ray, а клиент это не читает
- Нужно объединить несколько подписок в разных форматах в одну
- Хочется готовый шаблон правил, а в конфигурации провайдера правил нет
Более безопасные альтернативы
Вариант 1: написать свою конфигурацию и тянуть узлы через proxy-provider
Если провайдер отдаёт формат Clash, самый чистый путь — написать основную конфигурацию самостоятельно (группы и правила полностью под вашим контролем), а узлы тянуть через proxy-providers:
proxy-providers:
main:
type: http
url: "адрес вашей подписки"
interval: 3600
path: ./providers/main.yaml
header:
User-Agent: ["clash.meta"]
health-check:
enable: true
url: http://www.gstatic.com/generate_204
interval: 300
proxy-groups:
- name: "PROXY"
type: select
use: [main]
proxies: ["AUTO", DIRECT]
- name: "AUTO"
type: url-test
use: [main]
interval: 300
tolerance: 50
rules:
- GEOIP,CN,DIRECT
- MATCH,PROXYАдрес подписки видит только ваш клиент; третьих сторон нет.
См. управление несколькими подписками и их объединение.
Вариант 2: воспользоваться расширенным конфигом клиента
В конфигурации от провайдера скудные правила? Конвертация не нужна — добавьте их локально через расширенный конфиг Merge:
prepend-rules:
- RULE-SET,my-proxy,PROXY
- RULE-SET,my-direct,DIRECT
rule-providers:
my-proxy:
type: http
behavior: domain
url: "адрес набора правил"
path: ./ruleset/proxy.txt
interval: 86400Наборы правил — это публичные списки доменов без чего-либо приватного, так что хостинг у третьей стороны риска не несёт.
Вариант 3: поднять конвертер у себя
Если конвертация действительно нужна, но отдавать узлы никому не хочется, разверните свой. Распространённые открытые реализации поднимаются одной командой Docker:
docker run -d --name subconverter \
--restart always \
-p 25500:25500 \
образ-конвертераЗатем используйте http://127.0.0.1:25500/sub?... в качестве адреса конвертации.
Плюс своего экземпляра: информация об узлах не покидает вашу машину. Цена — служба, которую надо обслуживать.
Если сторонний конвертер всё же неизбежен
«Сгенерировать один раз» — ключевая идея: позволить клиенту бесконечно обращаться к адресу конвертации значит дать третьей стороне постоянный доступ к вашим узлам. Сконвертируйте однажды, возьмите YAML, сохраните локально и дальше ведите сами — экспозиция ограничивается одним моментом.
Проверка результата
Получив сконвертированную конфигурацию, посмотрите как минимум на три места:
1. Подозрительное в секции правил
rules:
- DOMAIN-SUFFIX,незнакомый-домен,конкретный-узел # ← вот это настораживаетНормальный шаблон правил не направляет конкретный домен на один определённый узел.
2. Лишние узлы в секции proxies
Сравните с числом узлов в исходной подписке. Откуда взялись лишние?
3. Куда указывают url в rule-providers
Адреса наборов правил должны быть публичными репозиториями правил, а не странными доменами.
О том, что «ссылка подписки — это учётные данные»
Стоит повторить:
Поэтому:
- Не публикуйте её в открытых группах, на форумах и в трекерах задач
- Делясь скриншотами клиента, замазывайте поле подписки
- Не импортируйте её на устройстве, которому не доверяете
- Сбрасывайте её в панели провайдера, как только заподозрите утечку
Коротко
- Сначала проверьте, есть ли у провайдера ссылка в формате Clash — скорее всего есть, и тогда конвертация не нужна вовсе
- Сервис конвертации видит все ваши учётные данные узлов, и это его главный риск
- Предпочитайте proxy-provider плюс локальную конфигурацию, чтобы ссылка подписки не касалась третьих сторон
- Для правил используйте публичные наборы; в них нет ничего приватного, и сторонний хостинг тут нормален
- Если без конвертации никак, поднимите свою — или как минимум «сгенерируйте один раз», а не запрашивайте бесконечно
Смотрите также: управление несколькими подписками и расширенный конфиг Merge.
Смежные документы
Конфигурация Clash / Mihomo разобрана сверху донизу — порты, режим, DNS, proxies, proxy-groups, rules и rule-providers — плюс минимальная рабочая конфигурация, которую можно вставить как есть.
Что каждая группа политик делает на самом деле, когда её применять, какие параметры важны, плюс готовая структура групп и опции include-all и filter из Mihomo.
Правка скачанного конфига откатывается при следующем обновлении. Как устроен расширенный конфиг Clash Verge: синтаксис prepend/append/override, порядок слияния и набор полезных фрагментов.