Инструкция от сообщества | Рекомендуемая для быстрой настройки
See the codeXKeen обновлён до версии 2.0 (06 июня 2026) — форк от JamesZero.
Добавлено:
-xray и -mihomo-dns)-gips, -dgips) подробнее62 - исключение из проксирования, 63 - проксирование)-pr) подробнее-ipv6)ip_exclude.lst, port_proxying.lst и port_exclude.lst в директории /opt/etc/xkeen/ для указания IP и портов (проксирования/исключения из проксирования)gh_proxy конфигурационного файла xkeen.jsonretries_download и retry_delay_download в xkeen.json для настройки числа повторных попыток и паузы между ними при загрузке с GitHub. Применяется к загрузке XKeen, Xray, Mihomo, Yq, GeoSite/GeoIP/GeoIPSET и получению списков релизов через GitHub API/jsDelivr. Подробнее-io)-cbr)-remove для полной деинсталляции XKeen (ранее деинсталляцию нужно было выполнять покомпонентно)-ug (обновление геофайлов), -ugc (управление заданием Cron, обновляющим геофайлы), -dgc (удаление задания Cron, обновляющего геофайлы)-um для обновления/установки ядра Mihomo (поддерживается повышение/понижение версии)-rrm (обновить регистрацию Mihomo), -drm (удалить регистрацию Mihomo)-dm для деинсталляции ядра Mihomo-g, позволяющий переустановить (добавить/удалить) геофайлы для Xray-channel, позволяющий выбрать канал обновления XKeen между Stable и Dev ветками-di для установки времени ожидания инициализации роутера перед началом запуска прокси-клиента-xtest и -mtest для проверки конфигураций Xray и Mihomo на ошибки-toff для отключения таймаута загрузок при замедлении GitHub. Пример использования: xkeen -i -toff-mb, -mbr для резервного копирования и восстановления конфигурации Mihomo-fd для контроля открытых файловых дескрипторов подробнее-extmsg для вывода расширенной информации при запуске прокси-клиентаИзменено:
xkeen -ape нужно было прерывать по ctrl+c)xkeen -d без цифрового параметра, теперь отображается информация о текущей задержке автозапуска-ugs, -ugi, -ugsc, -ugic, -dgsc, -dgic-ux для обновления ядра Xray теперь поддерживает повышение/понижение версииxkeen -h) выровнена по табуляции и повышен контраст текстаport_proxying.lst и port_exclude.lst. Параметры -ap, -dp, -cp, -ape, -dpe, -cpe теперь работают только с этими файлам. Переменные port_donor и port_exclude больше не используются-aghfix)-auto, -fd, -dns, -pr, -ipv6, -extmsg, -cbk, -aghfix теперь умеют работать в автоматическом режиме (-dns on, -auto off,... ), а так же поддерживают перезапуск XKeen (-dns on -restart), если это необходимоredirect и tproxy @UltraFeedУдалено:
/opt/etc/xkeen_exclude.lst c IP-адресами и подсетями для исключения из проксирования02_transport.json (не используется новыми ядрами xray-core)-ux. В связи с этим упразднены параметры запуска -xb и -xbr/opt/var/log/xkeen (на практике не использовалось)-uac, -ukc, -uxc, -dac, -dkc и -dxc-x, -rk, -rx, -rc -rrk, -rrx, -rrm, -drk, -drx, -drm, -modules, -delmodules[!NOTE] Эта инструкция поможет вам настроить XKeen на вашем роутере. Пожалуйста, следуйте шагам внимательно, чтобы избежать ошибок.
Если вы уже пытались настроить XKeen по инструкции с Хабра или других источников, рекомендуем сбросить роутер до заводских настроек, отформатировать флешку в файловой системе EXT4 и начать настройку заново, используя эту инструкцию. Это поможет избежать возможных проблем и упростит процесс настройки.
Отформатировать можно воспользоваться бесплатной версией программы Paragon Partition Manager Free или AOMEI Partition Assistant Standard Edition.
Приведем пример форматирования накопителя в Paragon Partition Manager Free:
Рекомендация: При форматировании флешки в файловую систему EXT4 рекомендуется создать раздел SWAP (обязательно первым) объемом 512 МБ — 1 ГБ. Это важно даже на роутерах с 512 МБ встроенной RAM, поскольку на устройствах могут быть установлены дополнительные приложения, потребляющие ресурсы. Keenetic корректно работает с SWAP, активируя его только при использовании 95% оперативной памяти, что помогает избежать проблем с производительностью. Кроме того, рекомендуется отключить сжатие RAM в настройках роутера во вкладке "Параметры системы".
После форматирования подключите уже подготовленный накопитель c файловой системой EXT4 к USB-порту роутера. Диск должен отобразиться на странице "Приложения" в разделе "Диски и принтеры". Если USB-накопитель не определился в роутере, проверьте установлен ли компонент операционной системы "Файловая система Ext".
Важно! Накопитель с файловой системой EXT4 нельзя использовать в ОС Windows. Если нужно подключить накопитель с EXT4 в Windows, можно воспользоваться специальным драйвером ext2fsd, разработанным сообществом открытого программного обеспечения для файловых систем семейства ext.
Для пользователей macOS доступен инструмент Keenetic Entware Flash, который автоматически создаёт правильную разметку USB-накопителя: SWAP-раздел + EXT4 с установщиком Entware — одной командой.
Работает через Docker или нативно на macOS:
С Docker:
git clone https://github.com/MaxXxaM/keenetic-entware-flash.git
cd keenetic-entware-flash
sudo ./run.sh
Без Docker (нативно):
brew install e2fsprogs
diskutil list external physical
# Замените disk4 на ваш диск
sudo diskutil partitionDisk /dev/disk4 MBRFormat \
"MS-DOS FAT32" "SWAP" 1024M \
"MS-DOS FAT32" "OPKG" R
diskutil unmountDisk /dev/disk4
sudo $(brew --prefix e2fsprogs)/sbin/mkfs.ext4 -O ^metadata_csum -L OPKG -F /dev/disk4s2
diskutil eject /dev/disk4
SWAP-раздел будет автоматически инициализирован роутером. Entware скачается при включении компонента OPKG.
1) Установка Homebrew
Если менеджер пакетов установлен, можете пропустить этот пункт и перейти к следующему.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Подробнее на https://brew.sh
Введите пароль администратора системы и продолжите установку менеджера пакетов.
2) Установка e2fsprogs
e2fsprogs (иногда называемая e2fs programs) — набор служебных утилит с открытым исходным кодом для работы с файловыми системами ext2, ext3 и ext4, которые часто используются во множестве дистрибутивов Linux. Утилиты служат для проверки целостности файловых систем, поиска и исправления ошибок, изменения настроек, форматирования.
В терминале вводим команду:
brew install e2fsprogs
Установка e2fsprogs
3) Форматирование USB накопителя в Ext4
diskutil list
Находим в списке нужное нам устройство.
Запомните идентификатор устройства. В моем случае это disk14.
diskutil unmountDisk disk14
После этого устройство отключится от системы.
sudo $(brew --prefix e2fsprogs)/sbin/mkfs.ext4 /dev/disk14
Введите пароль администратора системы и ожидайте.
Форматирование прошло успешно
В терминале введите команду, подставляя ваш идентификатор устройства (в моем случае disk14) и имя устройства, которое вы хотите задать (в моем случае OPKG):
sudo $(brew --prefix e2fsprogs)/sbin/e2label /dev/disk14 OPKG
Вводите пароль администратора системы и ожидаете.
Устройство отформатировано в Ext4 и готово к использованию.
Перед установкой OPKG и XKeen рекомендуется сделать резервную копию прошивки и настроек роутера.
Видеоинструкция от 24 авг. 2024 г. (автор Kasper): https://youtu.be/_QkGq8SLcpE
Скачать можно по этой ссылке, если YouTube не загружается:
Перед установкой Entware убедитесь, что компонент прошивки Кинетика «Сервер SSH» не установлен. Если он установлен, удалите его, так как Entware использует собственный SSH-сервер.
В KeeneticOS 5+ компонент Протокол IPv6 всегда включён и не может быть отключён в разделе «Изменить набор компонентов»
[!NOTE] Для моделей Keenetic/Netcraze: 4G (KN-1212), Omni (KN-1410), Extra (KN-1710/1711/1713), Giga (KN-1010/1011), Ultra (KN-1810), Viva (KN-1910/1912/1913), Giant (KN-2610), Hero 4G (KN-2310/2311), Hopper (KN-3810) и Zyxel Keenetic II / III, Extra, Extra II, Giga II / III, Omni, Omni II, Viva, Ultra, Ultra II используйте для установки архив mipsel — mipsel-installer.tar.gz
Для моделей Keenetic/Netcraze: Ultra SE (KN-2510), Giga SE (KN-2410), DSL (KN-2010), Skipper DSL (KN-2112), Duo (KN-2110), Ultra SE (KN-2510), Hopper DSL (KN-3610) и Zyxel Keenetic DSL, LTE, VOX используйте для установки архив mips — mips-installer.tar.gz
Для моделей Keenetic/Netcraze: Peak (KN-2710), Ultra (KN-1811), Ultra (NC-1812), Giga (KN-1012), Hopper (KN-3811) и Hopper SE (KN-3812) используйте архив aarch64 — aarch64-installer.tar.gz
Подключите уже подготовленный накопитель c файловой системой EXT4 к USB-порту роутера. Диск должен отобразиться на странице "Приложения" в разделе "Диски и принтеры".
На компьютере с помощью файлового менеджера подключитесь к диску по сети (в ОС Windows можно использовать Проводник). В настройках роутера предварительно должно быть включено приложение "Сервер SMB" для доступа к подключаемым USB-дискам по сети.
В корне раздела диска создайте директорию install, куда положите файл mipsel-installer.tar.gz.
Нажмите Сохранить.
Сценарий initrc должен оставаться пустым. В процессе завершения установки он будет автоматически изменен на
/opt/etc/init.d/rc.unslung.
I [Aug 26 16:21:42] ndm: Opkg::Manager: invalid initrc "/opt/etc/init.d/rc.unslung": no such file or directory, trying/opt/etc/init.d/.
I [Aug 26 16:21:43] ndm: Opkg::Manager: init script reset to default: /opt/etc/initrc.
I [Aug 26 16:21:44] installer: [1/5] Начало установки системы пакетов "Entware"...
I [Aug 26 16:21:53] installer: Info: Создание каталогов...
I [Aug 26 16:21:53] installer: [2/5] Загрузка и установка основных пакетов...
I [Aug 26 16:22:43] installer: Info: Установка пакетов прошла успешно!
I [Aug 26 16:22:43] installer: [3/5] Генерация SSH-ключей...
I [Aug 26 16:22:51] installer: Info: Ключ "ed25519" создан.
I [Aug 26 16:22:52] installer: [4/5] Настройка сценария запуска,
I [Aug 26 16:22:52] installer: Можно открыть SSH-сессию для соединения с устройством (логин - root, пароль - keenetic, порт - 222).
I [Aug 26 16:22:52] installer: [5/5] Установка системы пакетов "Entware" завершена! Не забудьте сменить пароль и номер порта!
Скачайте терминальную программу Putty, Termius или MobaXterm для работы с протоколами SSH и Telnet.
Запустите Putty, выберите тип подключения SSH, впишите IP-адрес роутера в домашнем сегменте Home (по умолчанию 192.168.1.1), укажите 22-й порт и нажмите кнопку Open.
[!NOTE] Важно! 222-й порт используется, если в роутере установлен компонент "Сервер SSH". Если он не установлен, используйте 22-й порт для подключения к Entware.
Подтвердите добавление ключа безопасности в кэш программы Putty для продолжения установки соединения.
При загрузке подтвердите вход, нажав Accept.
Далее перейдите в настройки роутера при помощи протокола Secure Shell (SSH).
Для авторизации в Entware используйте следующие данные:
login as: root
[email protected]'s password: keenetic
Можно установить свой пароль. Для этого введите команду passwd:
New password: впишите свой пароль
Retype password: подтвердите пароль
passwd
opkg update
opkg upgrade
Далее можно приступать к установке нужного OpenWRT пакета.
Добавлено:
-xray и -mihomo-dns)-gips, -dgips) подробнее62 - исключение из проксирования, 63 - проксирование)-pr) подробнее-ipv6)ip_exclude.lst, port_proxying.lst и port_exclude.lst в директории /opt/etc/xkeen/ для указания IP и портов (проксирования/исключения из проксирования)gh_proxy конфигурационного файла xkeen.jsonretries_download и retry_delay_download в xkeen.json для настройки числа повторных попыток и паузы между ними при загрузке с GitHub. Применяется к загрузке XKeen, Xray, Mihomo, Yq, GeoSite/GeoIP/GeoIPSET и получению списков релизов через GitHub API/jsDelivr. Подробнее-io)-cbr)-remove для полной деинсталляции XKeen (ранее деинсталляцию нужно было выполнять покомпонентно)-ug (обновление геофайлов), -ugc (управление заданием Cron, обновляющим геофайлы), -dgc (удаление задания Cron, обновляющего геофайлы)-um для обновления/установки ядра Mihomo (поддерживается повышение/понижение версии)-rrm (обновить регистрацию Mihomo), -drm (удалить регистрацию Mihomo)-dm для деинсталляции ядра Mihomo-g, позволяющий переустановить (добавить/удалить) геофайлы для Xray-channel, позволяющий выбрать канал обновления XKeen между Stable и Dev ветками-di для установки времени ожидания инициализации роутера перед началом запуска прокси-клиента-xtest и -mtest для проверки конфигураций Xray и Mihomo на ошибки-toff для отключения таймаута загрузок при замедлении GitHub. Пример использования: xkeen -i -toff-mb, -mbr для резервного копирования и восстановления конфигурации Mihomo-fd для контроля открытых файловых дескрипторов подробнее-extmsg для вывода расширенной информации при запуске прокси-клиентаИзменено:
xkeen -ape нужно было прерывать по ctrl+c)xkeen -d без цифрового параметра, теперь отображается информация о текущей задержке автозапуска-ugs, -ugi, -ugsc, -ugic, -dgsc, -dgic-ux для обновления ядра Xray теперь поддерживает повышение/понижение версииxkeen -h) выровнена по табуляции и повышен контраст текстаport_proxying.lst и port_exclude.lst. Параметры -ap, -dp, -cp, -ape, -dpe, -cpe теперь работают только с этими файлам. Переменные port_donor и port_exclude больше не используются-aghfix)-auto, -fd, -dns, -pr, -ipv6, -extmsg, -cbk, -aghfix теперь умеют работать в автоматическом режиме (-dns on, -auto off,... ), а так же поддерживают перезапуск XKeen (-dns on -restart), если это необходимоredirect и tproxy @UltraFeedУдалено:
/opt/etc/xkeen_exclude.lst c IP-адресами и подсетями для исключения из проксирования02_transport.json (не используется новыми ядрами xray-core)-ux. В связи с этим упразднены параметры запуска -xb и -xbr/opt/var/log/xkeen (на практике не использовалось)-uac, -ukc, -uxc, -dac, -dkc и -dxc-x, -rk, -rx, -rc -rrk, -rrx, -rrm, -drk, -drx, -drm, -modules, -delmodulesРазработкой форка Xkeen занимается JamesZero.
Рекомендуемый способ
Выполнять от пользователя root
opkg update && opkg upgrade && opkg install curl tar && cd /tmp
sh -c "$(curl -sSL https://raw.githubusercontent.com/jameszeroX/XKeen/main/install.sh)"
либо:
opkg update && opkg upgrade && opkg install curl tar && cd /tmp
sh -c "$(curl -sSL https://cdn.jsdelivr.net/gh/jameszeroX/XKeen@main/install.sh)"
Автор форка https://github.com/jameszeroX/XKeen
Выполнять от пользователя root
opkg update && opkg upgrade && opkg install curl tar && cd /tmp
url="https://github.com/jameszeroX/XKeen/releases/latest/download/xkeen.tar.gz"
curl -OL --connect-timeout 10 -m 60 "$url"
tar -xvzf xkeen.tar.gz -C /opt/sbin > /dev/null && rm xkeen.tar.gz
xkeen -i
Обычная установка XKeen и необходимых компонентов выполняется в OnLine режиме и жёстко привязана к GitHub, а в случае его недоступности будет невозможна. Поэтому в форк дополнительно к способу установки через Self-Hosted-прокси добавлен режим OffLine-установки по команде xkeen -io
Для OffLine-установки необходимо заранее любым способом скачать установочный архив XKeen версии 1.1.3.9+, ядро проксирования xray и(или) mihomo + парсер yaml-файлов yq подходящей архитектуры. Если планируте использовать xray и геофайлы в роутинге, то загрузите и их. Следующим шагом поместите в папку /opt/sbin/ архив XKeen (не распаковывая) и предварительно извлечённые из архива и при необходимости переименованные в xray mihomo и yq бинарники, затем выполните OffLine-установку командами в ssh-консоли entware Keenetic:
cd /opt/sbin
tar -xvzf xkeen.tar.gz && rm xkeen.tar.gz
xkeen -io
Копирование файлов конфигурации xray, mihomo и необходимых геофайлов в директории /opt/etc/xray/configs, /opt/etc/mihomo, /opt/etc/xray/dat выполните вручную, после чего можете запустить проксирование командой xkeen -start
При OffLine-установке XKeen не проверяет соответствие архитектуры процессора и бинарников, поэтому выбирайте совместимые бинарники внимательно. Если затрудняетесь в выборе, запустите xkeen -io без xray и mihomo в папке /opt/sbin/ и XKeen сообщит, какая архитектура требуется для вашего роутера.
При недоступности GitHub, обновление геофайлов по планировщику работать не будет, выполняйте его вручную.
Если недоступен не только GitHub, но и репозиторий Entware, то перед OffLine установкой XKeen требуется вручную установить недостающие пакеты из следующего списка:
curl, tar, lscpu, jq, libc, libssp, librt, libpthread, iptables, ca-bundle, coreutils-uname, coreutils-nohup, ipset
либо прописать в файл /opt/etc/opkg.conf рабочее зеркало репозитория
xkeen -uk
xkeen -k
выбрать пункт 0
Выполнять от пользователя root
opkg install curl
curl -sOfL https://raw.githubusercontent.com/Skrill0/XKeen/main/install.sh
chmod +x ./install.sh
./install.sh
В случае возникновения ошибки «panic: runtime error: slice bounds out of range» или других неожиданных сбоев в работе Xray, рекомендуется выполнить обновление ядра на роутере до версии 25.1.30 или выше. По умолчанию XKeen устанавливает ядро Xray версии 1.8.4, которое может быть причиной проблем. Данная мера часто позволяет устранить ошибки и восстановить корректную работу системы.
Выбираем
1. Установить отсутствующие GeoIP
Выберите номер или номера действий для GeoIP
Ваш выбор: 1
Выбираем
1. Установить отсутствующие GeoSite
Выберите номер или номера действий для GeoSite
Ваш выбор: 1
Включаем автоматическое обновление для всех (
1)
Выберите номер или номера действий для автоматических обновлений
Ваш выбор: 1
Устанавливаем обновление, например ежедневно в 00:00
Время автоматического обновления для всех задач:
Выберите день
Cron остановлен
Cron запущен
Выполняется очистка временных файлов после работы Xkeen`
Очистка временных файлов успешно выполнена
Перед использованием Xray настройте конфигураций по пути «/opt/etc/xray/configs»
Установка окончена
Приоритеты подключений > Политики доступа в интернетXKeenОтметить провайдера или несколькихДоступна «Многопутевая передача». Используйте её, если у вас два провайдера.
Приоритеты подключений > Применение политикКлиент | СетьПеренести сервисы Keenetic с 443 порта
Примечание: Сервисы, такие как KeenDNS, будут доступны на новом порте после переноса. Например, если вы перенесли с 443 на 8443, доступ к KeenDNS будет по адресу
xxxx.keenetic.link:8443.
| 5083 | 5443 | 8083 | 8443 | 65083 |
ip http ssl port {port}
ip http ssl port 8443
system configuration save
Перейти в директорию /etc/xray/configs/
Нас интересуют только 3 файла: 03_inbounds.json, 04_outbounds.json и 05_routing.json
- Mixed — поддерживает UDP и TCP, сочетая преимущества режимов TProxy и Redirect. UDP работает через TProxy, а TCP — через Redirect
- TProxy — поддерживает UDP и TCP, отлично работает со всеми типами трафика, включая игры и стриминговые сервисы.
- Redirect — поддерживает только TCP. Не подходит для проксирования стриминговых сервисов и игр.
Выберите один из вариантов маршрутизации 05_routing.json
VPS-подключение используется для указанных IP-адресов и доменных имен (например, Google, Twitter, TikTok и др.).
Прямое подключение используется для всего остального трафика, кроме заблокированных доменов и уязвимых UDP-портов.
или
Прямое подключение используется для доменов в зоне .ru, .su, .рф и других, а также для торрентов.
VPS-подключение применяется ко всем остальным запросам, кроме заблокированных UDP-портов.
03_inbounds.json - /etc/xray/configs/03_inbounds.json
04_outbounds.json - /etc/xray/configs/04_outbounds.json
[!NOTE] 04_outbounds.json можно настроить используя XKeen Config Generator.
tag - тег соединения, пусть будет "vless-reality"
protocol - обязательно "vless"
address - "IP вашего арендованного VPS сервера"
port - "443"
fingerprint - то что указывали в настройках 3X-UI "chrome"
serverName - тоже такие же как в 3X-UI "yahoo.com"
id, publicKey, shortId - смотрим в инфо соединения на 3X-UI
Если у вас несколько пользователей, то Short ID будет отображаться в виде списка значений, разделённых запятыми. Значения идут в том же порядке, что и ваши пользователи. Выберите нужное.
Инфо соединения также можно взять из URL
pbk=publicKey, fp=fingerprint, sni=serverName, sid=shortId
Если у вас возникают трудности при заполнении конфигурационного файла вручную, вы можете воспользоваться генератором конфига. Следуйте этим шагам:
04_outbounds будет доступен для сохранения на вашем компьютере.Примечание: Генератор конфига автоматизирует процесс создания конфигурационного файла, что может значительно упростить настройку и избежать ошибок.
05_routing.json - /etc/xray/configs/05_routing.json
Конфигуратор правил маршрутизации для xKeen: XKeen Routing Generator
Примечание: Способы с GeoIP / GeoSite — в некотором смысле автоматические.
Т.е. это целые базы адресов, которые используются для выборочного обхода. К примеру, GeoIP AntiFilter — все адреса из листа AntiFilter.
При этом правила автоматически обновляются через xkeen.
Частичное совпадение
"vk.com" = "vk.com.ru", "music.vk.com.ru", "www.vk.com/im" ≠ vk.ru
Регулярное выражение
Пример записи: "regexp:\\.ya.*\\.ru$" = "www.yandex.ru", "mail.yandex.ru" ≠ "ya.ru"
Обязательно начинается с "regexp:"
Поддомен
Пример записи: "domain:keenetic.com" = "forum.keenetic.com" ≠ "forum.keenetic12345.com"
Точное совпадение
Пример записи: "full:keenetic.com" = "keenetic.com" ≠ "www.keenetic.com", "keenetic123.com"
xkeen -start
DNS-over-TLS
9.9.9.9 dns.quad9.net; 149.112.112.112 dns.quad9.net1.1.1.1 cloudflare-dns.com; 1.0.0.1 cloudflare-dns.com8.8.8.8 dns.google; 8.8.4.4 dns.google94.140.14.14 dns.adguard-dns.com; 94.140.15.15 dns.adguard-dns.com208.67.222.222 dns.opendns.com; 208.67.220.220 dns.opendns.comDNS-over-HTTPS
https://dns.quad9.net/dns-queryhttps://cloudflare-dns.com/dns-query; https://one.one.one.one/dns-queryhttps://dns.google/dns-queryhttps://dns.adguard-dns.com/dns-queryhttps://doh.opendns.com/dns-queryДля корректной работы рекомендуется отключить транзит запросов и не игнорировать DNS провайдера.
Рекомендация: Xray в роутере обрабатывает абсолютно весь трафик. В зависимости от настроек маршрутизации, часть трафика отправляется напрямую через провайдера, а другая — через прокси (например, через VPS). Однако, слабый процессор роутера может не справляться с обработкой большого объема транзитного трафика через Xray, что приводит к нагрузке и снижению производительности. К сожалению, полностью исправить эту проблему невозможно из-за аппаратных ограничений роутера.
Тем не менее, можно уменьшить нагрузку на процессор, ограничив работу Xkeen портами 443 (HTTPS) и 80 (HTTP), что улучшит производительность при передаче трафика и снизит вероятность лагов и обрывов.
Для этого нужно подключиться к Entware по SSH под пользователем root и выполнить команду:
xkeen -ap 443,80Эта настройка поможет сделать сеть более стабильной и повысить её общую производительность.
Примечание: Если вы используете форк XKeen версии 1.1.3.9 и выше, рекомендуется добавлять порты через редактирование файла port_proxying.lst, расположенного в директории
etc\xkeen
Если вам важны результаты замеров скорости, то для достоверного результата необходимо соблюдать, как минимум, два условия: — не ограничивать порты проксирования 80 и 443; — не использовать роутинг (временно удалить routing.json и перезапустить xkeen).
FAQ по XKeen (в процессе наполнения) предназначен для тех, у кого возникли дополнительные вопросы после внимательного прочтения инструкции к XKeen
END
XKeen версии 1.1.3.0 (на устаревшем ядре Xray 1.8.4)
Если установленные компоненты IPv6 и Netfilter вам не нужны и были установлены только для XKeen, вы можете их удалить, выполнив следующие шаги:
xkeen -modulesПараметры системы > Изменить набор компонентовФорк XKeen 1.1.3.9
Используйте команду xkeen -ipv6 для отключения/включения протокола IPv6 в KeeneticOS 5+
В случае возникновения ошибки «panic: runtime error: slice bounds out of range» или других неожиданных сбоев в работе Xray, рекомендуется выполнить обновление ядра на роутере до версии 25.1.30 или выше. По умолчанию XKeen устанавливает ядро Xray версии 1.8.4, которое может быть причиной проблем. Данная мера часто позволяет устранить ошибки и восстановить корректную работу системы.
Подключитесь к Entware по SSH под пользователем root и выполните следующие команды:
curl -s -S -L -O https://github.com/Corvus-Malus/XKeen-docs/raw/main/Installer/install_xray.sh
chmod +x install_xray.sh
./install_xray.sh update
./install_xray.sh {command}
update|-u - Обновить Xray до последней версии.без команды - Вывести список последних 10 релизов Xray для выбора.recover|-r - Восстановить Xray из резервной копии.task HH:MM day - Запланировать обновление Xray. Если day = 8, то задание будет выполнено ежедневно.task 0 - Удалить запланированное обновление.crontab -l - Расписание crontabhelp|-h - Показать это сообщение.
[!NOTE] Примечание: Если после обновления ядра Xray появилась ошибка, проверьте, удалил ли скрипт файл 02_transport.json. Для этого перейдите в директорию
/etc/xray/configsи удалите файл вручную, если он все еще присутствует. Кроме того, убедитесь, что в файле 03_inbounds.json (он находится в той же директории) есть строка:"routeOnly": true,
Выполните команду:
xkeen -stop
/opt/sbin/.Выполните команду:
chmod +x /opt/sbin/xray
Перейдите в директорию \etc\xray\configs и удалите файл: 02_transport.json.
Откройте файл 03_inbounds.json, который находится в директории \etc\xray\configs, и убедитесь, что в нем присутствует следующая строка:
"routeOnly": true,
Выполните команду:
xkeen -dxc
Выполните команду:
xkeen -start
По умолчанию файл
geosite_zkeen.datне включен в автообновление, поэтому настройка расписания для обновления данных выполняется вручную.
Шаг 1: Подключение к Entware по SSH и установка редактора
opkg update
opkg install nano
Шаг 2: Настройка nano как редактора по умолчанию
/etc/profile для редактирования:nano /etc/profile
export VISUAL="nano"
export EDITOR="nano"
Ctrl + O, затем Enter.Ctrl + X.Шаг 3: Настройка crontab для автообновления файлов
crontab -e
0 0 * * 1 /opt/bin/curl -L -o /opt/etc/xray/dat/geosite_zkeen.dat https://github.com/jameszeroX/zkeen-domains/releases/latest/download/zkeen.dat
5 0 * * 1 /opt/bin/curl -L -o /opt/etc/xray/dat/geoip_zkeenip.dat https://github.com/jameszeroX/zkeen-ip/releases/latest/download/zkeenip.dat && xkeen -restart
Ctrl + O, затем Enter.Ctrl + X.Шаг 4: Проверка расписания
crontab -l
Если у вас возникают проблемы с интернет-соединением при одновременном использовании нескольких прокси-серверов или туннелей, например, когда клиент на телефоне отключается при подключении через роутер, добавьте IP-адрес сервера с маской /32 в исключения маршрутизации. Это поможет избежать конфликтов между прокси-серверами и вашим интернет-соединением.
Если у вас несколько туннелей, добавьте IP-адреса всех серверов в эту строку.
Для этого отредактируйте файл /opt/etc/init.d/S24xray и найдите строку, которая начинается с ipv4_exclude=. Внутри кавычек добавьте IP-адрес вашего VPS с маской /32. Например:
ipv4_exclude="255.255.255.255/32 0.0.0.0/8 10.0.0.0/8 100.64.0.0/10 127.0.0.0/8 169.254.0.0/16 172.16.0.0/12 192.0.0.0/24 192.0.2.0/24 192.168.0.0/16 198.18.0.0/15 198.51.100.0/24 203.0.113.0/24 224.0.0.0/4 240.0.0.0/4 199.199.199.199/32"
Здесь
199.199.199.199/32— это пример IP-адреса вашего VPS, который добавлен в исключения.
После внесения изменений сохраните файл и перезагрузите сервис Xray, чтобы настройки вступили в силу. Для этого выполните команду:
xkeen -restart
Теперь ваш сервер должен корректно работать с несколькими туннелями без конфликтов в маршрутизации.
Отредактируйте файл /opt/etc/config/06_policy.json, увеличив значение параметра connIdle. Стандартное значение, указанное в документации XRay, составляет 300. Увеличение этого значения может повысить нагрузку на роутер.
В качестве альтернативного решения добавьте IP-адрес сервера в исключения маршрутизации (см. раздел "Решение проблем с маршрутизацией при использовании нескольких туннелей").
Если после установки Entware на Keenetic не удается подключиться по SSH на порт 222 с логином root и паролем keenetic, возможно, пароль root не установлен или установлен некорректно.
Подключитесь к CLI через SSH на порт 22, используя логин и пароль от админки роутера. Не перепутайте с Entware.
Выполните следующие команды:
exec sh
exec /opt/etc/init.d/S51dropbear restart
Если у вас возникли проблемы с передачей голоса в Discord, выполните следующие шаги:
\etc\xray\configs{
"inboundTag": ["redirect", "tproxy"],
"outboundTag": "vless-reality",
"type": "field",
"network": "udp",
"port": "50000-50030"
}
xkeen -ap 50000:50030
Сервис xkeen перезапустится автоматически.
Примечание: Если вы используете форк XKeen версии 1.1.3.9 и выше, рекомендуется добавлять порты через редактирование файла port_proxying.lst, расположенного в директории
etc\xkeen
chmod 755 /opt/sbin/xray
xkeen -start
Рассмотрим ситуацию, когда вы решили перенести все файлы на новый накопитель или создать полную резервную копию флешки с Entware и XKeen. Это позволит в любой момент развернуть готовую конфигурацию без необходимости повторной установки Entware и других компонентов (для вашей версии процессора).
Подключаемся к роутеру по SSH и вводим команду:
tar cvzf /opt/entware_backup.tar.gz --exclude=/opt/entware_backup.tar.gz -C /opt .
Обратите внимание: Точка в конце команды обязательна, так как она указывает на текущую директорию.
Переходим на текущий накопитель и копируем архив entware_backup.tar.gz (полный бэкап вашей флешки) в удобное для вас место, например, на рабочий стол.
Теперь, чтобы развернуть архив на новом накопителе (или восстановить его на старом из-за возникших проблем (не забыв отформатировать)), достаточно создать в корне флешки папку install и поместить в неё файл entware_backup.tar.gz.
Затем в OPKG (через админ-панель роутера) выберите нужный накопитель. В поле сценария initrc оставьте прежний путь:
/opt/etc/init.d/rc.unslung
Нажмите "Сохранить" и подождите одну-две минуты.
Ваш бэкап полностью развернут со всеми настройками.
x-ui и нажмите Enter.
BBR has been enabled successfully.
Отключение двухстороннего пинга:
echo "net.ipv4.icmp_echo_ignore_all=1" | sudo tee -a /etc/sysctl.conf && echo "net.ipv4.icmp_echo_ignore_broadcasts=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Включение двухстороннего пинга:
echo "net.ipv4.icmp_echo_ignore_all=0" | sudo tee -a /etc/sysctl.conf && echo "net.ipv4.icmp_echo_ignore_broadcasts=0" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
AdGuard Home – это DNS-сервер, блокирующий рекламу и трекинг. Его цель – дать вам возможность контролировать всю вашу сеть и все подключённые устройства. Он не требует установки клиентских программ.
xkeen -i: Необходимые пакеты, Xray и сервисы XKeen
xkeen -ux: Xray
xkeen -uk: XKeen
xkeen -ugs: GeoSite
xkeen -ugi: GeoIP
xkeen -uac: Xray, XKeen, GeoSite, GeoIP
xkeen -uxc: Xray
xkeen -ukс: XKeen
xkeen -ugsc: GeoSite
xkeen -ugic: GeoIP
xkeen -rx: Xray
xkeen -rk: XKeen
xkeen -ri: Автоматический запуск Xray средствами init
xkeen -dac: Xray, XKeen, GeoSite, GeoIP
xkeen -dxc: Xray
xkeen -dkc: XKeen
xkeen -dgsc: GeoSite
xkeen -dgic: GeoIP
xkeen -dx: Xray
xkeen -dk: XKeen
xkeen -dgs: GeoSite
xkeen -dgi: GeoIP
xkeen -dc: Конфигурационные файлы Xray
xkeen -dt: Временные файлы
xkeen -dr: Xray
xkeen -drk: XKeen
xkeen -ap 443,80: Добавить порты для работы (можно указать один или несколько портов через запятую)
xkeen -dp 443: Удалить 443 порт из рабочих портов (можно удалить один или несколько портов через запятую; если не указать конкретный порт, будут удалены все)
xkeen -cp: Показать с какими портами сейчас работает прокси-клиент
xkeen -ape 443,80: Добавить порты для исключения (можно указать один или несколько портов через запятую)
xkeen -dpe 443: Удалить 443 порт из исключенных портов (можно удалить один или несколько портов через запятую; если не указать конкретный порт, будут удалены все)
xkeen -cpe: Показать с какими портами сейчас не работает прокси-клиент
xkeen -rrx: Xray
xkeen -rrk: XKeen
xkeen -x: Xray
xkeen -k: XKeen
xkeen -rc: Конфигурационные файлы прокси-клиента
xkeen -xb: Xray
xkeen -kb: XKeen
xkeen -cb: Конфигурационные файлы прокси-клиента
xkeen -xbr: Xray
xkeen -kbr: XKeen
xkeen -cbr: Конфигурационные файлы прокси-клиента
xkeen -tpx: Порты, шлюз и протокол прокси-клиента
xkeen -v: Версия XKeen
xkeen -start: Запуск
xkeen -stop: Остановка
xkeen -restart: Перезапуск
xkeen -status: Проверка работы
xkeen -auto: Смена режима автозапуска
xkeen -d 4: Изменить стандартное минимальное время автозапуска (вместо «4» можно указать любое значение в секундах)
xkeen -diag: Создание файла диагностики
xkeen -fixed: Исправление регистраций от ошибок Entware (пользовательские настройки автозапуска будут утеряны)
xkeen -remove: Полная деинсталляция XKeen
opkg remove xkeen: Удаляем XKeen
opkg remove xray: Удаляем Xray и его конфигурации
rm -rf /opt/backups: Удаляем резервные копии Xray | XKeen | Конфигураций
Автор XKeen @Skrill_zerro
Купить кофе автору ядра Xray
Если есть возможность поддержать автора ядра, чьими заслугами мы регулярно пользуемся, пожалуйста, сделайте это. Ситуация такова, что его труд и время даже минимально не окупаются. Все вознаграждения получают именно авторы панелей/клиентов.
0xDc3Fe44F0f25D13CACb1C4896CD0D321df3146Ee
Купить кофе jameszero
Купить кофе автору XKeen
30% с каждого поступления отправляется на поддержку автора ядра Xray.
Номер карты
2200 7008 8716 3128
Номер кошелька
4100 1805 201 7678
TSC6Emx5KHK4CpYFKWj7duSYboKRAVxS3M
0x4a0369a762e3a23cc08f0bbbf39e169a647a5661
43 followers · starred Jul 2025
1 followers · starred Apr 2026
6 followers · starred Jan 2025
Инструкция от сообщества | Рекомендуемая для быстрой настройки
See the codeXKeen обновлён до версии 2.0 (06 июня 2026) — форк от JamesZero.
Добавлено:
-xray и -mihomo-dns)-gips, -dgips) подробнее62 - исключение из проксирования, 63 - проксирование)-pr) подробнее-ipv6)ip_exclude.lst, port_proxying.lst и port_exclude.lst в директории /opt/etc/xkeen/ для указания IP и портов (проксирования/исключения из проксирования)gh_proxy конфигурационного файла xkeen.jsonretries_download и retry_delay_download в xkeen.json для настройки числа повторных попыток и паузы между ними при загрузке с GitHub. Применяется к загрузке XKeen, Xray, Mihomo, Yq, GeoSite/GeoIP/GeoIPSET и получению списков релизов через GitHub API/jsDelivr. Подробнее-io)-cbr)-remove для полной деинсталляции XKeen (ранее деинсталляцию нужно было выполнять покомпонентно)-ug (обновление геофайлов), -ugc (управление заданием Cron, обновляющим геофайлы), -dgc (удаление задания Cron, обновляющего геофайлы)-um для обновления/установки ядра Mihomo (поддерживается повышение/понижение версии)-rrm (обновить регистрацию Mihomo), -drm (удалить регистрацию Mihomo)-dm для деинсталляции ядра Mihomo-g, позволяющий переустановить (добавить/удалить) геофайлы для Xray-channel, позволяющий выбрать канал обновления XKeen между Stable и Dev ветками-di для установки времени ожидания инициализации роутера перед началом запуска прокси-клиента-xtest и -mtest для проверки конфигураций Xray и Mihomo на ошибки-toff для отключения таймаута загрузок при замедлении GitHub. Пример использования: xkeen -i -toff-mb, -mbr для резервного копирования и восстановления конфигурации Mihomo-fd для контроля открытых файловых дескрипторов подробнее-extmsg для вывода расширенной информации при запуске прокси-клиентаИзменено:
xkeen -ape нужно было прерывать по ctrl+c)xkeen -d без цифрового параметра, теперь отображается информация о текущей задержке автозапуска-ugs, -ugi, -ugsc, -ugic, -dgsc, -dgic-ux для обновления ядра Xray теперь поддерживает повышение/понижение версииxkeen -h) выровнена по табуляции и повышен контраст текстаport_proxying.lst и port_exclude.lst. Параметры -ap, -dp, -cp, -ape, -dpe, -cpe теперь работают только с этими файлам. Переменные port_donor и port_exclude больше не используются-aghfix)-auto, -fd, -dns, -pr, -ipv6, -extmsg, -cbk, -aghfix теперь умеют работать в автоматическом режиме (-dns on, -auto off,... ), а так же поддерживают перезапуск XKeen (-dns on -restart), если это необходимоredirect и tproxy @UltraFeedУдалено:
/opt/etc/xkeen_exclude.lst c IP-адресами и подсетями для исключения из проксирования02_transport.json (не используется новыми ядрами xray-core)-ux. В связи с этим упразднены параметры запуска -xb и -xbr/opt/var/log/xkeen (на практике не использовалось)-uac, -ukc, -uxc, -dac, -dkc и -dxc-x, -rk, -rx, -rc -rrk, -rrx, -rrm, -drk, -drx, -drm, -modules, -delmodules[!NOTE] Эта инструкция поможет вам настроить XKeen на вашем роутере. Пожалуйста, следуйте шагам внимательно, чтобы избежать ошибок.
Если вы уже пытались настроить XKeen по инструкции с Хабра или других источников, рекомендуем сбросить роутер до заводских настроек, отформатировать флешку в файловой системе EXT4 и начать настройку заново, используя эту инструкцию. Это поможет избежать возможных проблем и упростит процесс настройки.
Отформатировать можно воспользоваться бесплатной версией программы Paragon Partition Manager Free или AOMEI Partition Assistant Standard Edition.
Приведем пример форматирования накопителя в Paragon Partition Manager Free:
Рекомендация: При форматировании флешки в файловую систему EXT4 рекомендуется создать раздел SWAP (обязательно первым) объемом 512 МБ — 1 ГБ. Это важно даже на роутерах с 512 МБ встроенной RAM, поскольку на устройствах могут быть установлены дополнительные приложения, потребляющие ресурсы. Keenetic корректно работает с SWAP, активируя его только при использовании 95% оперативной памяти, что помогает избежать проблем с производительностью. Кроме того, рекомендуется отключить сжатие RAM в настройках роутера во вкладке "Параметры системы".
После форматирования подключите уже подготовленный накопитель c файловой системой EXT4 к USB-порту роутера. Диск должен отобразиться на странице "Приложения" в разделе "Диски и принтеры". Если USB-накопитель не определился в роутере, проверьте установлен ли компонент операционной системы "Файловая система Ext".
Важно! Накопитель с файловой системой EXT4 нельзя использовать в ОС Windows. Если нужно подключить накопитель с EXT4 в Windows, можно воспользоваться специальным драйвером ext2fsd, разработанным сообществом открытого программного обеспечения для файловых систем семейства ext.
Для пользователей macOS доступен инструмент Keenetic Entware Flash, который автоматически создаёт правильную разметку USB-накопителя: SWAP-раздел + EXT4 с установщиком Entware — одной командой.
Работает через Docker или нативно на macOS:
С Docker:
git clone https://github.com/MaxXxaM/keenetic-entware-flash.git
cd keenetic-entware-flash
sudo ./run.sh
Без Docker (нативно):
brew install e2fsprogs
diskutil list external physical
# Замените disk4 на ваш диск
sudo diskutil partitionDisk /dev/disk4 MBRFormat \
"MS-DOS FAT32" "SWAP" 1024M \
"MS-DOS FAT32" "OPKG" R
diskutil unmountDisk /dev/disk4
sudo $(brew --prefix e2fsprogs)/sbin/mkfs.ext4 -O ^metadata_csum -L OPKG -F /dev/disk4s2
diskutil eject /dev/disk4
SWAP-раздел будет автоматически инициализирован роутером. Entware скачается при включении компонента OPKG.
1) Установка Homebrew
Если менеджер пакетов установлен, можете пропустить этот пункт и перейти к следующему.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Подробнее на https://brew.sh
Введите пароль администратора системы и продолжите установку менеджера пакетов.
2) Установка e2fsprogs
e2fsprogs (иногда называемая e2fs programs) — набор служебных утилит с открытым исходным кодом для работы с файловыми системами ext2, ext3 и ext4, которые часто используются во множестве дистрибутивов Linux. Утилиты служат для проверки целостности файловых систем, поиска и исправления ошибок, изменения настроек, форматирования.
В терминале вводим команду:
brew install e2fsprogs
Установка e2fsprogs
3) Форматирование USB накопителя в Ext4
diskutil list
Находим в списке нужное нам устройство.
Запомните идентификатор устройства. В моем случае это disk14.
diskutil unmountDisk disk14
После этого устройство отключится от системы.
sudo $(brew --prefix e2fsprogs)/sbin/mkfs.ext4 /dev/disk14
Введите пароль администратора системы и ожидайте.
Форматирование прошло успешно
В терминале введите команду, подставляя ваш идентификатор устройства (в моем случае disk14) и имя устройства, которое вы хотите задать (в моем случае OPKG):
sudo $(brew --prefix e2fsprogs)/sbin/e2label /dev/disk14 OPKG
Вводите пароль администратора системы и ожидаете.
Устройство отформатировано в Ext4 и готово к использованию.
Перед установкой OPKG и XKeen рекомендуется сделать резервную копию прошивки и настроек роутера.
Видеоинструкция от 24 авг. 2024 г. (автор Kasper): https://youtu.be/_QkGq8SLcpE
Скачать можно по этой ссылке, если YouTube не загружается:
Перед установкой Entware убедитесь, что компонент прошивки Кинетика «Сервер SSH» не установлен. Если он установлен, удалите его, так как Entware использует собственный SSH-сервер.
В KeeneticOS 5+ компонент Протокол IPv6 всегда включён и не может быть отключён в разделе «Изменить набор компонентов»
[!NOTE] Для моделей Keenetic/Netcraze: 4G (KN-1212), Omni (KN-1410), Extra (KN-1710/1711/1713), Giga (KN-1010/1011), Ultra (KN-1810), Viva (KN-1910/1912/1913), Giant (KN-2610), Hero 4G (KN-2310/2311), Hopper (KN-3810) и Zyxel Keenetic II / III, Extra, Extra II, Giga II / III, Omni, Omni II, Viva, Ultra, Ultra II используйте для установки архив mipsel — mipsel-installer.tar.gz
Для моделей Keenetic/Netcraze: Ultra SE (KN-2510), Giga SE (KN-2410), DSL (KN-2010), Skipper DSL (KN-2112), Duo (KN-2110), Ultra SE (KN-2510), Hopper DSL (KN-3610) и Zyxel Keenetic DSL, LTE, VOX используйте для установки архив mips — mips-installer.tar.gz
Для моделей Keenetic/Netcraze: Peak (KN-2710), Ultra (KN-1811), Ultra (NC-1812), Giga (KN-1012), Hopper (KN-3811) и Hopper SE (KN-3812) используйте архив aarch64 — aarch64-installer.tar.gz
Подключите уже подготовленный накопитель c файловой системой EXT4 к USB-порту роутера. Диск должен отобразиться на странице "Приложения" в разделе "Диски и принтеры".
На компьютере с помощью файлового менеджера подключитесь к диску по сети (в ОС Windows можно использовать Проводник). В настройках роутера предварительно должно быть включено приложение "Сервер SMB" для доступа к подключаемым USB-дискам по сети.
В корне раздела диска создайте директорию install, куда положите файл mipsel-installer.tar.gz.
Нажмите Сохранить.
Сценарий initrc должен оставаться пустым. В процессе завершения установки он будет автоматически изменен на
/opt/etc/init.d/rc.unslung.
I [Aug 26 16:21:42] ndm: Opkg::Manager: invalid initrc "/opt/etc/init.d/rc.unslung": no such file or directory, trying/opt/etc/init.d/.
I [Aug 26 16:21:43] ndm: Opkg::Manager: init script reset to default: /opt/etc/initrc.
I [Aug 26 16:21:44] installer: [1/5] Начало установки системы пакетов "Entware"...
I [Aug 26 16:21:53] installer: Info: Создание каталогов...
I [Aug 26 16:21:53] installer: [2/5] Загрузка и установка основных пакетов...
I [Aug 26 16:22:43] installer: Info: Установка пакетов прошла успешно!
I [Aug 26 16:22:43] installer: [3/5] Генерация SSH-ключей...
I [Aug 26 16:22:51] installer: Info: Ключ "ed25519" создан.
I [Aug 26 16:22:52] installer: [4/5] Настройка сценария запуска,
I [Aug 26 16:22:52] installer: Можно открыть SSH-сессию для соединения с устройством (логин - root, пароль - keenetic, порт - 222).
I [Aug 26 16:22:52] installer: [5/5] Установка системы пакетов "Entware" завершена! Не забудьте сменить пароль и номер порта!
Скачайте терминальную программу Putty, Termius или MobaXterm для работы с протоколами SSH и Telnet.
Запустите Putty, выберите тип подключения SSH, впишите IP-адрес роутера в домашнем сегменте Home (по умолчанию 192.168.1.1), укажите 22-й порт и нажмите кнопку Open.
[!NOTE] Важно! 222-й порт используется, если в роутере установлен компонент "Сервер SSH". Если он не установлен, используйте 22-й порт для подключения к Entware.
Подтвердите добавление ключа безопасности в кэш программы Putty для продолжения установки соединения.
При загрузке подтвердите вход, нажав Accept.
Далее перейдите в настройки роутера при помощи протокола Secure Shell (SSH).
Для авторизации в Entware используйте следующие данные:
login as: root
[email protected]'s password: keenetic
Можно установить свой пароль. Для этого введите команду passwd:
New password: впишите свой пароль
Retype password: подтвердите пароль
passwd
opkg update
opkg upgrade
Далее можно приступать к установке нужного OpenWRT пакета.
Добавлено:
-xray и -mihomo-dns)-gips, -dgips) подробнее62 - исключение из проксирования, 63 - проксирование)-pr) подробнее-ipv6)ip_exclude.lst, port_proxying.lst и port_exclude.lst в директории /opt/etc/xkeen/ для указания IP и портов (проксирования/исключения из проксирования)gh_proxy конфигурационного файла xkeen.jsonretries_download и retry_delay_download в xkeen.json для настройки числа повторных попыток и паузы между ними при загрузке с GitHub. Применяется к загрузке XKeen, Xray, Mihomo, Yq, GeoSite/GeoIP/GeoIPSET и получению списков релизов через GitHub API/jsDelivr. Подробнее-io)-cbr)-remove для полной деинсталляции XKeen (ранее деинсталляцию нужно было выполнять покомпонентно)-ug (обновление геофайлов), -ugc (управление заданием Cron, обновляющим геофайлы), -dgc (удаление задания Cron, обновляющего геофайлы)-um для обновления/установки ядра Mihomo (поддерживается повышение/понижение версии)-rrm (обновить регистрацию Mihomo), -drm (удалить регистрацию Mihomo)-dm для деинсталляции ядра Mihomo-g, позволяющий переустановить (добавить/удалить) геофайлы для Xray-channel, позволяющий выбрать канал обновления XKeen между Stable и Dev ветками-di для установки времени ожидания инициализации роутера перед началом запуска прокси-клиента-xtest и -mtest для проверки конфигураций Xray и Mihomo на ошибки-toff для отключения таймаута загрузок при замедлении GitHub. Пример использования: xkeen -i -toff-mb, -mbr для резервного копирования и восстановления конфигурации Mihomo-fd для контроля открытых файловых дескрипторов подробнее-extmsg для вывода расширенной информации при запуске прокси-клиентаИзменено:
xkeen -ape нужно было прерывать по ctrl+c)xkeen -d без цифрового параметра, теперь отображается информация о текущей задержке автозапуска-ugs, -ugi, -ugsc, -ugic, -dgsc, -dgic-ux для обновления ядра Xray теперь поддерживает повышение/понижение версииxkeen -h) выровнена по табуляции и повышен контраст текстаport_proxying.lst и port_exclude.lst. Параметры -ap, -dp, -cp, -ape, -dpe, -cpe теперь работают только с этими файлам. Переменные port_donor и port_exclude больше не используются-aghfix)-auto, -fd, -dns, -pr, -ipv6, -extmsg, -cbk, -aghfix теперь умеют работать в автоматическом режиме (-dns on, -auto off,... ), а так же поддерживают перезапуск XKeen (-dns on -restart), если это необходимоredirect и tproxy @UltraFeedУдалено:
/opt/etc/xkeen_exclude.lst c IP-адресами и подсетями для исключения из проксирования02_transport.json (не используется новыми ядрами xray-core)-ux. В связи с этим упразднены параметры запуска -xb и -xbr/opt/var/log/xkeen (на практике не использовалось)-uac, -ukc, -uxc, -dac, -dkc и -dxc-x, -rk, -rx, -rc -rrk, -rrx, -rrm, -drk, -drx, -drm, -modules, -delmodulesРазработкой форка Xkeen занимается JamesZero.
Рекомендуемый способ
Выполнять от пользователя root
opkg update && opkg upgrade && opkg install curl tar && cd /tmp
sh -c "$(curl -sSL https://raw.githubusercontent.com/jameszeroX/XKeen/main/install.sh)"
либо:
opkg update && opkg upgrade && opkg install curl tar && cd /tmp
sh -c "$(curl -sSL https://cdn.jsdelivr.net/gh/jameszeroX/XKeen@main/install.sh)"
Автор форка https://github.com/jameszeroX/XKeen
Выполнять от пользователя root
opkg update && opkg upgrade && opkg install curl tar && cd /tmp
url="https://github.com/jameszeroX/XKeen/releases/latest/download/xkeen.tar.gz"
curl -OL --connect-timeout 10 -m 60 "$url"
tar -xvzf xkeen.tar.gz -C /opt/sbin > /dev/null && rm xkeen.tar.gz
xkeen -i
Обычная установка XKeen и необходимых компонентов выполняется в OnLine режиме и жёстко привязана к GitHub, а в случае его недоступности будет невозможна. Поэтому в форк дополнительно к способу установки через Self-Hosted-прокси добавлен режим OffLine-установки по команде xkeen -io
Для OffLine-установки необходимо заранее любым способом скачать установочный архив XKeen версии 1.1.3.9+, ядро проксирования xray и(или) mihomo + парсер yaml-файлов yq подходящей архитектуры. Если планируте использовать xray и геофайлы в роутинге, то загрузите и их. Следующим шагом поместите в папку /opt/sbin/ архив XKeen (не распаковывая) и предварительно извлечённые из архива и при необходимости переименованные в xray mihomo и yq бинарники, затем выполните OffLine-установку командами в ssh-консоли entware Keenetic:
cd /opt/sbin
tar -xvzf xkeen.tar.gz && rm xkeen.tar.gz
xkeen -io
Копирование файлов конфигурации xray, mihomo и необходимых геофайлов в директории /opt/etc/xray/configs, /opt/etc/mihomo, /opt/etc/xray/dat выполните вручную, после чего можете запустить проксирование командой xkeen -start
При OffLine-установке XKeen не проверяет соответствие архитектуры процессора и бинарников, поэтому выбирайте совместимые бинарники внимательно. Если затрудняетесь в выборе, запустите xkeen -io без xray и mihomo в папке /opt/sbin/ и XKeen сообщит, какая архитектура требуется для вашего роутера.
При недоступности GitHub, обновление геофайлов по планировщику работать не будет, выполняйте его вручную.
Если недоступен не только GitHub, но и репозиторий Entware, то перед OffLine установкой XKeen требуется вручную установить недостающие пакеты из следующего списка:
curl, tar, lscpu, jq, libc, libssp, librt, libpthread, iptables, ca-bundle, coreutils-uname, coreutils-nohup, ipset
либо прописать в файл /opt/etc/opkg.conf рабочее зеркало репозитория
xkeen -uk
xkeen -k
выбрать пункт 0
Выполнять от пользователя root
opkg install curl
curl -sOfL https://raw.githubusercontent.com/Skrill0/XKeen/main/install.sh
chmod +x ./install.sh
./install.sh
В случае возникновения ошибки «panic: runtime error: slice bounds out of range» или других неожиданных сбоев в работе Xray, рекомендуется выполнить обновление ядра на роутере до версии 25.1.30 или выше. По умолчанию XKeen устанавливает ядро Xray версии 1.8.4, которое может быть причиной проблем. Данная мера часто позволяет устранить ошибки и восстановить корректную работу системы.
Выбираем
1. Установить отсутствующие GeoIP
Выберите номер или номера действий для GeoIP
Ваш выбор: 1
Выбираем
1. Установить отсутствующие GeoSite
Выберите номер или номера действий для GeoSite
Ваш выбор: 1
Включаем автоматическое обновление для всех (
1)
Выберите номер или номера действий для автоматических обновлений
Ваш выбор: 1
Устанавливаем обновление, например ежедневно в 00:00
Время автоматического обновления для всех задач:
Выберите день
Cron остановлен
Cron запущен
Выполняется очистка временных файлов после работы Xkeen`
Очистка временных файлов успешно выполнена
Перед использованием Xray настройте конфигураций по пути «/opt/etc/xray/configs»
Установка окончена
Приоритеты подключений > Политики доступа в интернетXKeenОтметить провайдера или несколькихДоступна «Многопутевая передача». Используйте её, если у вас два провайдера.
Приоритеты подключений > Применение политикКлиент | СетьПеренести сервисы Keenetic с 443 порта
Примечание: Сервисы, такие как KeenDNS, будут доступны на новом порте после переноса. Например, если вы перенесли с 443 на 8443, доступ к KeenDNS будет по адресу
xxxx.keenetic.link:8443.
| 5083 | 5443 | 8083 | 8443 | 65083 |
ip http ssl port {port}
ip http ssl port 8443
system configuration save
Перейти в директорию /etc/xray/configs/
Нас интересуют только 3 файла: 03_inbounds.json, 04_outbounds.json и 05_routing.json
- Mixed — поддерживает UDP и TCP, сочетая преимущества режимов TProxy и Redirect. UDP работает через TProxy, а TCP — через Redirect
- TProxy — поддерживает UDP и TCP, отлично работает со всеми типами трафика, включая игры и стриминговые сервисы.
- Redirect — поддерживает только TCP. Не подходит для проксирования стриминговых сервисов и игр.
Выберите один из вариантов маршрутизации 05_routing.json
VPS-подключение используется для указанных IP-адресов и доменных имен (например, Google, Twitter, TikTok и др.).
Прямое подключение используется для всего остального трафика, кроме заблокированных доменов и уязвимых UDP-портов.
или
Прямое подключение используется для доменов в зоне .ru, .su, .рф и других, а также для торрентов.
VPS-подключение применяется ко всем остальным запросам, кроме заблокированных UDP-портов.
03_inbounds.json - /etc/xray/configs/03_inbounds.json
04_outbounds.json - /etc/xray/configs/04_outbounds.json
[!NOTE] 04_outbounds.json можно настроить используя XKeen Config Generator.
tag - тег соединения, пусть будет "vless-reality"
protocol - обязательно "vless"
address - "IP вашего арендованного VPS сервера"
port - "443"
fingerprint - то что указывали в настройках 3X-UI "chrome"
serverName - тоже такие же как в 3X-UI "yahoo.com"
id, publicKey, shortId - смотрим в инфо соединения на 3X-UI
Если у вас несколько пользователей, то Short ID будет отображаться в виде списка значений, разделённых запятыми. Значения идут в том же порядке, что и ваши пользователи. Выберите нужное.
Инфо соединения также можно взять из URL
pbk=publicKey, fp=fingerprint, sni=serverName, sid=shortId
Если у вас возникают трудности при заполнении конфигурационного файла вручную, вы можете воспользоваться генератором конфига. Следуйте этим шагам:
04_outbounds будет доступен для сохранения на вашем компьютере.Примечание: Генератор конфига автоматизирует процесс создания конфигурационного файла, что может значительно упростить настройку и избежать ошибок.
05_routing.json - /etc/xray/configs/05_routing.json
Конфигуратор правил маршрутизации для xKeen: XKeen Routing Generator
Примечание: Способы с GeoIP / GeoSite — в некотором смысле автоматические.
Т.е. это целые базы адресов, которые используются для выборочного обхода. К примеру, GeoIP AntiFilter — все адреса из листа AntiFilter.
При этом правила автоматически обновляются через xkeen.
Частичное совпадение
"vk.com" = "vk.com.ru", "music.vk.com.ru", "www.vk.com/im" ≠ vk.ru
Регулярное выражение
Пример записи: "regexp:\\.ya.*\\.ru$" = "www.yandex.ru", "mail.yandex.ru" ≠ "ya.ru"
Обязательно начинается с "regexp:"
Поддомен
Пример записи: "domain:keenetic.com" = "forum.keenetic.com" ≠ "forum.keenetic12345.com"
Точное совпадение
Пример записи: "full:keenetic.com" = "keenetic.com" ≠ "www.keenetic.com", "keenetic123.com"
xkeen -start
DNS-over-TLS
9.9.9.9 dns.quad9.net; 149.112.112.112 dns.quad9.net1.1.1.1 cloudflare-dns.com; 1.0.0.1 cloudflare-dns.com8.8.8.8 dns.google; 8.8.4.4 dns.google94.140.14.14 dns.adguard-dns.com; 94.140.15.15 dns.adguard-dns.com208.67.222.222 dns.opendns.com; 208.67.220.220 dns.opendns.comDNS-over-HTTPS
https://dns.quad9.net/dns-queryhttps://cloudflare-dns.com/dns-query; https://one.one.one.one/dns-queryhttps://dns.google/dns-queryhttps://dns.adguard-dns.com/dns-queryhttps://doh.opendns.com/dns-queryДля корректной работы рекомендуется отключить транзит запросов и не игнорировать DNS провайдера.
Рекомендация: Xray в роутере обрабатывает абсолютно весь трафик. В зависимости от настроек маршрутизации, часть трафика отправляется напрямую через провайдера, а другая — через прокси (например, через VPS). Однако, слабый процессор роутера может не справляться с обработкой большого объема транзитного трафика через Xray, что приводит к нагрузке и снижению производительности. К сожалению, полностью исправить эту проблему невозможно из-за аппаратных ограничений роутера.
Тем не менее, можно уменьшить нагрузку на процессор, ограничив работу Xkeen портами 443 (HTTPS) и 80 (HTTP), что улучшит производительность при передаче трафика и снизит вероятность лагов и обрывов.
Для этого нужно подключиться к Entware по SSH под пользователем root и выполнить команду:
xkeen -ap 443,80Эта настройка поможет сделать сеть более стабильной и повысить её общую производительность.
Примечание: Если вы используете форк XKeen версии 1.1.3.9 и выше, рекомендуется добавлять порты через редактирование файла port_proxying.lst, расположенного в директории
etc\xkeen
Если вам важны результаты замеров скорости, то для достоверного результата необходимо соблюдать, как минимум, два условия: — не ограничивать порты проксирования 80 и 443; — не использовать роутинг (временно удалить routing.json и перезапустить xkeen).
FAQ по XKeen (в процессе наполнения) предназначен для тех, у кого возникли дополнительные вопросы после внимательного прочтения инструкции к XKeen
END
XKeen версии 1.1.3.0 (на устаревшем ядре Xray 1.8.4)
Если установленные компоненты IPv6 и Netfilter вам не нужны и были установлены только для XKeen, вы можете их удалить, выполнив следующие шаги:
xkeen -modulesПараметры системы > Изменить набор компонентовФорк XKeen 1.1.3.9
Используйте команду xkeen -ipv6 для отключения/включения протокола IPv6 в KeeneticOS 5+
В случае возникновения ошибки «panic: runtime error: slice bounds out of range» или других неожиданных сбоев в работе Xray, рекомендуется выполнить обновление ядра на роутере до версии 25.1.30 или выше. По умолчанию XKeen устанавливает ядро Xray версии 1.8.4, которое может быть причиной проблем. Данная мера часто позволяет устранить ошибки и восстановить корректную работу системы.
Подключитесь к Entware по SSH под пользователем root и выполните следующие команды:
curl -s -S -L -O https://github.com/Corvus-Malus/XKeen-docs/raw/main/Installer/install_xray.sh
chmod +x install_xray.sh
./install_xray.sh update
./install_xray.sh {command}
update|-u - Обновить Xray до последней версии.без команды - Вывести список последних 10 релизов Xray для выбора.recover|-r - Восстановить Xray из резервной копии.task HH:MM day - Запланировать обновление Xray. Если day = 8, то задание будет выполнено ежедневно.task 0 - Удалить запланированное обновление.crontab -l - Расписание crontabhelp|-h - Показать это сообщение.
[!NOTE] Примечание: Если после обновления ядра Xray появилась ошибка, проверьте, удалил ли скрипт файл 02_transport.json. Для этого перейдите в директорию
/etc/xray/configsи удалите файл вручную, если он все еще присутствует. Кроме того, убедитесь, что в файле 03_inbounds.json (он находится в той же директории) есть строка:"routeOnly": true,
Выполните команду:
xkeen -stop
/opt/sbin/.Выполните команду:
chmod +x /opt/sbin/xray
Перейдите в директорию \etc\xray\configs и удалите файл: 02_transport.json.
Откройте файл 03_inbounds.json, который находится в директории \etc\xray\configs, и убедитесь, что в нем присутствует следующая строка:
"routeOnly": true,
Выполните команду:
xkeen -dxc
Выполните команду:
xkeen -start
По умолчанию файл
geosite_zkeen.datне включен в автообновление, поэтому настройка расписания для обновления данных выполняется вручную.
Шаг 1: Подключение к Entware по SSH и установка редактора
opkg update
opkg install nano
Шаг 2: Настройка nano как редактора по умолчанию
/etc/profile для редактирования:nano /etc/profile
export VISUAL="nano"
export EDITOR="nano"
Ctrl + O, затем Enter.Ctrl + X.Шаг 3: Настройка crontab для автообновления файлов
crontab -e
0 0 * * 1 /opt/bin/curl -L -o /opt/etc/xray/dat/geosite_zkeen.dat https://github.com/jameszeroX/zkeen-domains/releases/latest/download/zkeen.dat
5 0 * * 1 /opt/bin/curl -L -o /opt/etc/xray/dat/geoip_zkeenip.dat https://github.com/jameszeroX/zkeen-ip/releases/latest/download/zkeenip.dat && xkeen -restart
Ctrl + O, затем Enter.Ctrl + X.Шаг 4: Проверка расписания
crontab -l
Если у вас возникают проблемы с интернет-соединением при одновременном использовании нескольких прокси-серверов или туннелей, например, когда клиент на телефоне отключается при подключении через роутер, добавьте IP-адрес сервера с маской /32 в исключения маршрутизации. Это поможет избежать конфликтов между прокси-серверами и вашим интернет-соединением.
Если у вас несколько туннелей, добавьте IP-адреса всех серверов в эту строку.
Для этого отредактируйте файл /opt/etc/init.d/S24xray и найдите строку, которая начинается с ipv4_exclude=. Внутри кавычек добавьте IP-адрес вашего VPS с маской /32. Например:
ipv4_exclude="255.255.255.255/32 0.0.0.0/8 10.0.0.0/8 100.64.0.0/10 127.0.0.0/8 169.254.0.0/16 172.16.0.0/12 192.0.0.0/24 192.0.2.0/24 192.168.0.0/16 198.18.0.0/15 198.51.100.0/24 203.0.113.0/24 224.0.0.0/4 240.0.0.0/4 199.199.199.199/32"
Здесь
199.199.199.199/32— это пример IP-адреса вашего VPS, который добавлен в исключения.
После внесения изменений сохраните файл и перезагрузите сервис Xray, чтобы настройки вступили в силу. Для этого выполните команду:
xkeen -restart
Теперь ваш сервер должен корректно работать с несколькими туннелями без конфликтов в маршрутизации.
Отредактируйте файл /opt/etc/config/06_policy.json, увеличив значение параметра connIdle. Стандартное значение, указанное в документации XRay, составляет 300. Увеличение этого значения может повысить нагрузку на роутер.
В качестве альтернативного решения добавьте IP-адрес сервера в исключения маршрутизации (см. раздел "Решение проблем с маршрутизацией при использовании нескольких туннелей").
Если после установки Entware на Keenetic не удается подключиться по SSH на порт 222 с логином root и паролем keenetic, возможно, пароль root не установлен или установлен некорректно.
Подключитесь к CLI через SSH на порт 22, используя логин и пароль от админки роутера. Не перепутайте с Entware.
Выполните следующие команды:
exec sh
exec /opt/etc/init.d/S51dropbear restart
Если у вас возникли проблемы с передачей голоса в Discord, выполните следующие шаги:
\etc\xray\configs{
"inboundTag": ["redirect", "tproxy"],
"outboundTag": "vless-reality",
"type": "field",
"network": "udp",
"port": "50000-50030"
}
xkeen -ap 50000:50030
Сервис xkeen перезапустится автоматически.
Примечание: Если вы используете форк XKeen версии 1.1.3.9 и выше, рекомендуется добавлять порты через редактирование файла port_proxying.lst, расположенного в директории
etc\xkeen
chmod 755 /opt/sbin/xray
xkeen -start
Рассмотрим ситуацию, когда вы решили перенести все файлы на новый накопитель или создать полную резервную копию флешки с Entware и XKeen. Это позволит в любой момент развернуть готовую конфигурацию без необходимости повторной установки Entware и других компонентов (для вашей версии процессора).
Подключаемся к роутеру по SSH и вводим команду:
tar cvzf /opt/entware_backup.tar.gz --exclude=/opt/entware_backup.tar.gz -C /opt .
Обратите внимание: Точка в конце команды обязательна, так как она указывает на текущую директорию.
Переходим на текущий накопитель и копируем архив entware_backup.tar.gz (полный бэкап вашей флешки) в удобное для вас место, например, на рабочий стол.
Теперь, чтобы развернуть архив на новом накопителе (или восстановить его на старом из-за возникших проблем (не забыв отформатировать)), достаточно создать в корне флешки папку install и поместить в неё файл entware_backup.tar.gz.
Затем в OPKG (через админ-панель роутера) выберите нужный накопитель. В поле сценария initrc оставьте прежний путь:
/opt/etc/init.d/rc.unslung
Нажмите "Сохранить" и подождите одну-две минуты.
Ваш бэкап полностью развернут со всеми настройками.
x-ui и нажмите Enter.
BBR has been enabled successfully.
Отключение двухстороннего пинга:
echo "net.ipv4.icmp_echo_ignore_all=1" | sudo tee -a /etc/sysctl.conf && echo "net.ipv4.icmp_echo_ignore_broadcasts=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Включение двухстороннего пинга:
echo "net.ipv4.icmp_echo_ignore_all=0" | sudo tee -a /etc/sysctl.conf && echo "net.ipv4.icmp_echo_ignore_broadcasts=0" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
AdGuard Home – это DNS-сервер, блокирующий рекламу и трекинг. Его цель – дать вам возможность контролировать всю вашу сеть и все подключённые устройства. Он не требует установки клиентских программ.
xkeen -i: Необходимые пакеты, Xray и сервисы XKeen
xkeen -ux: Xray
xkeen -uk: XKeen
xkeen -ugs: GeoSite
xkeen -ugi: GeoIP
xkeen -uac: Xray, XKeen, GeoSite, GeoIP
xkeen -uxc: Xray
xkeen -ukс: XKeen
xkeen -ugsc: GeoSite
xkeen -ugic: GeoIP
xkeen -rx: Xray
xkeen -rk: XKeen
xkeen -ri: Автоматический запуск Xray средствами init
xkeen -dac: Xray, XKeen, GeoSite, GeoIP
xkeen -dxc: Xray
xkeen -dkc: XKeen
xkeen -dgsc: GeoSite
xkeen -dgic: GeoIP
xkeen -dx: Xray
xkeen -dk: XKeen
xkeen -dgs: GeoSite
xkeen -dgi: GeoIP
xkeen -dc: Конфигурационные файлы Xray
xkeen -dt: Временные файлы
xkeen -dr: Xray
xkeen -drk: XKeen
xkeen -ap 443,80: Добавить порты для работы (можно указать один или несколько портов через запятую)
xkeen -dp 443: Удалить 443 порт из рабочих портов (можно удалить один или несколько портов через запятую; если не указать конкретный порт, будут удалены все)
xkeen -cp: Показать с какими портами сейчас работает прокси-клиент
xkeen -ape 443,80: Добавить порты для исключения (можно указать один или несколько портов через запятую)
xkeen -dpe 443: Удалить 443 порт из исключенных портов (можно удалить один или несколько портов через запятую; если не указать конкретный порт, будут удалены все)
xkeen -cpe: Показать с какими портами сейчас не работает прокси-клиент
xkeen -rrx: Xray
xkeen -rrk: XKeen
xkeen -x: Xray
xkeen -k: XKeen
xkeen -rc: Конфигурационные файлы прокси-клиента
xkeen -xb: Xray
xkeen -kb: XKeen
xkeen -cb: Конфигурационные файлы прокси-клиента
xkeen -xbr: Xray
xkeen -kbr: XKeen
xkeen -cbr: Конфигурационные файлы прокси-клиента
xkeen -tpx: Порты, шлюз и протокол прокси-клиента
xkeen -v: Версия XKeen
xkeen -start: Запуск
xkeen -stop: Остановка
xkeen -restart: Перезапуск
xkeen -status: Проверка работы
xkeen -auto: Смена режима автозапуска
xkeen -d 4: Изменить стандартное минимальное время автозапуска (вместо «4» можно указать любое значение в секундах)
xkeen -diag: Создание файла диагностики
xkeen -fixed: Исправление регистраций от ошибок Entware (пользовательские настройки автозапуска будут утеряны)
xkeen -remove: Полная деинсталляция XKeen
opkg remove xkeen: Удаляем XKeen
opkg remove xray: Удаляем Xray и его конфигурации
rm -rf /opt/backups: Удаляем резервные копии Xray | XKeen | Конфигураций
Автор XKeen @Skrill_zerro
Купить кофе автору ядра Xray
Если есть возможность поддержать автора ядра, чьими заслугами мы регулярно пользуемся, пожалуйста, сделайте это. Ситуация такова, что его труд и время даже минимально не окупаются. Все вознаграждения получают именно авторы панелей/клиентов.
0xDc3Fe44F0f25D13CACb1C4896CD0D321df3146Ee
Купить кофе jameszero
Купить кофе автору XKeen
30% с каждого поступления отправляется на поддержку автора ядра Xray.
Номер карты
2200 7008 8716 3128
Номер кошелька
4100 1805 201 7678
TSC6Emx5KHK4CpYFKWj7duSYboKRAVxS3M
0x4a0369a762e3a23cc08f0bbbf39e169a647a5661
43 followers · starred Jul 2025
1 followers · starred Apr 2026
6 followers · starred Jan 2025