3x-ui.sh: ядро Xray 26.6.27 для совместимости с Hiddify и Mihomo, безопасные сайты маскировки
Xray 26.7.11 и новее не пропускает REALITY-клиентов на Mihomo и sing-box (Hiddify, FlClash, Clash Verge, Mihomo в XKeen). 3X-UI 3.8.5 ставит 26.9.9, поэтому скрипт переключает ядро на 26.6.27 — последнюю версию, с которой работают все клиенты и которую принимает панель. Сайты маскировки: убраны Microsoft и Apple — их не советует сам Xray.
This commit is contained in:
+20
-1
@@ -11,11 +11,16 @@
|
|||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
|
|
||||||
XUI_VERSION="v3.8.5"
|
XUI_VERSION="v3.8.5"
|
||||||
|
# Ядро Xray для панели. С 26.7.x клиенты на Mihomo и sing-box (Hiddify, FlClash,
|
||||||
|
# Clash Verge, Mihomo в XKeen) не проходят REALITY — проверено 2026-09-25.
|
||||||
|
# 26.6.27 — последняя версия, с которой работают все клиенты и которую принимает 3X-UI.
|
||||||
|
XRAY_CORE="v26.6.27"
|
||||||
XUI_REPO="MHSanaei/3x-ui"
|
XUI_REPO="MHSanaei/3x-ui"
|
||||||
RESULT=/root/3x-ui.txt
|
RESULT=/root/3x-ui.txt
|
||||||
XUI_ENV=/etc/x-ui/install-result.env
|
XUI_ENV=/etc/x-ui/install-result.env
|
||||||
# Сайты для маскировки REALITY: нужны TLS 1.3 и HTTP/2. Берём первый доступный.
|
# Сайты для маскировки REALITY: нужны TLS 1.3 и HTTP/2. Берём первый доступный.
|
||||||
SNI_CANDIDATES=(www.microsoft.com www.apple.com dl.google.com www.amazon.com)
|
# Apple, iCloud, Microsoft и домены .ru сам Xray не советует — их тут нет.
|
||||||
|
SNI_CANDIDATES=(dl.google.com www.amazon.com www.samsung.com www.yahoo.com)
|
||||||
|
|
||||||
if [[ -t 1 ]]; then
|
if [[ -t 1 ]]; then
|
||||||
G=$'\e[32m'; Y=$'\e[33m'; R=$'\e[31m'; B=$'\e[1m'; D=$'\e[2m'; N=$'\e[0m'
|
G=$'\e[32m'; Y=$'\e[33m'; R=$'\e[31m'; B=$'\e[1m'; D=$'\e[2m'; N=$'\e[0m'
|
||||||
@@ -178,6 +183,20 @@ main() {
|
|||||||
wait_panel
|
wait_panel
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# --- ядро Xray, совместимое со всеми клиентами ---
|
||||||
|
local cur_core
|
||||||
|
cur_core=$(/usr/local/x-ui/bin/xray-linux-* version 2>/dev/null | awk 'NR==1 {print "v" $2}')
|
||||||
|
if [[ $cur_core != "$XRAY_CORE" ]]; then
|
||||||
|
say "Ставлю ядро Xray $XRAY_CORE (совместимо с Hiddify, Mihomo и другими клиентами)"
|
||||||
|
api POST "server/installXray/$XRAY_CORE" '{}' >/dev/null
|
||||||
|
for _ in $(seq 1 30); do
|
||||||
|
cur_core=$(/usr/local/x-ui/bin/xray-linux-* version 2>/dev/null | awk 'NR==1 {print "v" $2}')
|
||||||
|
[[ $cur_core == "$XRAY_CORE" ]] && break
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
[[ $cur_core == "$XRAY_CORE" ]] || warn "Не удалось сменить ядро Xray (сейчас $cur_core). Клиенты на Mihomo и sing-box могут не подключиться."
|
||||||
|
fi
|
||||||
|
|
||||||
# --- подключение VLESS REALITY ---
|
# --- подключение VLESS REALITY ---
|
||||||
local keys priv pub uuid sid sub settings stream sniffing body existing
|
local keys priv pub uuid sid sub settings stream sniffing body existing
|
||||||
existing=$(api GET inbounds/list | jq -c --argjson p "$PORT" '[.[] | select(.port == $p)][0] // empty')
|
existing=$(api GET inbounds/list | jq -c --argjson p "$PORT" '[.[] | select(.port == $p)][0] // empty')
|
||||||
|
|||||||
Reference in New Issue
Block a user