v1.2.7: в конце установки — подписка, QR-код и ссылки по протоколам (--no-sub); расписание возвращено на 03:30
Синхронизация с автором / sync (push) Successful in 1s
Синхронизация с автором / sync (push) Successful in 1s
This commit is contained in:
@@ -8,7 +8,7 @@ name: Синхронизация с автором
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "*/5 * * * *" # ВРЕМЕННО: проверка планировщика
|
- cron: "30 3 * * *" # каждую ночь в 03:30 по времени сервера Gitea
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
push:
|
push:
|
||||||
paths:
|
paths:
|
||||||
|
|||||||
@@ -10,6 +10,12 @@
|
|||||||
канал обновлений и оговорки. Две картинки — наши (`manuals/assets/fork-banner.svg` и
|
канал обновлений и оговорки. Две картинки — наши (`manuals/assets/fork-banner.svg` и
|
||||||
`manuals/assets/script-3x-ui-local.svg`, терминал собран из настоящего вывода скрипта).
|
`manuals/assets/script-3x-ui-local.svg`, терминал собран из настоящего вывода скрипта).
|
||||||
* Шов в README больше не нужен (`tools/fork_apply.py`): файл наш целиком, как `kit-local.sh`.
|
* Шов в README больше не нужен (`tools/fork_apply.py`): файл наш целиком, как `kit-local.sh`.
|
||||||
|
## v1.2.7: подписка и QR-код в конце установки
|
||||||
|
|
||||||
|
* В самом конце установки (после всех проверок) печатается то, что нужно сохранить: **подписка
|
||||||
|
с QR-кодом** и ссылки по протоколам — авторской командой `kit user link <имя> --all`, поэтому
|
||||||
|
вывод совпадает с тем, что показывает `kit` потом. Отключается флагом `--no-sub`.
|
||||||
|
|
||||||
* Набор по умолчанию — **REALITY + AmneziaWG-3.1** (самый совместимый минимум); ответ «все»
|
* Набор по умолчанию — **REALITY + AmneziaWG-3.1** (самый совместимый минимум); ответ «все»
|
||||||
ставит полный набор автора. Умолчание задаётся в одном месте (`DEFAULT_PROTOS`).
|
ставит полный набор автора. Умолчание задаётся в одном месте (`DEFAULT_PROTOS`).
|
||||||
* **Сайт-заглушка переделан на ИТ-тематику:** десять правдоподобных сайтов (дата-аналитика, DevOps,
|
* **Сайт-заглушка переделан на ИТ-тематику:** десять правдоподобных сайтов (дата-аналитика, DevOps,
|
||||||
|
|||||||
+29
-2
@@ -14,7 +14,8 @@
|
|||||||
# 6) спрашивает и делает то, чего у автора нет: закрыть ответ на ping, включить обновления
|
# 6) спрашивает и делает то, чего у автора нет: закрыть ответ на ping, включить обновления
|
||||||
# безопасности, перевести SSH на другой порт, сменить пароль root (поведение из StressOzz/vps-setup,
|
# безопасности, перевести SSH на другой порт, сменить пароль root (поведение из StressOzz/vps-setup,
|
||||||
# но безопаснее);
|
# но безопаснее);
|
||||||
# 7) в конце: kit fix (время и безопасные починки), kit check, kit local hardening.
|
# 7) в конце: kit fix (время и безопасные починки), kit check, kit local hardening;
|
||||||
|
# 8) последним — подписка, QR-код и ссылки по протоколам: то, что нужно сохранить.
|
||||||
#
|
#
|
||||||
# Запуск:
|
# Запуск:
|
||||||
# # одна команда, дальше — вопросы:
|
# # одна команда, дальше — вопросы:
|
||||||
@@ -41,7 +42,7 @@
|
|||||||
|
|
||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
|
|
||||||
KIT_VERSION="1.2.6" # версия сборки форка; должна совпадать с VERSION релиза
|
KIT_VERSION="1.2.7" # версия сборки форка; должна совпадать с VERSION релиза
|
||||||
GITEA="${KIT_FORK_BASE:-https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS}"
|
GITEA="${KIT_FORK_BASE:-https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS}"
|
||||||
NS="3x-ui-kit-release"
|
NS="3x-ui-kit-release"
|
||||||
SIG_ID="releases@3x-ui-kit"
|
SIG_ID="releases@3x-ui-kit"
|
||||||
@@ -77,6 +78,7 @@ usage() {
|
|||||||
--yes ни о чём не спрашивать (для автоматизации)
|
--yes ни о чём не спрашивать (для автоматизации)
|
||||||
--site N|random|off сайт-заглушка: конкретный из нашего набора, случайный (по умолчанию) или
|
--site N|random|off сайт-заглушка: конкретный из нашего набора, случайный (по умолчанию) или
|
||||||
не трогать авторскую страницу (то же: --no-site)
|
не трогать авторскую страницу (то же: --no-site)
|
||||||
|
--no-sub не показывать в конце подписку, QR-код и ссылки по протоколам
|
||||||
--no-time не запускать kit fix (время и безопасные починки)
|
--no-time не запускать kit fix (время и безопасные починки)
|
||||||
--no-check не запускать в конце kit check
|
--no-check не запускать в конце kit check
|
||||||
--verify-only только проверить релиз (подпись и SHA256) и выйти
|
--verify-only только проверить релиз (подпись и SHA256) и выйти
|
||||||
@@ -89,6 +91,7 @@ EOF
|
|||||||
|
|
||||||
INSTALLER_ARGS=(); harden=auto; ssh_port=""; fix_time=yes; do_check=yes; dry=no; verify_only=no; assume_yes=no
|
INSTALLER_ARGS=(); harden=auto; ssh_port=""; fix_time=yes; do_check=yes; dry=no; verify_only=no; assume_yes=no
|
||||||
site=random # заглушка: случайный сайт из нашего набора (off — не трогать)
|
site=random # заглушка: случайный сайт из нашего набора (off — не трогать)
|
||||||
|
show_sub=yes # в самом конце показать подписку, QR-код и ссылки
|
||||||
while (($#)); do
|
while (($#)); do
|
||||||
case $1 in
|
case $1 in
|
||||||
--harden) harden=yes ;;
|
--harden) harden=yes ;;
|
||||||
@@ -99,6 +102,7 @@ while (($#)); do
|
|||||||
--site) site=${2:-random}; shift || die "--site: нужен номер сайта (1..10), random или off" ;;
|
--site) site=${2:-random}; shift || die "--site: нужен номер сайта (1..10), random или off" ;;
|
||||||
--site=*) site=${1#*=} ;;
|
--site=*) site=${1#*=} ;;
|
||||||
--no-site) site=off ;;
|
--no-site) site=off ;;
|
||||||
|
--no-sub) show_sub=no ;;
|
||||||
--no-time) fix_time=no ;;
|
--no-time) fix_time=no ;;
|
||||||
--no-check) do_check=no ;;
|
--no-check) do_check=no ;;
|
||||||
--verify-only) verify_only=yes ;;
|
--verify-only) verify_only=yes ;;
|
||||||
@@ -149,6 +153,7 @@ if [[ $dry == yes ]]; then
|
|||||||
esac
|
esac
|
||||||
[[ $fix_time == yes ]] && pre "после: kit fix (время, безопасные починки)"
|
[[ $fix_time == yes ]] && pre "после: kit fix (время, безопасные починки)"
|
||||||
[[ $do_check == yes ]] && pre "проверка: kit check + kit local hardening"
|
[[ $do_check == yes ]] && pre "проверка: kit check + kit local hardening"
|
||||||
|
[[ $show_sub == yes ]] && pre "в самом конце: подписка, QR-код и ссылки по протоколам (--no-sub — не надо)"
|
||||||
echo
|
echo
|
||||||
say "запуск без --dry-run выполнит всё это на сервере"
|
say "запуск без --dry-run выполнит всё это на сервере"
|
||||||
exit 0
|
exit 0
|
||||||
@@ -411,3 +416,25 @@ ${G}${B}Готово.${N} Сервер поставлен из нашей сбо
|
|||||||
если что-то не так: kit check --deep, затем kit fix
|
если что-то не так: kit check --deep, затем kit fix
|
||||||
вернуться к авторскому каналу: положить авторский kit поверх и выполнить kit update --force
|
вернуться к авторскому каналу: положить авторский kit поверх и выполнить kit update --force
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------ подписка, QR-код и доступы
|
||||||
|
|
||||||
|
# Показываем в самом конце, после всех проверок: это то, что человек уносит с собой.
|
||||||
|
# Печатает авторская команда (подписка + QR-код через qrencode + ссылки по протоколам),
|
||||||
|
# поэтому вывод не расходится с тем, что показывает `kit` потом.
|
||||||
|
if [[ $show_sub == yes ]]; then
|
||||||
|
sub_user=admin
|
||||||
|
for ((_i = 0; _i < ${#INSTALLER_ARGS[@]}; _i++)); do
|
||||||
|
[[ ${INSTALLER_ARGS[_i]} == --user ]] && sub_user=${INSTALLER_ARGS[_i + 1]:-admin}
|
||||||
|
done
|
||||||
|
say "подписка и доступы — это то, что стоит сохранить"
|
||||||
|
printf ' подписка — одна ссылка на все устройства; QR-код ниже наводите камерой в приложении\n'
|
||||||
|
printf ' приложения: Happ, Hiddify, Karing, v2rayN, Clash/Mihomo\n'
|
||||||
|
printf ' отдельные ссылки по протоколам — ниже же (если приложение не умеет подписку)\n'
|
||||||
|
printf ' %sпозже то же самое: kit user link %s --all (или меню: kit)%s\n' "$D" "$sub_user" "$N"
|
||||||
|
if ! kit user link "$sub_user" --all; then
|
||||||
|
warn "не смог показать ссылки для «$sub_user» — список пользователей: kit user list"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
say "ссылки и QR-код не показываю (--no-sub). Посмотреть: kit user link admin --all"
|
||||||
|
fi
|
||||||
|
|||||||
+1
-1
@@ -30,7 +30,7 @@ wait_apt_idle() {
|
|||||||
XUI_VERSION="v3.9.0"
|
XUI_VERSION="v3.9.0"
|
||||||
# SHA256 установщика 3X-UI этой версии: тег могут передвинуть, а хеш – нет (проверено 2026-09-30).
|
# SHA256 установщика 3X-UI этой версии: тег могут передвинуть, а хеш – нет (проверено 2026-09-30).
|
||||||
XUI_INSTALL_SHA256="18616fe26c8f6c92db6daa2dcd7cd53c5143ee69ecfd26d8ea6dc9b2c78607a6"
|
XUI_INSTALL_SHA256="18616fe26c8f6c92db6daa2dcd7cd53c5143ee69ecfd26d8ea6dc9b2c78607a6"
|
||||||
KIT_VERSION="1.2.6"
|
KIT_VERSION="1.2.7"
|
||||||
# kit и kit-sub берём из того же релиза, что и этот скрипт, а не из меняющейся ветки main.
|
# kit и kit-sub берём из того же релиза, что и этот скрипт, а не из меняющейся ветки main.
|
||||||
KIT_RAW="https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/tag/v$KIT_VERSION"
|
KIT_RAW="https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/tag/v$KIT_VERSION"
|
||||||
# Ядро Xray для панели. С 26.7.x клиенты на Mihomo и sing-box (Hiddify, FlClash,
|
# Ядро Xray для панели. С 26.7.x клиенты на Mihomo и sing-box (Hiddify, FlClash,
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
# Код выхода 1 при любом запуске (и при `__update_binary`) – старый `hy2 update` на нём
|
# Код выхода 1 при любом запуске (и при `__update_binary`) – старый `hy2 update` на нём
|
||||||
# останавливается и не заменяет команду hy2.
|
# останавливается и не заменяет команду hy2.
|
||||||
|
|
||||||
KIT_VERSION="1.2.6"
|
KIT_VERSION="1.2.7"
|
||||||
|
|
||||||
cat >&2 <<'MSG'
|
cat >&2 <<'MSG'
|
||||||
Отдельный установщик Hysteria2 больше не поддерживается.
|
Отдельный установщик Hysteria2 больше не поддерживается.
|
||||||
|
|||||||
+1
-1
@@ -12,7 +12,7 @@
|
|||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
export LC_ALL=C.UTF-8 # ширина колонок по символам, а не байтам
|
export LC_ALL=C.UTF-8 # ширина колонок по символам, а не байтам
|
||||||
|
|
||||||
KIT_VERSION="1.2.6"
|
KIT_VERSION="1.2.7"
|
||||||
KIT_RAW="https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main"
|
KIT_RAW="https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/branch/main"
|
||||||
# Файлы новой версии берём из её тега, а не из меняющейся ветки main.
|
# Файлы новой версии берём из её тега, а не из меняющейся ветки main.
|
||||||
kit_ref_raw() { echo "https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/tag/v$1"; }
|
kit_ref_raw() { echo "https://git.rukavishnikoff.ru/hacker07/3X-UI_autoVPS/raw/tag/v$1"; }
|
||||||
|
|||||||
Reference in New Issue
Block a user