修复: 选项顺序调整 + acme.sh切换到GitHub官方源

问题:
1. 主界面菜单顺序:用户反馈[5]在[4]上面,需要对调
2. SSL选项顺序:阿里云和Buypass编号需要对调
3. acme.sh安装:Gitee镜像不稳定,导致安装失败

修复:
1. 主界面菜单
   - [4] SSL证书管理 (原[5])
   - [5] 卸载玩玩云 (原[4])

2. SSL证书选项(两处:choose_ssl_method + ssl_choose_method)
   - [4] 阿里云免费证书 (原[5])
   - [5] acme.sh + Buypass (原[4])

3. deploy_ssl() 函数
   - case 4: deploy_aliyun_ssl
   - case 5: deploy_acme_buypass

4. ssl_fallback() 函数
   - 备选方案显示和case分支对应调整

5. acme.sh安装源切换
   - deploy_acme_letsencrypt: 移除Gitee镜像检测,统一使用GitHub
   - deploy_acme_zerossl: 移除Gitee镜像检测,统一使用GitHub
   - deploy_acme_buypass: 移除Gitee镜像检测,统一使用GitHub
   - 提示:国内用户会较慢,但更稳定可靠

影响:
- 菜单顺序更合理(危险操作放最后)
- SSL选项分类更清晰
- acme.sh安装成功率大幅提升(GitHub官方源稳定性更好)

注意:
- 其他依赖(npm、系统包)仍使用阿里云镜像加速
- 仅acme.sh使用GitHub官方源

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
WanWanYun
2025-11-13 14:09:29 +08:00
parent 41f823db54
commit 06056563b2

View File

