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

**URL:** <https://www.nodeloc.com/t/topic/20977>\
**Category:** 编程开发\
**Created:** [2024 年8 月 21 日 09:56 UTC](https://www.nodeloc.com/t/topic/20977 "2024-08-21T09:56:57Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![calmmd](https://www.nodeloc.com/letter_avatar_proxy/v4/letter/c/5daacb/32.png) [@calmmd](https://www.nodeloc.com/u/calmmd)\
**Post date:** [2024 年8 月 21 日 09:56 UTC](https://www.nodeloc.com/t/topic/20977/1 "2024-08-21T09:56:57Z")

</div>

通过 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://www.nodeloc.com/uploads/default/2024-08-21/1724205236-796930-image.png](https://www.nodeloc.com/uploads/default/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://www.nodeloc.com/uploads/default/2024-08-21/1724205347-482051-image.png]  
3.3 回到 Workers 和 Pages / telegraph-Image 项目 \> 设置 \> 函数 \> D1 数据库绑定 \> 变量名 IMG \> img 的数据库名称 \> 点击 保存  
[upl-image-preview url=https://www.nodeloc.com/uploads/default/2024-08-21/1724205363-124264-image.png]  
3.4 回到 Workers 和 Pages / telegraph-Image 项目 \> 设置 \> 环境变量 \> 为生产环境定义变量 \> 变量内容如下:  
[upl-image-preview url=https://www.nodeloc.com/uploads/default/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://www.nodeloc.com/uploads/default/2024-08-21/1724205412-297054-image.png]

---

<div class="post-metadata">

**Author:** ![fengzai](https://www.nodeloc.com/user_avatar/www.nodeloc.com/fengzai/32/243_2.png) [@fengzai](https://www.nodeloc.com/u/fengzai)\
**Post date:** [2024 年8 月 21 日 10:25 UTC](https://www.nodeloc.com/t/topic/20977/2 "2024-08-21T10:25:44Z")

</div>

代码格式再调整一下哦

---

<div class="post-metadata">

**Author:** ![calmmd](https://www.nodeloc.com/letter_avatar_proxy/v4/letter/c/5daacb/32.png) [@calmmd](https://www.nodeloc.com/u/calmmd)\
**Post date:** [2024 年8 月 21 日 13:43 UTC](https://www.nodeloc.com/t/topic/20977/3 "2024-08-21T13:43:37Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![fengzai](https://www.nodeloc.com/user_avatar/www.nodeloc.com/fengzai/32/243_2.png) [@fengzai](https://www.nodeloc.com/u/fengzai)\
**Post date:** [2024 年8 月 21 日 13:45 UTC](https://www.nodeloc.com/t/topic/20977/4 "2024-08-21T13:45:23Z")

</div>

@“calmmd”#p69624 [upl-image-preview url=[https://www.nodeloc.com/uploads/default/2024-08-21/1724219117-752254-image.png](https://www.nodeloc.com/uploads/default/2024-08-21/1724219117-752254-image.png)]  
  
这个

---

<div class="post-metadata">

**Author:** ![calmmd](https://www.nodeloc.com/letter_avatar_proxy/v4/letter/c/5daacb/32.png) [@calmmd](https://www.nodeloc.com/u/calmmd)\
**Post date:** [2024 年8 月 21 日 13:47 UTC](https://www.nodeloc.com/t/topic/20977/5 "2024-08-21T13:47:11Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![sakujo](https://www.nodeloc.com/letter_avatar_proxy/v4/letter/s/e480ec/32.png) [@sakujo](https://www.nodeloc.com/u/sakujo)\
**Post date:** [2024 年8 月 21 日 13:57 UTC](https://www.nodeloc.com/t/topic/20977/6 "2024-08-21T13:57:49Z")

</div>

白嫖腾讯云的也不错

---

<div class="post-metadata">

**Author:** ![jzhfg](https://www.nodeloc.com/user_avatar/www.nodeloc.com/jzhfg/32/3611_2.png) [@jzhfg](https://www.nodeloc.com/u/jzhfg)\
**Post date:** [2024 年8 月 21 日 14:15 UTC](https://www.nodeloc.com/t/topic/20977/7 "2024-08-21T14:15:53Z")

</div>

这个看着更不错呢:xhj03:

---

<div class="post-metadata">

**Author:** ![NNN](https://www.nodeloc.com/user_avatar/www.nodeloc.com/nnn/32/202_2.png) [@NNN](https://www.nodeloc.com/u/NNN)\
**Post date:** [2024 年8 月 21 日 19:43 UTC](https://www.nodeloc.com/t/topic/20977/8 "2024-08-21T19:43:06Z")

</div>

学习一下

---

<div class="post-metadata">

**Author:** ![hhyyx1](https://www.nodeloc.com/letter_avatar_proxy/v4/letter/h/ee7513/32.png) [@hhyyx1](https://www.nodeloc.com/u/hhyyx1)\
**Post date:** [2024 年8 月 21 日 23:48 UTC](https://www.nodeloc.com/t/topic/20977/9 "2024-08-21T23:48:55Z")

</div>

这个确实不错

---

<div class="post-metadata">

**Author:** ![James](https://www.nodeloc.com/user_avatar/www.nodeloc.com/james/32/1745_2.png) [@James](https://www.nodeloc.com/u/James)\
**Post date:** [2024 年8 月 22 日 00:01 UTC](https://www.nodeloc.com/t/topic/20977/10 "2024-08-22T00:01:55Z")

</div>

好文，我在用。
