使用GitHub和Jsdelivr搭建免费图床
什么是图床?
图床是一种在线服务,允许用户上传、存储和分享图片。通过图床,用户可以将图片上传到云端服务器,然后获得一个永久链接,可以在任何地方使用这个链接来显示图片,而不需要担心本地存储空间或带宽问题。
图床主要解决了以下几个问题:
- 存储问题:个人用户或小型网站往往没有足够的服务器空间和带宽来存储和传输大量图片
- 分享问题:图床使得图片分享变得更加简便,用户可以轻松获得图片链接
- 管理问题:图床通常提供图片管理功能,方便用户组织和查找图片
- 性能问题:图床通常拥有强大的服务器和CDN,可以快速向全球用户传输图片
- 安全性问题:一些图床提供图片防盗链功能,保护用户图片不被盗用
为什么选择GitHub+JsDelivr搭建图床?
使用GitHub配合JsDelivr搭建图床具有 以下优势:
- 完全免费:GitHub提供免费的存储空间,JsDelivr提供免费的CDN加速
- 稳定性好:GitHub作为全球最大的代码托管平台,具有极高的稳定性
- 速度快:JsDelivr作为全球性的CDN网络,可以加速图片在全球范围内的访问速度
- 易于管理:可以通过Git版本控制系统管理图片
- 永久有效:只要GitHub和JsDelivr服务不关闭,图片链接就一直有效
搭建步骤
1. 创建GitHub仓库
登录GitHub账号
点击右上角的 "+" 号,选择 "New repository"

填写仓库信息:
Repository name:给仓库起个名字,例如 image-hosting
Description:可选,填写仓库描述
Choose visibility:选择 Public,这样JsDelivr才能正常访问
Create repository:创建仓库

2. 生成GitHub Personal Access Token
为了安全地访问仓库,需要生成一个Personal Access Token:
点击右上角头像,选择 "Settings"

在左侧菜单中找到 "Developer settings"

点击 "Personal access tokens" → "Tokens (classic)"
点击 "Generate new token" → "Generate new token (classic)"

填写Token信息:
Note:填写一个描述性名称,如 "image-hosting-token"
Expiration:选择过期时间,建议选择较长的时间
Select scopes:勾选 repo 权限
点击 Generate token 创建 Token

重要:生成后立即复制并保存好这个Token,这是唯一能看到明文的机会

4. 配置PicGo(推荐的图片上传工具)
PicGo是一个开源的图片上传工具,支持多种图床服务,包括GitHub。
下载与安装
- 访问PicGo官方GitHub发布页面:https://github.com/Molunerfinn/PicGo/releases
- 根据操作系统选择对应的安装包下载
- 安装完成后打开PicGo
配置GitHub图床
-
打开PicGo,点击左侧菜单的 "图床设置"
-
选择 "GitHub图床"

-
填写以下信息:
- 仓库名:格式为
用户名/仓库名,例如yourusername/image-hosting - 分支名:通常为
main或master需要看自己的仓库的分支名是什么,确保没有出错 - Token:填写第3步中生成的Personal Access Token
- 存储路径: 可以根据喜好设置
- 自定义域名:填写
https://cdn.jsdelivr.net/gh/用户名/仓库名@分支名
示例:
仓库名:AbyssLuka/image-hosting 分支名:main 存储路径:blog/ 自定义域名:https://cdn.jsdelivr.net/gh/AbyssLuka/image-hosting@main - 仓库名:格式为

- 点击 "确定" 保存设置
- 将GitHub图床设置为默认图床
5. 使用图床
配置完成后可以:
- 直接在PicGo中拖拽图片上传
- 使用快捷键截图后自动上传(需要在PicGo设置中开启)
- 在支持PicGo的编辑器(如Typora,或JetBrains+插件)中直接粘贴截图,自动上传并插入图片链接
优化配置
启用时间戳命名
为了避免重复上传同名图片时出现冲突,建议启用时间戳命名功能:
- 在PicGo中进入 "设置" → "通用设置"
- 勾选 "时间戳重命名" 选项
创建专门的图片分支(可选)
为了更好地管理图片,可以创建专门的分支用于存放图片:
- 在GitHub仓库页面点击 "Branch: main" 下拉菜单
- 输入新分支名,如
images - 在PicGo配置中将分支名改为新创建的分支名