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

102 lines
16 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
date: 2026-07-25
tags:
- clash
- mihomo
- proxy
- обход-блокировок
- форк
aliases:
- mihomo
- Clash.Meta
- Clash Meta
- MetaCubeX mihomo
- Михомо
link: 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]]. Подробный разбор возможностей и протоколов вынесен в [[Clash/06-features-protocols|отдельную заметку]].
## TL;DR
- **mihomo = Clash.Meta после переименования.** Проект начинался как форк `Dreamacro/clash` под именем Clash.Meta (ветка `Meta`), затем был переименован в mihomo; репозиторий — [MetaCubeX/mihomo](https://github.com/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](https://wiki.metacubex.one/).
## Зачем понадобился форк
К 2022 году у оригинального ядра [[Clash/01-clash-core|Clash]] накопились два разрыва, которые сообщество не могло закрыть само.
**Первый — функциональный разрыв между открытой и закрытой сборками.** Всё, ради чего Clash ставили как системный VPN или на роутер (TUN-интерфейс, перехват через eBPF, подгружаемые наборы правил), жило в закрытом бинарнике Clash Premium. Исходников не было, значит, ни поправить баг, ни собрать под свою платформу, ни проверить код было нельзя.
**Второй — протокольный разрыв.** Пока Clash умел Shadowsocks, VMess и Trojan, обход блокировок ушёл вперёд: появились [[xray/vless|VLESS]] с [[xray/reality|REALITY]], [[Hysteria/00-overview|Hysteria]] поверх QUIC, TUIC, WireGuard. Конкурирующие ядра [[xray/project-x|Xray-core]] и [[sing-box/sing-box-extended|sing-box]] эти протоколы поддерживали, Clash — нет. Пользователь с современной подпиской просто не мог её открыть в привычном клиенте.
**Clash.Meta** закрывал оба разрыва сразу: команда MetaCubeX взяла открытое ядро, реализовала в нём премиальные функции своим кодом и начала добавлять протоколы — свои и портированные из соседних экосистем. README проекта прямо указывает источники вдохновения: `Dreamacro/clash` как основа, а также sing-box и v2ray-core.
## Переименование в mihomo
В ноябрьской волне 2023 года Clash.Meta тоже попал под раздачу — репозиторий был заархивирован вместе с двумя десятками других проектов (подробности событий — в разделе [[Clash/01-clash-core|«Ноябрь 2023: репозитории исчезли»]]). В отличие от оригинала, проект вернулся к жизни, но уже под новым именем: `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|sing-box]] и [[xray/project-x|Xray-core]]. На практике так поднимают домашний шлюз: один 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|разборе архитектуры sing-box]]).
## Состояние проекта на июль 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|обзоре sing-box-extended]].
Вокруг ядра сложилась собственная инфраструктура: **metacubexd** — официальный веб-дашборд, **meta-rules-dat** — репозиторий геоданных и готовых наборов правил (включая компактный бинарный формат `.mrs`), [wiki.metacubex.one](https://wiki.metacubex.one/) — документация по всем полям конфига. Есть и экспериментальные попытки переписать ядро на другом языке — например, реализация `meow-rs` на Rust; такие проекты стоит рассматривать как эксперименты, а не замену.
## 📚 См. также
- [[Clash/01-clash-core|Ядро Clash]] — что такое ядро, устройство конфига, Clash API и история исчезновения оригинала.
- [[Clash/06-features-protocols|Возможности и протоколы mihomo]] — детальный разбор того, что ядро умеет в 2026 году.
- [[Clash/07-clients|Клиенты на ядре Clash/mihomo]] — Clash Verge Rev, FlClash, Mihomo Party, CMFA и пакеты для роутеров.
- [[Clash/08-vs-sing-box|mihomo против sing-box и Xray]] — сравнение трёх основных ядер и критерии выбора.
- [[sing-box/sing-box-extended|sing-box-extended]] — соседняя платформа со схожей идеей «один бинарник на все протоколы».
- 🔗 [github.com/MetaCubeX/mihomo](https://github.com/MetaCubeX/mihomo) — исходники и релизы.
- 🔗 [wiki.metacubex.one](https://wiki.metacubex.one/) — официальная документация конфига.
---
> [!quote] 🤖 Эти статьи открыты — можно обучать на них ИИ
> При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование и скачивание всего репозитория одним zip-архивом доступны в Forgejo: [исходник этой заметки](https://git.zapret.moe/zapretdiscordyoutube/todo/src/branch/main/Clash/02-mihomo.md) · [весь репозиторий](https://git.zapret.moe/zapretdiscordyoutube/todo/src/branch/main).