☃️Github 图床
约 608 字大约 2 分钟
PicgoGithub
2025-02-02
PicGo:开源图床上传工具,支持多平台、多图床配置,快速获取图片 URL。
工具准备
根据系统选择对应安装包:
| 系统 | 安装包 |
|---|---|
| Windows | PicGo-Setup-x.x.x.exe |
| macOS (Apple Silicon) | PicGo-x.x.x-arm64.dmg |
| macOS (Intel) | PicGo-x.x.x-x64.dmg |
| Linux | PicGo-x.x.x.AppImage |

配置流程
创建 Github 公开仓库
新建一个 public 仓库用于存储图片。
生成 Personal Access Token
路径:
Settings→Developer settings→Personal access tokens→Tokens (classic)生成时勾选
repo权限,token 仅显示一次,注意保存。配置 PicGo
打开 PicGo,选择
Github 图床,填入以下信息:- 仓库名:
用户名/仓库名 - 分支名:
main - Token:上一步生成的 token
- 存储路径:
img/(可选) - 自定义域名:配置自己购置的域名(若没有,可以使用
https://cdn.jsdelivr.net/gh/用户名/仓库名@分支名)

- 仓库名:
jsDelivr CDN
GitHub raw 链接国内访问慢,jsDelivr 可显著提升加载速度。
# 自定义域名格式
https://cdn.jsdelivr.net/gh/用户名/仓库名@分支名
# 图片访问示例
https://cdn.jsdelivr.net/gh/username/PictureBed@main/img/example.png图床方案演进
raw.githubusercontent.com
最初直接使用 GitHub 原始链接访问图片。国内访问速度慢,经常超时或无法加载。
https://raw.githubusercontent.com/username/repo/main/img/example.pngjsDelivr CDN
引入 jsDelivr 作为 CDN 加速层。利用其全球节点缓存 GitHub 资源,国内访问速度显著提升。
https://cdn.jsdelivr.net/gh/username/repo@main/img/example.pngCloudflare Worker + 反向代理 + 自定义域名
通过 Cloudflare Worker 反向代理 GitHub raw 内容,绑定自定义域名
img.example.com。DNS 记录指向100::,Worker 路由拦截请求并转发至 GitHub。// Worker 核心逻辑 const githubUrl = `https://raw.githubusercontent.com/username/picture-bed/main${url.pathname}`; return fetch(githubUrl);Cloudflare R2 + GitHub Actions
迁移至 Cloudflare R2 对象存储。通过 GitHub Actions 自动同步仓库图片至 R2,R2 绑定自定义域名直接提供访问。
- 存储:R2 Object Storage(10 GB 免费)
- 同步:GitHub Actions + Rclone
- 访问:自定义域名绑定 R2 Bucket
- 优势:无出站流量费用,访问速度稳定
注意
缓存陷阱 GitHub Actions 同步存在延迟。若在同步完成前访问图片 URL,Cloudflare CDN 会缓存 404 响应,导致后续访问持续返回 404。
解决方案:在 Cloudflare Cache Rules 中配置 example.xxx.com 的 404 响应不缓存(状态码 TTL 设为 0)。
