树洞剪藏#剪藏#树洞剪藏

基于 Cloudflare Worker 和 Pages 的图床 - 资源荟萃 - LINUX DO

2024 年 12 月 10 日1 分钟
分享Twitter / XTelegram微博
基于 Cloudflare Worker 和 Pages 的图床 - 资源荟萃 - LINUX DO 封面

同步来源:树洞剪藏 源站剪藏 ID:335 原文地址:https://linux.do/t/topic/286919

打开原文 · 打开源站剪藏快照


基于 Cloudflare Worker 和 Pages 的图床 - 资源荟萃 - LINUX DO

set 限制解除

跳到主要内容

LINUXDO ReadBoost待命中 设置

23

话题

我的帖子

关于

友链

即将到来的活动

文档

更多

外部链接

Status

Connect

Channel

Telegram

类别

开发调优

资源荟萃

文档共建

跳蚤市场

前沿快讯

福利羊毛

搞七捻三

运营反馈

深海幽域

所有类别

标签

抽奖

公告

精华神帖

快问快答

人工智能

所有标签

消息

收件箱

频道

常规频道

直接消息

聊天

Default

真诚 、 友善 、 团结 、 专业 ,共建你我引以为荣之社区。 《常见问题解答》

基于 Cloudflare Worker 和 Pages 的图床

资源荟萃

443

浏览量

29

5

链接

18

用户

12

3

3

3

2

12月 9 日

1 / 38

12月 9 日

8 分钟

Aiu

1 天

介绍

基于 Cloudflare Worker 和 Pages 的图床,部署简单,佬友人手一个

为什么叫Telegraph图床?

因为一开始是上传到telegraph储存的,后续有限制之后才改到tgbot。

Github 仓库地址:

github.com

GitHub - 0-RTT/telegraph: 基于 Cloudflare Worker 和 Pages 的图床,轻松实现无服务器部署!

基于 Cloudflare Worker 和 Pages 的图床,轻松实现无服务器部署!

功能特点

一键复制链接

本地上传历史记录

可选的访客验证功能

单文件最大支持 20MB

支持多文件上传和粘贴上传

支持批量操作和显示上传时间

图片自动压缩(GIF和视频除外)

Cloudflare Cache API 缓存支持

基于 Telegram Bot API 的文件存储

支持多种链接格式(URL、BBCode、Markdown)

支持常见的图片和视频格式(jpg、png、gif、mp4)

样式:

image 1920×1058 133 KB

部署步骤

  1. 环境变量说明

需要在 Cloudflare Workers 中配置以下环境变量:

变量名 说明 必填 示例

DOMAIN 自定义域名 是 example.workers.dev

DATABASE D1 数据库绑定变量名称 是 DATABASE

TG_BOT_TOKEN Telegram Bot Token 是 123456789:ABCdefGHIjklMNOpqrsTUVwxyz

TG_CHAT_ID Telegram 频道/群组 ID 是 -100xxxxxxxxxx

USERNAME 管理员用户名 是 admin

PASSWORD 管理员密码 是 password123

ADMIN_PATH 管理后台路径 是 admin

ENABLE_AUTH 访客验证(设置为 true 开启,不设置或设置为 false 则关闭) 否 false

  1. 创建 Telegram Bot

在 Telegram 中找到 @BotFather

发送 /newbot 命令创建新机器人

按照提示设置机器人名和用户名

保存获得的 Bot Token (格式为 123456789:ABCdefGHIjklMNOpqrsTUVwxyz )

这个 Token 将用作环境变量 TG_BOT_TOKEN

  1. 创建 Telegram 频道或群组

创建一个新的频道或群组

将你的 Bot 添加为管理员

获取频道/群组 ID:

发送频道内的任意消息给 @getidsbot

在 Origin chat 下找到对应的 ID (格式为 -100xxxxxxxxxx )

这个 ID 将用作环境变量 TG_CHAT_ID

  1. 创建 D1 数据库

登录 Cloudflare Dashboard

进入 Workers & Pages → D1 SQL 数据库

点击 创建 创建数据库

数据库名称可自定义,例如 images

建议选择数据库位置为 亚太地区 ,可以获得更好的访问速度

创建数据表:

点击数据库名称进入详情页

选择 控制台 标签

执行下 SQL 语句:

CREATE TABLE media ( url TEXT PRIMARY KEY, fileId TEXT NOT NULL );

  1. 创建 Worker

进入 Workers & Pages

点击 创建

选择 创建 Worker

为 Worker 设置一个名称

点击 部署 创建 Worker

点击继续处理项目

  1. 配置环境变量

在 Worker 的 设置 → 变量和机密 中

点击 添加 添加变量

点击 部署

  1. 绑定数据库

在 Worker 设置页面找到 设置 → 绑定

点击 添加

选择 D1数据库

设置变量名为 DATABASE

选择之前创建的数据库

点击 部署

  1. 绑定域名

在 Worker 的 设置 → 域和路由

点击 添加 → 自定义域

输入你在Cloudflare绑定的域名

点击 添加域

等待域名生效

  1. 部署代码

进入 Worker 的编辑页面

将 _worker.js 的完整代码复制粘贴到编辑器中

点击 部署

heart

+1

19

回复

443

浏览量

29

5

链接

18

用户

12

3

3

3

2

郭 baorui

1 天

感谢佬友分享

+1

1

回复

fx fx318

1 天

感谢 佬友 分享

+1

1

回复

Aso 大预言家

1 天

感谢佬友分享

+1

1

回复

Luster

1 天

感谢佬友分享

+1

1

回复

AlphaCat 圆圆满满

1 天

