Языки README:
- English — https://github.com/raywari/mihomo-constructor/blob/main/README.md
- Русский — https://github.com/raywari/mihomo-constructor/blob/main/README_RU.md
- 中文 (Chinese) — https://github.com/raywari/mihomo-constructor/blob/main/README_ZH.md
- فارسی (Persian / Iranian) — https://github.com/raywari/mihomo-constructor/blob/main/README_FA.md
Фронтенд-конструктор конфигов для Clash/Mihomo с упором на удобный визуальный интерфейс и чистый YAML на выходе — чтобы ты не копипастила куски конфигов вручную.
Идеально, если у тебя куча кривых ссылок и подписок от разных провайдеров, а хочется один аккуратный Clash/Mihomo конфиг без ручного редактирования YAML.
⚠️ Проект не является официальным продуктом команд Clash/Mihomo и никак не связан с MetaCubeX или другими авторами клиентов. Он просто умеет работать с их форматами конфигов и правилами.
Mihomo Constructor собирает готовый config.yaml для Clash/Mihomo, комбинируя:
- прокси-ссылки в популярных форматах (
vless://,vmess://,ss://,trojan://,ssr://,hysteria://,hy://,hy2://,hysteria2://,tuic://), - подписки (proxy-providers) с выбором режима, как их подгружать,
- прокси-группы с иконками, ручными списками и авто-генерацией прокси,
- правила из списков GEOSITE / GEOIP, rule-providers или вручную (DOMAIN/IP/PROCESS),
- опциональные сырые YAML-блоки для подписок, групп и правил, когда нужен полный контроль.
Приложение — статичная HTML-страница с ES-модулями и без бэкенда: открываешь, вставляешь свои данные, крутишь настройки и просто копируешь или скачиваешь готовый YAML.
- Парсер нормализует входные данные (base64 или обычный текст) и вытаскивает сразу несколько ссылок из одной вставки.
- Поддерживаются схемы VLESS, VMess, Shadowsocks, Trojan, ShadowsocksR, Hysteria (v1/v2),
hy://и TUIC, так что разнородные списки работают из коробки.
- Можно добавить несколько URL подписок за один раз — каждая автоматически становится провайдером.
- Для каждой подписки можно выбрать, как её подтягивать (напрямую — DIRECT или через Proxy) и при необходимости открыть расширенную YAML-зону, чтобы заменить определение провайдера вручную.
- Создавай группы через UI, выбирая тип (
select,url-test,fallback,load-balance), иконку и ручные списки прокси. - Все распаршенные прокси отображаются списком с чекбоксами для быстрого назначения; при удалении или переименовании группы автоматически обновляются зависящие от неё правила.
- Авто-сгенерированная группа
autoсобирает в себя все обнаруженные прокси и подписки, чтобы MATCH-правила продолжали работать даже при пустых ручных группах.
- Загружай категории GEOSITE/GEOIP из встроенных текстовых файлов и ищи по ним; добавляй rule-providers или ручные правила DOMAIN / IP / PROCESS.
- Можно одним кликом авто-сгруппировать правила, выбрать дефолтную цель для MATCH (DIRECT/REJECT/группа) и настраивать приоритеты в списке Rule order.
- Для rule-providers и самих правил есть продвинутые YAML-блоки, если нужно вставить уже существующую конфигурацию.
- При сборке всё (
proxies + groups + providers + rules) объединяется в один YAML-фрагмент; показывается сводка статуса, и можно сразу скопировать в буфер или скачатьconfig.yaml.
- Интерфейс уже умеет английский, китайский, персидский и русский; выбранный язык запоминается локально.
- Эмодзи рендерятся через Twemoji, так что иконки выглядят более-менее одинаково на разных платформах.
- Вставь ссылки в поле “Input links” или нажми Demo, чтобы подставить тестовые ссылки, затем жми Build config.
- Добавь подписки в блоке Subscriptions (proxy-providers), выбери режим загрузки и открой Advanced Subscriptions (YAML), если хочешь задать сырые YAML-описания провайдеров.
- Настрой группы прокси через ➕ Add group: выбери тип, иконку, ручные прокси и отметь чекбоксами, какие распаршенные прокси должны в неё попадать. В продвинутом режиме можно сразу писать YAML.
- Загрузи данные для правил кнопками 📄 Load (GEOSITE) и 🌍 Load (GEOIP), ищи нужные категории, добавляй rule-providers или вводи свои правила. Кнопка ⚙️ Auto rules group может накидать базовые правила, а в блоке Rule order ты вручную подправишь приоритеты.
- Задай поведение MATCH по умолчанию (DIRECT/REJECT/какая-то группа) и при необходимости подкорректируй продвинутый YAML для правил.
- Собери и экспортируй: в панели Ready YAML появится итоговая конфигурация с кнопками Copy и Download config.yaml. Статус-плашки покажут количество элементов или ошибки парсинга.
index.html— страница с UI на ванильных JS-модулях; тут все контролы для ввода, подписок, групп, правил, статуса и вывода YAML.styles/— шрифты и стили интерфейса.src/main.js— входная точка: парсит ввод, пересобирает состояние и генерирует YAML.src/parser.js— устойчивый парсер прокси-ссылок, поддерживающий несколько схем и base64.src/groups.js— логика и биндинги UI для управления группами прокси.src/subs.js— логика и биндинги UI для подписок (proxy-providers).src/rules.js— управление правилами, rule-providers, порядком правил и поведением MATCH.src/geo.js— загрузка и поиск по категориям GEOSITE/GEOIP из встроенных файлов.src/yaml-gen.js— сборка финального YAML из состояния приложения.src/i18n.jsиsrc/i18n/— выбор языка, словари переводов и интеграция Twemoji.geo/— готовые спискиgeosite.txt/geoip.txtдля офлайн-просмотра категорий GEOSITE/GEOIP.geo-update.py— вспомогательный скрипт для обновления GEO-списков изmeta-rules-dat.
Приложение статичное: клонируй репозиторий и подними любую статику, чтобы ES-модули корректно грузились, например:
python -m http.server 8000Потом открой в браузере http://localhost:8000/. Никакой сборки и бэкендов не нужно.
geo/geosite.txt и geo/geoip.txt берутся из MetaCubeX/meta-rules-dat и регенерируются скриптом geo-update.py:
python geo-update.pyСкрипт клонирует исходный репозиторий, вытаскивает названия категорий (обрезая расширения), перекладывает текстовые файлы в geo/ и удаляет временный клон.
- Без бэкенда: всё работает прямо в браузере, подписки подтягиваются с клиента.
- Только браузер: CLI-обёртки нет, инструмент заточен под интерактивный веб-интерфейс.
- Совместимость клиентов: вывод оптимизирован под конфиги Mihomo/Clash.Meta. Некоторым форкам или сильно кастомным клиентам могут понадобиться ручные правки.
- Нет встроенного тестирования нод: приложение не пингует и не бенчмаркает прокси, оно только генерирует YAML-конфиг.
- Добавляй или правь переводы в
src/i18n/*.jsи регистрируй новые локали вsrc/i18n.js. - Можно смело открывать issues или PR’ы для улучшения парсера, пресетов или UI.
- Пожалуйста, держи переводы README в их отдельных файлах; эта английская версия — основная и каноничная.
Mihomo Constructor — это независимый вспомогательный инструмент поверх форматов и правил Clash/Mihomo. Все упомянутые продуктовые названия принадлежат их авторам.