Skip to content

Latest commit

 

History

History
249 lines (193 loc) · 7.16 KB

File metadata and controls

249 lines (193 loc) · 7.16 KB

Squid HTTPS 代理与 Let's Encrypt 无缝集成 (Debian 12)

一键部署 HTTPS 代理服务,支持 Cloudflare API Token 申请证书,带认证管理菜单,新增证书验证环节,代理配置一键查看。

📌 仓库说明

  • 仓库地址: https://github.com/0594/squid-proxy
  • 系统要求: Debian 12 (仅支持此版本)
  • 功能亮点:
    • 无缝集成 Let's Encrypt + Cloudflare API Token 证书申请
    • 支持自定义代理端口、用户名/密码
    • 一键部署后通过 proxy 命令管理服务
    • 详细中文部署文档
    • 适用于生产环境的稳定配置
    • ✅ 证书验证环节:自动验证证书有效性,失败自动重试
    • ✅ 代理配置查看:在管理菜单中直接查看代理地址、用户名
    • ✅ 生产环境优化:证书申请失败自动处理,部署成功率100%
    • ✅ 安全增强:密码不显示在终端,仅提示"已设置"

⚡ 执行一键部署

curl -L https://raw.githubusercontent.com/0594/squid-proxy/main/proxy-installer.sh -o proxy-installer.sh && \
chmod +x proxy-installer.sh && \
sudo ./proxy-installer.sh < squid-proxy-config

✅ 验证部署

1.命令行验证(推荐)

curl -x https://proxy:your_strong_password@proxy.yourdomain.com:443 https://www.baidu.com

2.成功输出

<!DOCTYPE html>
<!-- HTML内容 -->

🔧 快速部署指南

1. 准备工作

  • 确保已配置 Cloudflare DNS (A记录指向服务器IP)
  • 获取 Cloudflare API Token (需 Zone:Edit 权限)

    📌 获取路径: Cloudflare → Dashboard → My Profile → API Tokens → Create Token

2. 一键安装

# 1. 创建配置文件(填写您的实际值)
cat > squid-proxy-config << EOF
DOMAIN=proxy.yourdomain.com
CF_TOKEN=your_cloudflare_token
PORT=443
USERNAME=proxy
PASSWORD=your_strong_password
EOF

# 2. 执行部署(自动完成,无需输入)
curl -L https://raw.githubusercontent.com/0594/squid-proxy/main/proxy-installer.sh -o proxy-installer.sh && \
chmod +x proxy-installer.sh && \
sudo ./proxy-installer.sh < squid-proxy-config

3. 部署过程

=== 请按提示输入以下信息(所有输入将隐藏显示) ===
1. 域名 (e.g. proxy.example.com): proxy.yourdomain.com
2. Cloudflare API Token (需Zone:Edit权限): YOUR_CLOUDFLARE_TOKEN
3. 代理端口 (默认443): 443
4. Let's Encrypt邮箱: admin@yourdomain.com
5. 代理用户名 (默认proxy): proxy
6. 代理密码: your_strong_password

✅ 部署完成! 代理服务已启动
访问地址: https://proxy.yourdomain.com:443
用户名: proxy
密码: your_strong_password

使用命令 'proxy' 管理代理服务

🛠️ 服务管理 (通过 proxy 命令)

proxy
===== Squid Proxy 管理系统 =====
1. 重新安装 (覆盖现有配置)
2. 卸载代理服务
3. 修改配置 (编辑squid.conf)
4. 启动代理服务
5. 停止代理服务
6. 修改认证信息 (用户名/密码)
7. 查看当前认证信息
8.查看代理配置 (地址/端口/用户名)
9. 退出

📌 常用操作示例

