Telegram当无限网盘用?手把手教你搭S3+WebDAV网关 tgNAS

📅 2026年05月27日 · 技术

在 linux.do 刷到一个离谱的项目

前两天在 linux.do 逛,看到有人说「用 Telegram 当存储后端,对外暴露 S3 和 WebDAV」——第一反应:概念项目吧。

点进去一看,Go 写的,Docker 一键部署,4 天 46 个 commit,刚发 v0.1.0。关键是它真的能跑。我也搭了一个,下面手把手教你怎么搞。

它干了什么

简单说:起一个 HTTP 服务,把 S3 和 WebDAV 请求翻译成 Telegram Bot API 调用。文件存在 Telegram 聊天消息里,本地用一个 SQLite 记录映射关系,对外同时暴露 S3 和 WebDAV 两个协议。

tgNAS 项目 README

怎么搭建

第一步:准备 Telegram

@BotFather 创建一个 Bot → 拿到 Bot Token → 建一个群组 → 把 Bot 拉进去给管理员权限 → 记下群组的 Chat ID(负数的那个)。

第二步:部署

在你的服务器上执行:

mkdir -p tgnas/data && cd tgnas
wget -P data https://github.com/aahl/tgnas/raw/refs/heads/dev/data/config.yaml
cat > .env << EOF
TGNAS_SECRET_KEY=你设个密码
TGNAS_TELEGRAM_BOT_TOKEN=Bot的Token
TGNAS_TELEGRAM_CHAT_ID=-群组ID
EOF
docker compose up -d

镜像在 ghcr.io/aahl/tgnas,不用自己编译。docker-compose.yml 去项目仓库复制,就十几行。启动后 9000 端口同时跑 S3 和 WebDAV,用哪个协议取决于你的场景。

怎么用

S3 方式(适合服务器间传文件、rclone 同步)

aws --endpoint-url http://你的服务器IP:9000 s3 ls s3://tgnas/

Access Key 是 admin,Secret Key 就是你设的密码。任何兼容 S3 的工具都能用——rclone、MinIO Client、Duplicati 备份。

WebDAV 方式(适合电脑挂载)

macOS 访达直接 ⌘K 连接服务器,填 http://你的服务器IP:9000/dav/。Windows 装个免费工具(如 RaiDrive)也是一样的操作。

macOS 访达挂载 tgNAS 效果

挂载后就是本地文件夹的体验,拖拽文件直接存进 Telegram,你完全感觉不到 Telegram 的存在。

浏览器看文件

配个 Nginx 反代到 9000 端口,加上 HTTPS,然后用 PROPFIND 请求就能列目录(普通浏览器 GET 请求不行,这是 WebDAV 协议决定的)。如果想直接浏览器管理文件,可以在同域名下部署一个轻量 WebDAV 网页客户端。

靠不靠谱

4 天的项目,稳定性还得观察。但方向确实好——Telegram 免费存(单文件上限 2GB),套上标准协议就能接入整个 S3 和 WebDAV 生态,玩法很多。代码质量不差,有完整的 trusted proxy 支持,WebDAV 的 COPY/MOVE 是元数据级别操作(不下载不重传)。

就是得提醒一句:别拿它存重要的东西。Telegram 哪天改 API 或者限速,你的「网盘」可能就炸了。但当玩具或者临时文件中转站,体验真的不错。

项目地址:https://github.com/aahl/tgnas

🔧 在线开发者工具 — JSON格式化 · Base64 · UUID生成 · 正则测试 等80+免费工具