/XKeen

Инструкция от сообщества | Рекомендуемая для быстрой настройки

Оглавление

Опциональные настройки
Консольные команды XKeen

Note

Эта инструкция поможет вам настроить XKeen на вашем роутере. Пожалуйста, следуйте шагам внимательно, чтобы избежать ошибок.

Если вы уже пытались настроить XKeen по инструкции с Хабра или других источников, рекомендуем сбросить роутер до заводских настроек, отформатировать флешку в файловой системе EXT4 и начать настройку заново, используя эту инструкцию. Это поможет избежать возможных проблем и упростит процесс настройки.

Установка системы пакетов репозитория Entware на USB-накопитель

  1. Подключите жесткий диск к ПК и подготовьте его разделы. Для работы менеджера пакетов OPKG диск должен быть отформатирован в файловой системе EXT4.

Отформатировать можно воспользоваться бесплатной версией программы Paragon Partition Manager Free или AOMEI Partition Assistant Standard Edition.

Приведем пример форматирования накопителя в Paragon Partition Manager Free:

После форматирования подключите уже подготовленный накопитель c файловой системой EXT4 к USB-порту роутера. Диск должен отобразиться на странице "Приложения" в разделе "Диски и принтеры". Если USB-накопитель не определился в роутере, проверьте установлен ли компонент операционной системы "Файловая система Ext".

Важно! Накопитель с файловой системой EXT4 нельзя использовать в ОС Windows. Если нужно подключить накопитель с EXT4 в Windows, можно воспользоваться специальным драйвером ext2fsd, разработанным сообществом открытого программного обеспечения для файловых систем семейства ext.


Перед установкой OPKG и XKeen рекомендуется сделать резервную копию прошивки и настроек роутера.

Видеоинструкция от 24 авг. 2024 г. (автор Kasper): https://youtu.be/_QkGq8SLcpE

Скачать можно по этой ссылке, если YouTube не загружается:


  1. В роутере Keenetic установите нужные компоненты OPKG. Основным и обязательным является компонент "Поддержка открытых пакетов".
  • Интерфейс USB
  • Файловая система Ext
  • Общий доступ к файлам и принтерам по протоколу SMB
  • Поддержка открытых пакетов
  • Прокси-сервер DNS-over-TLS
  • Прокси-сервер DNS-over-HTTPS
  • Протокол IPv6
  • Модули ядра подсистемы Netfilter


  1. Теперь нужно установить репозиторий системы пакетов Entware.

Note

Справка: Для моделей 4G (KN-1212), Omni (KN-1410), Extra (KN-1710/1711/1713), Giga (KN-1010/1011), Ultra (KN-1810), Viva (KN-1910/1912), Giant (KN-2610), Hero 4G (KN-2310), Hopper (KN-3810) и Zyxel Keenetic II / III, Extra, Extra II, Giga II / III, Omni, Omni II, Viva, Ultra, Ultra II используйте для установки архив mipselmipsel-installer.tar.gz

Для моделей Ultra SE (KN-2510), Giga SE (KN-2410), DSL (KN-2010), Duo (KN-2110), Ultra SE (KN-2510), Hopper DSL (KN-3610) и Zyxel Keenetic DSL, LTE, VOX используйте для установки архив mipsmips-installer.tar.gz

Для моделей Peak (KN-2710), Ultra (KN-1811) используйте архив aarch64aarch64-installer.tar.gz


  1. В нашем примере рассмотрим установку архива mipsel.

Подключите уже подготовленный накопитель c файловой системой EXT4 к USB-порту роутера. Диск должен отобразиться на странице "Приложения" в разделе "Диски и принтеры".

На компьютере с помощью файлового менеджера подключитесь к диску по сети (в ОС Windows можно использовать Проводник). В настройках роутера предварительно должно быть включено приложение "Сервер SMB" для доступа к подключаемым USB-дискам по сети.

