利用 CloudFlare 的 Workers 创建无限的免费图床
免费图床开源项目:【链接直达】
优点
- 无限图片储存数量,你可以上传不限数量的图片
- 无需购买服务器,托管于Cloudflare的网络上,当使用量不超过Cloudflare的免费额度时,完全免费
- 无需购买域名,可以使用Cloudflare Pages提供的*.pages.dev的免费二级域名,同时也支持绑定自定义域名
- 支持图片审查API,可根据需要开启,开启后不良图片将自动屏蔽,不再加载
- 支持后台图片管理,日志管理,查看访问前20的Referer、IP、img,可以对上传的图片进行在线预览,添加白名单,黑名单等操作

利用Cloudflare pages部署
- 点击Use this template按钮创建一个新的代码库。
- 登录到Cloudflare控制台.
- 在帐户主页中,选择pages>Create a project>Connect to Git
- 选择你创建的项目存储库,在Set up builds and deployments部分中,Framework preset(框架)选Next.js即可。
![图片[3]-利用 CF 的 Workers 创建无限的免费图床!](/img/cloudflare/6.webp)
- 点击 - Save and Deploy部署 。
- 设置环境变量&开启图片管理功能 - 创建D1数据库 如图
 ![图片[4]-利用 CF 的 Workers 创建无限的免费图床!](/img/cloudflare/7.webp) ![图片[5]-利用 CF 的 Workers 创建无限的免费图床!](/img/cloudflare/8.webp) - 执行sql命令创建表(在控制台输入框粘贴下面语句执行即可) - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35- 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
 );
 
- 设置兼容性标志,前往后台依次点击 - 设置->- 函数->- 兼容性标志->- 配置生产兼容性标志填写- nodejs_compat
![图片[6]-利用 CF 的 Workers 创建无限的免费图床!](/img/cloudflare/9.webp)
- 前往后台点击部署找到最新的一次部署点重试部署。
![图片[7]-利用 CF 的 Workers 创建无限的免费图床!](/img/cloudflare/10.webp)
环境变量
| 变量名称 | 值 | type | 
|---|---|---|
| PROXYALLIMG | 反向代理所有图片(默认为false) | boolean | 
| BASIC_USER | 后台管理页面登录用户名称 | string | 
| BASIC_PASS | 后台管理页面登录用户密码 | string | 
| ENABLE_AUTH_API | 是否开启访客验证 (默认为false) | boolean | 
| REGULAR_USER | 普通用户 (访客验证) | string | 
| REGULAR_PASS | 普通用户密码 | string | 
| ModerateContentApiKey | 审查图像内容的API key | string | 
| RATINGAPI | 自建的鉴黄api | string | 
| CUSTOM_DOMAIN | https://your-custom-domain.com (自定义加速域名) | string | 
| TG_BOT_TOKEN | 123468:AAxxxGKrn5 (从 @BotFather) | string | 
| TG_CHAT_ID | -1234567 (频道的ID,TG Bot要是该频道或群组的管理员) | string | 
TG_BOT_TOKEN
获取ID机器人 @VersaToolsBot
TG_CHAT_ID为目标对话的唯一标ID或目标频道的用户名(eg: @channelusername),当目标对话为个人或私有频道是只能是ID,当为公开频道或群组是可以为目标频道的用户名(eg:@channelusername)
 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 马斯克的赛博空间!
 评论










