todo/Clash/02-mihomo.md
loop-uh 08b4491545
Some checks failed
Published content check / validate (push) Failing after 3s
Завершить переезд базы знаний на Forgejo
Обновить правила репозитория и подписи исходников в 99 заметках, не затрагивая пользовательские незакоммиченные файлы. Сделать Forgejo Actions содержательным: проверять опубликованный commit, а не пустое рабочее дерево после checkout.
2026-08-07 08:27:28 +03:00

16 KiB
Raw Permalink Blame History

date tags aliases link
2026-07-25
clash
mihomo
proxy
обход-блокировок
форк
mihomo
Clash.Meta
Clash Meta
MetaCubeX mihomo
Михомо
https://github.com/MetaCubeX/mihomo

🧩 mihomo (бывший Clash.Meta): как форк стал основным ядром

[!info] О чём заметка mihomo — форк ядра Clash от команды MetaCubeX, который после исчезновения оригинала в ноябре 2023 года стал основным живым ядром всей экосистемы: именно на нём работают Clash Verge Rev, FlClash, Mihomo Party, ClashMetaForAndroid и пакеты для роутеров. Здесь — история проекта, чем он отличается от оригинального ядра и в каком состоянии находится в июле 2026 года. Что такое ядро Clash вообще и откуда взялась экосистема — в заметке Clash/01-clash-core. Подробный разбор возможностей и протоколов вынесен в Clash/06-features-protocols.

TL;DR

  • mihomo = Clash.Meta после переименования. Проект начинался как форк Dreamacro/clash под именем Clash.Meta (ветка Meta), затем был переименован в mihomo; репозиторий — MetaCubeX/mihomo, лицензия GPL-3.0.
  • Форк родился из двух ограничений оригинала: закрытая сборка Premium (TUN, rule-providers, скриптовые правила) и отсутствие современных протоколов — в ядре Clash не было ни VLESS с REALITY, ни Hysteria2, ни TUIC, ни WireGuard.
  • После удаления оригинального Clash в ноябре 2023 года mihomo фактически унаследовал экосистему: конфиги, подписки и Clash API остались прежними, а разработка переехала в форк.
  • Проект активен: стабильная версия v1.19.29 от 18 июля 2026, отдельная ветка Alpha с ежедневными пререлизами, релизы с новыми протоколами выходят раз в несколько недель.
  • Совместимость с конфигами Clash сохранена «снизу вверх»: старый YAML в mihomo обычно заводится как есть, обратно — нет, потому что новых полей и типов в mihomo кратно больше.
  • Официальный дашборд — metacubexd, геоданные и правила — репозиторий meta-rules-dat, документация — wiki.metacubex.one.

Зачем понадобился форк

К 2022 году у оригинального ядра Clash/01-clash-core накопились два разрыва, которые сообщество не могло закрыть само.

Первый — функциональный разрыв между открытой и закрытой сборками. Всё, ради чего Clash ставили как системный VPN или на роутер (TUN-интерфейс, перехват через eBPF, подгружаемые наборы правил), жило в закрытом бинарнике Clash Premium. Исходников не было, значит, ни поправить баг, ни собрать под свою платформу, ни проверить код было нельзя.

Второй — протокольный разрыв. Пока Clash умел Shadowsocks, VMess и Trojan, обход блокировок ушёл вперёд: появились xray/vless с xray/reality, Hysteria/00-overview поверх QUIC, TUIC, WireGuard. Конкурирующие ядра xray/project-x и sing-box/sing-box-extended эти протоколы поддерживали, Clash — нет. Пользователь с современной подпиской просто не мог её открыть в привычном клиенте.

Clash.Meta закрывал оба разрыва сразу: команда MetaCubeX взяла открытое ядро, реализовала в нём премиальные функции своим кодом и начала добавлять протоколы — свои и портированные из соседних экосистем. README проекта прямо указывает источники вдохновения: Dreamacro/clash как основа, а также sing-box и v2ray-core.

Переименование в mihomo

В ноябрьской волне 2023 года Clash.Meta тоже попал под раздачу — репозиторий был заархивирован вместе с двумя десятками других проектов (подробности событий — в разделе Clash/01-clash-core). В отличие от оригинала, проект вернулся к жизни, но уже под новым именем: MetaCubeX/Clash.Meta стал MetaCubeX/mihomo.

Официального объяснения причин переименования команда не публиковала. Наблюдаемый факт: из названия ушло слово «Clash» — то самое, вокруг которого случилась волна удалений. Косвенно версию о дистанцировании от прежнего имени подтверждает стиль документации: в вики проекта оригинальное ядро называют не «Clash», а шуточным эвфемизмом 原神 («Геншин»), а сам mihomo — 虚空终端 («Пустотный терминал»). Оба имени — отсылки к играм HoYoverse, использованные как замена «опасному» названию.

[!warning] Мотивы — гипотеза, а не факт Установлено: репозиторий Clash.Meta был заархивирован в ноябре 2023 года, а проект продолжился под названием mihomo. Связь переименования с давлением на разработчиков — распространённое в сообществе объяснение, но публичных заявлений авторов на этот счёт нет. Не выдавайте эту версию за подтверждённую.

