利用 Cloudflare 和 Telegram 搭建一个几乎无限空间免费图床

之前介绍了一个利用 Vercel 和 Telegram 搭建博客,今天用 Cloudflare Pages 和 Telegram 搭建一个图床

https://github.com/cf-pages/Telegraph-Image 的数据库兼容,可以绑定同一个 KV

准备工具

  1. GitHub 帐号
  2. Cloudflare 帐号
  3. Telegram 帐号
  4. 自行准备可以访问 Telegram 的环境

搭建过程

GitHub

Fork 上方的仓库( 点这里 fork )默认名称即可

Cloudflare

接着访问 Cloudflare 控制台(没帐号自行使用邮箱注册)

左侧菜单栏选 “Workers 和 Pages”

创建

进入之后点 “Pages” – “连接到 Git”

没有绑定 GitHub 帐号会要求绑定后继续,我已经绑定过了就不演示了

选择存储库

啥都不要动,直接 “保存并部署”

部署完成后会提示这个,划到下面点击 “继续处理项目”

然后点击左侧 “Workers 和 Pages” – KV

创建命名空间,取个自己记得住的名称就行

返回到 Workers 的设置页面

划到下面绑定

选择 “KV 命名空间”

变量名称必须填写 img_url ,KV 命名空间选择之前创建的就行

Telegram 频道 ID 的获取和绑定

创建频道

选择为公开

获取频道 ID

在频道里随便发一个消息,然后通过转发发给 @userinfobot,获取 ID,会自动回复(需要先发送 /start 指令)

这串 ID 就是频道 ID(连带横杠复制备用,后面有用处)

获取机器人 ID

前往 @BotFather 获取一个

对话框输入 /newbot

它会让你先输入一个名称,不一定要字母数字

发送之后他会让你设置机器人 ID,只能有字母、数字和下划线,且结尾必须有 “bot”

这里就是 Token,复制下来备用

将机器人添加至频道

添加到之前创建的频道

将机器人设置为管理员

进入频道设置

点击这个带五角星的盾牌

添加

点击机器人,然后全选

添加变量

基础信息添加

打开对应的 Pages 项目的设置

划到下面添加变量

变量名称一览

  1. BASIC_PASS 管理员密码(最好填写)
  2. BASIC_USER 管理员名称(最好填写)
  3. TG_BOT_TOKEN 之前创建的机器人 token(必填)
  4. TG_CHAT_ID 之前获取的频道 ID(必填)
  5. AUTH_CODE 认证码,需要输入之后才可以进行上传(非必填)
  6. USER_CONFIG 自定义配置信息,后面讲
  7. ALLOWED_DOMAINS 防盗链设置,只有添加的域名才允许引用,使用半角逗号分隔(非必填)
  8. WhiteList_Mode 白名单,值为 true 时,只有通过白名单才可以引用(非必填)
  9. AllowRandom 随机输出图片,值为 true 时,访问 /random 路径可以随机输出一张图片(非必填)

自定义信息

示例

轮播模式:{
"uploadBkImg": ["https://imgbed.sanyue.site/file/6910f0b5e65ed462c1362.jpg","https://imgbed.sanyue.site/file/a73c97a1e8149114dc750.jpg"],
"loginBkImg":["https://imgbed.sanyue.site/file/ef803977f35a4ef4c03c2.jpg","https://imgbed.sanyue.site/file/0dbd5add3605a0b2e8994.jpg"],
"ownerName": "Sanyue",
"logoUrl": "https://demo-cloudflare-imgbed.pages.dev/random?type=img"
}
bing随机图模式:
{
"uploadBkImg": "bing",
"loginBkImg": "bing"
}
添加时记得在结尾添加半角逗号,最后一个参数不要添加
字段名用途类型内容规范
loginBkImg自定义登录页面背景列表/字符串1、当字段类型为列表时,列表中元素为需要添加到轮播列表中的图片链接(列表中只有一张图时即为固定背景),形如[“1.jpg”,”2.jpg”]2、当字段类型为字符串时,目前仅支持字符串值为 bing,设置为该值时启用 bing 随机图片轮播模式。
uploadBkImg自定义上传页面背景列表/字符串同上
bkInterval轮播背景切换时间间隔正整数设置为背景图的轮播时间,默认3000,单位ms。例如你希望10s切换一次,设置为10000即可。
bkOpacity背景图透明度(0,1]的浮点数展示的背景图透明度,默认为1。如果你觉得显示效果不佳,可以自定义,如0.8
ownerName页内图床名称字符串只支持字符串类型,设置为你自定义的图床名称(默认为Sanyue)
logoUrl页内图床 Logo字符串只支持字符串类型,设置为你自定义的图床 Logo 链接
siteTitle页面标题字符串只支持字符串类型,设置为你自定义的网站标题
siteIcon图标字符串只支持字符串类型,设置为你自定义的网站图标链接
footerLink页脚传送门链接字符串只支持字符串类型,设置为你自定义的传送地址(如个人博客链接)

使变量生效

变量添加完成之后进入 worker 的详细页面

“部署” – “所有部署” – 三个点 – “重试部署” 可以使变量生效

更新方法

返回自己的 GitHub 主页,进入存储库

点击 “Sync fork” 更新

自定义域名

Workers 页面点击 “自定义域”

如果域名托管在 Cloudflare,会自动添加

如果不在 Cloudflare,可以 CNAME 到 cf-cname.xingpingcn.top 加快访问速度,但可能不会传送真实 IP 地址

展示结果(部分)

前台上传界面

后台管理界面(部分图片已打码处理)

上传者管理界面

结束

如果觉得项目不错希望能给开源的作者一个免费的star🌟🌟

来自福建
本文链接:https://blog.mcneko.com/archives/539
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