Skip to content

Latest commit

 

History

533 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🇬🇧 English version

XKEEN-UI

Веб-интерфейс для управления конфигурациями сетевых сервисов на роутерах Keenetic с установленным Entware.

image

Быстрая установка

Выполните на роутере одну команду:

curl -Ls https://raw.githubusercontent.com/fan92rus/xkeen-ui/master/xkeen-go/scripts/setup.sh | sh

Или через wget:

wget -qO- https://raw.githubusercontent.com/fan92rus/xkeen-ui/master/xkeen-go/scripts/setup.sh | sh

Откройте веб-интерфейс: http://<ip-роутера>:8089

Пароль по умолчанию: admin

⚠️ Важно: Система потребует сменить пароль при первом входе.

Требования

  • Роутер Keenetic с установленным Entware
  • Установленный XKeen
  • Архитектура: ARM64 (KN-1010, KN-1810, KN-1910 и др.) или MIPS

Возможности

Редактор конфигураций

  • Подсветка синтаксиса JSON/YAML с темой One Dark
  • Поддержка JSONC (JSON с комментариями)
  • Автоматическое создание резервных копий при сохранении
  • Просмотр различий (diff) между версиями
  • Восстановление из резервных копий

Управление сервисами

  • Запуск, остановка, перезапуск
  • Мониторинг статуса в реальном времени
  • Переключение между ядрами Xray и Mihomo

Просмотр логов

  • Потоковая передача логов через WebSocket
  • Фильтрация по уровню (error, warn, info)
  • Поиск по содержимому логов
  • Переключение между access.log и error.log

Консоль команд XKeen

  • Интерактивное выполнение команд с выводом в реальном времени
  • Поддержка ввода данных для интерактивных команд
  • Категоризация команд по группам
  • Предупреждения для опасных операций
  • Кэширование списка команд на 5 часов с ручным обновлением

AmneziaWG (AWG)

  • Одно-кликовая установка (amneziawg-go + amneziawg-tools)
  • Управление интерфейсами: старт, стоп, добавление, удаление конфигураций
  • Клиентский режим — туннель с fwmark-маршрутизацией для Xray/Mihomo
  • Серверный режим — полноценный Full Tunnel VPN-сервер со встроенным iptables firewall
  • Управление пирами: добавление, удаление, генерация клиентских конфигураций
  • QR-код для мобильных клиентов (AmneziaWG)
  • Пресеты обфускации: Random, Full, Light, Minimal, Plain WG
  • Применение изменений пиров через awg syncconf без перезапуска интерфейса
  • Встроенный watchdog: cron-проверка каждую минуту, автоматическое восстановление iptables
  • Постоянное хранение клиентских конфигураций в /opt/etc/awg/clients/

Подписки

  • Управление прокси-подписками
  • Встроенная AWG-подписка (ID __awg__) — автоматическая генерация прокси из AWG-интерфейсов
  • Система фильтров для выборочного использования прокси
  • Генерация конфигурации Mihomo из подписок с маппингом стратегий proxy-group
  • Опциональная конвертация Xray 05_routing.json в правила Mihomo

Настройки

  • Переключение режима работы (Xray/Mihomo)
  • Изменение уровня логирования
  • Управление паролем администратора
  • Проверка и установка обновлений в один клик
  • Автоматическое обновление через GitHub releases с SSE-прогрессом
  • Установка и удаление AWG
  • Условные вкладки: AWG показывается только при установленном AWG, Метрики — при включённых метриках Xray

Команды управления сервисом

xkeen-ui start      # Запуск
xkeen-ui stop       # Остановка
xkeen-ui restart    # Перезапуск
xkeen-ui status     # Статус
xkeen-ui log        # Логи
xkeen-ui uninstall  # Удаление

Конфигурация

Файл конфигурации: /opt/etc/xkeen-ui/config.json

{
    "port": 8089,
    "mode": "xray",
    "xray_config_dir": "/opt/etc/xray/configs",
    "xkeen_binary": "xkeen",
    "mihomo_config_dir": "/opt/etc/mihomo",
    "mihomo_binary": "mihomo",
    "awg_config_dir": "/opt/etc/awg",
    "allowed_roots": [
        "/opt/etc/xray",
        "/opt/etc/xkeen",
        "/opt/etc/mihomo",
        "/opt/etc/awg",
        "/opt/var/log"
    ],
    "log_level": "info",
    "metrics_port": 0,
    "cookie_secure": false,
    "trust_proxy_headers": false,
    "auth": {
        "session_timeout": 24,
        "max_login_attempts": 5,
        "lockout_duration": 5
    }
}

Параметры

Параметр Описание По умолчанию
port Порт веб-интерфейса 8089
mode Режим работы: xray или mihomo xray
xray_config_dir Директория конфигураций Xray /opt/etc/xray/configs
xkeen_binary Путь к бинарнику xkeen xkeen
mihomo_config_dir Директория конфигураций Mihomo /opt/etc/mihomo
mihomo_binary Путь к бинарнику mihomo mihomo
awg_config_dir Директория AWG-конфигураций /opt/etc/awg
awg_lan_iface LAN-интерфейс для firewall (пусто = авто)
awg_wan_iface WAN-интерфейс для firewall (пусто = авто)
awg_endpoint Переопределение Endpoint для клиентов (пусто = авто)
allowed_roots Разрешённые директории для файловых операций xray, xkeen, mihomo, awg, log
log_level Уровень логирования (debug, info, warn, error) info
metrics_port Порт метрик Xray (0 = отключено) 0
cookie_secure Secure-флаг для cookie (включать при HTTPS) false
trust_proxy_headers Доверять X-Forwarded-For (за обратным прокси) false
session_timeout Время жизни сессии в часах 24
max_login_attempts Попыток входа до блокировки 5
lockout_duration Длительность блокировки в минутах 5

Безопасность

  • bcrypt — хеширование паролей с cost 12
  • CSRF — защита от межсайтовой подделки запросов
  • Rate limiting — ограничение попыток входа по IP
  • Path validation — защита от path traversal через whitelist директорий
  • Security headers — X-Frame-Options, CSP, X-Content-Type-Options

Удаление

xkeen-ui uninstall

При удалении будет предложено сохранить директорию конфигурации.

Сборка из исходного кода

git clone https://github.com/fan92rus/xkeen-ui.git
cd xkeen-ui/xkeen-go

make deps                  # Установка зависимостей
make build                 # Сборка для текущей ОС
make keenetic-arm64        # Сборка для Keenetic ARM64

# Опционально: сжатие UPX
upx --best --lzma build/xkeen-ui-keenetic-arm64

Технологии

  • Backend: Go
  • Frontend: Vue 3, Pinia, CodeMirror 6, Chart.js
  • Протоколы: HTTP, WebSocket, SSE
  • Тестирование: Vitest (frontend), Go testing (backend)

Лицензия

MIT License

Автор

fan92rus

image image image image image

About

No description, website, or topics provided.

Resources

Stars

13 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages