Back to notes

jarvis2f/telegram-files

AI summary · Qwen Summary in Chinese Indexed
Original source

telegram-files 是一个可自托管的 Telegram 文件下载器,支持多账号下载、自动转存、Docker 部署和管理员安全初始化。

项目定位

  • telegram-files 是一个自托管的 Telegram 文件下载器。
  • 项目目标是实现持续、稳定且无人值守的文件下载。
  • 支持从 Telegram 频道、群组以及共享链接获取文件。

核心功能

  • 支持多个 Telegram 账号同时管理和下载文件。
  • 下载任务可随时暂停和恢复,并支持自动转存到指定目的地。
  • 提供视频和图片即时预览。
  • 界面响应式,支持 PWA 和离线能力。

部署方式

  • 使用前需要申请并配置 Telegram API ID 和 API Hash。
  • 推荐通过 Docker 脚本安装、配置、停止或更新服务。
  • 也支持直接使用 docker、docker-compose 或在 unRaid 社区仓库中安装。

安全与初始化

  • 管理 API、文件预览和 WebSocket 需要管理员会话。
  • 建议启用 HTTPS、配置 HTTP_ALLOWED_ORIGINS,并在暴露服务前完成首个管理员初始化。
  • 首次启动时 API 会打印一个 15 分钟有效的一次性引导码。
  • 反向代理需要保留 X-Real-IP、X-Forwarded-Host 和 X-Forwarded-Proto。

开发与构建

  • 开发环境要求包括 JDK23、TypeScript、Gradle、Npm 和 Docker。
  • 可以从源码克隆仓库后分别构建 web 和 api 部分。
  • 也可以使用 Docker 构建项目镜像。

路线图与许可

  • 项目路线图列出的六项任务均标记为已完成。
  • 已完成内容包括规则自动下载、下载统计报告、登录改进、自动转存、虚拟列表优化和文件信息预加载。
  • 项目采用 MIT 许可证。

维护与常见问题

  • 维护工具可在停止容器后通过 tfm 入口运行。
  • 维护命令包括 album-caption、thumbnail、admin reset-password 和 admin apply-reset。
  • Web 端 spoiler 显示为静态可能与 CSS Houdini Paint API 支持不足或仅支持 HTTPS 有关。