Excellent software and practical tutorials
Use Telegram Media Downloader to achieve high-speed download of files in Telegram
Telegram Media Downloader It is a project based on Dineshkarthik, supports downloading videos/resources on Telegram, supports checking download progress on the web, supports downloading commands issued by bot, supports downloading resources from private groups that have been joined but are restricted from downloading, uses a speed much higher than the TG client limit to download, and supports uploading to cloud disks using Rclone
Telegram Media Downloader deployment method:
Step 1: Update the source
apt update -y && apt upgrade -y
yum update -y && yum upgrade -y
Step 2: Install and configure Docker
InstallDocker:
curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh ./get-docker.sh
Start Docker:
sudo systemctl start docker
Set Docker to start automatically at boot:
sudo systemctl enable docker
Step 2: Pull the Docker container
docker pull tangyoha/telegram_media_downloader:latest mkdir -p ~/app && mkdir -p ~/app/log/ && cd ~/app wget https://raw.githubusercontent.com/tangyoha/telegram_media_downloader/master/docker-compose.yaml -O docker-compose.yaml wget https://raw.githubusercontent.com/tangyoha/telegram_media_downloader/master/config.yaml -O config.yaml wget https://raw.githubusercontent.com/tangyoha/telegram_media_downloader/master/data.yaml -O data.yaml
Step 3: Configure the Docker container
nano config.yaml
Modify the following content:
- api_hash - the api_hash you got from the Telegram app (get it at https://my.telegram.org/apps)
- api_id - the api_id you got from your Telegram app (get it at https://my.telegram.org/apps)
- bot_token - Your robot credentials (in https://t.me/BotFather Get it) (optional, after filling in, you can forward the information to the robot for download)
- chat - Multiple channels
chat_id
- The ID of the chat/channel for which you want to download media. (In https://t.me/username_to_id_bot to obtain)download_filter
- Download filters, view How to use filterslast_read_message_id
- If this is your first time reading a channel, set it to "0", or if you have already used this script to download media, it will have some numbers that will automatically update after the script has successfully executed. Don't change it.
- last_read_message_id - If this is your first time reading a channel, set it to "0", or if you have already used this script to download media, it will have some numbers that will automatically update after the script has successfully executed. Don't change it.
For example:
chat: - chat_id: telegram_chat_id last_read_message_id: 0 download_filter: message_date >= 2022-12-01 00:00:00 and message_date <= 2023-01-17 00:00:00 - chat_id: telegram_chat_id_2 last_read_message_id: 0
- ids_to_retry -
Keep it as it is.
The downloader script uses this to keep track of any skipped downloads so that it can be downloaded the next time the script is executed. - media_types - Media Type to Download, you can update the media type to download, it can be one or any of the available types.
- file_formats - The file types to download for supported media types ('audio', 'document', and 'video'). The default is 'all', which downloads all files.
- save_path - The root directory where you want to store downloaded files
- file_path_prefix - Store file subfolders, the order of the list is not fixed, and can be randomly combined
chat_title
- Chat channel or group title, or the one in the configuration file if the title is not foundchat_id
media_datetime
- The release date of the resourcemedia_type
- Resource type, type querymedia_types
- disable_syslog - You can select the type of logs to disable, see
logging._nameToLevel
- upload_drive - You can upload files to the cloud
enable_upload_file
- [Required] Enable uploading files, default isfalse
remote_dir
- [Required] The location where you uploadedupload_adapter
- [Required] Upload file adapter, which can berclone
,aligo
Ifrclone
, then it supports all servers that support uploading of rclone. If it is aligo, it supports uploading of Alibaba Cloud diskrclone_path
If you configureupload_adapter
forrclone
is required.rclone
Executable directory, see How to use rclonebefore_upload_file_zip
- Compress files before uploading, default isfalse
after_upload_file_delete
- Delete the file after successful upload, the default isfalse
- file_name_prefix - Customize file names, using and file_path_prefix Same
message_id
- Message IDfile_name
- File name (may be empty)caption
- The title of the message (may be empty)
- file_name_prefix_split - Customize the file name separator, the default is
-
- max_download_task - The maximum number of download tasks is 5 by default.
- hide_file_name - Whether to hide the web interface file name, default
false
- web_host - web interface address (e.g. 127.0.0.1)
- web_port - Web interface port (e.g. 5000)
- language - Application language, default is English (
EN
),OptionalZH
(Chinese),RU
,UA
- web_login_secret - Web page login password. If not configured, no login is required to access the web page
Step 4: Start the Docker container
docker-compose run --rm telegram_media_downloader
Enter your phone number and password
Example format: +8612345678900
Telegram Media Downloader related address:
GitHub address: https://github.com/tangyoha/telegram_media_downloader
Telegram Media Downloader Tampermonkey Script
Used in Telegram Download images, GIFs, and videos from your favorite web apps, even from sources that restrict downloading and saving content.Tampermonkey The script allows you to download images, GIFs and videos from the Telegram web app, even if the channel has disabled downloads and restricts saving content.
How to use
This script only works with the Telegram web application.
This script will not work for channels and chats that allow saving content. Please use Telegram webapp Official download button provided.
For channels and chats that disable downloads and restrict saving of content, this script will add a re-download button for images, GIFs, and videos.
The script will download the file silently in the background, and the browser will only save the file locally once it has finished downloading the entire file. Therefore, if you are downloading a large video, it is normal that you will not see anything happen for a long time before the browser starts downloading. To check the progress of the download, seeThe following instructions.
Supported Web Application Versions
The Telegram web application has 2 different versions:
- https://webk.telegram.org / https://web.telegram.org/k/
- https://webz.telegram.org / https://web.telegram.org/a/
This script should work for both versions of the webapp. If you use a different version of the webapp and find that this script does not work, please report it to ourGitHub repositoryAsk a question.
Check download progress
If you want to check the current download progress, you canOpen the browser DevTools -> consoleand view the text output.