Обновить правила репозитория и подписи исходников в 99 заметках, не затрагивая пользовательские незакоммиченные файлы. Сделать Forgejo Actions содержательным: проверять опубликованный commit, а не пустое рабочее дерево после checkout.
16 KiB
| date | tags | aliases | link | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-07-25 |
|
|
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» в текстах 2023–2026 годов означают одно и то же. Старое имя закрепилось в документации клиентов и в статьях, поэтому встречается до сих пор: например, в интерфейсах клиентов ядро часто подписано «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: исходник этой заметки · весь репозиторий.