无服务器打造私有无限量网盘

AI-摘要
Yutian81 GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
无服务器打造私有无限量网盘
雨天狂奔无服务器打造私有无限量网盘
项目特点
该项目是一个基于 Cloudflare Worker 环境和 telegram 频道存储功能的文件上传、分享、下载、搜索、在线预览系统,上传的文件将通过 Telegram 机器人发送到指定的频道聊天中
功能
用户认证:可选是否开启身份认证,默认开启,如设置为
false,则跳过登录- 默认用户名、密码均为
admin
- 默认用户名、密码均为
文件上传:用户可以通过拖拽或点击选择文件进行上传,支持多文件上传,支持显示上传进度条百分比
- 由于 tg 官方 API 的限制,无法上传超过 20M 的文件
- 若需上传大文件,需要自行部署 TG-BOT-API 实现服务器分片
文件管理:管理员可以查看已上传的文件列表,支持在线预览(图片和视频格式)、分享、下载和删除文件
- 分享:会生成一个二维码,二维码框内点击 “ 复制链接 “ 按钮也可复制 url 链接
- 下载:直接调用浏览器下载功能
- 删除:会同步从 tg 频道中删除上传的文件
文件搜索:用户可以根据文件名搜索已上传的文件
背景图更新:系统会定期从 Bing 获取背景图,提升用户体验
API 接口:支持调用 API 接口进行文件上传、删除、搜索等操作
若需要开启 WebP 转换
- 已部署的用户需要手动运行以下 SQL 命令(依次运行)来添加新列:
1 | ALTER TABLE files ADD COLUMN webp_url TEXT; |
- 新部署无需运行以上 SQL 命令,新代码中的表结构已包含新列
2025-12-17 更新
- 利用免费的
CF Images实现将上传图片自动转换为webp格式 (免费额度:每月 5000 次唯一转换)- 环境变量:
WEBP_ENABLED设置为true - 在 CF 网页设置,将项目绑定的域名
启用即可
- 环境变量:
- 固定 API 接口便于第三方集成,通过环境变量
API_TOKEN设置固定密钥,默认为tgfile-admin,详见 API 文档 - 大幅精简代码,优化性能
2025-02-11 更新
- 为前端页面增加图标和网站描述
2025-02-09 更新
- 解决 webp 图片上传失败的问题
- 文件管理页面删除文件时,可以同步从 tg 频道删除消息
- 文件管理页面点击分享可生成二维码
部署方法
粘贴代码:
- 新建一个 worker,复制
_worker.js的内容粘贴到项目中并部署
- 新建一个 worker,复制
绑定数据库(必须):
- 创建一个 D1 数据库,数据库名随意,例如:
tgflie - 在 worker 项目的设置中绑定刚刚创建的数据库,变量名:
DATABASE
- 创建一个 D1 数据库,数据库名随意,例如:
配置环境变量:
| 变量名 | 变量值 | 是否必须 | 备注 |
|---|---|---|---|
| DOMAIN | 你项目绑定的域名 | √ | |
| USERNAME | 登录用户名 | √ | 默认 admin |
| PASSWORD | 登录密码 | √ | 默认 admin |
| API_TOKEN | API 接口密钥 | × | 默认 tgfile-admin |
| COOKIE | 7 | × | cookie 有效期,默认为 7 |
| ENABLE_AUTH | true / false | × | 默认为 true,如果设为 false,则不启用登录 |
| WEBP_ENABLED | true / false | × | 默认为 false,设为 true 可启用图片格式自动转为 webp |
| TG_BOT_TOKEN | TG 机器人 token | √ | 获取方式请自行谷歌,下同 |
| TG_CHAT_ID | TG 频道 ID | √ | 是频道 ID,不是机器人 ID,格式为 -10*****062333 |
访问应用
打开浏览器,访问 http://你绑定的域名,首次登录会要求输入用户名和密码,然后进行文件上传和管理
二次登录会跳过登录环节,直接进入上传页面,cookie 有效期为 7 天,超过 7 天会要求重新登录
你也可以在环境变量中设置 COOKIE 变量改变有效期
Plan 计划
- 增加更多文件格式的在线预览
- 文件管理页面增加批量删除功能
前端展示
- 登录——首次登录需要输入用户名密码
- 上传文件——支持多文件,支持拖拽上传
- 文件管理——卡片式文件列表,支持预览和文件名搜索
- 文件分享——支持生成二维码分享
- 视频预览——支持 20M 以内视频(MP4 格式)的在线预览和播放
鸣谢
感谢这位 大佬 给予的灵感,有一些代码借鉴于此
#cloudflare #TG #网盘 #图床
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果








