| img | ||
| tests | ||
| install.sh | ||
| LICENSE | ||
| mhstudio.sh | ||
| mihomo_editor.py | ||
| README.MD | ||
| requirements.txt | ||
| S95mihomo-web | ||
Mihomo Studio for Keenetic/Netcraze
Mihomo Studio — это легковесный веб-интерфейс для удобного управления конфигурациями xkeen Mihomo на вашем устройстве (например, роутере Keenetic). Он позволяет редактировать конфигурационные файлы, добавлять и управлять прокси, переключаться между профилями, создавать бэкапы и перезапускать сервис Mihomo прямо из браузера.
Скрипт написан на чистом Python с использованием стандартной библиотеки http.server и не требует тяжелых зависимостей, что делает его идеальным для систем с ограниченными ресурсами.
Примечание: Данный сервис разработан специально для проекта XKeen.
🚀 Основные возможности
-
Парсеры конфигураций:
- VLESS: Добавление прокси напрямую из ссылки
vless://(Reality, WebSocket, gRPC). Имя прокси извлекается автоматически. - WireGuard: Добавление прокси из
.confфайлов или текста конфигурации. Поддержка Drag & Drop файлов прямо в диалоговое окно. - AmneziaWG (v1.0 - v3.1): Полная поддержка современных параметров AmneziaWG 3.1:
HeaderProtectionKey(header-protection-key)ContentPaddingAddition(content-padding-addition)RandomTrailers(random-trailers: true/false)DisableCookies(disable-cookies: true/false)RekeyAfterTime,RekeyTimeout,RejectAfterTime,KeepaliveTimeout,MaxHandshakeAttempts- Параметры v1.0 - v2.0 (
Jc,Jmin,Jmax,S1-S4,H1-H4,I1-I5,J1-J3,Itime) - Автоматическая генерация
version: 3и сохранение диапазонов для параметров AmneziaWG (например,rekey-after-time: 100-120,content-padding-addition: 10-100).
- Умный детектор протоколов: Интерактивный бейдж в модальном окне добавления/изменения, автоматически определяющий тип и версию протокола в реальном времени (AmneziaWG v3.1, AmneziaWG v1.5/2.0, AmneziaWG v1.0, WireGuard Classic, VLESS Reality, VLESS WebSocket, VLESS gRPC).
- VLESS: Добавление прокси напрямую из ссылки
-
Управление прокси:
- Добавление: Интерактивное добавление VLESS или WireGuard/AmneziaWG прокси в выбранные группы.
- Удаление: Безопасное удаление прокси из
proxiesи всехproxy-groups. - Замена: Полная замена данных одного прокси на новые с сохранением имени (например, обновить параметры AmneziaWG).
- Переименование: Корректное переименование прокси во всех секциях конфигурации.
-
Управление профилями:
- Создание новых профилей конфигурации.
- Быстрое переключение между профилями через систему символических ссылок.
- Скачивание и удаление неиспользуемых профилей.
-
Бэкапы и восстановление:
- Автоматическое создание бэкапа активного профиля перед каждым сохранением.
- Просмотр содержимого бэкапов.
- Восстановление конфигурации из любого бэкапа в один клик.
- Настраиваемая очистка старых бэкапов.
-
Интеграция с системой:
- Перезапуск сервиса Mihomo (
xkeen -restart) прямо из веб-интерфейса. - Просмотр лога последнего перезапуска для быстрой диагностики.
- Встроенный прокси для панели Mihomo: Доступ к стандартной веб-панели (YACD/Metacubexd) через
Mihomo Studioбез ошибок CORS/PNA. - Обновление в один клик: Возможность обновить сервис и скрипт управления прямо из веб-интерфейса.
- Перезапуск сервиса Mihomo (
-
Интерфейс (v1.5):
- Glassmorphism 2.0: Премиальный дизайн с матовым стеклом, мягкими тенями, тонкими границами и микро-анимациями без тяжелых JS-библиотек (0% лишней нагрузки на CPU/RAM роутера).
- Мобильная панель навигации: Удобный нижний бар переключения вкладок (Редактор, Профили, Бэкапы, Добавить) для экранов смартфонов.
- Drag & Drop зона: Быстрое перетаскивание файлов конфигураций
.conf. - Встроенный редактор ACE с подсветкой синтаксиса YAML.
- Поддержка тем: Тёмная, Светлая, Полночь, Кибер с адаптивными цветами редактора.
- Многоязычность: 🇷🇺 Русский, 🇺🇸 Английский, 🇺🇦 Украинский.
🛠️ Установка
Установка выполняется в один этап. Скрипт установит управляющую утилиту mhstudio, проверит зависимости и автоматически запустит веб-сервис.
Выполните в консоли вашего устройства:
-
Установите
wgetс поддержкой ssl (если ещё не установлен):opkg update opkg install wget-ssl -
Выполните установочный скрипт:
wget -O - https://raw.githubusercontent.com/l-ptrol/mihomo_studio/master/install.sh | shЭта команда скачает и установит скрипт
mhstudio, автоматически загрузит необходимые зависимости (Python 3), скачает основной файл веб-сервиса и добавит его в автозапуск.
По умолчанию, Mihomo Studio будет доступен по адресу http://<IP-вашего-роутера>:8888.
⚙️ Управление сервисом
Все действия выполняются с помощью команды mhstudio.
-
mhstudio -startЗапустить сервис Mihomo Studio. -
mhstudio -stopОстановить сервис. -
mhstudio -restartПерезапустить сервис. -
mhstudio -updateПроверяет наличие новой версии и, если она доступна, обновляет сервис (включая сам скрипт управления). -
mhstudio -reinstallПринудительно скачивает и переустанавливает последнюю версию сервиса. -
mhstudio -uninstallУдаляет сервис (скрипты и автозапуск), но сохраняет установленные пакетыpython3. -
mhstudio -uninstall-fullПолностью удаляет сервис и все его зависимости. Внимание: это может затронуть другие приложения, использующие Python.
📄 Структура файлов
/opt/bin/mhstudio— Главный управляющий скрипт./opt/scripts/mihomo_editor.py— Основной файл веб-сервера и всей логики./opt/etc/init.d/S95mihomo-web— Init-скрипт для автозапуска сервиса при старте системы./opt/etc/mihomo/config.yaml— Символическая ссылка на текущий активный профиль./opt/etc/mihomo/profiles/— Директория, где хранятся все ваши файлы профилей (.yaml)./opt/etc/mihomo/backup/— Директория для автоматического сохранения бэкапов.
💡 Особенности реализации
- Веб-сервер: Написан на Python 3 с использованием модуля
http.server, что обеспечивает минимальное потребление ресурсов. - Профили: Система профилей реализована с помощью симлинков. Файл
config.yamlявляется лишь ссылкой на один из файлов в/opt/etc/mihomo/profiles/. Это позволяет Mihomo "видеть" всегда один и тот же конфиг, в то время какMihomo Studioпросто меняет, на какой файл он указывает. - Безопасность: Скрипт предназначен для работы в локальной сети и не имеет механизмов аутентификации. Не рекомендуется открывать доступ к порту
8888извне.
📜 Лицензия
Проект распространяется под лицензией MIT.