Всем доброго времени суток!

Предлагаю утилиту для поддержки Xray на роутерах Keenetic — Xkeen.
Весь код написан на чистом shell и открыт на GitHub.

preview
preview
Что такое Xray

Xray / v2ray — очень гибкая утилита для проксирования и защиты соединения, созданная для обхода GFW (Китайского Файрвола).
С помощью нее возможно обойти даже блокировки Ирана. Полагаю, что в РФ этого решения хватит на приличное время.

  • Решение не будет работать без глубокой настройки в Туркменистане

  • Решение не будет работать в КНДР.
    Там нет интернета в привычном нам понимании

  • Решение используется не только для обхода блокировок, но и защиты соединения

Основные возможности Xray

Основные возможности Xkeen

Автоматическая сборка актуальной версии Xray под Ваш Keenetic.
Тестировался на aarch64, но гипотетически должен работать и на mipsmipsel.

Автоматические обновления
Включаются по желанию с возможностью гибкой настройки времени обновления

  • Xkeen

  • Xray

  • 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 — Обратная связь

Способ установки

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
  1. Выбираем интересующие Вас GeoIP и GeoSite.
    Можно установить все сразу.

  2. Устанавливаем время автоматического обновления.

  3. Готово. Вы великолепны.
    Можете настраивать конфигурации Xray под свои нужды.

    Конфигурационные файлы находятся по пути «/opt/etc/xray/configs/»
    Некоторые имеют детальное описание. Его можно удалить.

Как выглядит установка в PuTTy
Preview install
Preview install

Полезные ссылки для настройки
Полезные категории GeoSite

В GeoSite v2fly нет зоны Ru.

  • ext:geosite_v2fly.dat:category-ads-all — реклама

  • ext:geosite_v2fly.dat:category-gov-ru — государственные сайты РФ

  • ext:geosite_v2fly.dat:win-spy — домены для шпионажа Windows

  • ext:geosite_v2fly.dat:win-update — домены для обновления Windows

  • ext:geosite_v2fly.dat:win-extra — домены для шпионажа и обновления Windows
    * Использовать с осторожностью

  • ext:geosite_antizapret.dat:ZAPRETINFO — AntiZapret

  • ext:geosite_antifilter.dat — Доменные имена списка AntiFilter

Полезные категории GeoIP
  • ext:geoip_antifilter.dat — IP списка AntiFilter

  • ext:geoip_v2fly.dat:ru — IP в зоне РФ

  • ext:geoip_v2fly.dat:cloudflare — IP адреса CloudFlare

  • ext:geoip_v2fly.dat:cloudfront — IP адреса CloudFront

  • ext:geoip_v2fly.dat:facebook — IP адреса Facebook

  • ext:geoip_v2fly.dat:fastly — IP адреса Fastly

  • ext:geoip_v2fly.dat:google — IP адреса Google

  • ext:geoip_v2fly.dat:netflix — IP адреса Netflix

  • ext:geoip_v2fly.dat:twitter — IP адреса Twitter

  • ext:geoip_v2fly.dat:private — IP адреса локальных сетей

При использовании встроенного proxy-клиента keenetic
  1. В политиках не поднимайте proxy-подключение выше основного   
    * Если поднимаете надо прописать путь до VPS-сервера в маршрутах. Спасибо Artem Laptev

  2. Применяйте proxy-политику к конкретным клиентам

  3. В Proxy-подключении должно быть включено «Использовать для выхода в интернет»

  4. Не работает «localhost» в настройках прокси-клиента Keenetic. Спасибо Artem Laptev
     * Вероятно, особенность реализации прокси-клиента

  5. На прошивках ниже 3.9 через созданное прокси-подключение нужно проложить маршрут. Спасибо Artem Laptev

    На данном этапе встроенный прокси-клиент — самый простой способ направить соединение на Xray.
    В 99% случаев нет смысла возиться с tproxy / dokodemo-door или маркировать трафик UDP/TCP.

    Прокси-клиент Keenetic направляет соединение на Xray, поднятый на роутере. И только потом, к примеру, на соединение с VPS. 
    Xray также завернет Ваш трафик в то, что Вы указали в его конфигурации.
    К примеру, в TCP. Т.к. соединение клиента и сервера должно иметь идентичную конфигурацию. В противном случае Ваш трафик будет распознан, как «чужой».

Сохраняем комфорт даже при мобильной сети

После настроенного на роутере Xray — его можно использовать в качестве портала.
При этом дополнительные настройки конфигурации не нужны.

Задача решается IKE подключением по инструкции Keenetic.

Способ удаления
opkg remove xkeen
opkg remove xray

Известные проблемы

Неправильно определяется модель процессора MIPS 1004Kc V2.15
* решение тестируется

Обновления
Версия 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

Карта развития проекта
  1. Исправление ошибок блока «Известные проблемы»

  2. Доработка интерфейса установки в модуле автоматических обновлений

  3. Написание цикла статей из голосования в теме по конфигурациям Xray

  4. Веб-интерфейс / Не точно

Благодарности
Если Вам нужна помощь

Сначала попробуйте найти ответ на форуме keenetic по ключевым словам
Если ответа не нашли, то

  • Относитесь уважительно к участникам форума

  • Выясните, на каком этапе возникает проблема

  • Какие способы решения Вы уже пробовали

  • Приложите логи, связанные с проблемой

  • Приложите требующиеся, на Ваш взгляд, скриншоты

  • Сделайте Ваше обращение легкочитаемым и оформленным