В корне раздела диска создайте директорию install, куда положите файл mipsel-installer.tar.gz.


  1. В веб-интерфейсе роутера перейдите на страницу OPKG для выбора накопителя и добавления скрипта initrc.
  2. Для Keenetic с версией KeeneticOS 2.12 и выше, перейдите на страницу OPKG и выполните следующие настройки:
  • В поле "Накопитель" выберите диск OPKG (метка EXT4-раздела)

Нажмите Сохранить.

Если после сохранения в поле "Сценарий initrc" не появится путь /opt/etc/init.d/rc.unslung, введите его вручную в этом поле.

  1. Перейдите на страницу "Диагностика" и откройте Системный журнал роутера. В нем вы должны увидеть следующие записи при установке системы пакетов Entware:

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" завершена! Не забудьте сменить пароль и номер порта!


  1. Скачайте терминальную программу Putty для работы с протоколами SSH и Telnet.

  2. Запустите Putty, выберите тип подключения SSH, впишите IP-адрес роутера в домашнем сегменте Home (по умолчанию 192.168.1.1), укажите 22-й порт и нажмите кнопку Open.

Note

Важно! 222-й порт используется, если в роутере установлен компонент "Сервер SSH". Если он не установлен, используйте 22-й порт для подключения к Entware.


Подтвердите добавление ключа безопасности в кэш программы Putty для продолжения установки соединения.

При загрузке подтвердите вход, нажав Accept.

Далее перейдите в настройки роутера при помощи протокола Secure Shell (SSH).

Для авторизации в Entware используйте следующие данные:

login as: root

root@192.168.111.1's password: keenetic

Можно установить свой пароль. Для этого введите команду passwd:

New password: впишите свой пароль

Retype password: подтвердите пароль

passwd


  1. При успешной авторизации вы окажетесь в оболочке BusyBox v1.27.2 () built-in shell (ash). Теперь нужно обновить opkg-пакет, для этого введите команду opkg update и opkg upgrade:
opkg update

Далее можно приступать к установке нужного OpenWRT пакета.

Установка XKeen

Выполнять от пользователя root

opkg install curl
curl -sOfL https://raw.githubusercontent.com/Skrill0/XKeen/main/install.sh
chmod +x ./install.sh
./install.sh


Выбираем 1. Установить отсутствующие GeoIP

Выберите номер или номера действий для GeoIP

  • 0. Пропустить
  • 1. Установить отсутствующие GeoIP
  • 2. Нет доступных GeoIP для обновления
  • 3. Установить AntiFilter
  • 4. Установить v2fly
  • 99. Нет установленных GeoIP для удаления

Ваш выбор: 1


Выбираем 1. Установить отсутствующие GeoSite

Выберите номер или номера действий для GeoSite

  • 0. Пропустить
  • 1. Установить отсутствующие GeoSite
  • 2. Нет доступных GeoSite для обновления
  • 3. Установить v2fly
  • 4. Установить AntiFilter
  • 5. Установить AntiZapret
  • 6. Установить Zkeen
  • 99. Нет установленных GeoSite для удаления

Ваш выбор: 1


Включаем автоматическое обновление для всех (1)

Выберите номер или номера действий для автоматических обновлений

  • 0. Пропустить
  • 1. Включить отсутствующие задачи автоматического обновления
  • 2. Обновить включенные задачи автоматического обновления
  • 3. Обновить Xkeen
  • 4. Обновить Xray
  • 5. Включить GeoSite
  • 6. Обновить GeoIP
  • 99. Выключить все

Ваш выбор: 1


Устанавливаем обновление, например ежедневно в 00:00

Время автоматического обновления для всех задач:

Выберите день

  • 0. Отмена
  • 1. Понедельник
  • 2. Вторник
  • 3. Среда
  • 4. Четверг
  • 5. Пятница
  • 6. Суббота
  • 7. Воскресенье
  • 8. Ежедневно

Cron остановлен
Cron запущен

