基于 Telegram Bot + Next.js 的私人 / 家庭网盘系统
- fork 此仓库到你的 GitHub
- 在 Vercel 后台导入项目
-
在 Telegram BotFather 创建机器人(此处不演示)
-
创建 Telegram 群组,并在群组内发送消息
- 推荐:5 个群组(提升上传性能)
- 最少:3 个群组
- 访问:
https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates
示例返回:
{
"chat": {
"id": -100....., //这里是你的群组id
"title": "你的群组",
"type": "supergroup"
}
}- 获取 Cloudflare 账户 ID
- 创建 D1 SQL 数据库
执行 SQL:
CREATE TABLE files (
id TEXT PRIMARY KEY,
name TEXT,
extension TEXT,
size INTEGER,
cdn_urls TEXT,
folder_id TEXT,
urls_expired_at INTEGER,
channel_id TEXT,
message_id INTEGER
);
CREATE TABLE folders (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
parent_id TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
is_locked INTEGER DEFAULT 0,
password_hash TEXT
);CF_ACCOUNT_ID= # 你的cloudflare账户id
CF_D1_DATABASE_ID= # 你的D1 SQL数据库id
CF_API_TOKEN= # 你的cloudflare api令牌
TELEGRAM_BOT_TOKEN= # 你的telegram bot令牌
TELEGRAM_GROUP_IDS= # 你的telegram群组id,通过英文逗号分隔。最后一个群组切记不要逗号结尾。如:-100xxx,-150xxx,-123xxx,-502xxx
ADMIN_USERNAME= # 登录网盘时的用户名
ADMIN_PASSWORD= # 登录网盘时的密码在 Vercel → Environment Variables 中填入上述内容
访问你的网盘系统即可使用
git clone https://github.com/Linvin-1233/tg-netdisk.gitcd tg-netdisknpm install启动开发:
npm run dev访问:
http://localhost:3000
- 如遇 Bug / 建议,请提交 Issue
- 本项目仅用于技术实现与学习用途,请遵守当地法律法规及 Telegram 平台条款
- 因使用本项目导致的账号封禁 / 群组限制 / 数据损失,开发者不承担责任
- 用户行为由用户自行负责
- 不建议用于商业化文件托管服务或大规模公共存储平台,请遵守 Telegram 使用规范








