Всем привет!
Хочу поделиться небольшим проектом, который изначально делал исключительно для себя и своих роутеров.
Со временем он немного разросся, появились дополнительные возможности и отдельные модули, поэтому решил выложить его в открытый доступ — возможно, кому-нибудь ещё пригодится.
RouterForge — локальный веб-интерфейс для мониторинга и диагностики роутеров Keenetic / Netcraze с установленным Entware.
Проект молодой и продолжает развиваться. Никаких претензий на замену штатному интерфейсу роутера или на какое-то универсальное решение нет — просто набор инструментов, которых лично мне не хватало и которыми я сам пользуюсь.
Основные возможности
нативная работа с KeeneticOS/NDMS: ndmc, RCI, DNS, policy routing, интерфейсы, маршруты и системные данные роутера;
мониторинг и диагностика DNS, включая DoT/DoH, SERVFAIL, таймауты, задержки и восстановление;
Management v2: процессы, Entware-службы, File Manager, Maintenance и терминалы;
Entware Terminal и отдельная Keenetic NDM Console;
системный Monitoring: System / Thermal / Storage / Network в одном модуле;
Центр приложений: RouterForge, Integrations, Entware/OPKG, Installed и Updates;
безопасное обнаружение локальных Web UI без слепого сканирования LAN;
модульная установка — Core и нужные возможности ставятся независимо;
один пользовательский Web-порт RouterForge — 2233.
Подробнее о возможностя
Архитектура и пакеты
Core — единственная пользовательская точка входа RouterForge на порту 2233. DNS, Admin и Monitoring общаются с Core через root-owned Unix sockets.
Описание модулей
Требования
Keenetic / Netcraze
ARM64 / aarch64
установленный Entware
RouterForge работает локально непосредственно на роутере. Внешний сервер или облачный сервис для работы не требуется.
Веб-интерфейс по умолчанию использует порт 2233.
Проверенные устройства
На данный момент проект лично протестирован на двух устройствах:
Keenetic Hopper KN-3811 — ARM64, основная площадка Dev + Beta;
Netcraze Ultra KN-1812 — ARM64, Beta + Stable-релиз;
Keenetic Giga KN-1010 — MIPSel, частичная физическая проверка, статус experimental.
ARM64 / aarch64-3.10 — основной production target. MIPSel и MIPS остаются experimental. Для MIPS big-endian физической аппаратной проверки пока нет.
CI дополнительно проверяет cross-build, QEMU для MIPS/MIPSel, структуру IPK, release-index, bootstrap scripts и целостность артефактов, но CI не заменяет физическую проверку на реальном роутере.
Установка
Для обычного использования рекомендуется Stable-канал.
Установка выполняется из Entware одной командой:
/opt/bin/opkg update && /opt/bin/opkg install curl && /opt/bin/curl -fsSL https://github.com/Fifth-Ace/routerforge/releases/download/routerforge-stable/routerforge-stable-bootstrap.sh | sh
После установки веб-интерфейс будет доступен по адресу:
http://IP-РОУТЕРА:2233
Fresh bootstrap устанавливает Core. DNS, Management, Monitoring и остальные возможности при необходимости ставятся через Центр приложений.
Beta и MIPS/MIPSel
Обновления
Stable — стабильные версии для обычного использования.
Beta — новые изменения и возможности до их попадания в Stable.
Core и отдельные модули могут обновляться независимо друг от друга. Проверка и установка обновлений выполняется через Marketplace.
Исходный код
https://github.com/Fifth-Ace/routerforge
Исходный код открыт. Лицензия — MIT.
RouterForge является независимым community-проектом и официально не связан с Keenetic или Netcraze.
Обратная связь
Проект пока молодой, поэтому особенно интересна обратная связь от владельцев других ARM64-моделей Keenetic / Netcraze.
Если кто-нибудь решит попробовать, буду рад информации о том:
на какой модели запускали;
всё ли определилось корректно;
какие модули использовали;
встретились ли ошибки или особенности;
чего, на ваш взгляд, не хватает.
Ошибки, идеи и предложения также приветствуются.
В общем, проект делался в первую очередь для собственных задач. Решил просто поделиться — если кому-нибудь ещё окажется полезен, значит не зря выложил. 🙂
Вышел RouterForge 0.7.1 Stable.
Вышел RouterForge 0.9.1 Stable.
Вышел RouterForge 0.10.0 Stable.
Вышел RouterForge 0.11.0 Stable.