上级 项目
type
status
date
slug
summary
password
子级 项目
tags
category
notion image
开源文件托管解决方案,基于 Cloudflare Pages,支持 Telegram Bot 、 Cloudflare R2 ,S3 等多种存储渠道
项目地址:GitHub原作者
notion image
免费文件托管解决方案,具有上传、管理、读取、删除等全链路功能,覆盖文件全生命周期,支持鉴权、目录、图片审查、随机图等各项特性。

功能:

  • 支持上传到指定目录
  • 支持整目录删除
  • 支持文件位置移动(Telegraph 和旧版 Telegram 渠道不支持移动)
  • 支持按目录读取文件
  • 支持随机图API:按目录读取,支持按目录进行权限控制
  • 支持上传用户管理显示IP具体位置
  • 支持覆盖大多数文件格式:支持绝大多数常见图片、视频、动图等,同时也支持其他大多数格式的文件
  • 支持多种存储渠道:支持 Telegram Bot, Cloudflare R2, S3 等多种存储渠道一键切换
  • 支持上传方式多样:支持多种上传方式(拖拽点击、粘贴)(Web/API)
  • 支持多样化复制:支持整体复制和单独复制(整体复制即将所有链接通过换行串联起来后复制),支持设置自定义链接前缀,便于接入三方CDN服务
  • 支持身份认证、防滥用:支持Web和API上传认证,支持访问域名限制,支持上传IP统计
  • 支持页面自定义:背景自定义,网站信息自定义
  • 无限图片储存数量:你可以上传不限数量的图片
  • 无需购买服务器:托管于 Cloudflare 的网络上,当使用量不超过 Cloudflare 的免费额度时,完全免费
  • 支持图片审查 API:可根据需要开启,开启后不良图片将自动屏蔽,不再加载
  • 支持后台图片管理:可以对上传的图片进行在线预览,添加白名单,黑名单等操作

部署使用:

一、前期准备

根据所需开通的渠道进行以下准备:
开通Telegram Bot渠道
Telegram的TG_BOT_TOKENTG_CHAT_ID
💡
TG_BOT_TOKEN和TG_CHAT_ID的获取方式
首先需要拥有一个Telegram账户,然后按照以下步骤获取TG_BOT_TOKENTG_CHAT_ID
Ⅰ. 向@BotFather发送/newbot,按照提示输入bot的备注、用户名等信息。成功创建后获得TG_BOT_TOKEN
notion image
Ⅱ. 创建一个新的频道(Channel),进入新建的频道,选择频道管理,将刚才创建的机器人设为频道管理员。
notion image
notion image
notion image
Ⅲ. 向@VersaToolsBot转发一条第2步新建频道中的消息,获取TG_CHAT_ID(频道ID)
notion image
开通Cloudflare R2渠道
新建一个Cloudflare R2存储桶,前提是需要绑定支付方式。
Cloudflare R2渠道开通方式:
Ⅰ. 前往Cloudflare Dashboard,选择R2存储对象
notion image
Ⅱ. 选择创建存储桶,名称随意,填完后点击创建存储桶即可完成创建
notion image
Ⅲ. 根据需求可选操作:如果需要启用图像审查,需要开启存储桶的公网访问权限,有两种开启方式,详见下图。无论你选择哪种方式,都需要记下完整的公网访问链接,格式为https://xxxx.xxx
notion image
S3 API渠道
在服务提供商处,准备S3_ACCESS_KEY_IDS3_SECRET_ACCESS_KEYS3_BUCKET_NAMES3_ENDPOINT等必须参数。

二、部署教程

💡
根据自己需求部署在CloudFlare或服务器上
1.部署于Cloudflare
需准备一个Cloudflare账户,然后按照以下步骤即可完成部署。
Ⅰ. Fork 本仓库
Ⅱ. 打开 Cloudflare Dashboard,进入 Pages 管理页面,选择创建项目,选择连接到 Git 提供程序
notion image
Ⅲ. 按照页面提示输入项目名称,选择需要连接的 git 仓库,点击开始设置
Ⅳ. 填写项目名称,构建命令填写npm install,点击保存并部署
notion image
Ⅴ. 绑定KV数据库:
创建一个新的KV数据库
notion image
notion image
进入项目对应设置->绑定->添加->KV命名空间->变量名称,填写img_urlKV命名空间选择刚才创建好的KV数据库
Ⅵ. 重试部署:前往项目管理界面->部署->最新一次部署后面的···->重试部署
Ⅶ. 根据所需存储渠道进行相关设置:
Cloudflare R2渠道:
将前面新建的存储桶绑定到项目(和KV绑定地方一样),名称为img_r2
notion image
若要启用 R2 渠道的图像审查,请进入 项目管理页面->系统设置->上传设置 处设置 R2 的公开访问链接,值为前面记下的R2存储桶公网访问链接
其他渠道:
进入项目管理页面https://你的域名/systemConfig#upload,按照页面提示将上面中获取的渠道参数填写到对应渠道中,保存设置即可
2.部署于服务器
如果Cloudflare的有限访问次数不能满足你的需求,并且你拥有自己的服务器,在服务器上模拟Cloudflare的环境,并开放对应的端口访问服务。
注意由于服务器操作系统、硬件版本复杂多样,相关教程无法确保适合每一位用户,遇到报错请尽量利用搜索引擎解决。
Ⅰ. 安装服务器操作系统对应的node.js,经测试v22.5.1版本可以正常使用。(安装教程自行search)
Ⅱ. 切换到项目根目录,运行npm install,安装所需依赖。
Ⅲ. 在项目根目录下新建wrangler.toml配置文件,其内容为项目名称,环境变量等。(详情参见官方文档Configuration - Wrangler (cloudflare.com)
配置文件样例:
Ⅳ. 在项目根目录下运行npm run start,至此,正常情况下项目已经成功部署。项目默认支持通过服务器本地模拟的R2存储上传,可通过管理端系统设置页面进行其他设置。
程序默认运行在8080端口上,使用nginx等服务器反代127.0.0.1:8080即可外网访问服务。如需修改端口,可在package.json中修改start脚本的port参数(如下)。
正常启动,控制台输出如下:
notion image

三、效果展示

notion image
notion image
notion image
notion image
notion image
1panel面板安装步骤Telegram 解封渠道大全
Loading...