Skip to content

autoinstall

jameszero edited this page Oct 5, 2026 · 3 revisions

Автоматическая установка XKeen

Режим auto позволяет установить и обновить XKeen без единого вопроса: подходит для скриптов, ssh-однострочников и запуска без терминала (TTY).

Быстрый старт

xkeen -i auto

Эта команда установит:

Компонент Значение по умолчанию
Ядра проксирования Xray и Mihomo, последние доступные версии (включая pre-release)
Геобазы все: GeoSite и GeoIP (Re:filter, v2fly, Zkeen)
GeoIPSET установка списков
Планировщик задача обновления геофайлов по понедельникам в случайное время с 00:00 до 05:59
Автозагрузка XKeen добавляется в автозагрузку

Команды

Команда Действие
xkeen -i auto [параметры] Полная установка XKeen без вопросов
xkeen -ux auto Установка или обновление ядра Xray до последней версии без вопросов
xkeen -um auto Установка или обновление ядра Mihomo до последней версии без вопросов
xkeen -uk auto Проверка и установка обновления XKeen без вопросов
xkeen -ux vX.Y.Z Установка указанной версии Xray без вопросов
xkeen -um vX.Y.Z Установка указанной версии Mihomo без вопросов

Слово auto должно идти сразу после ключа: xkeen -i auto -toff работает, xkeen -i -toff auto — нет.

Ключ -toff (отключение таймаута при медленной загрузке с GitHub) можно комбинировать с любой из команд.

Параметры -i auto

Параметры задаются в формате ключ=значение, без дефисов, в любом порядке. Всё, что не указано, берётся из значений по умолчанию.

Параметр Значения По умолчанию Описание
cores xray, mihomo, all, none all Какие ядра проксирования установить
geo on, off on Установить и обновить геобазы GeoSite и GeoIP
geoipset on, off on Установить списки GeoIPSET
cron on, off on Создать задачу планировщика для обновления геофайлов
autostart on, off on Добавить XKeen в автозагрузку
xray vX.Y.Z последняя Установить указанную версию Xray
mihomo vX.Y.Z последняя Установить указанную версию Mihomo

Important

Параметры проверяются до начала установки. Неверное значение или слово без = (например, cores=sing-box или cores xray) останавливает запуск с сообщением об ошибке, пока система ещё не изменена.

Особенности значений

  • cores=none — ядра не ставятся. Если в системе нет ни одного установленного ядра, установка завершится ошибкой: XKeen без ядра не работает.
  • geo=off — новые геобазы не устанавливаются. Уже установленные остаются на месте, их автообновление не затрагивается.
  • autostart — если параметр указан явно, он имеет приоритет. Если не указан, а в системе ранее было отключено автозапуска (start_auto="off"), прежний выбор сохраняется, как и при интерактивной установке.

Что происходит на каждом шаге

Шаг Поведение в авто-режиме
Проверка прошивки Установка на KeeneticOS младше 4 отменяется
Установка во внутреннюю память Предупреждение выводится, установка продолжается
Свободное место Если места недостаточно, установка соответствующего ядра отменяется без вопросов
Выбор ядер Согласно параметру cores
Загрузка и установка ядер Последняя доступная версия, см. Выбор версий ядер
Геобазы Как пункт «1» интерактивного меню: отсутствующие устанавливаются, установленные обновляются
GeoIPSET Устанавливается или пропускается согласно geoipset
Планировщик См. Планировщик (cron)
Автозагрузка Согласно autostart

Выбор версий ядер

В авто-режиме выбирается самая новая доступная версия ядра, включая pre-release.

Список релизов запрашивается через GitHub API, а при его недоступности — через jsDelivr. Из списка отбираются только теги вида vX.Y.Z (префикс v необязателен), после чего берётся первый, самый новый.

Тег Попадает в список
v26.7.28 да (в том числе если релиз помечен как pre-release)
v1.19.26-rc.1, v1.19.26-beta нет (суффикс в теге)
Prerelease-Alpha нет (плавающий тег, не является версией)

Note

Тот же фильтр применяется и в интерактивных меню выбора версии -ux, -um и -i. Конкретную версию, которой нет в списке, по-прежнему можно указать вручную через пункт «9. Ручной ввод версии».

Установка конкретной версии

Вместо последней версии можно указать нужную. Префикс v необязателен: 26.7.28 и v26.7.28 равнозначны.

При полной установке — параметрами xray= и mihomo=:

xkeen -i auto xray=v26.7.28                          # Xray указанной версии, Mihomo последней
xkeen -i auto xray=v26.7.28 mihomo=v1.19.26          # обе версии заданы
xkeen -i auto cores=xray xray=v26.7.28               # только Xray, указанной версии

При установке или обновлении одного ядра — версией вторым параметром:

xkeen -ux v26.7.28
xkeen -um v1.19.26

Такая команда работает без вопросов, как и auto, но вместо последней версии ставит указанную. Это удобно и для понижения версии.

