mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-11-13 00:25:04 +03:00
192dc93c16
Bump xtls/xray-core to 676eaf66f8f0 (v26.11.9) and the three binary pins (DockerInit.sh, release.yml Linux + Windows) in lockstep, so the vendored config loader and the child binary validate the same config. The same go.mod also moves the go directive to 1.27.4 and golang.org/x/crypto to v0.58.1-0.20261009181718-2f1f834330b2; the core pulls in refraction-networking/utls 20261108164504, xtls/reality 20261108101329 and klauspost/cpuid v2.4.2. XDRIVE now caps concurrency at 256 instead of 64 (#7340), so the schema comment quoting the cap follows.
74 lines
2.7 KiB
Bash
Executable File
74 lines
2.7 KiB
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
# $1 is Docker's TARGETARCH and $2 its TARGETVARIANT (v6/v7 on arm). The
|
|
# platform names match the release archives and the mtg-multi packages.
|
|
case $1 in
|
|
amd64 | "")
|
|
PLATFORM="amd64"
|
|
;;
|
|
arm64 | armv8 | aarch64)
|
|
PLATFORM="arm64"
|
|
;;
|
|
arm | arm32 | armv7)
|
|
PLATFORM="armv7"
|
|
if [ "$2" = "v6" ]; then
|
|
PLATFORM="armv6"
|
|
fi
|
|
;;
|
|
armv6)
|
|
PLATFORM="armv6"
|
|
;;
|
|
386 | i386)
|
|
PLATFORM="386"
|
|
;;
|
|
*)
|
|
echo "DockerInit: unsupported architecture '$1'" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
case $PLATFORM in
|
|
amd64) XRAY_ZIP="64" ;;
|
|
arm64) XRAY_ZIP="arm64-v8a" ;;
|
|
armv7) XRAY_ZIP="arm32-v7a" ;;
|
|
armv6) XRAY_ZIP="arm32-v6" ;;
|
|
386) XRAY_ZIP="32" ;;
|
|
esac
|
|
# The panel looks binaries up by GOARCH; on arm Xray's is "arm32"
|
|
# (internal/xray/process.go) and mtg's plain "arm", as install.sh renames them.
|
|
case $PLATFORM in
|
|
armv7 | armv6)
|
|
XRAY_BIN="xray-linux-arm32"
|
|
MTG_BIN="mtg-linux-arm"
|
|
;;
|
|
*)
|
|
XRAY_BIN="xray-linux-${PLATFORM}"
|
|
MTG_BIN="mtg-linux-${PLATFORM}"
|
|
;;
|
|
esac
|
|
MTG_MULTI_VER=$(curl -sfL "https://api.github.com/repos/mhsanaei/mtg-multi/releases/latest" | sed -n 's/.*"tag_name": *"\([^"]*\)".*/\1/p' | head -n 1)
|
|
if [ -z "$MTG_MULTI_VER" ]; then
|
|
echo "DockerInit: could not resolve the latest mtg-multi release tag" >&2
|
|
exit 1
|
|
fi
|
|
mkdir -p build/bin
|
|
cd build/bin
|
|
curl -sfLRO "https://github.com/XTLS/Xray-core/releases/download/v26.11.9/Xray-linux-${XRAY_ZIP}.zip"
|
|
unzip "Xray-linux-${XRAY_ZIP}.zip"
|
|
rm -f "Xray-linux-${XRAY_ZIP}.zip" geoip.dat geosite.dat
|
|
mv xray "${XRAY_BIN}"
|
|
# mtg-multi (MTProto sidecar) ships prebuilt release binaries for every target
|
|
# we package, so download and unpack the matching one instead of compiling.
|
|
MTG_PKG="mtg-multi-${MTG_MULTI_VER#v}-linux-${PLATFORM}"
|
|
curl -sfLRO "https://github.com/mhsanaei/mtg-multi/releases/download/${MTG_MULTI_VER}/${MTG_PKG}.tar.gz"
|
|
tar -xzf "${MTG_PKG}.tar.gz"
|
|
mv "${MTG_PKG}/mtg-multi" "${MTG_BIN}"
|
|
rm -rf "${MTG_PKG}" "${MTG_PKG}.tar.gz"
|
|
chmod +x "${MTG_BIN}"
|
|
curl -sfLRO https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
|
|
curl -sfLRO https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat
|
|
curl -sfLRo geoip_IR.dat https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geoip.dat
|
|
curl -sfLRo geosite_IR.dat https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geosite.dat
|
|
curl -sfLRo geoip_RU.dat https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geoip.dat
|
|
curl -sfLRo geosite_RU.dat https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geosite.dat
|
|
cd ../../
|