Update installation logic to default proxy usage
- Change smart-install.sh to prioritize proxy over direct connection - Add interactive proxy preference selection after installation - Update quick-install.sh to default to proxy usage - Provide user choice to keep or disable proxy after installation - Ensure reliable installation by using proxy by default - Add clear proxy management instructions post-installation
This commit is contained in:
parent
5611d54a47
commit
35173b09d1
|
|
@ -19,13 +19,18 @@ configuration/zsh/
|
|||
|
||||
### 方法一:智能安装(推荐)
|
||||
|
||||
自动检测网络环境,智能选择直连或代理:
|
||||
优先使用代理确保安装成功,安装完成后可选择关闭:
|
||||
|
||||
```bash
|
||||
# 智能安装(自动检测网络环境)
|
||||
# 智能安装(默认使用代理,安装后可选择关闭)
|
||||
curl -fsSL https://ben:8d7d70f324796be650b79415303c31f567bf459b@gitea.tailnet-68f9.ts.net/ben/mgmt/raw/branch/main/configuration/zsh/smart-install.sh | bash
|
||||
```
|
||||
|
||||
**特点:**
|
||||
- 优先使用代理确保下载成功
|
||||
- 安装完成后提供代理管理选项
|
||||
- 可选择保持开启或关闭代理
|
||||
|
||||
### 方法二:快速安装
|
||||
|
||||
在新 VPS 上运行:
|
||||
|
|
|
|||
|
|
@ -47,18 +47,36 @@ else
|
|||
cd "$MGMT_DIR"
|
||||
fi
|
||||
|
||||
# 检查并设置代理(如果需要)
|
||||
if [[ -f "$MGMT_DIR/configuration/proxy.env" ]]; then
|
||||
log_info "发现代理配置,先设置代理..."
|
||||
source "$MGMT_DIR/configuration/proxy.env"
|
||||
# 默认设置代理环境
|
||||
log_info "设置代理环境以确保安装成功..."
|
||||
PROXY_URL="http://istoreos.tailnet-68f9.ts.net:1082"
|
||||
|
||||
# 测试代理连接
|
||||
if curl -s --connect-timeout 5 --proxy "$http_proxy" https://httpbin.org/ip >/dev/null 2>&1; then
|
||||
log_success "代理连接正常,将使用代理安装"
|
||||
else
|
||||
log_warning "代理连接失败,将使用直连安装"
|
||||
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
|
||||
fi
|
||||
# 测试代理连接
|
||||
if curl -s --connect-timeout 5 --proxy "$PROXY_URL" https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh >/dev/null 2>&1; then
|
||||
log_success "代理连接正常,将使用代理安装"
|
||||
export http_proxy="$PROXY_URL"
|
||||
export https_proxy="$PROXY_URL"
|
||||
export HTTP_PROXY="$PROXY_URL"
|
||||
export HTTPS_PROXY="$PROXY_URL"
|
||||
|
||||
# 创建代理配置文件
|
||||
cat > "$MGMT_DIR/configuration/proxy.env" << EOF
|
||||
# Proxy Configuration for istoreos.tailnet-68f9.ts.net:1082
|
||||
export http_proxy=${PROXY_URL}
|
||||
export https_proxy=${PROXY_URL}
|
||||
export HTTP_PROXY=${PROXY_URL}
|
||||
export HTTPS_PROXY=${PROXY_URL}
|
||||
export no_proxy=localhost,127.0.0.1,::1,.local,.tailnet-68f9.ts.net
|
||||
export NO_PROXY=localhost,127.0.0.1,::1,.local,.tailnet-68f9.ts.net
|
||||
export ALL_PROXY=${PROXY_URL}
|
||||
export all_proxy=${PROXY_URL}
|
||||
export GIT_HTTP_PROXY=${PROXY_URL}
|
||||
export GIT_HTTPS_PROXY=${PROXY_URL}
|
||||
export CURL_PROXY=${PROXY_URL}
|
||||
export WGET_PROXY=${PROXY_URL}
|
||||
EOF
|
||||
else
|
||||
log_warning "代理连接失败,将使用直连安装"
|
||||
fi
|
||||
|
||||
# 运行安装脚本
|
||||
|
|
@ -67,4 +85,15 @@ chmod +x "$MGMT_DIR/configuration/zsh/install-zsh-config.sh"
|
|||
"$MGMT_DIR/configuration/zsh/install-zsh-config.sh"
|
||||
|
||||
log_success "快速安装完成!"
|
||||
|
||||
# 如果创建了代理配置,询问用户偏好
|
||||
if [[ -f "$MGMT_DIR/configuration/proxy.env" ]]; then
|
||||
echo ""
|
||||
log_info "代理已默认开启,安装完成后可以选择:"
|
||||
echo " proxy-status # 查看代理状态"
|
||||
echo " proxy-toggle # 切换代理状态"
|
||||
echo " proxy-disable # 永久关闭代理"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
log_info "请重新登录或运行: source ~/.zshrc"
|
||||
|
|
|
|||
|
|
@ -34,17 +34,17 @@ fi
|
|||
detect_network() {
|
||||
log_info "检测网络环境..."
|
||||
|
||||
# 测试直连 GitHub
|
||||
if curl -s --connect-timeout 5 https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh >/dev/null 2>&1; then
|
||||
log_success "直连网络正常"
|
||||
echo "direct"
|
||||
# 优先测试代理连接
|
||||
if curl -s --connect-timeout 5 --proxy "$PROXY_URL" https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh >/dev/null 2>&1; then
|
||||
log_success "代理网络正常,将使用代理安装"
|
||||
echo "proxy"
|
||||
return 0
|
||||
fi
|
||||
|
||||
# 测试代理连接
|
||||
if curl -s --connect-timeout 5 --proxy "$PROXY_URL" https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh >/dev/null 2>&1; then
|
||||
log_success "代理网络正常"
|
||||
echo "proxy"
|
||||
# 如果代理失败,测试直连
|
||||
if curl -s --connect-timeout 5 https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh >/dev/null 2>&1; then
|
||||
log_warning "代理连接失败,但直连网络正常,将使用直连安装"
|
||||
echo "direct"
|
||||
return 0
|
||||
fi
|
||||
|
||||
|
|
@ -104,6 +104,53 @@ EOF
|
|||
log_success "代理配置文件已创建"
|
||||
}
|
||||
|
||||
# 询问用户是否关闭代理
|
||||
ask_proxy_preference() {
|
||||
if [[ -f "$MGMT_DIR/configuration/proxy.env" ]]; then
|
||||
echo ""
|
||||
log_info "安装完成!代理已默认开启。"
|
||||
echo ""
|
||||
log_info "代理管理选项:"
|
||||
echo " 1. 保持代理开启(推荐,方便访问外网)"
|
||||
echo " 2. 关闭代理(如果不需要访问外网)"
|
||||
echo " 3. 稍后手动管理"
|
||||
echo ""
|
||||
|
||||
while true; do
|
||||
read -p "请选择 (1/2/3): " choice
|
||||
case $choice in
|
||||
1)
|
||||
log_success "代理保持开启"
|
||||
log_info "使用 'proxy-status' 查看代理状态"
|
||||
log_info "使用 'proxy-toggle' 切换代理状态"
|
||||
break
|
||||
;;
|
||||
2)
|
||||
log_info "关闭代理..."
|
||||
if [[ -f "$MGMT_DIR/scripts/utilities/proxy-toggle.sh" ]]; then
|
||||
"$MGMT_DIR/scripts/utilities/proxy-toggle.sh" disable
|
||||
else
|
||||
rm -f "$MGMT_DIR/configuration/proxy.env"
|
||||
log_success "代理已关闭"
|
||||
fi
|
||||
break
|
||||
;;
|
||||
3)
|
||||
log_info "稍后可以使用以下命令管理代理:"
|
||||
echo " proxy-status # 查看代理状态"
|
||||
echo " proxy-toggle # 切换代理状态"
|
||||
echo " proxy-enable # 永久开启代理"
|
||||
echo " proxy-disable # 永久关闭代理"
|
||||
break
|
||||
;;
|
||||
*)
|
||||
log_warning "无效选择,请输入 1、2 或 3"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
# 主安装流程
|
||||
main() {
|
||||
log_info "开始智能安装 ZSH 配置..."
|
||||
|
|
@ -112,11 +159,11 @@ main() {
|
|||
local network_type=$(detect_network)
|
||||
|
||||
if [[ "$network_type" == "proxy" ]]; then
|
||||
# 需要代理
|
||||
# 优先使用代理
|
||||
setup_proxy_env
|
||||
create_proxy_config
|
||||
elif [[ "$network_type" == "direct" ]]; then
|
||||
# 直连即可
|
||||
# 直连安装
|
||||
log_info "使用直连网络安装"
|
||||
else
|
||||
log_error "网络连接失败,无法继续安装"
|
||||
|
|
@ -133,11 +180,8 @@ main() {
|
|||
|
||||
log_success "智能安装完成!"
|
||||
|
||||
if [[ "$network_type" == "proxy" ]]; then
|
||||
log_info "代理配置已保存,重启后仍然有效"
|
||||
log_info "使用 'proxy-status' 查看代理状态"
|
||||
log_info "使用 'proxy-toggle' 切换代理状态"
|
||||
fi
|
||||
# 询问用户代理偏好
|
||||
ask_proxy_preference
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
|
|
|||
Loading…
Reference in New Issue