Правила

  • Формат версии: строго три числа через точку, X.Y.Z или vX.Y.Z (26.7.28, v1.19.26). Суффиксы (-rc.1, -beta и т.п.), latest, 1.19 и пустое значение отклоняются до начала установки.
  • Указанная версия не проверяется по списку релизов: если её нет среди последних релизов в списке (например, более старая), она всё равно будет загружена. Если такой версии на GitHub нет, загрузка завершится ошибкой.
  • Если указана версия ядра, которое не будет устанавливаться, запуск отклоняется. Например, cores=mihomo xray=v26.7.28 — ошибка.
  • Параметры xray= и mihomo= относятся к установке ядра с нуля. Чтобы сменить версию уже установленного ядра, используйте -ux vX.Y.Z или -um vX.Y.Z.
  • Контрольная сумма скачанного файла проверяется так же, как и для последней версии.

Обновление XKeen

xkeen -uk          # спросит: «Проверить и установить обновления XKeen?» (1. Да / 0. Нет)
xkeen -uk auto     # без вопросов

Без auto перед проверкой выводится запрос. Ответ «Нет» завершает команду без каких-либо действий. Если запуск идёт без терминала (cron, ssh без -t), вопрос трактуется как «Нет», то есть xkeen -uk в планировщике ничего не обновит: для задач по расписанию используйте xkeen -uk auto.

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

Если новая версия XKeen добавляет возможности, которым нужна дополнительная настройка, то в авто-режиме действует консервативный сценарий: списки GeoIPSET устанавливаются (так же, как при запуске без терминала), а задачи планировщика не создаются без вашего согласия.

Планировщик (cron)

При cron=on создаётся задача обновления геофайлов и GeoIPSET:

  • день: понедельник;
  • время: случайное с 00:00 до 05:59 (минуты и часы выбираются случайно при каждой установке);
  • ранее созданная задача обновления геофайлов XKeen заменяется новой, остальные задачи планировщика не затрагиваются.

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

При cron=off настройка автообновления пропускается, существующие задачи не изменяются.

Автозагрузка

  • autostart=on — XKeen запускается вместе с роутером;
  • autostart=off — автозапуск XKeen выключается;
  • параметр не указан — автозапуск XKeen включается, кроме случая, когда пользователь ранее сам его отключил (start_auto="off"): тогда прежнее решение сохраняется.

Обработка ошибок и код возврата

Авто-режим не задаёт вопросов, поэтому любые сбои обрабатываются автоматически:

Ситуация Результат
Неверные параметры Ошибка до начала установки, код возврата 1
Прошивка младше KeeneticOS 4 Установка отменена, код возврата 1
Не удалось получить список релизов Ошибка с рекомендацией OffLine-установки, код возврата 1
Указанной версии ядра нет на GitHub Загрузка завершается ошибкой, код возврата 1
Не удалось загрузить или установить одно из ядер Остальные компоненты продолжают ставиться, в конце выводится список неустановленных, код возврата 1
Ни одно ядро не установлено Установка прервана, код возврата 1
Всё прошло успешно Код возврата 0

Это позволяет использовать результат в скриптах:

if xkeen -i auto; then
    echo "XKeen установлен"
else
    echo "Установка завершилась с ошибкой" >&2
fi

Примеры

Полная установка с настройками по умолчанию:

xkeen -i auto

Только Mihomo, остальное по умолчанию:

xkeen -i auto cores=mihomo

Только Xray, без задачи планировщика, остальное по умолчанию:

xkeen -i auto cores=xray cron=off

Оба ядра Xray и Mihomo, без GeoIPSET, планировщика и автозагрузки:

xkeen -i auto geoipset=off cron=off autostart=off

Конкретные версии обоих ядер:

xkeen -i auto xray=v26.7.28 mihomo=v1.19.26

Только Xray, указанной версии:

xkeen -i auto cores=xray xray=v26.7.28

Установка с настройками по умолчанию и отключённым таймаутом при медленном соединении с GitHub:

xkeen -i auto -toff

Запуск по ssh без терминала:

ssh root@192.168.1.1 "xkeen -i auto"

Обновление ядер до последних версий:

xkeen -ux auto
xkeen -um auto

Установка ядра Xray версии 26.7.28:

xkeen -ux v26.7.28

Задание в /opt/var/spool/cron/crontabs/root, проверяющее выход новых версий Xray и устанавливающее их по средам в 3:30

30 3 * * 3 /opt/sbin/xkeen -ux auto

Обновление XKeen по расписанию аналогично предыдущему пункту (запись в crontab):

55 4 * * 2 /opt/sbin/xkeen -uk auto

Автонастройка после установки

Пример:

xkeen -i auto -cbk off -ipv6 off -fd on -d 60

Эта команда выполнит автоустановку XKeen с настройками по умолчанию, а так же отключит резервное копирование компонентов при обновлении, отключит IPv6, включит контроль файловых дескрипторов и установит задержку автозапуска 60 секунд.

Следующие параметры поддерживают значение on/off в командной строке и не требуют указывать знак = перед значением:

-auto
-fd
-ipv6
-dns
-pr
-extmsg
-startvb
-cbk
-aghfix
-dscp

Ограничения

  • Режим auto не поддерживается для OffLine-установки (-io).
  • Режим auto не спрашивает подтверждений: перед запуском убедитесь, что выбранные параметры соответствуют вашим ожиданиям.
  • На устройствах с малым объёмом свободного места установка ядра может быть отменена; сообщение об этом выводится в консоль, а код возврата будет 1.

Clone this wiki locally