文章目录Telegram Files自己搭一个 Telegram 文件下载器1、解决什么问题2、主要功能3、怎么部署4、技术栈5、维护工具6、适合谁用Telegram Files自己搭一个 Telegram 文件下载器telegram-files 在 GitHub 上拿到 2287 Star 了。这是一个自托管的 Telegram 文件下载器支持从频道和群组里持续、稳定地下载文件不需要人盯着。基于 JDK23 和 TypeScript 开发Docker 一键部署。1、解决什么问题Telegram 频道里经常有大量文件分享手动一个个下载不现实。现有的工具要么不稳定要么功能单一要么需要一直开着窗口。telegram-files 的思路是把它部署到服务器上让它 7x24 小时跑着。你只需要配置好规则它会自动把文件下载到指定位置。下载过程中随时可以暂停、恢复不用担心中断。2、主要功能支持同时登录多个 Telegram 账号每个账号独立管理下载任务。这样可以同时从不同频道拉文件互不影响。下载完的视频和图片可以直接在线预览不用等全部下完再看。前端做了 PWA 支持手机浏览器也能用甚至支持离线访问。另一个实用功能是文件自动转存。下载完成后可以自动把文件转移到其他存储位置比如 NAS 或云盘不用手动搬。3、怎么部署最简单的方式是 Docker。先去 Telegram API 页面申请 API ID 和 Hash然后一条命令搞定docker run -d \ --name telegram-files \ --restart always \ -e TELEGRAM_API_ID你的API_ID \ -e TELEGRAM_API_HASH你的API_HASH \ -p 6543:80 \ -v ./data:/app/data \ ghcr.io/jarvis2f/telegram-files:latest也可以用 docker-compose项目里提供了模板文件复制一份改改配置就行。unRaid 用户更省事直接在 Community Repositories 里搜 telegram-files 安装。有个需要注意的地方这个服务不适合暴露在公网因为它本身没有做安全防护。4、技术栈后端用 JDK23构建工具是 Gradle。前端是 TypeScript用 npm 管理依赖。整体架构比较清晰前后端分离。如果想从源码编译clone 下来分别在 api 和 web 目录执行构建就行cd api gradle build cd web npm install5、维护工具项目自带了一个维护工具 tfm用来处理一些历史遗留问题。比如 0.1.15 版本之前相册消息的 caption 丢失或者缩略图没清理干净的情况。用法是先停掉容器然后跑docker run --rm \ --entrypoint tfm \ -v $(pwd)/data:/app/data \ -e TELEGRAM_API_ID你的API_ID \ -e TELEGRAM_API_HASH你的API_HASH \ ghcr.io/jarvis2f/telegram-files:latest album-caption6、适合谁用需要批量下载 Telegram 频道文件的人比如收集学习资料、备份频道内容、或者管理多个群组文件的场景。因为是自托管数据都在自己手里不用担心第三方服务跑路。Web 端有个小细节CSS Houdini Paint API 在 HTTP 环境下不生效需要在 chrome://flags 里把地址加到安全来源列表才能正常显示。rome://flags 里把地址加到安全来源列表才能正常显示。[外链图片转存中…(img-kP38i1iu-1782391177037)]