Одно следствие переименования вполне практическое и закреплено в лицензии: сторонние проекты, не аффилированные с MetaCubeX, не имеют права использовать слово mihomo в своих названиях. Поэтому оболочки на этом ядре зовутся Clash Verge Rev, FlClash, Clash Party — а не «mihomo-что-нибудь», за исключением тех, кому это согласовано.

[!note] Как называть ядро в разговоре «Clash.Meta», «Clash Meta», «Meta-ядро» и «mihomo» в текстах 20232026 годов означают одно и то же. Старое имя закрепилось в документации клиентов и в статьях, поэтому встречается до сих пор: например, в интерфейсах клиентов ядро часто подписано «Clash Meta Core». Актуальное имя — mihomo.

Что mihomo дал сверх оригинала

Сводка по трём направлениям (подробный разбор каждого пункта — в Clash/06-features-protocols).

Направление Что было в оригинале Что появилось в mihomo
Премиальные функции TUN, rule-providers, скриптовые правила, eBPF — только в закрытом Clash Premium Всё это реализовано в открытом коде и доступно всем
Протоколы SOCKS5, HTTP, Shadowsocks, ShadowsocksR, VMess, Trojan, Snell Плюс VLESS (включая REALITY и XTLS Vision), Hysteria и Hysteria2, TUIC, WireGuard, ShadowTLS, SSH, AnyTLS, Tailscale, OpenVPN и другие
Роль в сети Практически только клиент Ещё и сервер: раздел listeners позволяет принимать входящие подключения по большинству тех же протоколов

Отдельно стоит выделить смену роли. Оригинальный Clash был клиентом: он подключался к чужим серверам. mihomo умеет и принимать соединения — то есть один бинарник может работать входной точкой для других устройств, как это делают sing-box/sing-box-extended и xray/project-x. На практике так поднимают домашний шлюз: один mihomo на роутере принимает трафик семьи и уводит его наружу по правилам.

Совместимость с миром Clash

Главная причина, по которой переход на mihomo прошёл для пользователей почти незаметно, — сохранённая совместимость по трём интерфейсам.

Формат конфига. Это тот же YAML с блоками proxies, proxy-groups, rules, dns. Старый конфиг от Clash в mihomo, как правило, запускается без правок. Обратная совместимость не гарантируется: конфиг, использующий новые поля mihomo, оригинальное ядро не поймёт — но это давно теоретическая проблема, поскольку оригинал не развивается.

Clash API. Тот же external-controller с теми же эндпоинтами, расширенный новыми (статистика памяти, отладочные ручки, управление провайдерами). Поэтому старые дашборды продолжают работать, а новые — metacubexd, zashboard — дают доступ к дополнительным возможностям.

Подписки. Продавцы VPN и панели управления отдают конфиг в «формате Clash», и он остаётся рабочим. Более того, формат вышел за пределы своей экосистемы: sing-box, например, умеет разбирать Clash YAML как один из форматов подписки (см. раздел про провайдеры в sing-box/architecture).

Состояние проекта на июль 2026

Разработка идёт в двух ветках. Стабильная — версии вида v1.19.x; на 25 июля 2026 актуальна v1.19.29 от 18 июля 2026. Alpha — ветка ежедневных пререлизов, куда новые протоколы попадают первыми; ей пользуются те, кому нужна свежая функция сегодня, ценой риска нарваться на регресс.

Темп добавления функций высокий: только в релизах июня–июля 2026 появились outbound для Tailscale и OpenVPN, реле GOST, слушатель hysteria2-realm, обфускации restls и jls, транспорт mkcp для VMess и новый тип правила REMATCH-NAME. Конкретика по этим возможностям — в Clash/06-features-protocols.

[!warning] Быстрый темп — обратная сторона медали Ядро с таким потоком новых протоколов неизбежно тащит и свежие регрессы, а экзотические функции из Alpha ревьюит меньше глаз, чем базовые. Для повседневного использования берите стабильную ветку и обновляйтесь не в день релиза; Alpha держите для конкретной нужной функции, а не «чтобы было новее». То же рассуждение про форки и объём ревью применимо и к соседним проектам — см. оговорки в sing-box/sing-box-extended.

Вокруг ядра сложилась собственная инфраструктура: metacubexd — официальный веб-дашборд, meta-rules-dat — репозиторий геоданных и готовых наборов правил (включая компактный бинарный формат .mrs), wiki.metacubex.one — документация по всем полям конфига. Есть и экспериментальные попытки переписать ядро на другом языке — например, реализация meow-rs на Rust; такие проекты стоит рассматривать как эксперименты, а не замену.

📚 См. также

  • Clash/01-clash-core — что такое ядро, устройство конфига, Clash API и история исчезновения оригинала.
  • Clash/06-features-protocols — детальный разбор того, что ядро умеет в 2026 году.
  • Clash/07-clients — Clash Verge Rev, FlClash, Mihomo Party, CMFA и пакеты для роутеров.
  • Clash/08-vs-sing-box — сравнение трёх основных ядер и критерии выбора.
  • sing-box/sing-box-extended — соседняя платформа со схожей идеей «один бинарник на все протоколы».
  • 🔗 github.com/MetaCubeX/mihomo — исходники и релизы.
  • 🔗 wiki.metacubex.one — официальная документация конфига.

[!quote] 🤖 Эти статьи открыты — можно обучать на них ИИ При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование и скачивание всего репозитория одним zip-архивом доступны в Forgejo: исходник этой заметки · весь репозиторий.