教你如何白嫖CF大善人的图床

通过 Telegraph 与 CF大善人 提供的 Pages、D1,搭建一个专属于你自己的开源图床。如果你有更多需求,还可通过优选加速图片载入时间,并接入 ModerateContent 提供的审查图像内容的 API key,过滤不当内容!

优点​

无限图片储存数量,你可以上传不限数量的图片 but! 单张图片不能超过5MB

无需服务器,托管于 Cloudflare 的网络上,当使用量不超过 Cloudflare 的免费额度时,完全免费

无需域名,可以使用 Cloudflare Pages 提供的 *.pages.dev 的免费二级域名,同时也支持绑定自定义域名

支持图片审查 API,可根据需要开启,开启后不良图片将自动屏蔽,不再加载

支持后台管理,日志管理,查看访问前 20 的 Referer、IP、img,可以对上传的图片进行在线预览,添加白名单、黑名单等操作

开始部署​


  • 1. Pages 部署 telegraph-Image 项目​

    [upl-image-preview url=https://s.rmimg.com/2024-08-21/1724205236-796930-image.png]

    打开 telegraph-Image 仓库,点击 Fork!

    回到 Workers 和 Pages > 概述 > 创建 > Pages > 连接到 Git > 选择 telegraph-Image 项目(注意构建配置选择 Next.js) > 保存并部署即可
  • 2. 绑定自定义域(不是必须的)​
    推荐使用已经转入 CF 的域名,并开启 小黄云。如果没有域名,也可以使用 CNAME 方式 接入自定义域。
    回到 Workers 和 Pages / telegraph-Image 项目 > 设置 > 函数 > 放置 > 制作 > 智能 > 保存
  • 3. 创建管理后台数据库​
    3.1 回到 Workers 和 Pages > D1 > 创建数据库 > 仪表盘 > 数据库名称 img (名称可取任意值) > 创建 ``` `DROP TABLE IF EXISTS tgimglog; CREATE TABLE IF NOT EXISTS tgimglog ( `id` integer PRIMARY KEY NOT NULL, `url` text, `referer` text, `ip` varchar(255), `time` DATE ); DROP TABLE IF EXISTS imginfo; CREATE TABLE IF NOT EXISTS imginfo ( `id` integer PRIMARY KEY NOT NULL, `url` text, `referer` text, `ip` varchar(255), `rating` text, `total` integer, `time` DATE );` ``` 3.2 进入 img 数据库 > 控制台 > 粘贴以下代码 后 > 点击 执行 > 等待提示 此查询已成功执行。 ``` sql DROP TABLE IF EXISTS tgimglog; CREATE TABLE IF NOT EXISTS tgimglog ( `id` integer PRIMARY KEY NOT NULL, `url` text, `referer` text, `ip` varchar(255), `time` DATE ); DROP TABLE IF EXISTS imginfo; CREATE TABLE IF NOT EXISTS imginfo ( `id` integer PRIMARY KEY NOT NULL, `url` text, `referer` text, `ip` varchar(255), `rating` text, `total` integer, `time` DATE ); ``` [upl-image-preview url=https://s.rmimg.com/2024-08-21/1724205347-482051-image.png]
    3.3 回到 Workers 和 Pages / telegraph-Image 项目 > 设置 > 函数 > D1 数据库绑定 > 变量名 IMG > img 的数据库名称 > 点击 保存
    [upl-image-preview url=https://s.rmimg.com/2024-08-21/1724205363-124264-image.png]
    3.4 回到 Workers 和 Pages / telegraph-Image 项目 > 设置 > 环境变量 > 为生产环境定义变量 > 变量内容如下:
    [upl-image-preview url=https://s.rmimg.com/2024-08-21/1724205378-682724-image.png]
    变量名 BASIC_USER,值为你的 后台管理员用户名
    变量名 BASIC_PASS,值为你的 后台管理员密码
    注意生产和预览环境都要设置,防止进坑
    无需审查不当内容可跳过这一步
    打开 ModerateContent API 申请页面,输入你的邮箱后点击 SUBMIT
    前往你的邮箱将 ModerateContent.com Sup 邮件内的 API Key 复制出来
    变量名 ModerateContentApiKey,值为你的 API Key
    点击 保存
    3.5 回到 Workers 和 Pages / telegraph-Image 项目 > 部署 > 右下角 三个点 > 重试部署即可
  • 如何使用​
    例如:你的 Pages 自定义域 为 eu.org
    https://eu.org 为 图床上传使用地址
    https://eu.org/admin 为 图床后台管理地址
    https://eu.org/list 为 图床访问日志
    效果展示​
    [upl-image-preview url=https://s.rmimg.com/2024-08-21/1724205412-297054-image.png]

    代码格式再调整一下哦

    @“丰仔”#p69532 选哪个来着,我编辑一下

    @“calmmd”#p69624 [upl-image-preview url=https://s.rmimg.com/2024-08-21/1724219117-752254-image.png]

    这个

    @“丰仔”#p69625 感谢,已修改

    白嫖腾讯云的也不错


    这个看着更不错呢:xhj03:

    学习一下

    这个确实不错

    好文,我在用。