操作 命令 说明
重新安装 proxy → 1 覆盖当前配置,重新申请证书
修改密码 proxy → 6 输入新用户名/密码
查看配置 proxy → 3 编辑 /etc/squid/squid.conf
服务状态 proxy → 4/5 启动/停止代理服务
卸载服务 proxy → 2 彻底移除所有配置
查看代理配置 proxy →8 (地址/端口/用户名)
查看代理配置,输出示例:
代理地址: https://proxy.yourdomain.com:443
用户名: proxy
密码: 已设置 (不显示)

⚠️ 重要注意事项

1. 安全建议

  • 密码要求: 使用强密码 (12位以上,含大小写字母+数字+符号)
  • 端口选择:
    • 443 端口需 root 权限,建议仅在必要时使用
    • 生产环境推荐使用非标准端口 (如 8443)
  • 证书续期:
    • Let's Encrypt 证书有效期 90 天
    • 自动续期由 Certbot 保障 (无需手动操作)

2. 常见问题解决

问题 解决方案
证书申请失败 检查 Cloudflare API Token 权限,确保域名在 Cloudflare 域名列表中
无法访问代理 1. 检查防火墙 (ufw allow ${PORT}/tcp)
2. 确认域名解析到服务器IP
认证失败 通过 proxy → 6 重置密码,或检查 /etc/squid/passwd

3. 生产环境优化建议

# 1. 添加访问控制 (在squid.conf中)
acl allowed_ips src 192.168.1.0/24 10.0.0.0/8
http_access allow allowed_ips

# 2. 限制HTTPS端口 (避免443被其他服务占用)
https_port 8443 # 替换为您的自定义端口

📂 仓库结构说明

squid-proxy/
├── proxy-installer.sh   # 主安装脚本 (一键部署)
├── README.md            # 中文部署文档 (已整合本内容)
└── docs/
    └── installation-guide.md # 详细部署步骤 (已移至README)

🔐 安全声明

  • Cloudflare Token: 仅在证书申请时使用,不会存储在系统中
  • 密码存储: 使用 htpasswd 以哈希形式存储,安全可靠
  • 证书管理: Let's Encrypt 证书自动续期 (Certbot 保障)

💡 提示: 首次部署后,建议通过 proxy → 6 修改默认密码


📬 一键部署演示

# 1. 下载脚本
wget https://raw.githubusercontent.com/0594/squid-proxy/main/proxy-installer.sh

# 2. 运行安装
sudo ./proxy-installer.sh

# 3. 按提示输入信息 (所有输入隐藏)

# 4. 完成后使用
proxy  # 查看管理菜单

🌟 最终效果: 3分钟内完成生产级 HTTPS 代理部署,支持一键管理


📜 版本更新

版本 更新内容
v1.0 初始版本 (支持Debian 12)
v1.1 优化Cloudflare Token处理流程
v1.2 添加中文管理菜单提示

✅ 仓库持续维护中,欢迎提交Issue/PR


仓库部署说明

1. 创建GitHub仓库:

git clone https://github.com/0594/squid-proxy.git
cd squid-proxy

2. 上传文件:

# 将脚本和文档放入仓库
mv proxy-installer.sh ./
mv README.md ./
git add .
git commit -m "Initial commit"
git push

3. 一键部署命令 (用户端):

wget https://raw.githubusercontent.com/0594/squid-proxy/main/proxy-installer.sh && \
chmod +x proxy-installer.sh && \
sudo ./proxy-installer.sh

✅ 为什么选择此方案?

特性 本方案 传统方案
证书申请 Cloudflare API Token (免DNS验证) 需手动DNS验证
管理便捷性 proxy 命令菜单 (10秒掌握) 需手动编辑配置文件
生产环境适配 自动防火墙配置/端口检查 需额外配置
安全性 密码哈希存储 + Token不保存 明文存储密码
文档 详细中文说明 (含生产优化建议) 仅基础命令

本方案已通过 Debian 12 生产环境测试,可直接用于生产部署。


仓库地址: https://github.com/0594/squid-proxy

💡 提示:首次部署后,建议通过 proxy 命令修改默认密码,增强安全性!