mihomo в Windows: установка и запуск из командной строки
Содержание
Ядро mihomo можно запускать в Windows напрямую, без графического клиента. Такой вариант выбирают ради полного контроля: собственный config.yaml, конкретная версия ядра, минимум лишнего ПО на машине или отладка конфигурации перед переносом на сервер.
Сразу оговоримся: для повседневной работы удобнее Clash Verge Rev — внутри то же ядро, но с интерфейсом. Эта инструкция для тех, кто осознанно хочет командную строку.
Скачивание и распаковка
- Возьмите архив mihomo v1.19.29 для Windows из центра загрузок: сборка amd64 — для обычных ПК на Intel/AMD, arm64 — для устройств на ARM-процессорах.
- Распакуйте zip в постоянную папку, например
C:\mihomo. - Для удобства переименуйте исполняемый файл из архива в
mihomo.exe.
Внутри архива лежит один исполняемый файл — ни установщика, ни служб, ни записей в реестре. Отсюда два практических следствия. Во-первых, папку стоит выбрать сразу постоянную: пути будут прописаны в командах запуска и в задании автозапуска, и после переноса каталога всё это придётся править. Во-вторых, избегайте путей с пробелами и кириллицей — они требуют кавычек в командной строке и дают лишний повод для опечаток. Убедиться, что файл распаковался корректно, проще всего запросом версии:
cd C:\mihomo
mihomo.exe -v
Каталог данных и config.yaml
Ядру нужен каталог данных: в нём лежат config.yaml и служебные файлы вроде географических баз, которые mihomo при первом запуске догрузит сам. Поместите конфигурацию — выгруженную из подписки или написанную вручную — в C:\mihomo\config.yaml; структура файла разобрана в введении в конфигурацию mihomo. Запуск с указанием каталога данных выглядит так:
cd C:\mihomo
mihomo.exe -d C:\mihomo
Если конфигураций несколько, конкретный файл задаётся параметром -f:
mihomo.exe -d C:\mihomo -f C:\mihomo\config.yaml
Без -f ядро берёт из каталога данных файл с именем config.yaml, поэтому для одной конфигурации хватает и одного параметра -d. Такое разделение удобно, когда вы держите рядом несколько профилей — рабочий и экспериментальный — и переключаетесь между ними, меняя только имя файла в команде.
| Параметр | Назначение |
|---|---|
-d | Каталог данных: конфигурация, кеш, географические базы |
-f | Путь к конкретному файлу конфигурации |
-t | Проверка конфигурации без запуска |
-v | Вывод версии ядра |
Один каталог данных не стоит делить между двумя одновременно запущенными экземплярами ядра: они начнут конкурировать и за порты, и за служебные файлы. Если нужно параллельно проверить другую конфигурацию, заведите отдельную папку со своим config.yaml и своим значением mixed-port.
Проверка конфигурации и логи
Перед запуском полезно проверить синтаксис конфигурации:
mihomo.exe -t -f C:\mihomo\config.yaml
При ошибке ядро укажет строку и причину — это быстрейший способ поймать опечатку в YAML. После обычного запуска mihomo пишет лог прямо в консоль: видно загрузку правил, поднятые порты и входящие соединения. Пока ядро работает, окно консоли должно оставаться открытым — закроете его, остановится и прокси.
В первых строках лога ищите две вещи: сообщение об успешно поднятых слушателях (это подтверждает, что порты заняты именно ядром) и отсутствие строк уровня error. Подробность вывода регулируется полем log-level в конфигурации: на этапе отладки полезен уровень debug, где видно, какое правило сработало для каждого соединения, а в спокойном режиме достаточно info — иначе консоль быстро заполняется.
При первом запуске Windows может показать запрос брандмауэра на разрешение сетевой активности программы. Для локального прокси достаточно доступа в частных сетях; если запрос был случайно отклонён, разрешение позже меняется в параметрах брандмауэра для этого приложения. Остановить ядро можно сочетанием Ctrl+C в том же окне консоли — это корректное завершение, конфигурация при этом не страдает.
Проверяем, что прокси работает
- Посмотрите в
config.yaml, какой порт указан вmixed-port(в примерах обычно используется 7890). - Пропишите в браузере или в системных настройках прокси-сервер
127.0.0.1с этим портом. - Откройте сервис определения IP-адреса — он должен показать адрес узла из конфигурации.
Если порт не слушается, проверьте, не занят ли он другой программой:
netstat -ano | findstr 7890
Последняя колонка вывода — идентификатор процесса; по нему виновника легко найти в диспетчере задач на вкладке «Подробности». Чаще всего виновником оказывается ранее запущенный экземпляр самого ядра или другой прокси-клиент, оставшийся работать в фоне. Занятый порт ядро прослушивать не сможет и сообщит об этом в логе, а браузер будет отвечать отказом в соединении. Решается либо освобождением порта, либо сменой значения mixed-port в конфигурации на любое свободное — не забудьте тогда поправить и настройки браузера.
Важное отличие от графического клиента. Запущенное вручную ядро не трогает настройки системного прокси Windows — оно лишь слушает локальный порт. Направить в него трафик ваша задача: через параметры прокси в системе, в браузере или в конкретном приложении. Графический клиент отличается именно этим — делает то же самое, но одним переключателем.
Автозапуск в фоне
Штатный способ автозапуска без висящего окна — Планировщик заданий Windows: создайте задачу, которая при входе в систему выполняет mihomo.exe с параметром -d и вашим каталогом данных. Детали интерфейса планировщика зависят от версии Windows, но принцип один: триггер «при входе в систему» плюс команда запуска. Для разовых экспериментов достаточно просто держать консоль открытой.
При создании задачи обратите внимание на три момента, из-за которых чаще всего «не работает автозапуск»:
- Рабочий каталог. Задача запускается не из вашей папки, поэтому все пути в команде указывайте абсолютными — и в
-d, и в-f. - Момент запуска. Ядру нужна сеть; если задача стартует слишком рано, разрешение адресов может не удаться. Небольшая задержка после входа в систему снимает проблему.
- Права. Для обычного локального прокси повышенные права не требуются — запускайте от своей учётной записи.
Обратная сторона фонового режима: лог больше не виден. Если ядро перестало отвечать, остановите задачу и запустите ядро вручную в консоли — так вы снова увидите причину.
Обновление ядра
Обновление сводится к замене исполняемого файла: остановите mihomo, распакуйте новую версию на место старой и запустите снова. Каталог данных с config.yaml при этом не затрагивается — настройки сохраняются. Держите резервную копию старого бинарника: если новая версия поведёт себя неожиданно, откат займёт секунды. Та же логика работы с ядром применима и на других системах — например, в серверном развёртывании на Linux.