使用cloudflare 创建无限的免费图床
优点
- 无限图片储存数量,你可以上传不限数量的图片
- 无需购买服务器,托管于Cloudflare的网络上,当使用量不超过Cloudflare的免费额度时,完全免费
- 无需购买域名,可以使用Cloudflare Pages提供的*.pages.dev的免费二级域名,同时也支持绑定自定义域名
- 支持图片审查API,可根据需要开启,开启后不良图片将自动屏蔽,不再加载
- 支持后台图片管理,日志管理,查看访问前20的Referer、IP、img,可以对上传的图片进行在线预览,添加白名单,黑名单等操作
利用Cloudflare pages部署
使用R2 存储桶方式构建图床
- 点击Use this template按钮创建一个新的代码库。
- 登录到Cloudflare控制台.
在帐户主页中,选择 pages:


选择你创建的项目存储库,在
Set up builds and deployments部分中,Framework preset(框架)选Next.js即可。

- 点击
Save and Deploy部署 。 创建D1 数据库


执行sql命令创建表(在控制台输入框粘贴下面语句执行即可)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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
);- 创建R2存储桶:
依次点击:

创建R2 存储桶时,首次进入的页面可能是这样的:
虽然R2 存储桶m每月有免费的额度,但需要进行申请,推荐用PayPal 账户进行申请,会方便许多。只要不超出使用额度,就不会进行扣费,个人使用完全够用。 - 返回Pages 页面绑定D1 数据库和R2 存储桶

D1 数据库的变量名称必须是IMG,数据库就选择你刚才创建的,点击保存。
R2 存储桶的变量名称必须是IMGRS,存储桶同理,选择你刚才创建的,点击保存。
设置兼容性标志
设置兼容性标志,前往后台依次点击
设置->兼容性标志填写nodejs_compat

前往后台点击
部署找到最新的一次部署点重试部署。
- 部署完毕后就可以通过这里的网址进行访问

最终顺利的话,你可以成功打开以下页面,选择R2,便可进行上传:
使用Telegram Bot 方式构建图床
如果不想使用R2存储桶的方式,也可以使用Telegram Bot 创建图床。
创建Telegram Bot
在电报中@botfather:
输入
/newbot:
输入Bot 名称和Bot 名称,例如:TelegraphImagebot,注意必须以bot结尾。- 创建好后获取Bot Token,可以找到Bot Token,例如:
123468:AAxxxGKrn5
- 回到pages 页面,设置变量

变量名称为TG_BOT_TOKEN,然后将上面的bot token 作为值填写进去,保存即可。
- 获取ID 机器人:@VersaToolsBot
- 创建一个频道,私有,公有都行:

- 将上一步中自己创建的机器人添加为该频道管理员:



- 随后,在频道内随便输入一个消息

- 将该消息转发到刚才的ID机器人
VersaToolsBot中:
- 随后在ID 机器人聊天框中会返回以下消息,复制频道ID(例如:
-1234567):
- 返回cloudflare 的pages页面,跟刚才一样添加变量,此时变量名为:
TG_CHAT_ID,值为刚才的频道ID,保存即可。
最终设置好后是这样的

设置好上述值后,再重新部署即可。部署完成后就可以使用TG channel作为图床了!

该项目所有可以设置的变量包括:

Enjoy it!
