Awesome Open Source
Awesome Open Source

Torrent / YouTube Leecher 🔥🤖

A Torrent, youtube-dl Leecher, and Uploader!

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the COPYING for more details.


The Eas(iest) Way

  • Install Docker by following the official docker docs

  • Start docker daemon [skip if already running]:

  • Build Docker image:
docker build . -t public-leech
  • Run the image:
docker run public-leech

It is not recommended to use "sudo", un-necessarily, in a GNU/Linux system. GNU/Linux Permissions are highly customisable, and it is generally not required to have "ROOT" permission, unless you know what you are doing. You can still install all the dependencies in your system [with ROOT permissions], but please be aware of the potential issues when doing so. The installed packages may conflict with the system package manager's installed packages, which can cause trouble down the road and errors when upgrading conflicting packages. You have been warned.

The Legacy Way

Simply clone the repository and run the main file:

git clone
cd PublicLeech
python3 -m venv venv
. ./venv/bin/activate
pip install -r requirements.txt
python3 -m tobrot

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

    • 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. You can add multiple IDs seperated by space.

Optional Configuration Variables
  • SHOULD_USE_BUTTONS: because, BlameTelegram

  • ARIA_TWO_STARTED_PORT: The port on which aria2c daemon must START. This should be an integer, between 1001 and 65535.

  • EDIT_SLEEP_TIME_OUT: The number of seconds to sleep after editing a Telegram message.

  • MAX_TIME_TO_WAIT_FOR_TORRENTS_TO_START: The number of seconds to wait before auto-cancelling a dead link.

  • FINISHED_PROGRESS_STR: any character(s) that might be displayed in the progress string.

  • UN_FINISHED_PROGRESS_STR: any character(s) that might be displayed in the progress string.


  • R_CLONE_CONF_URI: a help, maybe

  • R_CLONE_DEST: Destination folder for rclone copying. Set your path starting with '/'. Or just leave '/' to set root folder

  • DOWNLOAD_LOCATION: optional download directory, where the temporary downloads should ideally reside.

  • MAX_FILE_SIZE: The maximum file_size allowed by Telegram BOT API, kept for legacy purposes.

  • TG_MAX_FILE_SIZE: The maximum file_size, allowed by Telegram API.

  • FREE_USER_MAX_FILE_SIZE: The file_size that was supposed to be allowed by the bot.

  • MAX_TG_SPLIT_FILE_SIZE: The file_size at which it should be splitted if the file_size is greater than TG_MAX_FILE_SIZE.

  • CHUNK_SIZE: not used, kept for legacy purposes.

  • MAX_MESSAGE_LENGTH: The maximum message length, allowed by Telegram.

  • PROCESS_MAX_TIMEOUT: not used, kept for legacy purposes.

  • SP_LIT_ALGO_RITH_M: allowed values can be hjs or rar.

    • VIDEO files are not affected based on this value.
  • DIS_ABLE_ST_GFC_COMMAND_I: setting this to ANYTHING will enable /exec and /eval commands.

Available Commands

  • The available commands depends on the ENVironment / CONfig variables that is set by you.
  • You can read the Commandi file, to know about the ENVironment variables to use.
  • You can read the Loilacaztion file, to know about the ENVironment variables to use.

How to Use?

  • send any link, and click on the available buttons.

  • if you have disabled SHOULD_USE_BUTTONS, you can read the Commandi file, to know about the commands.

    • COMMANDI_LEECH can take multiple arguments
      • archive: if you want a .tar.gz file, in your Telegram Chat.
      • leech_rc_0: if you want to mirror to an rClone supported host, 0 is an example, and should be replaced with the index of your required host, in your uploaded rclone.conf file.
  • if file is larger than TG_MAX_FILE_SIZE, read this.

  • if file is a TAR archive, read this to know how to uncompress.

Issues or Feature Requests

  • search for known issues, here or in the GitHub Issues.

  • add issues / feature requests, here.

  • the GitHub Issue Tracker is only for Issue / Feature Requests. For any support, please use the Telegram Group.

Credits, and Thanks to

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (50,919
video (807
bot (703
telegram (318
torrent (142
file (138
management (125
upload (113
youtube-dl (72
group (16

Find Open Source By Browsing 7,000 Topics Across 59 Categories