mirror of
https://github.com/remnawave/scripts.git
synced 2026-05-13 12:16:44 +00:00
init
This commit is contained in:
commit
cd945a96bb
2 changed files with 123 additions and 0 deletions
3
README.md
Normal file
3
README.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# Install Latest Xray
|
||||
|
||||
Thanks to [Gozargah](https://github.com/Gozargah) for the script.
|
||||
120
scripts/install-latest-xray.sh
Normal file
120
scripts/install-latest-xray.sh
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Download Xray latest
|
||||
|
||||
RELEASE_TAG="latest"
|
||||
|
||||
if [[ "$1" ]]; then
|
||||
RELEASE_TAG="$1"
|
||||
fi
|
||||
|
||||
check_if_running_as_root() {
|
||||
# If you want to run as another user, please modify $EUID to be owned by this user
|
||||
if [[ "$EUID" -ne '0' ]]; then
|
||||
echo "error: You must run this script as root!"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
identify_the_operating_system_and_architecture() {
|
||||
if [[ "$(uname)" == 'Linux' ]]; then
|
||||
case "$(uname -m)" in
|
||||
'i386' | 'i686')
|
||||
ARCH='32'
|
||||
;;
|
||||
'amd64' | 'x86_64')
|
||||
ARCH='64'
|
||||
;;
|
||||
'armv5tel')
|
||||
ARCH='arm32-v5'
|
||||
;;
|
||||
'armv6l')
|
||||
ARCH='arm32-v6'
|
||||
grep Features /proc/cpuinfo | grep -qw 'vfp' || ARCH='arm32-v5'
|
||||
;;
|
||||
'armv7' | 'armv7l')
|
||||
ARCH='arm32-v7a'
|
||||
grep Features /proc/cpuinfo | grep -qw 'vfp' || ARCH='arm32-v5'
|
||||
;;
|
||||
'armv8' | 'aarch64')
|
||||
ARCH='arm64-v8a'
|
||||
;;
|
||||
'mips')
|
||||
ARCH='mips32'
|
||||
;;
|
||||
'mipsle')
|
||||
ARCH='mips32le'
|
||||
;;
|
||||
'mips64')
|
||||
ARCH='mips64'
|
||||
lscpu | grep -q "Little Endian" && ARCH='mips64le'
|
||||
;;
|
||||
'mips64le')
|
||||
ARCH='mips64le'
|
||||
;;
|
||||
'ppc64')
|
||||
ARCH='ppc64'
|
||||
;;
|
||||
'ppc64le')
|
||||
ARCH='ppc64le'
|
||||
;;
|
||||
'riscv64')
|
||||
ARCH='riscv64'
|
||||
;;
|
||||
's390x')
|
||||
ARCH='s390x'
|
||||
;;
|
||||
*)
|
||||
echo "error: The architecture is not supported."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo "error: This operating system is not supported."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
download_xray() {
|
||||
if [[ "$RELEASE_TAG" == "latest" ]]; then
|
||||
DOWNLOAD_LINK="https://github.com/XTLS/Xray-core/releases/latest/download/Xray-linux-$ARCH.zip"
|
||||
else
|
||||
DOWNLOAD_LINK="https://github.com/XTLS/Xray-core/releases/download/$RELEASE_TAG/Xray-linux-$ARCH.zip"
|
||||
fi
|
||||
|
||||
echo "Downloading Xray archive: $DOWNLOAD_LINK"
|
||||
if ! curl -RL -H 'Cache-Control: no-cache' -o "$ZIP_FILE" "$DOWNLOAD_LINK"; then
|
||||
echo 'error: Download failed! Please check your network or try again.'
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
extract_xray() {
|
||||
if ! unzip -q "$ZIP_FILE" -d "$TMP_DIRECTORY"; then
|
||||
echo 'error: Xray decompression failed.'
|
||||
"rm" -rf "$TMP_DIRECTORY"
|
||||
echo "removed: $TMP_DIRECTORY"
|
||||
exit 1
|
||||
fi
|
||||
echo "Extracted Xray archive to $TMP_DIRECTORY"
|
||||
}
|
||||
|
||||
place_xray() {
|
||||
install -m 755 "${TMP_DIRECTORY}/xray" "/usr/local/bin/xray"
|
||||
install -d "/usr/local/share/xray/"
|
||||
install -m 644 "${TMP_DIRECTORY}/geoip.dat" "/usr/local/share/xray/geoip.dat"
|
||||
install -m 644 "${TMP_DIRECTORY}/geosite.dat" "/usr/local/share/xray/geosite.dat"
|
||||
echo "Xray files installed"
|
||||
}
|
||||
|
||||
check_if_running_as_root
|
||||
identify_the_operating_system_and_architecture
|
||||
|
||||
TMP_DIRECTORY="$(mktemp -d)"
|
||||
ZIP_FILE="${TMP_DIRECTORY}/Xray-linux-$ARCH.zip"
|
||||
|
||||
download_xray
|
||||
extract_xray
|
||||
place_xray
|
||||
|
||||
"rm" -rf "$TMP_DIRECTORY"
|
||||
Loading…
Add table
Add a link
Reference in a new issue