├── FileDescriptors.md ├── OffLine_install.md ├── README.md └── install.sh /FileDescriptors.md: -------------------------------------------------------------------------------- 1 | В среде entware Keenetic довольно низкий предел файловых дескрипторов (fd) выделяемых на один процесс - 1024. Превышение этого значения приводит к отказу xray создавать новые коннекты. На процессорах arm64 суммарно на все процессы отведено около 50000 fd, а на mips процессорах около 12000 fd (цифры могут отличаться для разных моделей роутеров). Оригинал XKeen выделяет для процесса xray 1 миллион! дескрипторов, что очень много и если xray попытается их занять, роутер может просто зависнуть. Форк XKeen версии 1.1.3.6+, в зависимости от процессора, устанавливает для xray лимит 40000 fd для arm64 и 10000 fd для остальных процессоров, а при достижении 90% от этой цифры, перезапускает xray. В параметрах `arm64_fd` и `other_fd` файла `/opt/etc/init.d/S24xray` при необходимости можно откорректировать лимиты, установив другие значения. Чтобы новые лимиты применились или сменился режим контроля (включено/выключено) при использовании параметра `-fd`, требуется перезагрузка роутера. Контроль fd может быть полезен для высоконагруженных роутеров с большим количеством клиентов. Для типичного selfuse применения XKeen, данный функционал использовать необязательно, поэтому по умолчанию контроль открытых файловых дескрипторов процессом xray отключен (включить/отключить можно командой `xkeen -fd`) 2 | -------------------------------------------------------------------------------- /OffLine_install.md: -------------------------------------------------------------------------------- 1 | Обычная установка XKeen и необходимых компонентов выполняется в OnLine режиме и жёстко привязана к GitHub, а в случае его недоступности будет невозможна. Поэтому в форк добавлен режим OffLine установки по команде `xkeen -io` 2 | 3 | Для OffLine установки необходимо заранее любым способом скачать установочный архив XKeen версии 1.1.3.4+, бинарник xray, подходящей архитектуры, из [репозитория](https://github.com/XTLS/Xray-core/releases/latest) и необходимые dat-файлы. Затем поместить архив XKeen и предварительно извлечённый из архива бинарник xray в папку entware /opt/sbin/, после чего выполнить следующие команды в ssh-консоли entware Keenetic: 4 | 5 | ``` 6 | opkg install tar 7 | cd /opt/sbin 8 | tar -xvf xkeen.tar --overwrite && rm xkeen.tar 9 | xkeen -io 10 | ``` 11 | 12 | Копирование файлов конфигурации xray и необходимых dat-файлов в директории /opt/etc/xray/configs и /opt/etc/xray/dat выполните вручную, после чего можете запустить проксирование командой `xkeen -start` 13 | 14 | При OffLine установке XKeen не проверяет соответствие архитектуры процессора и бинарника xray, поэтому выбирайте нужный бинарник внимательно. Если затрудняетесь в выборе, запустите `xkeen -io` без файла xray в папке /opt/sbin/ и XKeen сообщит, какой бинарник требуется для вашего роутера. 15 | 16 | При недоступности GitHub, обновление dat-файлов в роутере по планировщику работать не будет, выполняйте его вручную. 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Xray-Keenetic 2 | Origin 3 | 4 | FAQ 5 | 6 | Telegram (обсуждение, инструкции по установке, советы по использованию) 7 | 8 | Xray-core 9 | 10 | ## Версия 1.1.3.6 11 | 12 | Сравнение форка с оригинальным XKeen 13 | 14 | Изменения: 15 | - Исправлено добавление портов в исключения (ранее команду `xkeen -ape` нужно было прерывать по ctrl+c) 16 | - Исправлена совместная работа режима TProxy и socks5 (ранее Xkeen запускался в Mixed режиме, что приводило к неработоспособности прозрачного проксирования) 17 | - Исправлен автозапуск XKeen при старте роутера (ранее XKeen иногда не запускался или запускался для всего устройства, а не только для своей политики - [FAQ п.12](https://jameszero.net/faq-xkeen.htm#12)) 18 | - Объединены задачи планировщика по обновлению GeoSite и GeoIP. В связи с этим упразднены параметры запуска `-ugs`, `-ugi`, `-ugsc`, `-ugic`, `-dgsc`, `-dgic` 19 | - Корректная деинсталляция xray-core (ранее пакет xray не удалялся при деинсталляции) 20 | - Справка (`xkeen -h`) выровнена по табуляции и повышен контраст текста 21 | - Косметические и функциональные правки скриптов 22 | - Актуализация конфигурационных файлов xray-core 23 | 24 | Добавлено: 25 | - Возможность выбрать версию xray при установке XKeen, а так же при использовании параметра `-ux` (поддерживается повышение/понижение версии) 26 | - Возможность [OffLine установки](https://github.com/jameszeroX/XKeen/blob/main/OffLine_install.md) (параметр `-io`) 27 | - Возможность установки GeoIP базы [zkeenip.dat](https://github.com/jameszeroX/zkeen-ip) 28 | - Обновление [zkeen.dat](https://github.com/jameszeroX/zkeen-domains) и [zkeenip.dat](https://github.com/jameszeroX/zkeen-ip) по расписанию средствами XKeen 29 | - Параметр запуска `-remove` для полной деинсталляции XKeen (ранее деинсталляцию нужно было выполнять покомпонентно) 30 | - Параметры запуска `-ug` (обновление геофайлов), `-ugc` (управление заданием Cron, обновляющим геофайлы), `-dgc` (удаление задания Cron, обновляющего геофайлы) 31 | - Возможность контролировать число открытых файловых дескрипторов, используемых процессом xray и перезапускать процесс при исчерпании лимита. По умолчанию контроль отключен (включить/отключить можно запуском `xkeen -fd`), [подробнее](https://github.com/jameszeroX/XKeen/blob/main/FileDescriptors.md) 32 | 33 | Удалено: 34 | - Возможность установки GeoSite Antizapret (база повреждена в репозитории) 35 | - Конфигурационный файл transport.json (не используется новыми ядрами xray-core) 36 | - Задачи планировщика по автообновлению XKeen/Xray. В связи с этим упразднены параметры запуска `-uac`, `-ukc`, `-uxc`, `-dac`, `-dkc`, `-dxc` 37 | - Параметры запуска `-x` (функционал заменён параметром `-ux`), `-rc` (не актуален) 38 | 39 | ## Порядок установки 40 | ``` 41 | opkg install curl 42 | curl -OfL https://raw.githubusercontent.com/jameszeroX/XKeen/main/install.sh && chmod +x ./install.sh 43 | ./install.sh 44 | ``` 45 | Альтернативный вариант: 46 | ``` 47 | opkg install ca-certificates wget-ssl tar 48 | wget "https://github.com/jameszeroX/XKeen/releases/latest/download/xkeen.tar" && tar -xvf xkeen.tar -C /opt/sbin --overwrite > /dev/null && rm xkeen.tar 49 | xkeen -i 50 | ``` 51 | Установка [OffLine](https://github.com/jameszeroX/XKeen/blob/main/OffLine_install.md) 52 | 53 | ## Поддержка 54 | Желающие угостить меня пивом, такую возможность имеют) 55 | - Монета USDT, сеть TRC20: 56 | ``` 57 | TB9dLwzNdLB6QeKV6w4FjCACSarePb32Dg 58 | ``` 59 | - Монета USDT, сеть TON: 60 | ``` 61 | UQDHmmyz0e1K07Wf7aTVtdmcGzCPfo4Pf7uBi_Id8TDI6Da6 62 | ``` 63 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | opkg install tar 2 | curl -s -L https://github.com/jameszeroX/XKeen/releases/latest/download/xkeen.tar --output xkeen.tar && tar -xvf xkeen.tar -C /opt/sbin --overwrite > /dev/null && rm xkeen.tar 3 | xkeen -i 4 | --------------------------------------------------------------------------------