在信息爆炸的社交媒体时代,珍贵的推文、有趣的视频和重要的图片往往稍纵即逝。Twitter Media Downloader (TMD) 是一款基于 Go 语言开发的开源命令行工具,帮助用户高效、完整地归档 Twitter/X 上的媒体内容。
不同于简单的截图或手动保存,TMD 提供了企业级的归档能力:它能批量下载指定用户或列表中的所有视频、图片和 GIF,自动保留推文标题与发布日期(作为文件修改时间),并通过智能去重机制避免重复劳动。无论是个人备份、学术研究还是新闻存档,TMD 都能为你构建一个结构清晰、元数据完整的本地媒体库。

核心亮点:智能、高效、全面
1. 结构化归档与元数据保留
- 完整元数据:不仅下载媒体文件,还保留推文标题、发布日期(设置为文件修改时间)、用户信息等。
- 目录结构映射:在本地文件系统中完美复刻 Twitter 的列表(List)和关注(Following)结构,便于分类管理。
- 个人资料备份:支持下载用户头像、横幅、简介等 Profile 信息,并支持版本管理,记录用户曾用名及状态变化。
2. 智能去重与增量同步
- 断点续传:每次工作后记录用户最新发布时间,下次运行仅拉取新推文,大幅节省时间和带宽。
- 符号链接优化:若同一用户出现在多个列表中,本地仅保存一份用户存档,其他位置通过符号链接指向该存档,节省磁盘空间。
- 失败重试机制:智能识别下载失败的媒体,存储待重试队列,支持“智能部分重试”,仅重新下载失败文件,跳过成功项。
- 时间线缓存:任意时间段内的推文仅从 Twitter API 拉取一次,避免重复请求,降低被封号风险。
3. 强大的 API 服务器与远程管理
- HTTP REST API:提供完整的 API 接口,支持远程控制、状态监控及任务调度。
- Web 管理界面:内置可视化 Web UI,方便非命令行用户操作,实时查看下载进度、日志及用户状态。
- 定时任务调度:支持
interval(间隔)和daily(每日)两种模式,自动执行后台下载任务,实现“无人值守”归档。 - 实时日志流:通过 SSE(Server-Sent Events)推送实时日志,支持级别筛选和关键词搜索,便于故障排查。
4. 灵活的认证与兼容性
- Cookie 管理:支持主 Cookie 和备用 Cookie 配置,提高获取速度和成功率;支持表单和原始 YAML 编辑。
- 多源导入:
- JSON 导入:支持从第三方工具导出的 JSON 文件批量下载。
- LoongTweet 兼容:可直接读取 TMD 生成的
.loongtweet文件夹,无缝迁移数据。
- 大文件流式下载:针对 ≥10MB 的大文件自动启用流式模式,显著降低内存占用,防止 OOM。
- 用户状态检测:自动识别封禁、注销或受保护用户,避免无效请求和错误日志。










