mirror of https://github.com/XTLS/Xray-install
Alpine: refactor code related to architecture identification
parent
1a1f0f6d38
commit
b77ff248ac
|
@ -2,58 +2,6 @@
|
||||||
|
|
||||||
set -euxo pipefail
|
set -euxo pipefail
|
||||||
|
|
||||||
# Identify architecture
|
|
||||||
case "$(arch -s)" in
|
|
||||||
'i386' | 'i686')
|
|
||||||
MACHINE='32'
|
|
||||||
;;
|
|
||||||
'amd64' | 'x86_64')
|
|
||||||
MACHINE='64'
|
|
||||||
;;
|
|
||||||
'armv5tel')
|
|
||||||
MACHINE='arm32-v5'
|
|
||||||
;;
|
|
||||||
'armv6l')
|
|
||||||
MACHINE='arm32-v6'
|
|
||||||
grep Features /proc/cpuinfo | grep -qw 'vfp' || MACHINE='arm32-v5'
|
|
||||||
;;
|
|
||||||
'armv7' | 'armv7l')
|
|
||||||
MACHINE='arm32-v7a'
|
|
||||||
grep Features /proc/cpuinfo | grep -qw 'vfp' || MACHINE='arm32-v5'
|
|
||||||
;;
|
|
||||||
'armv8' | 'aarch64')
|
|
||||||
MACHINE='arm64-v8a'
|
|
||||||
;;
|
|
||||||
'mips')
|
|
||||||
MACHINE='mips32'
|
|
||||||
;;
|
|
||||||
'mipsle')
|
|
||||||
MACHINE='mips32le'
|
|
||||||
;;
|
|
||||||
'mips64')
|
|
||||||
MACHINE='mips64'
|
|
||||||
;;
|
|
||||||
'mips64le')
|
|
||||||
MACHINE='mips64le'
|
|
||||||
;;
|
|
||||||
'ppc64')
|
|
||||||
MACHINE='ppc64'
|
|
||||||
;;
|
|
||||||
'ppc64le')
|
|
||||||
MACHINE='ppc64le'
|
|
||||||
;;
|
|
||||||
'riscv64')
|
|
||||||
MACHINE='riscv64'
|
|
||||||
;;
|
|
||||||
's390x')
|
|
||||||
MACHINE='s390x'
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "error: The architecture is not supported."
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
TMP_DIRECTORY="$(mktemp -d)/"
|
TMP_DIRECTORY="$(mktemp -d)/"
|
||||||
ZIP_FILE="${TMP_DIRECTORY}Xray-linux-$MACHINE.zip"
|
ZIP_FILE="${TMP_DIRECTORY}Xray-linux-$MACHINE.zip"
|
||||||
DOWNLOAD_LINK="https://github.com/XTLS/Xray-core/releases/latest/download/Xray-linux-$MACHINE.zip"
|
DOWNLOAD_LINK="https://github.com/XTLS/Xray-core/releases/latest/download/Xray-linux-$MACHINE.zip"
|
||||||
|
@ -76,6 +24,68 @@ check_if_running_as_root() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
identify_architecture() {
|
||||||
|
if [ "$(uname)" != 'Linux' ]; then
|
||||||
|
echo "error: This operating system is not supported."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
case "$(uname -m)" in
|
||||||
|
'i386' | 'i686')
|
||||||
|
MACHINE='32'
|
||||||
|
;;
|
||||||
|
'amd64' | 'x86_64')
|
||||||
|
MACHINE='64'
|
||||||
|
;;
|
||||||
|
'armv5tel')
|
||||||
|
MACHINE='arm32-v5'
|
||||||
|
;;
|
||||||
|
'armv6l')
|
||||||
|
MACHINE='arm32-v6'
|
||||||
|
grep Features /proc/cpuinfo | grep -qw 'vfp' || MACHINE='arm32-v5'
|
||||||
|
;;
|
||||||
|
'armv7' | 'armv7l')
|
||||||
|
MACHINE='arm32-v7a'
|
||||||
|
grep Features /proc/cpuinfo | grep -qw 'vfp' || MACHINE='arm32-v5'
|
||||||
|
;;
|
||||||
|
'armv8' | 'aarch64')
|
||||||
|
MACHINE='arm64-v8a'
|
||||||
|
;;
|
||||||
|
'mips')
|
||||||
|
MACHINE='mips32'
|
||||||
|
;;
|
||||||
|
'mipsle')
|
||||||
|
MACHINE='mips32le'
|
||||||
|
;;
|
||||||
|
'mips64')
|
||||||
|
MACHINE='mips64'
|
||||||
|
lscpu | grep -q "Little Endian" && MACHINE='mips64le'
|
||||||
|
;;
|
||||||
|
'mips64le')
|
||||||
|
MACHINE='mips64le'
|
||||||
|
;;
|
||||||
|
'ppc64')
|
||||||
|
MACHINE='ppc64'
|
||||||
|
;;
|
||||||
|
'ppc64le')
|
||||||
|
MACHINE='ppc64le'
|
||||||
|
;;
|
||||||
|
'riscv64')
|
||||||
|
MACHINE='riscv64'
|
||||||
|
;;
|
||||||
|
's390x')
|
||||||
|
MACHINE='s390x'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "error: The architecture is not supported."
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if [ ! -f '/etc/os-release' ]; then
|
||||||
|
echo "error: Don't use outdated Linux distributions."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
install_software() {
|
install_software() {
|
||||||
if [[ -n "$(command -v curl)" ]]; then
|
if [[ -n "$(command -v curl)" ]]; then
|
||||||
return
|
return
|
||||||
|
@ -203,6 +213,7 @@ information() {
|
||||||
main() {
|
main() {
|
||||||
check_alpine || return 1
|
check_alpine || return 1
|
||||||
check_if_running_as_root || return 1
|
check_if_running_as_root || return 1
|
||||||
|
identify_architecture || return 1
|
||||||
install_software
|
install_software
|
||||||
download_xray
|
download_xray
|
||||||
verification_xray
|
verification_xray
|
||||||
|
|
Loading…
Reference in New Issue