Пасхалка только в конце установки, название 3X-UI KIT
This commit is contained in:
+27
-10
@@ -9,8 +9,6 @@
|
||||
# AmneziaWG (классика и 3.1) и MTProto (и WireGuard по запросу), включает единую подписку
|
||||
# с форматом под каждый клиент и настраивает ufw. Домены не нужны.
|
||||
# Каждый протокол проверен настоящими клиентами — см. tests/matrix.
|
||||
#
|
||||
# Автор — itsnotkubrick. Панель — 3X-UI (MHSanaei/3x-ui), ядро — Xray (XTLS).
|
||||
|
||||
set -Eeuo pipefail
|
||||
|
||||
@@ -98,6 +96,26 @@ wait_panel() {
|
||||
|
||||
# ---------- установка ----------
|
||||
|
||||
# Пасхалка — только в конце установки.
|
||||
kit_banner() {
|
||||
echo
|
||||
printf '%s' "$G"
|
||||
cat <<'ART'
|
||||
_ _ _ _ _ _ _
|
||||
(_) |_ ___ _ __ ___ | |_| | ___ _| |__ _ __(_) ___| | __
|
||||
| | __/ __| '_ \ / _ \| __| |/ / | | | '_ \| '__| |/ __| |/ /
|
||||
| | |_\__ \ | | | (_) | |_| <| |_| | |_) | | | | (__| <
|
||||
|_|\__|___/_| |_|\___/ \__|_|\_\\__,_|_.__/|_| |_|\___|_|\_\
|
||||
ART
|
||||
printf '%s' "$N"
|
||||
echo
|
||||
echo "${B}3X-UI KIT${N} на основе панели 3X-UI (MHSanaei/3x-ui), ядра Xray и mihomo"
|
||||
echo
|
||||
echo " https://github.com/itsnotkubrick/Reality_Hysteria2"
|
||||
echo " ${D}it's not Kubrick. it's just a VPN.${N}"
|
||||
echo
|
||||
echo "Ниже — данные для входа в панель и подключения."
|
||||
}
|
||||
main() {
|
||||
[[ $EUID -eq 0 ]] || die "Запустите от root: sudo -i, затем команду ещё раз."
|
||||
command -v systemctl >/dev/null || die "Нужен systemd."
|
||||
@@ -313,7 +331,7 @@ main() {
|
||||
[[ $SINGLE == yes ]] && links=$(sed "s/^\(tg:\/\/proxy?\)\(.*\)port=${INNER[mtproto]}/\1\2port=443/" <<<"$links")
|
||||
umask 077
|
||||
{
|
||||
echo "3X-UI $XUI_VERSION + Kit by itsnotkubrick — данные для входа (файл виден только root)"
|
||||
echo "3X-UI KIT (3X-UI $XUI_VERSION) — данные для входа (файл виден только root)"
|
||||
echo
|
||||
echo "Панель: $panel_url"
|
||||
echo "Логин: $XUI_USERNAME"
|
||||
@@ -324,6 +342,7 @@ main() {
|
||||
echo "$links"
|
||||
} >"$RESULT"
|
||||
|
||||
kit_banner
|
||||
echo
|
||||
echo "${G}${B}Готово! 3X-UI работает: ${#CREATED[@]} протоколов.${N}"
|
||||
echo "${D}${CREATED[*]}${N}"
|
||||
@@ -357,8 +376,6 @@ main() {
|
||||
echo "Друзья — одной командой, сразу во все протоколы, со своей подпиской:"
|
||||
echo " ${B}kit user add sasha --gb 50 --days 30${N}"
|
||||
echo " ${B}kit user list${N} — кто сколько израсходовал и до какого числа"
|
||||
echo
|
||||
echo "${D}3X-UI + Hysteria2 Kit — сделал itsnotkubrick на основе 3X-UI. Попробуйте: kit itsnotkubrick${N}"
|
||||
}
|
||||
|
||||
# ---------- сертификат ----------
|
||||
@@ -757,7 +774,7 @@ HTML
|
||||
local panel_path=/${XUI_WEB_BASE_PATH#/}
|
||||
panel_path=${panel_path%/}/
|
||||
{
|
||||
echo "# Сгенерировано 3x-ui.sh (3X-UI + Hysteria2 Kit) — перезаписывается при повторном запуске."
|
||||
echo "# Сгенерировано 3x-ui.sh (3X-UI KIT) — перезаписывается при повторном запуске."
|
||||
echo "stream {"
|
||||
echo " map \$ssl_preread_server_name \$kit_upstream {"
|
||||
[[ -n $reality_sni ]] && echo " $reality_sni 127.0.0.1:${INNER[reality]};"
|
||||
@@ -777,7 +794,7 @@ HTML
|
||||
echo "}"
|
||||
} >/etc/nginx/kit-stream.conf
|
||||
cat >/etc/nginx/conf.d/kit.conf <<NGX
|
||||
# Сгенерировано 3x-ui.sh (3X-UI + Hysteria2 Kit) — перезаписывается при повторном запуске.
|
||||
# Сгенерировано 3x-ui.sh (3X-UI KIT) — перезаписывается при повторном запуске.
|
||||
server {
|
||||
listen 127.0.0.1:${INNER[web]} ssl http2 proxy_protocol;
|
||||
server_name _;
|
||||
@@ -834,13 +851,13 @@ setup_subscription() {
|
||||
if [[ $TRUSTED == yes ]]; then
|
||||
# Наружу смотрит kit-sub (подписка с учётом приложения), 3X-UI — только на 127.0.0.1.
|
||||
SUB_PORT=2096; SUB_INTERNAL=2097
|
||||
upd=$(jq -c --arg path "$SUB_PATH" --argjson ip "$SUB_INTERNAL" --arg title "Kit by itsnotkubrick" '
|
||||
upd=$(jq -c --arg path "$SUB_PATH" --argjson ip "$SUB_INTERNAL" --arg title "3X-UI KIT" '
|
||||
.subEnable = true | .subPath = $path | .subTitle = $title | .subListen = "127.0.0.1" | .subPort = $ip
|
||||
| .subCertFile = "" | .subKeyFile = ""
|
||||
| .subClashEnable = true | .subClashAutoDetect = true | .subJsonEnable = true | .subJsonAutoDetect = true' <<<"$all")
|
||||
else
|
||||
SUB_PORT=$(jq -r '.subPort // 2096' <<<"$all")
|
||||
upd=$(jq -c --arg path "$SUB_PATH" --arg title "Kit by itsnotkubrick" '
|
||||
upd=$(jq -c --arg path "$SUB_PATH" --arg title "3X-UI KIT" '
|
||||
.subEnable = true | .subPath = $path | .subTitle = $title
|
||||
| .subClashEnable = true | .subClashAutoDetect = true | .subJsonEnable = true | .subJsonAutoDetect = true' <<<"$all")
|
||||
fi
|
||||
@@ -881,7 +898,7 @@ install_kit_sub() {
|
||||
chmod 600 /etc/kit-sub/config.json
|
||||
cat >/etc/systemd/system/kit-sub.service <<'UNIT'
|
||||
[Unit]
|
||||
Description=kit-sub: подписка с учётом приложения (3X-UI + Hysteria2 Kit)
|
||||
Description=kit-sub: подписка с учётом приложения (3X-UI KIT)
|
||||
After=network-online.target x-ui.service
|
||||
Wants=network-online.target
|
||||
|
||||
|
||||
Reference in New Issue
Block a user