咱们佬友也有开发一个图床

[CF图床]重磅更新!CloudFlare-ImgBed现已支持Cloudflare R2上传方式! 资源荟萃

MarSeventh/CloudFlare-ImgBed: CloudFlare 图床,基于 CloudFlare Pages 和 Telegram Bot 的免费图片托管解决方案! (github.com) 从 【白嫖大善人】基于Telegraph的CF免费图床有全新前端啦!!!(开源、清晰、美观、动画丝滑、玩法多样) 收集大家关于CF和TG BOT图床的意见,为下一步开发做准备。 继续。 自…

3 个回复

heart

+1

3

回复

Aiu AlphaCat 1 天

各有不同,选自己喜欢的就好。我这个就一个文件,部署起来方便点。

+1

1

回复

goose goose cat hopingmiao

1 天

感谢佬友分享

+1

1

回复

brian777 浴火重生 AlphaCat 1 天

你是不是他小号 每次图床都能看到你发这个 3 个回复

回复

He Hertz

1 天

有个问题,当我添加变量ADMIN_PATH的时候,无论我写什么值,链接带上/value、都没法访问

image 1293×604 27 KB

2 个回复

回复

AlphaCat 圆圆满满

brian777 1 天

哈哈哈哈,不是,主要是个人用着比较不错,印象深刻,所以遇到类似的帖子就忍不住推荐一下 1 个回复

回复

brian777 浴火重生 AlphaCat 1 天

好的好的 是我误会你了

回复

lytv 浴火重生

1 天

楼主六六六啊

回复

不知名代码搬运工 ein5

1 天

成功部署了,感谢佬友

回复

jjrhlb He 23 小时

尝试部署默认的’hello world’看看报错吗,我是直接黑号了’hello world’都看不到,就又去注册了个新号

回复

Aiu brian777 23 小时

这个项目是我的。我刚注册 Linux.do

回复

Aiu He 23 小时

估计环境变量没有设置对吧,readme有详细图片的教程,你可以参考一下。

回复

土豆教主 OuOumm 海纳百川

23 小时

可以脱离cloudflare的worker吗,想使用,还是说得自己重新写一份。 2 个回复

回复

土豆教主 OuOumm 海纳百川 土豆教主 23 小时

有点想试试node能不能实现,我去翻翻源码。

回复

Aiu 土豆教主 23 小时

可以参考一下这个,之前写的,需要你修改一下上传接口。

github.com

GitHub - 0-RTT/JSimage

Contribute to 0-RTT/JSimage development by creating an account on GitHub.

1 个回复

回复

Dom 海纳百川

23 小时

这是将上传的图片使用tgbot发到tg频道来获取地址吗 1 个回复

回复

chrishtianzb

23 小时

在 Origin chat 下找到对应的 ID 怎么操作 1 个回复

回复

叁月柒 MarSeventh 种子用户 brian777 23 小时

哈哈哈,你确实冤枉佬友了,我没有开小号的 1 个回复

回复

brian777 浴火重生 叁月柒 23 小时

是的 1 个回复

回复

叁月柒 MarSeventh 种子用户 AlphaCat 23 小时

感谢佬友支持!!!

1 回复

叁月柒 MarSeventh 种子用户 brian777 23 小时

本来就是靠兴趣维护的,还费心思去搞宣传属实没必要啦~

回复

Aiu Dom 23 小时

其实就是传到tgbot,bot只是将图片发给你。

回复

Aiu chrishtianzb 23 小时

转发频道消息给getidsbot,它回复你的消息上面有。

回复

lytv 浴火重生 Aiu 22 小时

后台删除图片 tg上还有的 能不能实现同步删除 2 个回复

回复

Aiu lytv 22 小时

在后台删除就访问不了了,频道上面的可以手动删除。

回复

Aiu lytv 22 小时

把频道设为私密,反正就你自己看,删不删无所谓吧 1 个回复

回复

lytv 浴火重生 Aiu 22 小时

留着还有还要手动删除啊 望支持 2 个回复

回复

Aiu lytv 22 小时

行,找时间我看能不能弄。

回复

Aiu lytv 22 小时

貌似使用api只能删除48小时内的。 Telegram Bot API

回复

chrishtianzb

22 小时

IMG_20241209_171926 1920×2557 442 KB

原因这是什么

1 个回复

回复

Gon 浴火重生

22 小时

马克了

回复

tc WaterKing 大预言家

21 小时

感谢大佬分享

回复

Aiu chrishtianzb 8 分钟

估计变量没弄好,readme下面有图片教程可以参考一下。

回复

分享

加入书签

举报

回复

已取消置顶

常规

您会在别人 @ 您或回复您时收到通知。

推荐

相关

新话题和未读话题

话题列表,带有按钮的列标题可以排序。

话题

回复

浏览量

活动

使用 Cloudflare 全家桶写了一个可能是目前最萌哒临时邮箱服务,欢迎白嫖 15

资源荟萃

Cloudflare 薅羊毛 临时邮箱

50

1.6k

1 小时

DeepLX已切换至 LINUX DO Connect 认证 deeplx.org 120

资源荟萃

DeepLX

1.4k

71.2k

15 小时

整理自己的代码发现一个古早物件 179

资源荟萃

人工智能

356

20.8k

15 小时

Google Voice 全自动保号 — iOS 篇 14

资源荟萃

86

3.1k

16 小时

开个帖子,大家一起来推荐Mac 下非常好用的软件吧 53

资源荟萃

精华神帖

389

18.5k

23 小时

有 117 个未读 话题 和 161 个新 话题,

或浏览 资源荟萃 中的其他话题

相关文章