@@ -1102,11 +1102,11 @@ choose_ssl_method() {
echo " - 纯Shell脚本更轻量级" echo " - 纯Shell脚本更轻量级"
echo -e "${GREEN}[3]${NC} acme.sh + ZeroSSL" echo -e "${GREEN}[3]${NC} acme.sh + ZeroSSL"
echo " - Let's Encrypt的免费替代品" echo " - Let's Encrypt的免费替代品"
echo -e "${GREEN}[4]${NC} acme.sh + Buypass" echo -e "${GREEN}[5]${NC} acme.sh + Buypass"
echo " - 挪威免费CA有效期180天" echo " - 挪威免费CA有效期180天"
echo "" echo ""
echo -e "${YELLOW}【云服务商证书】${NC}" echo -e "${YELLOW}【云服务商证书】${NC}"
echo -e "${GREEN}[5]${NC} 阿里云免费证书 (需提供AccessKey)" echo -e "${GREEN}[4]${NC} 阿里云免费证书 (需提供AccessKey)"
echo -e "${GREEN}[6]${NC} 腾讯云免费证书 (需提供SecretKey)" echo -e "${GREEN}[6]${NC} 腾讯云免费证书 (需提供SecretKey)"
echo "" echo ""
echo -e "${YELLOW}【其他选项】${NC}" echo -e "${YELLOW}【其他选项】${NC}"
@@ -1145,10 +1145,10 @@ deploy_ssl() {
deploy_acme_zerossl || ssl_fallback "3" deploy_acme_zerossl || ssl_fallback "3"
;; ;;
4) 4)
deploy_acme_buypass || ssl_fallback "4" deploy_aliyun_ssl || ssl_fallback "4"
;; ;;
5) 5)
deploy_aliyun_ssl || ssl_fallback "5" deploy_acme_buypass || ssl_fallback "5"
;; ;;
6) 6)
deploy_tencent_ssl || ssl_fallback "6" deploy_tencent_ssl || ssl_fallback "6"
@@ -1192,18 +1192,18 @@ ssl_fallback() {
available_options+=("3") available_options+=("3")
fi fi
# 方案4: acme.sh + Buypass # 方案4: 阿里云(注释掉,未实现)
if [[ "$failed_method" != "4" ]]; then # if [[ "$failed_method" != "4" ]]; then
echo -e "${GREEN}[4]${NC} acme.sh + Buypass" # echo -e "${GREEN}[4]${NC} 阿里云免费证书"
available_options+=("4") # available_options+=("4")
fi
# 方案5: 阿里云(注释掉,未实现)
# if [[ "$failed_method" != "5" ]]; then
# echo -e "${GREEN}[5]${NC} 阿里云免费证书"
# available_options+=("5")
# fi # fi
# 方案5: acme.sh + Buypass
if [[ "$failed_method" != "5" ]]; then
echo -e "${GREEN}[5]${NC} acme.sh + Buypass"
available_options+=("5")
fi
# 方案6: 腾讯云(注释掉,未实现) # 方案6: 腾讯云(注释掉,未实现)
# if [[ "$failed_method" != "6" ]]; then # if [[ "$failed_method" != "6" ]]; then
# echo -e "${GREEN}[6]${NC} 腾讯云免费证书" # echo -e "${GREEN}[6]${NC} 腾讯云免费证书"
@@ -1246,10 +1246,15 @@ ssl_fallback() {
return $? return $?
;; ;;
4) 4)
deploy_acme_buypass && return 0 deploy_aliyun_ssl && return 0
ssl_fallback "4" ssl_fallback "4"
return $? return $?
;; ;;
5)
deploy_acme_buypass && return 0
ssl_fallback "5"
return $?
;;
8) 8)
print_info "跳过HTTPS配置" print_info "跳过HTTPS配置"
SSL_METHOD=8 SSL_METHOD=8
@@ -1342,20 +1347,9 @@ deploy_acme_letsencrypt() {
if [[ ! -d ~/.acme.sh ]]; then if [[ ! -d ~/.acme.sh ]]; then
echo "" echo ""
print_info "正在安装 acme.sh..." print_info "正在安装 acme.sh..."
print_info "使用 GitHub 官方源(国内可能较慢,请耐心等待)"
# 检测网络环境,配置镜像源 # 统一使用 GitHub 官方源(更稳定可靠)
if curl -s --connect-timeout 3 https://www.google.com > /dev/null 2>&1; then
# 海外网络 - 使用官方源
print_info "使用官方源安装..."
USE_GITEE_MIRROR=false
else
# 中国大陆 - 使用Gitee镜像
print_info "检测到国内网络使用Gitee镜像加速..."
export ACME_USE_GITEE=1
USE_GITEE_MIRROR=true
fi
# 官方安装脚本URL统一使用官方URL通过环境变量控制镜像
INSTALL_URL="https://get.acme.sh" INSTALL_URL="https://get.acme.sh"
# 改进的安装流程:先下载到临时文件,验证后再执行 # 改进的安装流程:先下载到临时文件,验证后再执行
@@ -1506,20 +1500,9 @@ deploy_acme_zerossl() {
if [[ ! -d ~/.acme.sh ]]; then if [[ ! -d ~/.acme.sh ]]; then
echo "" echo ""
print_info "正在安装 acme.sh..." print_info "正在安装 acme.sh..."
print_info "使用 GitHub 官方源(国内可能较慢,请耐心等待)"
# 检测网络环境,配置镜像源 # 统一使用 GitHub 官方源(更稳定可靠)
if curl -s --connect-timeout 3 https://www.google.com > /dev/null 2>&1; then
# 海外网络
print_info "使用官方源安装..."
USE_GITEE_MIRROR=false
else
# 中国大陆 - 使用Gitee镜像
print_info "检测到国内网络使用Gitee镜像加速..."
export ACME_USE_GITEE=1
USE_GITEE_MIRROR=true
fi
# 官方安装脚本URL统一使用官方URL通过环境变量控制镜像
INSTALL_URL="https://get.acme.sh" INSTALL_URL="https://get.acme.sh"
# 改进的安装流程:先下载到临时文件,验证后再执行 # 改进的安装流程:先下载到临时文件,验证后再执行
@@ -1646,20 +1629,9 @@ deploy_acme_buypass() {
if [[ ! -d ~/.acme.sh ]]; then if [[ ! -d ~/.acme.sh ]]; then
echo "" echo ""
print_info "正在安装 acme.sh..." print_info "正在安装 acme.sh..."
print_info "使用 GitHub 官方源(国内可能较慢,请耐心等待)"
# 检测网络环境,配置镜像源 # 统一使用 GitHub 官方源(更稳定可靠)
if curl -s --connect-timeout 3 https://www.google.com > /dev/null 2>&1; then
# 海外网络
print_info "使用官方源安装..."
USE_GITEE_MIRROR=false
else
# 中国大陆 - 使用Gitee镜像
print_info "检测到国内网络使用Gitee镜像加速..."
export ACME_USE_GITEE=1
USE_GITEE_MIRROR=true
fi
# 官方安装脚本URL统一使用官方URL通过环境变量控制镜像
INSTALL_URL="https://get.acme.sh" INSTALL_URL="https://get.acme.sh"
# 改进的安装流程:先下载到临时文件,验证后再执行 # 改进的安装流程:先下载到临时文件,验证后再执行
@@ -3383,8 +3355,8 @@ main() {
echo -e "${GREEN}[1]${NC} 安装/部署 玩玩云" echo -e "${GREEN}[1]${NC} 安装/部署 玩玩云"
echo -e "${BLUE}[2]${NC} 更新/升级 玩玩云" echo -e "${BLUE}[2]${NC} 更新/升级 玩玩云"
echo -e "${YELLOW}[3]${NC} 修复/重新配置 玩玩云" echo -e "${YELLOW}[3]${NC} 修复/重新配置 玩玩云"
echo -e "${PURPLE}[5]${NC} SSL证书管理安装/续签/更换证书)" echo -e "${PURPLE}[4]${NC} SSL证书管理安装/续签/更换证书)"
echo -e "${RED}[4]${NC} 卸载 玩玩云" echo -e "${RED}[5]${NC} 卸载 玩玩云"
echo -e "${GRAY}[0]${NC} 退出脚本" echo -e "${GRAY}[0]${NC} 退出脚本"
echo "" echo ""
@@ -3408,13 +3380,13 @@ main() {
repair_main repair_main
exit 0 exit 0
;; ;;
5) 4)
print_info "切换到SSL证书管理模式..." print_info "切换到SSL证书管理模式..."
echo "" echo ""
ssl_main ssl_main
exit 0 exit 0
;; ;;
4) 5)
print_info "切换到卸载模式..." print_info "切换到卸载模式..."
echo "" echo ""
uninstall_main uninstall_main
@@ -4020,11 +3992,11 @@ ssl_choose_method() {
echo " - 纯Shell脚本更轻量级" echo " - 纯Shell脚本更轻量级"
echo -e "${GREEN}[3]${NC} acme.sh + ZeroSSL" echo -e "${GREEN}[3]${NC} acme.sh + ZeroSSL"
echo " - Let's Encrypt的免费替代品" echo " - Let's Encrypt的免费替代品"
echo -e "${GREEN}[4]${NC} acme.sh + Buypass" echo -e "${GREEN}[5]${NC} acme.sh + Buypass"
echo " - 挪威免费CA有效期180天" echo " - 挪威免费CA有效期180天"
echo "" echo ""
echo -e "${YELLOW}【云服务商证书】${NC}" echo -e "${YELLOW}【云服务商证书】${NC}"
echo -e "${GREEN}[5]${NC} 阿里云免费证书 (需提供AccessKey)" echo -e "${GREEN}[4]${NC} 阿里云免费证书 (需提供AccessKey)"
echo -e "${GREEN}[6]${NC} 腾讯云免费证书 (需提供SecretKey)" echo -e "${GREEN}[6]${NC} 腾讯云免费证书 (需提供SecretKey)"
echo "" echo ""
echo -e "${YELLOW}【其他选项】${NC}" echo -e "${YELLOW}【其他选项】${NC}"