Всем доброго времени суток!
Предлагаю утилиту для поддержки Xray на роутерах Keenetic — Xkeen.
Весь код написан на чистом shell и открыт на GitHub.
Пост обновляемый. Всегда актуальная версия на форуме Keenetic
Что такое Xray
Xray / v2ray — очень гибкая утилита для проксирования и защиты соединения, созданная для обхода GFW (Китайского Файрвола).
С помощью нее возможно обойти даже блокировки Ирана. Полагаю, что в РФ этого решения хватит на приличное время.
-
Решение не будет работать без глубокой настройки в Туркменистане
-
Решение не будет работать в КНДР.
Там нет интернета в привычном нам понимании -
Решение используется не только для обхода блокировок, но и защиты соединения
Основные возможности Xray
-
Выборочная работа с DNS по современным протоколам
-
Создание собственного DNS — FakeDNS
-
Поддержка обратного проксирования — Reverse Proxy
-
Настройка политик для разных пользователей
-
Маршрутизация поддерживающая
-
Geosite — то же самое, что и Geoip, но с доменами.
-
Точные совпадения
-
Частичные совпадения
-
Поддомены
-
Сегментация по правилам и управление входящим трафиком по протоколам
-
Сегментация по правилам и управление исходящим трафиком по протоколам
-
Использование современных транспортных протоколов
-
Обеспечение защиты транспорта
Основные возможности Xkeen
Автоматическая сборка актуальной версии Xray под Ваш Keenetic.
Тестировался на aarch64, но гипотетически должен работать и на mips, mipsel.
Автоматические обновления
Включаются по желанию с возможностью гибкой настройки времени обновления
-
Xkeen
-
Xray
-
GeoSite
-
GeoIP
В утилиту интегрированы
Включаются по желанию
-
GeoSite
-
GeoIP
Ключи запуска Xkeen
Пример использования ключей запуска: «xkeen -x», где «-x» — выбранный Вами ключ.
Полный цикл установки
-i — Необходимые пакеты, Xray и сервисы Xkeen
Обновление
-ux — Xray
-uk — Xkeen
-ugs — GeoSite
-ugi — GeoIP
Включение или изменение правил обновления
-uac — Xray, Xkeen, GeoSite, GeoIP
-uxc — Xray
-ukc — Xkeen
-ugsc — GeoSite
-ugic — GeoIP
Регистрация
-rx — Xray
-rk — Xkeen
-ri — Автоматический запуск Xray средствами init
Удаление / Автоматические обновления
-dac — Xray, Xkeen, GeoSite, GeoIP
-dxc — Xray
-dkc — Xkeen
-dgsc — GeoSite
-dgic — GeoIP
Удаление / Утилиты и компоненты
-dx — Xray
-dk — Xkeen
-dgs — GeoSite
-dgi — GeoIP
-dс — Конфигурации Xray
-dt — Временные файлы
Удаление / Регистрации
-drx — Xray
-drk — Xkeen
Обновление регистрации утилит
-rrx — Xray
-rrk — Xkeen
Переустановка
-x — Xray
-k — Xkeen
-rc — Конфигурационные файлы Xray
Резервные копии / Создание
-xb — Xray
-kb — Xkeen
-cb — Конфигурационные файлов Xray
Резервные копии / Восстановление последней
-xbr — Xray
-kbr — Xkeen
-cbr — Конфигурационные файлы Xray
Проверки
-tpc — Соединение
-tpx — Порты Xray
-tfx — Файлы Xray
-tfk — Файлы Xkeen
-v — Версия Xkeen
Управление Xray
-start — Запуск Xray
-stop — Остановить Xray
-restart — Перезапустить Xray
-status — Показать текущий статус работы Xray
Автор
-ad — Если Вам полезна утилита, можете купить Мне кофе
-af — Обратная связь
Список протестированных устройств
Giga
-
KN-1010 / Работает
-
KN-1011 / Работает
-
KN-2410 / Работает
Ultra
-
KN-1810 / Работает
-
KN-1811 / Работает
-
KN-2510 / Работает
Peak
-
KN-2710 / Работает
Hopper
-
KN-3610 / Работает
Viva
-
KN-1910 / Работает
-
KN-1912 / Работает
Hero 4G+
-
KN-2311 / Работает
Giant
-
KN-2610 / Работает
Если Вашего устройства нет в списке — это не значит, что на нем не будет работать Xkeen.
Это значит, что не было тестирования на нем. Можете смело попробовать установить на свое устройство.
Ничего не сломаете.
Если при выполнении команды
xkeen -start
Вы получаете ошибку похожую на
line 1: can't open html: no such file line 2: syntax error: unexpected redirection
Пожалуйста, сообщите о ней в тему или мне в личные сообщения, с указанием модели Вашего роутера.
В одном из следующих обновлений ошибка будет исправлена. До того момента поддержки на Ваше устройство нет.
Способ установки
opkg install curl tar curl -s -L https://github.com/Skrill0/XKeen/releases/latest/download/xkeen.tar --output xkeen.tar && tar -xvf xkeen.tar -C /opt/sbin --overwrite > /dev/null && rm xkeen.tar xkeen -i
-
Выбираем интересующие Вас GeoIP и GeoSite.
Можно установить все сразу. -
Устанавливаем время автоматического обновления.
-
Готово. Вы великолепны.
Можете настраивать конфигурации Xray под свои нужды.Конфигурационные файлы находятся по пути «/opt/etc/xray/configs/»
Некоторые имеют детальное описание. Его можно удалить.
Как выглядит установка в PuTTy
Полезные ссылки для настройки
GitHub репозиторий Xray
Чат X project в telegram — можно спросить друзей-китайцев.
Рекомендую писать на английском.
Быстрый старт от XTLS-Team
Базовое руководство от XTLS-Team
Продвинутое руководство от XTLS-Team
Быстрая настройка сервера на VPS
Минималистичная, но более сложная настройка сервера на VPS
Базовый разбор технологий и протоколов
Образцы конфигураций
Полезные категории GeoSite
В GeoSite v2fly нет зоны Ru.
Реклама
-
ext:geosite_v2fly.dat:category-ads-all — Компиляция
* EasyList, AdGuard DNS Filter, Peter Lowe, Dan Pollok -
ext:geosite_v2fly.dat:xiaomitv-ads
-
ext:geosite_v2fly.dat:adobe-ads
-
ext:geosite_v2fly.dat:apple-ads
-
ext:geosite_v2fly.dat:adcolony-ads
-
ext:geosite_v2fly.dat:adblock
-
ext:geosite_v2fly.dat:adblockplus
-
ext:geosite_v2fly.dat:adguard
Поисковые системы
-
ext:geosite_v2fly.dat:duckduckgo
-
ext:geosite_v2fly.dat:google
-
ext:geosite_v2fly.dat:yandex
Игры
-
ext:geosite_v2fly.dat:xbox
-
ext:geosite_v2fly.dat:playstation
-
ext:geosite_v2fly.dat:steam
-
ext:geosite_v2fly.dat:rockstar
-
ext:geosite_v2fly.dat:epicgames
-
ext:geosite_v2fly.dat:gog
Сервисы
-
ext:geosite_v2fly.dat:sony
-
ext:geosite_v2fly.dat:microsoft
-
ext:geosite_v2fly.dat:nvidia
-
ext:geosite_v2fly.dat:xiaomi
-
ext:geosite_v2fly.dat:category-android-app-download
-
ext:geosite_v2fly.dat:openai
-
ext:geosite_v2fly.dat:paypal
-
ext:geosite_v2fly.dat:ebay
-
ext:geosite_v2fly.dat:facebook
-
ext:geosite_v2fly.dat:instagram
-
ext:geosite_v2fly.dat:youtube
-
ext:geosite_v2fly.dat:tiktok
-
ext:geosite_v2fly.dat:vk
-
ext:geosite_v2fly.dat:telegram
-
ext:geosite_v2fly.dat:whatsapp
-
ext:geosite_v2fly.dat:adobe
-
ext:geosite_v2fly.dat:adobe-activation
Дополнительные Geo
-
ext:geosite_v2fly.dat:category-gov-ru — Государственные сайты РФ
-
ext:geosite_antizapret.dat:zapretinfo — Доменные имена списка AntiZapret
-
ext:geosite_antifilter.dat:antifilter — Доменные имена списка AntiFilter
-
ext:geosite_antifilter.dat:antifilter-community — Доменные имена списка AntiFilter Community
Полезные категории GeoIP
Основной
-
ext:geoip_v2fly.dat:ru — зона Ru
Сервисы
-
ext:geoip_v2fly.dat:cloudflare
-
ext:geoip_v2fly.dat:cloudfront
-
ext:geoip_v2fly.dat:facebook
-
ext:geoip_v2fly.dat:fastly
-
ext:geoip_v2fly.dat:google
-
ext:geoip_v2fly.dat:netflix
-
ext:geoip_v2fly.dat:twitter
-
ext:geoip_v2fly.dat:telegram
-
ext:geoip_v2fly.dat:private
Дополнительные Geo
-
ext:geoip_antifilter.dat:antifilter — Список AntiFilter
-
ext:geoip_antifilter.dat:antifilter-community — Список AntiFilter Community
Базовый способ настройки ручной маршрутизации
Помимо GeoIP / GeoSite есть следующие варианты внесения маршрутов
-
Частичное совпадение
«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»
Пример записи в 10_routing.json
{ "routing": { "rules": { "domain": [ //Указываем нужные Вам доменные имена "full:keenetic.com", // Точное совпадение "domain:keenetic.com", // Поддомен "regexp:\\.ya.*\\.ru$", // Регулярное выражение "vk.com", // Частичное совпадение "ext:geosite_antizapret.dat:ZAPRETINFO" // GeoSite AntiZapret ], "ip": [ // Указываем нужные Вам IP "192.168.1.1", // Точное совпадение "10.0.0.0/8", // CIDR "ext:geoip_antifilter.dat:antifilter" // GeoIP AntiFilter ], "outboundTag": "proxy" // Указываем тег подключения, через которое открывать ресурсы } } }
При использовании встроенного proxy-клиента keenetic
Компонент прокси-клиент из прошивки не поддерживает UDP — Официальный ответ от поддержки Keenetic
-
В политиках не поднимайте proxy-подключение выше основного
* Если поднимаете надо прописать путь до VPS-сервера в маршрутах. Спасибо Artem Laptev -
Применяйте proxy-политику к конкретным клиентам
-
В Proxy-подключении должно быть включено «Использовать для выхода в интернет»
-
Не работает «localhost» в настройках прокси-клиента Keenetic.
Спасибо Artem Laptev
* Вероятно, особенность реализации прокси-клиента -
На прошивках ниже 4.× через созданное прокси-подключение нужно проложить маршрут, как на скриншоте ниже. Спасибо Artem Laptev.
На данном этапе встроенный прокси-клиент — самый простой способ направить соединение на Xray.
В 99% случаев нет смысла возиться с tproxy / dokodemo-door или маркировать трафик UDP/TCP.
Прокси-клиент Keenetic направляет соединение на Xray, поднятый на роутере. И только потом, к примеру, на соединение с VPS.
Xray также завернет Ваш трафик в то, что Вы указали в его конфигурации.
К примеру, в TCP. Т.к. соединение клиента и сервера должно иметь идентичную конфигурацию. В противном случае Ваш трафик будет распознан, как «чужой».
Сохраняем комфорт даже при мобильной сети
Способ удаления
opkg remove xkeen opkg remove xray
Удаленить backups в «/opt/»
* Если не требуются резервные копии Xray / Xkeen / Ваших конфигураций.
Известные проблемы
-
Неправильно определяется модель процессораMIPS 1004KcИсправлено -
Неправильно компилируется Xray на процессоры MIPS 24kc В работе
-
Не работает ключ -tpxИсправлено -
Некорректно работает выбор отдельных GeoIPИсправлено
Если не работает автозапуск Xray при включении роутера или автоматические обновления
Проверьте, что у Вас указан путь до инициатора автозагрузок Entware в Web роутера. Это делается следующим образом
-
Заходим в интерфейс через шлюз роутера. По стандарту это 192.168.1.1
-
Управление > OPKG
-
Проверяем поле «Сценарий initrc» Оно должно иметь следующее содержимое
/opt/etc/init.d/rc.unslung
Обновления
Версия 0.6 от 12 сентября 2023
Полностью переписана логика определения архитектуры и набора инструкций процессора
Добавлены резервные репозитории Xray
Небольшие фиксы интерфейса
Доработка журналирования
Обновлена логика создания S05crond
Добавлена поддержка роутеров Keenetic:
Giga
-
KN-1010 / Tested
-
KN-1011 / Tested
-
KN-2410 / Tested
Ultra
-
KN-1810 / Tested
-
KN-1811
-
KN-2510 / Tested
Peak
-
KN-2710
Hooper
-
KN-3810 / Tested
-
KN-3610 / Tested
Extra
-
KN-1710 / Tested
-
KN-1711 / Tested
-
KN-1713 / Tested
Viva
-
KN-1910 / Tested
-
KN-1912 / Tested
4G
-
KN-1210 / Tested
-
KN-1211 / Tested
-
KN-1212 / Tested
Hero 4G+
-
KN-2311 / Tested
DSL
-
N-2010 / Tested
Duo
-
KN-2110 / Tested
Omni
-
KN-1410 / Tested
Giant
-
KN-2610 / Tested
Версия 0.7 от 12 сентября 2023
-
Исправление переменных окружения
-
Исправление определения архитектур
Версия 0.8 от 17 сентября 2023
-
Исправление выбора GeoIP
-
Рефакторинг кода для определения архитектур
-
Улучшен init скрипт для автозапуска Xray
-
Добавлена обработка важных операций в журнале роутера
* Остановка / Запуск Xray, автоматические обновление и другие -
Исправлен ключ -tpx
Карта развития проекта
-
Исправление ошибок блока «Известные проблемы»
-
Доработка интерфейса установки в модуле автоматических обновлений
-
Написание цикла статей из голосования в теме по конфигурациям Xray
-
Веб-интерфейс / Не точно
Благодарности
Если Вам нужна помощь
Сначала попробуйте найти ответ на форуме keenetic по ключевым словам
Если ответа не нашли, то
-
Относитесь уважительно к участникам форума
-
Выясните, на каком этапе возникает проблема
-
Какие способы решения Вы уже пробовали
-
Приложите файлы журнала по путям:
«/opt/var/log/xkeen/error.log», «/opt/var/log/xkeen/info.log», «/opt/var/log/xray/error.log», «/opt/var/log/xray/access.log». -
Приложите требующиеся, на Ваш взгляд, скриншоты
-
Сделайте Ваше обращение легкочитаемым и оформленным
Приглашаю Всех в теме делиться своими наблюдениями и решениями связанных с Xray и его настройкой.
Все решения будут вынесены в шапку темы и, по возможности, реализованы в утилите в перспективе.
Автор не несет никакой ответственности и не гарантирует поддержку
Если хотите купить автору кофе
Тинькофф
Прямая ссылка
tinkoff.ru/rm/krasilnikova.alina18/G4Z9433893
Номер карты
2200 7008 8716 3128
QIWI
Прямая ссылка
qiwi.com/n/21BUNNY21
Никнейм Qiwi-кошелька
21BUNNY21
ЮMoney
Прямая ссылка
yoomoney.ru/to/410018052017678
Номер ЮMoney-кошелька
4100 1805 201 7678
Crypto
Монета USDT, сеть TRC20
TSC6Emx5KHK4CpYFKWj7duSYboKRAVxS3M
Монета USDT, сеть ERC20
0x4a0369a762e3a23cc08f0bbbf39e169a647a5661
Монета USDT, сеть BEP20
0x4a0369a762e3a23cc08f0bbbf39e169a647a5661
ссылка на оригинал статьи https://habr.com/ru/articles/760052/
Добавить комментарий