README 未说明具体依赖与配置细节,使用前需查阅官方文档;下载速度取决于是否为 Telegram Premium 账号

README 未给出安装命令,请参考官方文档 https://docs.iyear.me/tdl/ 硬件要求按 README 说明
README 未说明
用 Go 写的 Telegram 命令行工具箱,单文件启动,能高速下载、上传和导出消息
用 Go 写的 Telegram 工具箱,能批量下载频道和群组里的文件、图片与视频,也支持导出消息记录,适合做资源备份和归档。
核心能力
- 从受保护的聊天中下载文件
- 转发消息并支持自动回退与消息路由
- 上传文件到 Telegram
- 把消息、成员和订阅者导出为 JSON
- 单文件启动且资源占用低
容易踩的坑
内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README
- v0.20.4最新正式版2026-08-23 · 2026-08-23 18:25 UTC
Changelog
Bug fixes
- fba05bbc736e57924a77d522722f4bd78d6b4ce9: fix(deps): bump go-m1cpu from v0.1.6 to v0.2.2 (#1319) (@lenny-ts)
- 8e20006a31778130738674bebbd921084cc23ad1: fix(dl): prevent concurrent map read/write race (#1328) (@lenny-ts)
Others
- caed78ce14c09dad8c9da2261f76d5b787a2141e: chore(deps): bump actions/checkout from 6 to 7 (#1283) (@dependabot[bot])
- 2a9089df985ad73bb68e5821d2a7cb2b8bc0f998: chore(deps): bump actions/setup-go from 6 to 7 (#1313) (@dependabot[bot])
- 5d28d828b3f20d2bd60d35bf5208c86d589f3fc4: chore(deps): bump dawidd6/action-homebrew-bump-formula from 7 to 8 (#1292) (@dependabot[bot])
- 0be7c03ca1829bd486f9841b52136e231e2b0d80: chore(deps): bump docker/login-action from 4 to 4.5.2 (#1330) (@dependabot[bot])
- 20c4ea07f8186856f249277dea07ddefffbedd05: chore(deps): bump github.com/gabriel-vasile/mimetype (#1322) (@dependabot[bot])
- a1affc154bb5f335eb637b17b6f8327bf207c215: chore(deps): bump github.com/go-faster/errors from 0.7.1 to 0.8.0 (#1324) (@dependabot[bot])
- 67f67e1b58d3054cd28768cbb3fffa4641778c2d: chore(deps): bump github.com/go-playground/validator/v10 (#1247) (@dependabot[bot])
- 082bb96ff0649a4dce5d5c99efad01ca75445c86: chore(deps): bump github.com/klauspost/compress from 1.18.6 to 1.19.2 (#1332) (@dependabot[bot])
- b93035e736e5bbcfcba8c037e8a9ad4a0615a604: chore(deps): bump github.com/mattn/go-runewidth from 0.0.23 to 0.0.28 (#1339) (@dependabot[bot])
- a13e7b02292b623fcfe9e1c4dc78e029d3011980: chore(deps): bump github.com/onsi/ginkgo/v2 from 2.29.0 to 2.32.1 (#1334) (@dependabot[bot])
- 97baadb63b286f1fd6069fbbf324cc7f277dddbb: chore(deps): bump github.com/onsi/gomega from 1.41.0 to 1.42.1 (#1289) (@dependabot[bot])
- 79f0b8f2b3b4f63ffefa4ca3cb3bd750f8b6d176: chore(deps): bump github.com/stretchr/testify from 1.11.1 to 1.12.1 (#1338) (@dependabot[bot])
- 32ce63db4e934f7579db7b7b6955dd94c52b17dd: chore(deps): bump golang.org/x/net from 0.55.0 to 0.58.0 (#1335) (@dependabot[bot])
- 47f580deba539de69814568874b0a66aa3bf0af5: chore(deps): bump tdl/core to v0.20.4 (@iyear)
- 9d7d49eef2bcb04da720c26e33598c49c68b9ddd: chore(deps): bump tdl/extension to v0.20.4 (@iyear)
- 27e1150c9280921d24e3b91dd0c51d76e75a28b7: use curl if wget isnt installed (#1282) (@max-programming)
- v0.20.32026-05-23 · 2026-05-23 15:34 UTC
查看更新说明
Changelog
New Features
- 99ed82f803708da3d198afc7b0fe0c3cbb60077b: feat(cmd): add flag to disable progress ps info (#1241) (@iyear)
Others
- 6d1b069d2e526272e1ee5c258a29324a0f72b234: chore(deps): bump actions/configure-pages from 5 to 6 (#1205) (@dependabot[bot])
- 6e9f21afff4f997b90f77d95b7fcbd7da6823822: chore(deps): bump actions/upload-pages-artifact from 4 to 5 (#1218) (@dependabot[bot])
- d4c59b1e33c759989b3ce5b5c5ad2c39a0a532dc: chore(deps): bump github.com/go-playground/validator/v10 (#1206) (@dependabot[bot])
- 6ae0b1f9ef413b823a13d265d97be38966beffe3: chore(deps): bump github.com/klauspost/compress from 1.18.5 to 1.18.6 (#1226) (@dependabot[bot])
- a6793f891290f59ab54c92a1cc4e73efaa048027: chore(deps): bump github.com/mattn/go-runewidth from 0.0.21 to 0.0.23 (#1214) (@dependabot[bot])
- fbbff8d31d2c0265edc0593bc28e2fb63243f5f7: chore(deps): bump github.com/onsi/ginkgo/v2 from 2.28.1 to 2.29.0 (#1236) (@dependabot[bot])
- 4672d49f3033b993d77a064264536971c7d35e36: chore(deps): bump github.com/onsi/gomega from 1.39.1 to 1.41.0 (#1235) (@dependabot[bot])
- 5d67267cf011a094b7af7e079f7f7b437a4d1e2e: chore(deps): bump github.com/tidwall/gjson from 1.18.0 to 1.19.0 (#1231) (@dependabot[bot])
- c761bf03f641dbc462c494e630f589553d69f852: chore(deps): bump go.opentelemetry.io/otel in /core (#1240) (@dependabot[bot])
- e3ecdada01354c45cb034e3506b36763498cc1eb: chore(deps): bump go.opentelemetry.io/otel in /extension (#1219) (@dependabot[bot])
- 6fc46030b8846e35b47b85873b4c6fbd0a04e48f: chore(deps): bump go.uber.org/zap from 1.27.1 to 1.28.0 (#1221) (@dependabot[bot])
- 9af70d8d76be06ffbef95562b43bf88047c00e58: chore(deps): bump go.uber.org/zap from 1.27.1 to 1.28.0 in /core (#1222) (@dependabot[bot])
- a98b4555763cb4abd47d7f5637b10c7fd1307684: chore(deps): bump go.uber.org/zap from 1.27.1 to 1.28.0 in /extension (#1223) (@dependabot[bot])
- a2096bc321206d0059797ffab759f5b92e36daad: chore(deps): bump golang.org/x/net from 0.53.0 to 0.55.0 (#1238) (@dependabot[bot])
- 9359aa28ed7b423a9350f61e87ec38d7030e1e9c: chore(deps): bump tdl submodules to v0.20.3 (@iyear)
- 29431d94f0771b6bc1c31c0856f243d0b9667b87: chore(deps): bump tdl/core to v0.20.3 (@iyear)
- v0.20.22026-03-28 · 2026-03-28 08:47 UTC
查看更新说明
Changelog
Others
- 37fe18b673af92f915c3b5e80db75b4ae54cdc5c: chore(ci): disable e2e test due to instability (#1203) (@iyear)
- 4139ba4435b64c1c62d5706d554e05e90cfefb93: chore(deps): bump actions/deploy-pages from 4 to 5 (#1202) (@dependabot[bot])
- 3608ad38f8ff4b3a4b2e173a55cd511a945ae11c: chore(deps): bump docker/build-push-action from 6 to 7 (#1166) (@dependabot[bot])
- 8c786fb2ce6dc036da361577759e50576253bb7d: chore(deps): bump docker/login-action from 3 to 4 (#1162) (@dependabot[bot])
- 7fd61bd81f06f9e356bf49c760e2db0f2cb0e880: chore(deps): bump docker/metadata-action from 5 to 6 (#1167) (@dependabot[bot])
- 14d2f55e1d84e809778434753b8f47b4136f6687: chore(deps): bump docker/setup-buildx-action from 3 to 4 (#1164) (@dependabot[bot])
- c0451c389838f2c32f819220b0628e9815f9ee63: chore(deps): bump docker/setup-qemu-action from 3 to 4 (#1163) (@dependabot[bot])
- 4b200a3fef15d2a025ae1f1bc0dbfbe28d230442: chore(deps): bump github.com/beevik/ntp from 1.4.3 to 1.5.0 (#1138) (@dependabot[bot])
- 094c2d4b85dd790ca6e00647ef2677d4e0ef6ec8: chore(deps): bump github.com/expr-lang/expr from 1.17.5 to 1.17.7 (#1133) (@dependabot[bot])
- 13362e85aa3b47d2775b80695db95cc27b16bea3: chore(deps): bump github.com/expr-lang/expr from 1.17.7 to 1.17.8 (#1170) (@dependabot[bot])
- 9ba804d558674f84efd460540c7fc8d20996b455: chore(deps): bump github.com/fatih/color from 1.18.0 to 1.19.0 (#1198) (@dependabot[bot])
- 446f9db8f0188f9a92b490a63f8601aa6d6f7d15: chore(deps): bump github.com/gabriel-vasile/mimetype (#1130) (@dependabot[bot])
- 3c9b2f15a32b92b7394762e64de8bf6994dc3395: chore(deps): bump github.com/gabriel-vasile/mimetype (#1175) (@dependabot[bot])
- 78cef7c0929af6b12560d2d22e0bf99dc5bf5937: chore(deps): bump github.com/gabriel-vasile/mimetype in /core (#1132) (@dependabot[bot])
- 586122802ff977109f78cef2f6b25b6c0757a9f2: chore(deps): bump github.com/gabriel-vasile/mimetype in /core (#1179) (@dependabot[bot])
- a59fa2470413d75df80bfeb9899a991eecbacbcb: chore(deps): bump github.com/go-playground/validator/v10 (#1174) (@dependabot[bot])
- 01c7ef4a4617cd7d64f45ec9f8def786022336a3: chore(deps): bump github.com/go-viper/mapstructure/v2 (#1173) (@dependabot[bot])
- 816f4d69b5d098e98ae1286f0c6ff17daf31e291: chore(deps): bump github.com/klauspost/compress from 1.18.0 to 1.18.2 (#1129) (@dependabot[bot])
- 8300fb76b6dcdad99f9d694e6f60b0f47d0b31d1: chore(deps): bump github.com/klauspost/compress from 1.18.2 to 1.18.4 (#1168) (@dependabot[bot])
- 8964e919b98bb19024b54eb259485eee225cd154: chore(deps): bump github.com/klauspost/compress from 1.18.4 to 1.18.5 (#1200) (@dependabot[bot])
- bc73393766cc992f4910f49c10ad55299c05015c: chore(deps): bump github.com/mattn/go-runewidth from 0.0.19 to 0.0.20 (#1172) (@dependabot[bot])
- 90f05451dcdf9c39f35677a399471a7cddd80609: chore(deps): bump github.com/mattn/go-runewidth from 0.0.20 to 0.0.21 (#1186) (@dependabot[bot])
- 7c1b61b0a6f1b43e0b5772061741a1dedb41f5b0: chore(deps): bump github.com/onsi/ginkgo/v2 from 2.25.1 to 2.28.1 (#1178) (@dependabot[bot])
- 950dab5708b86c50bcc725ff35fadcbe6efd80fa: chore(deps): bump github.com/onsi/gomega from 1.38.2 to 1.39.1 (#1176) (@dependabot[bot])
- 00e3afe7cc27ec273300c387d3109b875167e819: chore(deps): bump github.com/samber/lo from 1.52.0 to 1.53.0 in /core (#1181) (@dependabot[bot])
- fce78c1b7c86a0353cf9fd8634902bc6d6d472ad: chore(deps): bump github.com/spf13/viper from 1.20.1 to 1.21.0 (#1131) (@dependabot[bot])
- 0651febf81fe0dbab5ea06addb304a50b7d87678: chore(deps): bump go.uber.org/zap from 1.27.0 to 1.27.1 (#1139) (@dependabot[bot])
- 4ab3ffa74e11df21fdc4a2b18fe8f6f3bb85849a: chore(deps): bump go.uber.org/zap from 1.27.0 to 1.27.1 in /core (#1142) (@dependabot[bot])
- b7e7509ea1a92a9c200a51d8159caa9ce6c159f6: chore(deps): bump go.uber.org/zap from 1.27.0 to 1.27.1 in /extension (#1143) (@dependabot[bot])
- fdfd15a430bafb4e82a74c3752dff1ebe956bc2b: chore(deps): bump golang.org/x/crypto from 0.39.0 to 0.45.0 in /core (#1126) (@depend
- v0.20.12025-12-14 · 2025-12-14 16:41 UTC
查看更新说明
Changelog
Bug fixes
- b7551a421c688e0e3d51573359bea76535b598b4: fix: prevent index out of range panic in chat ls command (issue #1112) (#1115) (@L9Lenny)
- 33d3785221922b2df5348768041537120ecc2b3c: Fix/handle deleted messages (#1114) (@L9Lenny)
Others
- 742da1b2f01988f1df89481e623b1f67fbf0acee: chore(deps): bump all tdl submodules to v0.20.1 (@iyear)
- 8d1eeab84e3e81add976e45a98b4b44bab8f61fe: chore(deps): bump dawidd6/action-homebrew-bump-formula from 6 to 7 (#1110) (@dependabot[bot])
- a48a6694d8471a9dc112f435b4cf631eed704cf5: chore(deps): bump github.com/go-faster/jx from 1.1.0 to 1.2.0 (#1121) (@dependabot[bot])
- c6292d6b9975be0c70d5b577d3ea9df2bd6ac300: chore(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2 (#1122) (@dependabot[bot])
- b035aaa3b3a7b1bbf94dfddeb2536ac31bcaba54: chore(gowork): sync work sum (@iyear)
- v0.20.02025-11-23 · 2025-11-23 12:03 UTC
查看更新说明
Changelog
New Features
- fde3857805e2c64a6d0b78b510862739b73f76a2: RE: feat(upload): support --include flag (#650) (@XMLHexagram)
- 1b6139ab42138a7baf78561b63325fac10cad5ce: feat(up): rewrite custom caption (#1089) (@iyear)
- d3b716a6f7e4e710131bbdd73dc9154c06ea7c3a: feat(upload): add support on upload to topic (#559) (@XMLHexagram)
- fe1d251441ccd74489b1d60e262587a3c43e8696: feat(upload): support custom file’s caption by Expr (#565) (@XMLHexagram)
- 0de5f4d989c8f523b673e46a1a5681b622f9d56e: feat: handle all unsupported media type properly (#1069) (@XMLHexagram)
Bug fixes
- 9a4066e8f8df83a6c5474d464f6938bf2ee13385: fix(dl): skip unsupported media (#1090) (@iyear)
- 8facee23ed3432c554423de3a8f84028058cdeff: fix: Implement fallback for fetching dialogs in batches (#1077) (@EzekialSA)
Documentation updates
- 52e646365cf8ca63a2554fbbbbd52a6118a7d789: docs(up): upload to topic (#1104) (@iyear)
Refactoring
- d2b7609aec4144bc39fe910ca8a5ba9c9dd827dd: refactor(dl): redesign grouped message dl logic (#1064) (@XMLHexagram)
Others
- 10ae878eeaa9c59690e0e81a66dd3f439ca64874: chore(CODEOWNERS): add @XMLHexagram to code/doc files (@iyear)
- 83c8be5afc2973c77e9b2c84296cc86f12c013ac: chore(ci): upgrade golangci-lint (#1070) (@XMLHexagram)
- d7649c9bdc5e58cd226476dcfc5f82687970099c: chore(deps): bump actions/checkout from 5 to 6 (#1099) (@dependabot[bot])
- f63bdc496e248a9ad749bb075b6139f743bf39ad: chore(deps): bump all tdl submodules to v0.20.0 (@iyear)
- 344ac3eda0762665197b6d391153cddd8644a20e: chore(deps): bump dawidd6/action-homebrew-bump-formula from 5 to 6 (#1098) (@dependabot[bot])
- dccf2db008cf10f826873c957c12f2805059ac36: chore(deps): bump github.com/gabriel-vasile/mimetype from 1.4.8 to 1.4.11 in /core (#1066) (@dependabot[bot])
- fb78e49367e011c27c346d878f1cb1d0c97231c1: chore(deps): bump github.com/mattn/go-runewidth from 0.0.16 to 0.0.19 (#1086) (@dependabot[bot])
- a58293128e9420df00e69df2f5d60e0609616834: chore(deps): bump github.com/spf13/cobra from 1.9.1 to 1.10.1 (#1047) (@dependabot[bot])
- 389d5b4b998e8711ae2dbe93a59cc27bd21565ed: chore(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.1 (#1049) (@dependabot[bot])
- 65d44e7171a9f6b895e8ac0ab2bda6678dab5837: chore(deps): bump golangci/golangci-lint-action from 8 to 9 (#1083) (@dependabot[bot])
- 483c42c7b17f97389b98657bee2f2895b35ef130: chore(deps): bump stefanzweifel/git-auto-commit-action from 6 to 7 (#1059) (@dependabot[bot])
- 3d240db2862c5e6fc8eef2c685997fa787893bf7: chore(gitignore): add DS Store (@iyear)
- e06746fbfd36581c6ac9b33035b93acd03d95b12: chore(goreleaser): add prev tag env (@iyear)
- 6c2f1dc92d560802c3d9fb822dbcf503f3894e58: chore(gowork): tidy work sum (@iyear)
- 93c849ce446a8f4981355c947f18fc3297494b8d: fix(ls/topic): Check for non-empty messages before accessing lastMsg (#1067) (@EzekialSA)
用户点评
登录用户的真实使用记录,可按版本和硬件筛选共 0 条
还没有人点评。第一个说出真实体验的人最有价值。
tdl
📥 Telegram Downloader, but more than a downloader
English | 简体中文
Features:
- Single file start-up
- Low resource usage
- Take up all your bandwidth
- Faster than official clients
- Download files from (protected) chats
- Forward messages with automatic fallback and message routing
- Upload files to Telegram
- Export messages/members/subscribers to JSON
Preview
It reaches my proxy's speed limit, and the speed depends on whether you are a premium

Documentation
Please refer to the documentation.
Sponsors
Contributors
LICENSE
AGPL-3.0 License