https://youtu.be/PUAQoOE9Kg4
# HubProxy:解决Docker和GitHub访问难题的一站式方案
项目主页:https://github.com/fscarmen2/HubProxy
本项目基于 [sky22333/hubproxy](https://github.com/sky22333/hubproxy) 开发,感谢原项目作者的杰出贡献。
在当今的开发环境中,Docker和GitHub已成为不可或缺的工具。然而,由于网络限制、地理位置等因素,许多开发者在使用这些工具时面临访问速度慢甚至无法访问的问题。今天我要向大家介绍一个能够解决这些痛点的项目——HubProxy。
## 用户面临的痛点
在国内环境中使用Docker和GitHub时,经常会遇到以下问题:
- 在国内的Docker镜像拉取速度极慢甚至超时。
- GitHub克隆仓库和下载Release文件经常失败。尤其在IPv6-only的机器上,由于网络限制无法正常连接到IPv4-only的GitHub服务。
- 手动配置SSL证书和反向代理(如Nginx、Caddy)也是一项复杂且容易出错的任务。
## HubProxy如何解决这些问题
HubProxy通过一键部署脚本解决了上述所有问题,让搭建自己的加速服务变得简单高效。
### 突破网络限制
- 🔄 **双方案部署** - 支持传统VPS部署和Docker容器化部署两种方案
- 🌐 **自动DNS配置** - 集成Cloudflare API,自动创建和配置DNS记录
- 🔐 **SSL证书自动申请与维护** - 集成Caddy自动申请和维护Let's Encrypt SSL证书
- 🚀 **一键部署** - 自动化安装所有依赖,配置反向代理,启用Cloudflare代理
- 🧹 **完整卸载** - 支持完全卸载已部署的方案,清理所有相关资源
- 🏗️ **系统适配** - 支持Ubuntu、Debian、CentOS、RHEL、Fedora、Arch Linux等主流系统
- 📦 **依赖管理** - 自动检测和安装所需依赖,包括curl/wget、jq、docker等
- 🌍 **IPv4/IPv6互通** - 使用Cloudflare CDN,突破 IPv4/IPv6 互通限制,即使在仅支持 IPv6 的机器上,也能成功下载来自 GitHub(IPv4-only)的文件
### 简化部署流程
HubProxy提供了一键部署脚本,只需一条命令即可完成所有配置:
```
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen2/hubproxy/main/script.sh)
```
或者
```
bash <(wget -qO- https://raw.githubusercontent.com/fscarmen2/hubproxy/main/script.sh)
```
### 双方案部署支持
为了满足不同用户的需求,HubProxy支持两种部署方式:
1. **VPS方案**:直接在服务器上部署服务,适合有独立服务器的用户
2. **Docker方案**:使用Docker容器化部署,便于迁移和管理
### 自动化运维
HubProxy不仅简化了部署过程,还提供了完整的自动化运维功能:
- **SSL证书自动续期**:无需手动干预,证书自动更新
- **DNS自动配置**:通过Cloudflare API自动创建和更新DNS记录
- **一键卸载**:提供完整的卸载功能,便于系统清理
## 具体部署步骤
### 1. 准备工作
在开始部署之前,您需要准备以下信息:
- 一个Cloudflare账户
- 一个已添加到Cloudflare的域名
- Cloudflare Zone ID
- Cloudflare API Token(具有DNS记录编辑权限)
### 2. 获取Cloudflare凭据
#### 获取Zone ID
1. 登录Cloudflare控制台
2. 选择您要使用的域名
3. 在概述页面的右侧边栏中找到"API"部分
4. Zone ID显示在域名下方

#### 创建API Token
1. 在Cloudflare控制台右上角点击用户头像
2. 选择"我的个人资料"
3. 点击"API Tokens"选项卡
4. 点击"创建令牌"
5. 选择"自定义令牌"
6. 配置以下权限:
- 权限:Zone - DNS - Edit
- 区域资源:包含 - 指定区域(选择您的域名)
7. 点击"继续到摘要"
8. 点击"创建令牌"
9. 复制生成的API Token并保存



### 3. 执行部署脚本
运行以下命令开始部署:
```
bash <(curl -ssL https://raw.githubusercontent.com/sky22333/hubproxy/main/hub.sh)
```
或者使用wget:
```
bash <(wget -qO- https://raw.githubusercontent.com/sky22333/hubproxy/main/hub.sh)
```
### 4. 按提示操作
脚本运行后会引导您完成以下步骤:
1. 选择部署方案(VPS或Docker)
2. 输入Cloudflare信息(Zone ID、API Token和域名)
3. 选择服务器IP地址
4. 等待脚本自动完成所有配置




## 总结
HubProxy通过简化复杂的部署流程,让用户能够轻松搭建自己的Docker和GitHub加速服务。它不仅解决了网络访问问题,还提供了完整的自动化运维功能,真正做到了"一键部署,无忧使用"。
对于经常需要拉取Docker镜像或访问GitHub资源的开发者来说,HubProxy无疑是一个值得尝试的解决方案。它让我们不再受网络限制的困扰,专注于真正重要的开发工作。
如果你也在为Docker镜像拉取慢或GitHub访问困难而烦恼,不妨试试HubProxy,或许它能为你带来意想不到的便利。