Telegram Torrent Leecher
A Telegram Torrent (and youtube-dl) Leecher based on Pyrogram
Table of Contents
-
Benefits
โ Google Drive link cloning using gclone. (WIP) โ Telegram File mirrorring to cloud along with its unzipping, unrar and untar โ Drive/Teamdrive support/All other cloud services rclone.org supports โ Extract compatible archive โ Custom file name โ Custom commands โ Get total size of your working cloud directory โ You can also upload files downloaded from /ytdl command to gdrive using `/ytdl gdrive` command. โ You can also deploy this on your VPS โ Option to select either video will be uploaded as document or streamable โ Added /rename command to clear the downloads which are not deleted automatically. โ Added support for youtube playlist โ Renaming of Telegram files support added. โ Changing rclone destination config on fly (By using `/rclone` in private mode)
To-Do
- Adding mp3 files support while playlist downloading.
- Password support while Unarchiving the files.
- Selection of required files during leeching the big files using aria(/leech command)
Deployment
Simple Way
Instructions
Deploy on VPS
- Clone this repo:
git clone -b main https://github.com/reaitten/tgtlg tgtlg cd tgtlg
- Install requirements For Debian based distros
sudo snap install docker
Install Docker by following the official docker docs
Setup
config.env
cp sample_config.env config.env
After this step you will see a new file named
config.env
in root directory.Fill those compulsory variables.
If you need more explanation about any variable then read app.json
Setup rclone
- Set rclone locally by following the official repo: https://rclone.org/docs/
- Get your
rclone.conf
file will look something like this:
[NAME] type = scope = token = client_id = client_secret =
-
Copy
rclone.conf
file in the root directory (WhereDockerfile
exists). -
Your config can contains multiple drive entries. (Default: First one and change using
/rclone
command)
Deploying
- Start Docker Daemon (skip if already running):
sudo dockerd
- Build Docker Image:
sudo docker build . -t torrentleech-gdrive
- Run the image:
sudo docker run torrentleech-gdrive
Follow this Video Tutorial
The Legacy Way
Simply clone the repository and run the main file:
git clone -b 4forks https://github.com/reaitten/tgtlg cd TorrentLeech-Gdrive python3 -m venv venv . ./venv/bin/activate pip install -r requirements.txt # Create config.py appropriately python3 -m tgtlg
Variable Explanations
Mandatory Variables
-
TG_BOT_TOKEN
: Create a bot using @BotFather, and get the Telegram API token. -
APP_ID
-
API_HASH
: Get these two values from my.telegram.org/apps.- N.B.: if Telegram is blocked by your ISP, try our Telegram bot to get the IDs.
-
AUTH_CHANNEL
: Create a Super Group in Telegram, add@GoogleIMGBot
to the group, and send /id in the chat, to get this value. -
OWNER_ID
: ID of the bot owner, He/she can be abled to access bot in bot only mode too(private mode).
Optional Configuration Variables
Click Here for more Details
-
DOWNLOAD_LOCATION
: The location you would like the bot to download to locally. -
BOT_CMD_POSTFIX
:
If you want the bot to respond to you when you send a command along with the bot username. Usage Example: /command@botusername Example Value: @mybotsusername Defualt Value is "". -
LEECH_COMMAND
: Change the /leech command. Defualt Value is "leech" -
LEECH_UNZIP_COMMAND
: Change the /extract command. Defualt Value is "extract" -
LEECH_ZIP_COMMAND
: Change the /archive command. Defualt Value is "archive" -
YTDL_COMMAND
: Change the /ytdl command. Defualt Value is "ytdl" -
GYTDL_COMMAND
: Change the /gytdl command. Defualt Value is "gytdl" -
PYTDL_COMMAND
: Change the /pytdl command. Defualt Value is "pytdl" -
GLEECH_COMMAND
: Change the /gleech command. Defualt Value is "gleech" -
TELEGRAM_LEECH_COMMAND
: Change the /tleech command. Defualt Value is "tleech" -
TELEGRAM_LEECH_UNZIP_COMMAND
: Change the /textract command. Defualt Value is "textract" -
CLONE_COMMAND_G
: Change the /gclone command. Defualt Value is "gclone" -
UPLOAD_COMMAND
: Change the /upload command. Defualt Value is "upload" -
RENEWME_COMMAND
: Change the /leech command. Defualt Value is "leech" -
SAVE_THUMBNAIL
: Change the /savethumb command. Defualt Value is "savethumb" -
CLEAR_THUMBNAIL
: Change the /clearthumb command. Defualt Value is "clearthumb" -
GET_SIZE_G
: Change the /clearthumb command. Defualt Value is "clearthumb" -
TOGGLE_VID
: Change the /togglevid command. Defualt Value is "togglevid" -
TOGGLE_DOC
: Change the /toggledoc command. Defualt Value is "toggledoc" -
RENAME_COMMAND
: Change the /rename command. Defualt Value is "rename" -
CANCEL_COMMAND_G
: Change the /cancel command. Defualt Value is "cancel" -
MAX_FILE_SIZE
: -
TG_MAX_FILE_SIZE
: -
FREE_USER_MAX_FILE_SIZE
-
MAX_TG_SPLIT_FILE_SIZE
: -
CHUNK_SIZE
: -
MAX_MESSAGE_LENGTH
: -
PROCESS_MAX_TIMEOUT
: -
ARIA_TWO_STARTED_PORT
: -
EDIT_SLEEP_TIME_OUT
: -
MAX_TIME_TO_WAIT_FOR_TORRENTS_TO_START
: -
FINISHED_PROGRESS_STR
: -
UN_FINISHED_PROGRESS_STR
: -
TG_OFFENSIVE_API
: -
CUSTOM_FILE_NAME
: -
UPLOAD_AS_DOC
: Takes two option True or False. If True file will be uploaded as document. This is for people who wants video files as document instead of streamable. -
INDEX_LINK
: (Without/
at last of the link, otherwise u will get error) During creating index, plz fillDefault Root ID
with the id of yourDESTINATION_FOLDER
after creating. Otherwise index will not work properly. -
DESTINATION_FOLDER
: Name of your folder in your respective drive where you want to upload the files using the bot.
Available Commands
-
/rclone
: This will change your drive config on fly. (First one will be default) -
/gclone
: This command is used to clone gdrive files or folder using gclone. -
/help
: To get a list of commands -
/leech
: This command should be used as reply to a magnetic link, a torrent link, or a direct link. [this command will SPAM the chat and send the downloads a seperate files if there is more than one file, in the specified torrent] -
/archive
: This command should be used as reply to a magnetic link, a torrent link, or a direct link. [This command will create a .tar.gz file of the output directory, and send the files in the chat, splited into PARTS of 1024MiB each, due to Telegram limitations] -
/extract
: This will unarchive file and upload to telegram. -
/gleech
: This command should be used as reply to a magnetic link, a torrent link, or a direct link. And this will download the files from the given link or torrent and will upload to the cloud using rclone. -
/garchive
: This command will compress the folder/file and will upload to your cloud. -
/gextract
: This will unarchive file and upload to cloud. -
/gclone
: This command is used to clone gdrive files or folder using gclone.
Syntax: [ID of the file or folder][one space][name of your folder only (If the ID is of file, don't put anything)]
and then reply /gclone to it.
-
/tleech
: This will mirror the telegram files to your respective cloud. -
/textract
: This will unarchive telegram file and upload to cloud. -
/ytdl
: This command should be used as reply to a supported link -
/pytdl
: This command will download videos from youtube playlist link and will upload to telegram. -
/gytdl
: This will download and upload to your cloud. -
/gpytdl
: This download youtube playlist and upload to your cloud. -
/getsize
: This will give you total size of your destination folder in cloud. -
/renewme
: This will clear the remains of downloads which are not getting deleted after upload of the file or after /cancel command. -
/rename
: To rename the telegram files. -
/rclone
: This will change your drive config on fly. (First one will be default) -
/log
: This will send you a txt file of the logs.
Only works with direct link and youtube link for now. You can add a custom name as it's prefix to the file. Example: if gk.txt uploaded will be what you add in CUSTOM_FILE_NAME + gk.txt
You can add a custom name as it's prefix of the original file name.
e.g: if file is gk.txt
uploaded will be what you added in CUSTOM_FILE_NAME
+ gk.txt
It is like you can add custom name as prefix of the original file name.
Like if your file name is gk.txt
uploaded will be what u add in CUSTOM_FILE_NAME
+ gk.txt
How to Use?
- send any one of the available commands, as a reply to a valid link/magnet/torrent.
Credits
- GautamKumar
- SpEcHiDe for his wonderful code
- cihanvol for direct_link_generator
- MaxxRider for tweaked version of TorrentLeech-Gdrive
- Rclone Team for theirs awesome tool
- Dan Tรจs for his Pyrogram Library
- Robots for their @UploadBot
- @AjeeshNair for his torrent.ajee.sh
- @gotstc, @aryanvikash, @HasibulKabir for their TORRENT groups