From 9e0f28cd8d25b5131d72ec4190ab49f4c4fd89d2 Mon Sep 17 00:00:00 2001 From: mack-a <57424792+mack-a@users.noreply.github.com> Date: Wed, 26 May 2021 17:27:52 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=84=9A=E6=9C=AC):=20=E5=85=BC=E5=AE=B9A?= =?UTF-8?q?RM=E6=9E=B6=E6=9E=84=E7=9A=84CPU?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 79 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 48 insertions(+), 31 deletions(-) diff --git a/install.sh b/install.sh index c990155..915acea 100644 --- a/install.sh +++ b/install.sh @@ -40,6 +40,18 @@ checkSystem() { fi } +# 检查CPU提供商 +checkCPUVendor() { + if [[ -n $(which lscpu) ]]; then + vendorID=$(lscpu | grep "Vendor ID" | grep ARM | awk '{print $3}') + if [[ -n ${vendorID} ]]; then + xrayCoreCPUVendor="Xray-linux-arm64-v8a" + v2rayCoreCPUVendor="v2ray-linux-arm64-v8a" + trojanGoCPUVendor="trojan-go-linux-armv8" + fi + fi +} + # 初始化全局变量 initVar() { installType='yum -y install' @@ -47,6 +59,10 @@ initVar() { upgrade="yum -y update" echoType='echo -e' + # 核心支持的cpu版本 + xrayCoreCPUVendor="Xray-linux-64" + v2rayCoreCPUVendor="v2ray-linux-64" + trojanGoCPUVendor="trojan-go-linux-amd64" # 域名 domain= @@ -274,11 +290,11 @@ showInstallStatus() { cleanUp() { if [[ "$1" == "v2rayClean" ]]; then rm -rf "$(find /etc/v2ray-agent/v2ray/* | grep -E '(config_full.json|conf)')" - handleV2Ray stop >/dev/null 2>&1 + handleV2Ray stop >/dev/null rm -f /etc/systemd/system/v2ray.service elif [[ "$1" == "xrayClean" ]]; then rm -rf "$(find /etc/v2ray-agent/xray/* | grep -E '(config_full.json|conf)')" - handleXray stop >/dev/null 2>&1 + handleXray stop >/dev/null rm -f /etc/systemd/system/xray.service elif [[ "$1" == "v2rayDel" ]]; then @@ -291,6 +307,7 @@ cleanUp() { initVar $1 checkSystem +checkCPUVendor readInstallType readInstallProtocolType readConfigHostPathUUID @@ -341,6 +358,7 @@ mkdirTools() { # 安装工具包 installTools() { + echo '安装工具' echoContent skyBlue "\n进度 $1/${totalProgress} : 安装工具" # 修复ubuntu个别系统问题 if [[ "${release}" == "ubuntu" ]]; then @@ -865,13 +883,13 @@ installV2Ray() { echoContent green " ---> v2ray-core版本:${version}" if wget --help | grep -q show-progress; then - wget -c -q --show-progress -P /etc/v2ray-agent/v2ray/ "https://github.com/v2fly/v2ray-core/releases/download/${version}/v2ray-linux-64.zip" + wget -c -q --show-progress -P /etc/v2ray-agent/v2ray/ "https://github.com/v2fly/v2ray-core/releases/download/${version}/${v2rayCoreCPUVendor}.zip" else - wget -c -P /etc/v2ray-agent/v2ray/ "https://github.com/v2fly/v2ray-core/releases/download/${version}/v2ray-linux-64.zip" >/dev/null 2>&1 + wget -c -P /etc/v2ray-agent/v2ray/ "https://github.com/v2fly/v2ray-core/releases/download/${version}/${v2rayCoreCPUVendor}.zip" >/dev/null 2>&1 fi - unzip -o /etc/v2ray-agent/v2ray/v2ray-linux-64.zip -d /etc/v2ray-agent/v2ray >/dev/null - rm -rf /etc/v2ray-agent/v2ray/v2ray-linux-64.zip + unzip -o /etc/v2ray-agent/v2ray/${v2rayCoreCPUVendor}.zip -d /etc/v2ray-agent/v2ray >/dev/null + rm -rf /etc/v2ray-agent/v2ray/${v2rayCoreCPUVendor}.zip else if [[ "${selectCoreType}" == "3" ]]; then echoContent green " ---> 锁定v2ray-core版本为v4.32.1" @@ -900,13 +918,13 @@ installXray() { echoContent green " ---> Xray-core版本:${version}" if wget --help | grep -q show-progress; then - wget -c -q --show-progress -P /etc/v2ray-agent/xray/ "https://github.com/XTLS/Xray-core/releases/download/${version}/Xray-linux-64.zip" + wget -c -q --show-progress -P /etc/v2ray-agent/xray/ "https://github.com/XTLS/Xray-core/releases/download/${version}/${xrayCoreCPUVendor}.zip" else - wget -c -P /etc/v2ray-agent/xray/ "https://github.com/XTLS/Xray-core/releases/download/${version}/Xray-linux-64.zip" >/dev/null 2>&1 + wget -c -P /etc/v2ray-agent/xray/ "https://github.com/XTLS/Xray-core/releases/download/${version}/${xrayCoreCPUVendor}.zip" >/dev/null 2>&1 fi - unzip -o /etc/v2ray-agent/xray/Xray-linux-64.zip -d /etc/v2ray-agent/xray >/dev/null - rm -rf /etc/v2ray-agent/xray/Xray-linux-64.zip + unzip -o /etc/v2ray-agent/xray/${xrayCoreCPUVendor}.zip -d /etc/v2ray-agent/xray >/dev/null + rm -rf /etc/v2ray-agent/xray/${xrayCoreCPUVendor}.zip chmod 655 /etc/v2ray-agent/xray/xray else echoContent green " ---> Xray-core版本:$(/etc/v2ray-agent/xray/xray --version | awk '{print $2}' | head -1)" @@ -926,12 +944,12 @@ installTrojanGo() { version=$(curl -s https://github.com/p4gefau1t/trojan-go/releases | grep /trojan-go/releases/tag/ | head -1 | awk -F "[/]" '{print $6}' | awk -F "[>]" '{print $2}' | awk -F "[<]" '{print $1}') echoContent green " ---> Trojan-Go版本:${version}" if wget --help | grep -q show-progress; then - wget -c -q --show-progress -P /etc/v2ray-agent/trojan/ "https://github.com/p4gefau1t/trojan-go/releases/download/${version}/trojan-go-linux-amd64.zip" + wget -c -q --show-progress -P /etc/v2ray-agent/trojan/ "https://github.com/p4gefau1t/trojan-go/releases/download/${version}/${trojanGoCPUVendor}.zip" else - wget -c -P /etc/v2ray-agent/trojan/ "https://github.com/p4gefau1t/trojan-go/releases/download/${version}/trojan-go-linux-amd64.zip" >/dev/null 2>&1 + wget -c -P /etc/v2ray-agent/trojan/ "https://github.com/p4gefau1t/trojan-go/releases/download/${version}/${trojanGoCPUVendor}.zip" >/dev/null 2>&1 fi - unzip -o /etc/v2ray-agent/trojan/trojan-go-linux-amd64.zip -d /etc/v2ray-agent/trojan >/dev/null - rm -rf /etc/v2ray-agent/trojan/trojan-go-linux-amd64.zip + unzip -o /etc/v2ray-agent/trojan/${trojanGoCPUVendor}.zip -d /etc/v2ray-agent/trojan >/dev/null + rm -rf /etc/v2ray-agent/trojan/${trojanGoCPUVendor}.zip else echoContent green " ---> Trojan-Go版本:$(/etc/v2ray-agent/trojan/trojan-go --version | awk '{print $2}' | head -1)" @@ -1044,13 +1062,13 @@ updateV2Ray() { echoContent green " ---> v2ray-core版本:${version}" if wget --help | grep -q show-progress; then - wget -c -q --show-progress -P /etc/v2ray-agent/v2ray/ "https://github.com/v2fly/v2ray-core/releases/download/${version}/v2ray-linux-64.zip" + wget -c -q --show-progress -P /etc/v2ray-agent/v2ray/ "https://github.com/v2fly/v2ray-core/releases/download/${version}/${v2rayCoreCPUVendor}.zip" else - wget -c -P "/etc/v2ray-agent/v2ray/ https://github.com/v2fly/v2ray-core/releases/download/${version}/v2ray-linux-64.zip" >/dev/null 2>&1 + wget -c -P "/etc/v2ray-agent/v2ray/ https://github.com/v2fly/v2ray-core/releases/download/${version}/${v2rayCoreCPUVendor}.zip" >/dev/null 2>&1 fi - unzip -o /etc/v2ray-agent/v2ray/v2ray-linux-64.zip -d /etc/v2ray-agent/v2ray >/dev/null - rm -rf /etc/v2ray-agent/v2ray/v2ray-linux-64.zip + unzip -o /etc/v2ray-agent/v2ray/${v2rayCoreCPUVendor}.zip -d /etc/v2ray-agent/v2ray >/dev/null + rm -rf /etc/v2ray-agent/v2ray/${v2rayCoreCPUVendor}.zip handleV2Ray stop handleV2Ray start else @@ -1118,13 +1136,13 @@ updateXray() { echoContent green " ---> Xray-core版本:${version}" if wget --help | grep -q show-progress; then - wget -c -q --show-progress -P /etc/v2ray-agent/xray/ "https://github.com/XTLS/Xray-core/releases/download/${version}/Xray-linux-64.zip" + wget -c -q --show-progress -P /etc/v2ray-agent/xray/ "https://github.com/XTLS/Xray-core/releases/download/${version}/${xrayCoreCPUVendor}.zip" else - wget -c -P /etc/v2ray-agent/xray/ "https://github.com/XTLS/Xray-core/releases/download/${version}/Xray-linux-64.zip" >/dev/null 2>&1 + wget -c -P /etc/v2ray-agent/xray/ "https://github.com/XTLS/Xray-core/releases/download/${version}/${xrayCoreCPUVendor}.zip" >/dev/null 2>&1 fi - unzip -o /etc/v2ray-agent/xray/Xray-linux-64.zip -d /etc/v2ray-agent/xray >/dev/null - rm -rf /etc/v2ray-agent/xray/Xray-linux-64.zip + unzip -o /etc/v2ray-agent/xray/${xrayCoreCPUVendor}.zip -d /etc/v2ray-agent/xray >/dev/null + rm -rf /etc/v2ray-agent/xray/${xrayCoreCPUVendor}.zip chmod 655 /etc/v2ray-agent/xray/xray handleXray stop handleXray start @@ -1182,12 +1200,12 @@ updateTrojanGo() { version=$(curl -s https://github.com/p4gefau1t/trojan-go/releases | grep /trojan-go/releases/tag/ | head -1 | awk -F "[/]" '{print $6}' | awk -F "[>]" '{print $2}' | awk -F "[<]" '{print $1}') echoContent green " ---> Trojan-Go版本:${version}" if [[ -n $(wget --help | grep show-progress) ]]; then - wget -c -q --show-progress -P /etc/v2ray-agent/trojan/ "https://github.com/p4gefau1t/trojan-go/releases/download/${version}/trojan-go-linux-amd64.zip" + wget -c -q --show-progress -P /etc/v2ray-agent/trojan/ "https://github.com/p4gefau1t/trojan-go/releases/download/${version}/${trojanGoCPUVendor}.zip" else - wget -c -P /etc/v2ray-agent/trojan/ "https://github.com/p4gefau1t/trojan-go/releases/download/${version}/trojan-go-linux-amd64.zip" >/dev/null 2>&1 + wget -c -P /etc/v2ray-agent/trojan/ "https://github.com/p4gefau1t/trojan-go/releases/download/${version}/${trojanGoCPUVendor}.zip" >/dev/null 2>&1 fi - unzip -o /etc/v2ray-agent/trojan/trojan-go-linux-amd64.zip -d /etc/v2ray-agent/trojan >/dev/null - rm -rf /etc/v2ray-agent/trojan/trojan-go-linux-amd64.zip + unzip -o /etc/v2ray-agent/trojan/${trojanGoCPUVendor}.zip -d /etc/v2ray-agent/trojan >/dev/null + rm -rf /etc/v2ray-agent/trojan/${trojanGoCPUVendor}.zip handleTrojanGo stop handleTrojanGo start else @@ -3496,14 +3514,14 @@ selectCoreInstall() { echoContent red "==============================================================" read -r -p "请选择:" selectCoreType case ${selectCoreType} in - "1") + 1) if [[ "${selectInstallType}" == "2" ]]; then customXrayInstall else xrayCoreInstall fi ;; - "2") + 2) v2rayCoreVersion= if [[ "${selectInstallType}" == "2" ]]; then customV2RayInstall @@ -3511,7 +3529,7 @@ selectCoreInstall() { v2rayCoreInstall fi ;; - "3") + 3) v2rayCoreVersion=v4.32.1 if [[ "${selectInstallType}" == "2" ]]; then customV2RayInstall @@ -3566,7 +3584,6 @@ v2rayCoreInstall() { xrayCoreInstall() { cleanUp v2rayClean selectCustomInstallType= - totalProgress=17 installTools 2 # 申请tls @@ -3778,7 +3795,7 @@ menu() { cd "$HOME" || exit echoContent red "\n==============================================================" echoContent green "作者:mack-a" - echoContent green "当前版本:v2.4.26" + echoContent green "当前版本:v2.4.27" echoContent green "Github:https://github.com/mack-a/v2ray-agent" echoContent green "描述:八合一共存脚本\c" showInstallStatus