diff --git a/install.sh b/install.sh index aa90db6..a459e09 100644 --- a/install.sh +++ b/install.sh @@ -193,6 +193,12 @@ initVar() { # 是否为预览版 prereleaseStatus=false + + # ssl类型 + sslType= + + # ssl邮箱 + sslEmail= } # 检测安装方式 @@ -523,7 +529,7 @@ mkdirTools() { mkdir -p /etc/v2ray-agent/xray/conf mkdir -p /etc/v2ray-agent/xray/tmp mkdir -p /etc/v2ray-agent/trojan - mkdir -p /etc/v2ray-agent/hysteria/conf + # mkdir -p /etc/v2ray-agent/hysteria/conf mkdir -p /etc/systemd/system/ mkdir -p /tmp/v2ray-agent-tls/ } @@ -663,7 +669,8 @@ installTools() { if [[ ! -d "$HOME/.acme.sh" ]] || [[ -d "$HOME/.acme.sh" && -z $(find "$HOME/.acme.sh/acme.sh") ]]; then echoContent green " ---> 安装acme.sh" - curl -s https://get.acme.sh | sh -s >/etc/v2ray-agent/tls/acme.log 2>&1 + curl -s https://get.acme.sh | sh >/etc/v2ray-agent/tls/acme.log 2>&1 + if [[ ! -d "$HOME/.acme.sh" ]] || [[ -z $(find "$HOME/.acme.sh/acme.sh") ]]; then echoContent red " acme安装失败--->" tail -n 100 /etc/v2ray-agent/tls/acme.log @@ -1011,6 +1018,51 @@ checkIP() { fi } +# 自定义email +customSSLEmail() { + if [[ -d "/root/.acme.sh" && -f "/root/.acme.sh/account.conf" ]]; then + if ! grep -q "ACCOUNT_EMAIL" <"/root/.acme.sh/account.conf"; then + read -r -p "请输入邮箱地址:" sslEmail + if echo "${sslEmail}" | grep -q "@"; then + echo "ACCOUNT_EMAIL='${sslEmail}'" >>/root/.acme.sh/account.conf + echoContent green " ---> 添加成功" + else + echoContent yellow "请重新输入正确的邮箱格式[例: username@example.com]" + customSSLEmail + fi + fi + echo + fi + +} +# 选择ssl安装类型 +switchSSLType() { + if [[ -z "${sslType}" ]]; then + echoContent red "\n==============================================================" + echoContent yellow "1.letsencrypt" + echoContent yellow "2.zerossl" + echoContent yellow "3.buypass" + echoContent red "==============================================================" + read -r -p "请选择:" selectSSLType + if [[ "${selectSSLType}" =~ ^[1-3]$ ]]; then + + case ${selectSSLType} in + 1) + sslType="letsencrypt" + ;; + 2) + sslType="zerossl" + ;; + 3) + sslType="buypass" + ;; + esac + else + echoContent red " ---> 选择错误,请重新选择" + switchSSLType + fi + fi +} # 安装TLS installTLS() { echoContent skyBlue "\n进度 $1/${totalProgress} : 申请TLS证书\n" @@ -1034,10 +1086,14 @@ installTLS() { elif [[ -d "$HOME/.acme.sh" ]] && [[ ! -f "$HOME/.acme.sh/${tlsDomain}_ecc/${tlsDomain}.cer" || ! -f "$HOME/.acme.sh/${tlsDomain}_ecc/${tlsDomain}.key" ]]; then echoContent green " ---> 安装TLS证书" + + switchSSLType + customSSLEmail + if echo "${localIP}" | grep -q ":"; then - sudo "$HOME/.acme.sh/acme.sh" --issue -d "${tlsDomain}" --standalone -k ec-256 --server letsencrypt --listen-v6 | tee -a /etc/v2ray-agent/tls/acme.log >/dev/null + sudo "$HOME/.acme.sh/acme.sh" --issue -d "${tlsDomain}" --standalone -k ec-256 --server "${sslType}" --listen-v6 | tee -a /etc/v2ray-agent/tls/acme.log >/dev/null else - sudo "$HOME/.acme.sh/acme.sh" --issue -d "${tlsDomain}" --standalone -k ec-256 --server letsencrypt | tee -a /etc/v2ray-agent/tls/acme.log >/dev/null + sudo "$HOME/.acme.sh/acme.sh" --issue -d "${tlsDomain}" --standalone -k ec-256 --server "${sslType}" | tee -a /etc/v2ray-agent/tls/acme.log >/dev/null fi if [[ -d "$HOME/.acme.sh/${tlsDomain}_ecc" && -f "$HOME/.acme.sh/${tlsDomain}_ecc/${tlsDomain}.key" && -f "$HOME/.acme.sh/${tlsDomain}_ecc/${tlsDomain}.cer" ]]; then @@ -1273,7 +1329,7 @@ installV2Ray() { if [[ "${coreInstallType}" != "2" && "${coreInstallType}" != "3" ]]; then if [[ "${selectCoreType}" == "2" ]]; then - version=$(curl -s https://api.github.com/repos/v2fly/v2ray-core/releases | jq -r '.[]|select (.prerelease==false)|.tag_name'|grep -v 'v5' | head -1) + version=$(curl -s https://api.github.com/repos/v2fly/v2ray-core/releases | jq -r '.[]|select (.prerelease==false)|.tag_name' | grep -v 'v5' | head -1) else version=${v2rayCoreVersion} fi @@ -1357,11 +1413,11 @@ v2rayVersionManageMenu() { echoContent yellow "2.不保证回退后一定可以正常使用" echoContent yellow "3.如果回退的版本不支持当前的config,则会无法连接,谨慎操作" echoContent skyBlue "------------------------Version-------------------------------" - curl -s https://api.github.com/repos/v2fly/v2ray-core/releases | jq -r '.[]|select (.prerelease==false)|.tag_name'|grep -v 'v5' | head -5 | awk '{print ""NR""":"$0}' + curl -s https://api.github.com/repos/v2fly/v2ray-core/releases | jq -r '.[]|select (.prerelease==false)|.tag_name' | grep -v 'v5' | head -5 | awk '{print ""NR""":"$0}' echoContent skyBlue "--------------------------------------------------------------" read -r -p "请输入要回退的版本:" selectV2rayVersionType - version=$(curl -s https://api.github.com/repos/v2fly/v2ray-core/releases | jq -r '.[]|select (.prerelease==false)|.tag_name'|grep -v 'v5' | head -5 | awk '{print ""NR""":"$0}' | grep "${selectV2rayVersionType}:" | awk -F "[:]" '{print $2}') + version=$(curl -s https://api.github.com/repos/v2fly/v2ray-core/releases | jq -r '.[]|select (.prerelease==false)|.tag_name' | grep -v 'v5' | head -5 | awk '{print ""NR""":"$0}' | grep "${selectV2rayVersionType}:" | awk -F "[:]" '{print $2}') if [[ -n "${version}" ]]; then updateV2Ray "${version}" else @@ -1433,7 +1489,7 @@ updateV2Ray() { if [[ -n "$1" ]]; then version=$1 else - version=$(curl -s https://api.github.com/repos/v2fly/v2ray-core/releases | jq -r '.[]|select (.prerelease==false)|.tag_name'|grep -v 'v5' | head -1) + version=$(curl -s https://api.github.com/repos/v2fly/v2ray-core/releases | jq -r '.[]|select (.prerelease==false)|.tag_name' | grep -v 'v5' | head -1) fi # 使用锁定的版本 if [[ -n "${v2rayCoreVersion}" ]]; then @@ -1457,7 +1513,7 @@ updateV2Ray() { if [[ -n "$1" ]]; then version=$1 else - version=$(curl -s https://api.github.com/repos/v2fly/v2ray-core/releases | jq -r '.[]|select (.prerelease==false)|.tag_name'|grep -v 'v5' | head -1) + version=$(curl -s https://api.github.com/repos/v2fly/v2ray-core/releases | jq -r '.[]|select (.prerelease==false)|.tag_name' | grep -v 'v5' | head -1) fi if [[ -n "${v2rayCoreVersion}" ]]; then @@ -4731,7 +4787,7 @@ menu() { cd "$HOME" || exit echoContent red "\n==============================================================" echoContent green "作者:mack-a" - echoContent green "当前版本:v2.5.75" + echoContent green "当前版本:v2.5.76" echoContent green "Github:https://github.com/mack-a/v2ray-agent" echoContent green "描述:八合一共存脚本\c" showInstallStatus