- Установка Entware
- Установка XKeen
- Предварительные настройки
- Настройка Xray
- XKeen Config Generator
- Настройка DNS-over-TLS и DNS-over-HTTPS
- Опциональные настройки
Консольные команды XKeen
- Установка
- Обновление
- Включение или изменения правил обновления
- Регистрация в системе
- Удаление автоматических обновлений
- Удаление утилит и компонентов
- Удаление регистраций
- Порты с которыми работает прокси-клиент
- Порты которые будут исключены из работы прокси-клиента
- Обновление регистраций
- Переустановка
- Создание резервных копий
- Восстановление последних резервных копий
- Проверки
- Управление прокси-клиентом
- Удаляем XKeen
Note
Эта инструкция поможет вам настроить XKeen на вашем роутере. Пожалуйста, следуйте шагам внимательно, чтобы избежать ошибок.
Если вы уже пытались настроить XKeen по инструкции с Хабра или других источников, рекомендуем сбросить роутер до заводских настроек, отформатировать флешку в файловой системе EXT4 и начать настройку заново, используя эту инструкцию. Это поможет избежать возможных проблем и упростит процесс настройки.
- Подключите жесткий диск к ПК и подготовьте его разделы. Для работы менеджера пакетов 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 не загружается:
- https://disk.yandex.ru/i/aK8ScigR9UWnvA
- https://www.icloud.com/iclouddrive/013pnd8NLJa8Ax1c5tcXyPmyQ
- В роутере Keenetic установите нужные компоненты OPKG. Основным и обязательным является компонент "Поддержка открытых пакетов".
- Интерфейс USB
- Файловая система Ext
- Общий доступ к файлам и принтерам по протоколу SMB
- Поддержка открытых пакетов
- Прокси-сервер DNS-over-TLS
- Прокси-сервер DNS-over-HTTPS
- Протокол IPv6
- Модули ядра подсистемы Netfilter
- Теперь нужно установить репозиторий системы пакетов Entware.
Note
Справка: Для моделей 4G (KN-1212)1, 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 используйте для установки архив mipsel — mipsel-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 используйте для установки архив mips — mips-installer.tar.gz
Для моделей Peak (KN-2710), Ultra (KN-1811) используйте архив aarch64 — aarch64-installer.tar.gz
- В нашем примере рассмотрим установку архива mipsel.
Подключите уже подготовленный накопитель c файловой системой EXT4 к USB-порту роутера. Диск должен отобразиться на странице "Приложения" в разделе "Диски и принтеры".
На компьютере с помощью файлового менеджера подключитесь к диску по сети (в ОС Windows можно использовать Проводник). В настройках роутера предварительно должно быть включено приложение "Сервер SMB" для доступа к подключаемым USB-дискам по сети.
В корне раздела диска создайте директорию install, куда положите файл mipsel-installer.tar.gz.
- В веб-интерфейсе роутера перейдите на страницу OPKG для выбора накопителя и добавления скрипта initrc.
- Для Keenetic с версией KeeneticOS 2.12 и выше, перейдите на страницу OPKG и выполните следующие настройки:
- В поле "Накопитель" выберите диск OPKG (метка EXT4-раздела)
Нажмите Сохранить.
Если после сохранения в поле "Сценарий initrc" не появится путь
/opt/etc/init.d/rc.unslung
, введите его вручную в этом поле.
- Перейдите на страницу "Диагностика" и откройте Системный журнал роутера. В нем вы должны увидеть следующие записи при установке системы пакетов 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" завершена! Не забудьте сменить пароль и номер порта!
-
Скачайте терминальную программу Putty для работы с протоколами 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
- При успешной авторизации вы окажетесь в оболочке BusyBox v1.27.2 () built-in shell (ash). Теперь нужно обновить opkg-пакет, для этого введите команду opkg update и opkg upgrade:
opkg update
Далее можно приступать к установке нужного OpenWRT пакета.
Выполнять от пользователя 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
Перейти в директорию /etc/xray/configs/
Нас интересуют только 3 файла: 03_inbounds.json
, 04_outbounds.json
и 05_routing.json
-
03_inbounds.json: https://github.com/Corvus-Malus/XKeen/releases/latest/download/03_inbounds.json
-
04_outbounds.json: https://github.com/Corvus-Malus/XKeen/releases/latest/download/04_outbounds.json
Выберите один из вариантов маршрутизации 05_routing.json
VPS-подключение используется для указанных IP-адресов и доменных имен (например, Google, Twitter, TikTok и др.).
Прямое подключение используется для всего остального трафика, кроме заблокированных доменов и уязвимых UDP-портов.
или
- 05_routing.json: https://github.com/Corvus-Malus/XKeen-docs/releases/latest/download/05_routing.json
Прямое подключение используется для доменов в зоне .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
Если у вас возникают трудности при заполнении конфигурационного файла вручную, вы можете воспользоваться генератором конфига. Следуйте этим шагам:
- Перейдите в панель 3X-UI.
- Найдите и скопируйте ссылку подключения, которая необходима для генерации конфигурационного файла.
- Перейдите по ссылке https://corvus-malus.github.io/XKeen-Config-Generator
- Вставьте скопированную ссылку из 3X-UI в соответствующее поле генератора.
- Нажмите кнопку для генерации конфигурационного файла.
- После завершения генерации, файл
04_outbounds
будет доступен для сохранения на вашем компьютере.
Примечание: Генератор конфига автоматизирует процесс создания конфигурационного файла, что может значительно упростить настройку и избежать ошибок.
05_routing.json - /etc/xray/configs/05_routing.json
Примечание: Способы с 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
- Игнорировать DNSv4 интернет-провайдера
- Игнорировать DNSv6 интернет-провайдера
Примечание: Если вам всё-таки важны результаты замеров скорости, то для достоверного результата необходимо соблюдать, как минимум, два условия: — не ограничивать порты проксирования 80 и 443; — не использовать роутинг (временно удалить routing.json и перезапустить xkeen).
FAQ по XKeen (в процессе наполнения) предназначен для тех, у кого возникли дополнительные вопросы после внимательного прочтения инструкции к XKeen
END
Если установленные компоненты IPv6 и Netfilter вам не нужны и были установлены только для XKeen, вы можете их удалить, выполнив следующие шаги:
- Подключиться к Entware по SSH под root
- Выполнить команду:
xkeen -modules
- Перейти в Web роутера (стандартный адрес 192.168.1.1)
- Перейти в раздел
Параметры системы > Изменить набор компонентов
- Снять отметки для удаления
- Протокол IPv6
- Модули ядра подсистемы Netfilter
По умолчанию файл
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
Теперь ваш сервер должен корректно работать с несколькими туннелями без конфликтов в маршрутизации.
Отредактируйте файл /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
Используйте этот бинарный файл xray, если у вас:
- Keenetic Skipper 4G (KN-2910)
- Keenetic 4G (KN-1212)
- Заменить файл xray в папке sbin.
- Установите для него права 755:
chmod 755 /opt/sbin/xray
- Запустите xkeen командой:
xkeen -start
- Подключитесь к вашему VPS серверу через терминал.
- Введите команду
x-ui
и нажмите Enter.
- В меню выберите пункт Enable BBR, введя соответствующую цифру.
- Подтвердите выбор для активации BBR.
- Убедитесь, что интерфейс отображает сообщение об успешной активации BBR:
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 (пользовательские настройки автозапуска будут утеряны)
opkg remove xkeen
: Удаляем XKeen
opkg remove xray
: Удаляем Xray и его конфигурации
rm -rf /opt/backups
: Удаляем резервные копии Xray | XKeen | Конфигураций
- Настройка TCP BBR
- AdGuard Home Keenetic 4.2 beta 3
- Обновление Xray — Настройка Балансировки и Ротации Трафика
- Полезные сервисы и скрипты
- Инструкция | От автора XKeen | Для продвинутой настройки
- Инструкция ядра | В переводе от Nikita Korotaev
- Project VLESS | Русскоязычный чат
- https://forum.keenetic.com/topic/16899-xkeen/
- Телеграм чат XKeen
Автор XKeen @Skrill_zerro