阿希の小镇上线有一段时间了,最近对静态资源进行了优化,特别是图片这类,考虑到Cloudflare Page的限制(每个免费帐户提供 1GB 的存储空间和100GB/月的带宽),我就来分享一篇《白嫖指南》,教你如何通过 PicGo + GitHub + Cloudflare 完成一个 完全免费的图床,且能够享受 CDN 加速,让你的图片加载更快,省去高昂的图床费用。

图床方案概述

  • PicGo:一款开源的图床管理工具,支持多种图床服务,可以方便地将本地图片上传到 GitHub、腾讯云、七牛云等平台。
  • GitHub:一个免费的代码托管平台,允许你存储静态文件(如图片),并通过 GitHub Pages 将它们公开访问。
  • Cloudflare:全球领先的 CDN 服务提供商,可以为你的静态资源提供全球加速,提升访问速度和稳定性。

通过将这三者组合在一起,可以轻松实现免费的图床,同时享受 全球加速稳定存储

1. 创建 GitHub 仓库

GitHub注册过程省略,默认你们都有账号了。。。

首先,需要一个 GitHub 仓库来存储上传的图片。

  1. 登录 GitHub 并点击右上角的 New 按钮,创建一个新的仓库。
  • 仓库名称:例如 image-hosting,这将是你图床的名称。
  • 选择 Public 类型仓库,确保它是公开的。
  • 完成创建。
  1. 启用 GitHub Pages
    • 进入仓库设置页面,在 GitHub Pages 部分,选择 main 分支(或者 master 分支),并设置为 / 路径。
    • GitHub 会为你的仓库生成一个默认的 URL(例如:https://username.github.io/image-hosting)。

2. 配置 PicGo 上传工具

  1. 下载并安装 PicGo

    • 你可以从 PicGo GitHub 页面下载并安装 PicGo 客户端。
  2. 配置 GitHub 图床插件

    • 打开 PicGo 客户端,进入 插件管理 页面,安装 GitHub 图床插件。
  3. 设置 GitHub 图床

    • 进入 图床设置 页面,选择 GitHub 图床插件。
      • 填写以下内容:
      • 仓库名:填写你的 GitHub 仓库地址,如 username/image-hosting
      • Token:前往 GitHub 生成 Token,生成一个具有 repo 权限的 Token,然后将其复制到 PicGo 中。
      • 分支:选择 main(或者 master)作为分支。
      • 存储路径:填写存储图片的路径,如 images/,即上传的图片将存储在 images 文件夹下。
  4. 上传测试

    • 配置完成后,尝试上传一张图片,PicGo 会将图片上传到你的 GitHub 仓库,并返回上传后的图片链接。

3. 配置 Cloudflare 加速

为了让图片能够在全球范围内快速加载,我们可以使用 Cloudflare 的 CDN 来加速 GitHub Pages 的访问。

  1. 注册 Cloudflare 账号
  2. 添加域名
    • 在 Cloudflare 仪表盘中,点击 Add a Site,输入你的自定义域名(如果没有域名,可以跳过这步,使用 Cloudflare 提供的免费子域名)。
    • Cloudflare 会自动扫描你的域名的 DNS 记录。
  3. 配置 DNS 记录
    • 在 Cloudflare 控制面板中,进入 DNS 设置,添加 CNAME 记录:
    • 名称:你希望用来访问图片的子域名,如 cdn(即 cdn.yourdomain.com)。
    • 目标:输入你 GitHub Pages 的 URL,例如 username.github.io
  4. 启用 Cloudflare 加速
    • 确保该 CNAME 记录的 代理状态启用(橙云),这样 Cloudflare 会加速该域名的访问。
  5. 调整 Cloudflare 设置
    • Caching 设置中,选择合适的缓存策略,确保图片内容被缓存到 Cloudflare 的边缘节点。
    • 启用 Brotli 压缩,以进一步减小图片的传输大小。

上传图片并获取加速链接

  1. 使用 PicGo 上传图片

    • 在 PicGo 中选择一张图片进行上传,PicGo 会将图片上传到 GitHub 仓库并返回图片的链接。
  2. 替换图片链接

    • 默认情况下,返回的图片链接是 GitHub Pages 的链接,形如:
    1
    https://username.github.io/image-hosting/images/example.jpg
    • 使用 Cloudflare 加速后,将链接中的 https://username.github.io 替换为你的自定义域名,例如:
    1
    https://cdn.yourdomain.com/images/example.jpg
  3. 将链接用于网站或博客

    • 将加速后的图片链接直接嵌入到你的博客、网页或社交媒体中,即可实现全球加速访问。

总结

通过使用 PicGo + GitHub + Cloudflare,不仅能实现免费的图床服务,还能够享受 全球加速,让你的网站图片加载更加快速、稳定。整个过程完全免费,适合个人博客、开发者和内容创作者使用。借助这个方案,你可以不依赖收费的第三方图床服务,轻松实现自己的图像管理。

如果你在设置过程中遇到任何问题,欢迎留言讨论!