Автор не несет никакой ответственности и не гарантирует поддержку

Если хотите купить автору кофе
Тинькофф

Прямая ссылка
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

Комментарии (22)


  1. ritorichesky_echpochmak
    10.09.2023 12:54
    +1

    Спасибо за статью, но... а кинетик уже умеет DNS over QUIC?


    1. Skride Автор
      10.09.2023 12:54
      +3

      Здравствуйте!
      Сам Keenetic еще не умеет из прошивки (только DoT/ DoH), но с помощью Xray настроить возможно.


    1. dartraiden
      10.09.2023 12:54
      +1

      А толку, на многих провайдерах QUIC блокируется на зарубежные направления.


  1. Dmitry_Dor
    10.09.2023 12:54

    Спасибо за статью!

    утилиту для поддержки Xray на роутерах Keenetic — Xkeen.
    Тестировался на aarch64, но гипотетически должен работать и на mips, mipsel.
    Можно уточнить, будет Xkeen работать в т.ч и на старых-добрых «белых» Keenetic и Keenetic Lite (они вроде тоже на MIPS)?
    Если да, то какая требуется версия прошивки?


    1. Skride Автор
      10.09.2023 12:54
      +2

      Здравствуйте.
      Если Entware стоит — гипотетически должно заработать. Тестов не было.
      В случае установки, пожалуйста, отпишитесь о результате)


      1. Dmitry_Dor
        10.09.2023 12:54
        +1

        Спасибо за ответ.
        Дал ссылку на вашу статью на 4pda:
        ZyXEL / ZyXEL Keenetic и ZyXEL Keenetic Giga
        может там кто-нибудь попробует, тогда напишу (или он сам напишет).
        Ну а я не настоящий сварщик не IT-шник, и для меня это увы, сложновато (мне пошаговая инструкция требуется)


        1. Skride Автор
          10.09.2023 12:54
          +1

          Благодарю.
          Если решитесь попытаться установить — можете обратиться в личные сообщения. Попробую помочь персонально)


  1. kujoro
    10.09.2023 12:54
    +1

    что под спойлерами Полезные ссылки для настройки \ Полезные категории GeoSite \ Полезные категории GeoIP? у меня пустота


    1. Skride Автор
      10.09.2023 12:54
      +1

      Здравствуйте.
      Обновил информацию. Спасибо за наблюдательность)


  1. dr_clinker
    10.09.2023 12:54
    +2

    Отличная статья, учитывая возможности настройки у кинетиков sstp соединения даже без белого ip интересно, возможно ли настроить автоматический проброс трафика конкретного хоста дальше через Xray на выделенный сервер. Так как добрые мобильные операторы yota и мегафон заблочили протокол wireguard на мобильных устройствах (по крайней мере у меня и всех моих знакомых в регионе, однако знаю, что есть исключения), а с sstp до моего кинетика проблем нет, ищу наименее болезненные пути настройки. Натыкался на вот эту статью, но к сожалению, там возникли проблемы с tls, траблшутинг пока ни к чему не привёл. Если есть опыт маскировки трафика и/или решении проблем был бы рад обменяться опытом


    1. Skride Автор
      10.09.2023 12:54
      +2

      Здравствуйте!
      Уточните, пожалуйста, под «автоматическим пробросом трафика конкретного хоста на выделенный сервер» Вы имеете ввиду создание портала?
      То есть, когда подключение к основному серверу идет через промежуточный?

      Если да, то Xray предоставляет такую возможность с помощью обратного проксирования


      1. dr_clinker
        10.09.2023 12:54

        Спасибо, попробую. Выглядит пока как будто это именно то, что нужно!


  1. gosoo
    10.09.2023 12:54
    +1

    Выглядит не просто, нужно курить мануалы для натсройки.


  1. virusaga
    10.09.2023 12:54
    +1

    ДД!А на keenetic lite такое возможно?


    1. Skride Автор
      10.09.2023 12:54
      +1

      Доброго Вам утра!
      К сожалению, поддержка только на роутерах с USB, т.к. утилита завязана на Entware.


  1. volanDeMortal
    10.09.2023 12:54

    Ещё бы это дело пустить через cloudflare proxy


    1. Skride Автор
      10.09.2023 12:54

      Доброго утра)
      Можно и через cloudflare)


  1. emoxam
    10.09.2023 12:54

    Причём тут Туркменистан? Не понял


    1. Skride Автор
      10.09.2023 12:54

      Здравствуйте.
      В данный момент Туркменистан одна из худших стран в плане интернет-свобод. Его можно ставить в ряд с Китаем и Ираном.


      1. emoxam
        10.09.2023 12:54

        А зачем проводить настройкув Туркменистане?

        • Решение не будет работать без глубокой настройки в Туркменистане


        1. Skride Автор
          10.09.2023 12:54
          +1

          Были товарищи, которые интересовались подобной возможностью. Счел нужным упомянуть, что сделать возможно, пусть и сложно.


          1. emoxam
            10.09.2023 12:54

            Понял, а то я было подумал что обязательно составляющаяив Туркменистане!)