feat(脚本): 添加切换alpn功能、注释无用代码

pull/534/merge
mack-a 2021-09-17 17:46:07 +08:00
parent d3e960f270
commit ae5249ad13
1 changed files with 70 additions and 11 deletions

View File

@ -141,6 +141,9 @@ initVar() {
# 当前的个性化安装方式 01234 # 当前的个性化安装方式 01234
currentInstallProtocolType= currentInstallProtocolType=
# 当前alpn的顺序
currentAlpn=
# 前置类型 # 前置类型
frontingType= frontingType=
@ -247,6 +250,16 @@ readInstallProtocolType() {
done < <(find ${configPath} -name "*inbounds.json" | awk -F "[.]" '{print $1}') done < <(find ${configPath} -name "*inbounds.json" | awk -F "[.]" '{print $1}')
} }
# 读取当前alpn的顺序
readInstallAlpn() {
if [[ -n ${currentInstallProtocolType} ]]; then
local alpn=$(jq -r .inbounds[0].streamSettings.xtlsSettings.alpn[0] ${configPath}${frontingType}.json)
if [[ -n ${alpn} ]]; then
currentAlpn=${alpn}
fi
fi
}
# 检查文件目录以及path路径 # 检查文件目录以及path路径
readConfigHostPathUUID() { readConfigHostPathUUID() {
currentPath= currentPath=
@ -380,6 +393,7 @@ checkCPUVendor
readInstallType readInstallType
readInstallProtocolType readInstallProtocolType
readConfigHostPathUUID readConfigHostPathUUID
readInstallAlpn
# ------------------------------------------------------------- # -------------------------------------------------------------
@ -4024,7 +4038,7 @@ xrayCoreInstall() {
handleNginx stop handleNginx stop
randomPathFunction 5 randomPathFunction 5
# 安装Xray # 安装Xray
handleV2Ray stop # handleV2Ray stop
installXray 6 installXray 6
installXrayService 7 installXrayService 7
customCDNIP 8 customCDNIP 8
@ -4123,12 +4137,52 @@ subscribe() {
fi fi
} }
# 切换alpn
switchAlpn() {
echoContent skyBlue "\n功能 1/${totalProgress} : 切换alpn"
if [[ -z ${currentAlpn} ]]; then
echoContent red " ---> 无法读取alpn请检查是否安装"
exit 0
fi
echoContent red "\n=============================================================="
echoContent green "当前alpn首位为${currentAlpn}"
echoContent yellow " 1.当http/1.1首位时trojan可用gRPC部分客户端可用【客户端支持手动选择alpn的可用】"
echoContent yellow " 2.当h2首位时gRPC可用trojan部分客户端可用【客户端支持手动选择alpn的可用】"
echoContent yellow " 3.如客户端不支持手动更换alpn建议使用此功能更改服务端alpn顺序来使用相应的协议"
echoContent red "=============================================================="
if [[ "${currentAlpn}" == "http/1.1" ]]; then
echoContent yellow "1.切换alpn h2 首位"
elif [[ "${currentAlpn}" == "h2" ]]; then
echoContent yellow "1.切换alpn http/1.1 首位"
else
echoContent red '不符合'
fi
echoContent red "=============================================================="
read -r -p "请选择:" selectSwitchAlpnType
if [[ "${selectSwitchAlpnType}" == "1" && "${currentAlpn}" == "http/1.1" ]]; then
local frontingTypeJSON=$(jq -r ".inbounds[0].streamSettings.xtlsSettings.alpn = [\"h2\",\"http/1.1\"]" ${configPath}${frontingType}.json)
echo "${frontingTypeJSON}" | jq . >${configPath}${frontingType}.json
elif [[ "${selectSwitchAlpnType}" == "1" && "${currentAlpn}" == "h2" ]]; then
local frontingTypeJSON=$(jq -r ".inbounds[0].streamSettings.xtlsSettings.alpn =[\"http/1.1\",\"h2\"]" ${configPath}${frontingType}.json)
echo "${frontingTypeJSON}" | jq . >${configPath}${frontingType}.json
else
echoContent red " ---> 选择错误"
exit 0;
fi
reloadCore
}
# 主菜单 # 主菜单
menu() { menu() {
cd "$HOME" || exit cd "$HOME" || exit
echoContent red "\n==============================================================" echoContent red "\n=============================================================="
echoContent green "作者mack-a" echoContent green "作者mack-a"
echoContent green "当前版本v2.5.33" echoContent green "当前版本v2.5.34"
echoContent green "Githubhttps://github.com/mack-a/v2ray-agent" echoContent green "Githubhttps://github.com/mack-a/v2ray-agent"
echoContent green "描述:八合一共存脚本\c" echoContent green "描述:八合一共存脚本\c"
showInstallStatus showInstallStatus
@ -4145,6 +4199,7 @@ menu() {
elif echo ${currentInstallProtocolType} | grep -q 0; then elif echo ${currentInstallProtocolType} | grep -q 0; then
echoContent yellow "3.切换Trojan[XTLS]" echoContent yellow "3.切换Trojan[XTLS]"
fi fi
echoContent skyBlue "-------------------------工具管理-----------------------------" echoContent skyBlue "-------------------------工具管理-----------------------------"
echoContent yellow "4.账号管理" echoContent yellow "4.账号管理"
echoContent yellow "5.更换伪装站" echoContent yellow "5.更换伪装站"
@ -4155,13 +4210,14 @@ menu() {
echoContent yellow "10.流媒体工具" echoContent yellow "10.流媒体工具"
echoContent yellow "11.添加新端口" echoContent yellow "11.添加新端口"
echoContent yellow "12.BT下载管理" echoContent yellow "12.BT下载管理"
echoContent yellow "13.切换alpn"
echoContent skyBlue "-------------------------版本管理-----------------------------" echoContent skyBlue "-------------------------版本管理-----------------------------"
echoContent yellow "13.core管理" echoContent yellow "14.core管理"
echoContent yellow "14.更新脚本" echoContent yellow "15.更新脚本"
echoContent yellow "15.安装BBR、DD脚本" echoContent yellow "16.安装BBR、DD脚本"
echoContent skyBlue "-------------------------脚本管理-----------------------------" echoContent skyBlue "-------------------------脚本管理-----------------------------"
echoContent yellow "16.查看日志" echoContent yellow "17.查看日志"
echoContent yellow "17.卸载脚本" echoContent yellow "18.卸载脚本"
echoContent red "==============================================================" echoContent red "=============================================================="
mkdirTools mkdirTools
aliasInstall aliasInstall
@ -4204,18 +4260,21 @@ menu() {
btTools 1 btTools 1
;; ;;
13) 13)
coreVersionManageMenu 1 switchAlpn 1
;; ;;
14) 14)
updateV2RayAgent 1 coreVersionManageMenu 1
;; ;;
15) 15)
bbrInstall updateV2RayAgent 1
;; ;;
16) 16)
checkLog 1 bbrInstall
;; ;;
17) 17)
checkLog 1
;;
18)
unInstall 1 unInstall 1
;; ;;
esac esac