explaingit

iyear/tdl

7,488GoAudience · generalComplexity · 2/5LicenseSetup · easy

TLDR

Command-line tool written in Go for downloading, uploading, and forwarding Telegram content, including protected files, plus exporting messages and channel members to JSON, faster than official Telegram clients.

Mindmap

mindmap
  root((tdl))
    Download
      Telegram files
      Protected content
      Full bandwidth
    Upload
      Files to Telegram
      Premium speed boost
    Export
      Messages to JSON
      Channel members
      Subscriber lists
    Forward
      Between chats
      Bypass forward blocks
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Download files from Telegram chats including ones marked as protected that block saving in official Telegram apps.

USE CASE 2

Export all messages or channel member lists from a Telegram group to a JSON file for backup or analysis.

USE CASE 3

Forward messages between Telegram chats automatically when direct forwarding is blocked by the sender.

USE CASE 4

Upload files to Telegram at full available bandwidth, faster than what the official apps allow.

Tech stack

Go

Getting it running

Difficulty · easy Time to first run · 5min
Open source, but any modifications you distribute must also be released as open source under the same AGPL-3.0 license terms.

In plain English

tdl is a command-line tool for Telegram that goes beyond simple downloading. It is written in Go and runs as a single file with low resource usage, making it easy to set up on any machine. The main things it can do: download files from Telegram chats including protected ones that normally block saving, upload files to Telegram, forward messages between chats with automatic routing when the direct forward is blocked, and export messages, channel members, or subscribers to JSON files. The README notes it can use your full available bandwidth and is faster than the official Telegram clients, with speed varying depending on whether you have a Telegram Premium subscription. Full documentation lives on a separate site linked from the README. The tool is released under the AGPL-3.0 license, which means it is open source but any modifications you distribute must also be open source. This is aimed at people who regularly work with Telegram content and want more control over downloading and moving files than the official apps provide.

Copy-paste prompts

Prompt 1
Using tdl, give me the exact command to download all video files from a specific Telegram channel URL, including ones protected from saving.
Prompt 2
How do I authenticate tdl with my Telegram account for the first time and then export all messages from a private group to a JSON file?
Prompt 3
I want to use tdl to forward messages from one Telegram channel to another when direct forwarding is disabled. What is the exact command and any flags I need?
Prompt 4
Show me how to install tdl on Linux as a single binary and use it to upload an entire local folder to my Telegram Saved Messages.
Open on GitHub → Explain another repo

← iyear on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.