Выполняется очистка временных файлов после работы Xkeen`
Очистка временных файлов успешно выполнена

Перед использованием Xray настройте конфигураций по пути «/opt/etc/xray/configs»
Установка окончена


Предварительные настройки

  • Перейти в Web роутера (стандартный адрес 192.168.1.1)
  • Перейти в раздел Приоритеты подключений > Политики доступа в интернет
  • Создать политику XKeen
  • Выбрать способ доступа к интернету Отметить провайдера или нескольких

Доступна «Многопутевая передача». Используйте её, если у вас два провайдера.

  • Перейти в раздел Приоритеты подключений > Применение политик
  • Добавить в созданную политику цели Клиент | Сеть

Перенести сервисы Keenetic с 443 порта

  • Перейти в CLI роутера (стандартный адрес 192.168.1.1/a)

Примечание: Сервисы, такие как 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


Настройка Xray

Перейти в директорию /etc/xray/configs/

Нас интересуют только 3 файла: 03_inbounds.json, 04_outbounds.json и 05_routing.json


Выберите один из вариантов маршрутизации 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_inbounds.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


Если у вас возникают трудности при заполнении конфигурационного файла вручную, вы можете воспользоваться генератором конфига. Следуйте этим шагам:


Как использовать Генератор Конфига

  1. Перейдите в панель 3X-UI.


  1. Найдите и скопируйте ссылку подключения, которая необходима для генерации конфигурационного файла.


  1. Перейдите по ссылке https://corvus-malus.github.io/XKeen-Config-Generator


  1. Вставьте скопированную ссылку из 3X-UI в соответствующее поле генератора.
  2. Нажмите кнопку для генерации конфигурационного файла.
  3. После завершения генерации, файл 04_outbounds будет доступен для сохранения на вашем компьютере.

Примечание: Генератор конфига автоматизирует процесс создания конфигурационного файла, что может значительно упростить настройку и избежать ошибок.


05_routing.json - /etc/xray/configs/05_routing.json

Example Image

Примечание: Способы с 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
xkeen -start

  • Quad9 DOT: 9.9.9.9 dns.quad9.net; 149.112.112.112 dns.quad9.net
  • Quad9 DOH: https://dns.quad9.net/dns-query

Отключить DNS интернет-провайдера

  • Игнорировать DNSv4 интернет-провайдера
  • Игнорировать DNSv6 интернет-провайдера

Примечание: Если вам всё-таки важны результаты замеров скорости, то для достоверного результата необходимо соблюдать, как минимум, два условия: — не ограничивать порты проксирования 80 и 443; — не использовать роутинг (временно удалить routing.json и перезапустить xkeen).


FAQ по XKeen (в процессе наполнения) предназначен для тех, у кого возникли дополнительные вопросы после внимательного прочтения инструкции к XKeen

END



Опциональные настройки

Удаление компонентов IPv6 и Netfilter

Если установленные компоненты IPv6 и Netfilter вам не нужны и были установлены только для XKeen, вы можете их удалить, выполнив следующие шаги:

  • Подключиться к Entware по SSH под root
  • Выполнить команду: xkeen -modules
  • Перейти в Web роутера (стандартный адрес 192.168.1.1)
  • Перейти в раздел Параметры системы > Изменить набор компонентов
  • Снять отметки для удаления
  1. Протокол IPv6
  2. Модули ядра подсистемы Netfilter



Настройка автоматического обновления файлов geosite_zkeen.dat и geoip_zkeenip.dat

По умолчанию файл geosite_zkeen.dat не включен в автообновление, поэтому настройка расписания для обновления данных выполняется вручную.


Шаг 1: Подключение к Entware по SSH и установка редактора

  • Подключиться к Entware по SSH под пользователем root.
  • Установить текстовый редактор nano:
opkg install nano

Шаг 2: Настройка nano как редактора по умолчанию

  • Открыть файл /etc/profile для редактирования:
nano /etc/profile
  • Добавить в конец файла следующие строки:
export VISUAL="nano"
export EDITOR="nano"
  • Сохранить изменения в nano: нажмите Ctrl + O, затем Enter.
  • Закрыть nano: нажмите Ctrl + X.
  • Перезагрузить роутер

Шаг 3: Настройка crontab для автообновления файлов

  • Выполнить команду для редактирования расписания cron:
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
  • Сохранить изменения в crontab: нажмите Ctrl + O, затем Enter.
  • Закрыть редактор: нажмите Ctrl + X.

Шаг 4: Проверка расписания

  • Чтобы убедиться, что расписание crontab сохранено правильно, выполнить:
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

Теперь ваш сервер должен корректно работать с несколькими туннелями без конфликтов в маршрутизации.



Исправление проблемы с быстрым обрывом соединений по SSH

Отредактируйте файл /opt/etc/config/06_policy.json, увеличив значение параметра connIdle. Стандартное значение, указанное в документации XRay, составляет 300. Увеличение этого значения может повысить нагрузку на роутер.

В качестве альтернативного решения добавьте IP-адрес сервера в исключения маршрутизации (см. раздел "Решение проблем с маршрутизацией при использовании нескольких туннелей").



Исправление проблемы с SSH доступом на Keenetic после установки Entware

Если после установки Entware на Keenetic не удается подключиться по SSH на порт 222 с логином root и паролем keenetic, возможно, пароль root не установлен или установлен некорректно.

Подключитесь к CLI через SSH на порт 22, используя логин и пароль от админки роутера. Не перепутайте с Entware.

Выполните следующие команды:

exec sh
exec /opt/etc/init.d/S51dropbear restart



Обновление ядра XRAY до последней версии

Подключитесь к Entware по SSH под пользователем root и выполните следующие команды:

  1. Выполните команду, чтобы скачать скрипт установки:
curl -L -O https://github.com/Corvus-Malus/XKeen-docs/raw/main/Installer/install_xray.sh
  1. Сделайте скрипт исполняемым:
chmod +x install_xray.sh
  1. Выполните скрипт с параметром install для обновления:
./install_xray.sh update

Восстановление оригинального файла xray (откат обновления)

  1. Выполните скрипт с параметром recover:
./install_xray.sh recover

Команды

./install_xray.sh {command}

  • update|-u [version] - Обновить Xray. Если версия не указана, будет выполнено обновление до последней доступной версии.
  • recover|-r - Восстановить Xray из резервной копии.
  • help|-h - Показать это сообщение.





Используйте этот бинарный файл xray, если у вас KN-2910 или KN-1212:

  • Keenetic Skipper 4G (KN-2910)
  • Keenetic 4G (KN-1212)
  1. Заменить файл xray в папке sbin.
  2. Установите для него права 755:
chmod 755 /opt/sbin/xray
  1. Запустите xkeen командой:
xkeen -start



Настройка BBR через 3X-UI Panel Management Script

  • Подключитесь к вашему VPS серверу через терминал.
  • Введите команду x-ui и нажмите Enter.

  • В меню выберите пункт Enable BBR, введя соответствующую цифру.
  • Подтвердите выбор для активации BBR.

  • Убедитесь, что интерфейс отображает сообщение об успешной активации BBR:

BBR has been enabled successfully.



Как отключить двухсторонний пинг в Linux

Отключение двухстороннего пинга:

  1. Чтобы отключить двухсторонний пинг, выполните следующую команду:
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
  1. Примените изменения командой:
sudo sysctl -p

Включение двухстороннего пинга:

  1. Чтобы вернуть пинг обратно, выполните следующую команду:
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
  1. Снова примените изменения:
sudo sysctl -p



AdGuard Home – это DNS-сервер, блокирующий рекламу и трекинг. Его цель – дать вам возможность контролировать всю вашу сеть и все подключённые устройства. Он не требует установки клиентских программ.


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

Установка

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 (пользовательские настройки автозапуска будут утеряны)

Удаляем Xray | XKeen | Конфигурации | Резервные копии

opkg remove xkeen: Удаляем XKeen

opkg remove xray: Удаляем Xray и его конфигурации

rm -rf /opt/backups: Удаляем резервные копии Xray | XKeen | Конфигураций



Автор XKeen @Skrill_zerro