Skip to main content

A Telegram Torrent (and youtube-dl) Leecher based on Pyrogram.

Project description

Telegram Torrent Leecher

A Telegram Torrent (and youtube-dl) Leecher based on Pyrogram

Notice

Please note that you may face an account ban from Heroku when you deploy this branch on Heroku.

Table of Contents

  • Benefits

  • To-Do

    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

    Modified for use on Heroku, please do not heavily abuse!

    Join this Telegram Group if you want support, I will try to help you as much as I can.

    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

    1. Set rclone locally by following the official repo: https://rclone.org/docs/
    2. Get your rclone.conf file will look something like this:
    [NAME]
    type = 
    scope =
    token =
    client_id = 
    client_secret = 
    
    1. Copy rclone.conf file in the root directory (Where Dockerfile exists).

    2. 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.

  • 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:

  • LEECH_COMMAND:

  • YTDL_COMMAND:

  • GYTDL_COMMAND:

  • GLEECH_COMMAND:

  • TELEGRAM_LEECH_COMMAND:

  • TELEGRAM_LEECH_UNZIP_COMMAND:

  • PYTDL_COMMAND:

  • CLONE_COMMAND_G:

  • UPLOAD_COMMAND:

  • RENEWME_COMMAND:

  • SAVE_THUMBNAIL:

  • CLEAR_THUMBNAIL:

  • GET_SIZE_G:

  • 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 fill Default Root ID with the id of your DESTINATION_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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tgtlg-1.3.2.tar.gz (55.3 kB view details)

Uploaded Source

Built Distribution

tgtlg-1.3.2-py3-none-any.whl (66.0 kB view details)

Uploaded Python 3

File details

Details for the file tgtlg-1.3.2.tar.gz.

File metadata

  • Download URL: tgtlg-1.3.2.tar.gz
  • Upload date:
  • Size: 55.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.11

File hashes

Hashes for tgtlg-1.3.2.tar.gz
Algorithm Hash digest
SHA256 af2d7500b7b1d9bb5555220a0ecd8c30c468884f916f000520dcbfdb1c9979ac
MD5 d0ff132af6e447415dab7058e15bb03f
BLAKE2b-256 7257067f5409090c3e6d3142f5fe8d8ec34467fe76fe48e5f6d1d479e889afb7

See more details on using hashes here.

File details

Details for the file tgtlg-1.3.2-py3-none-any.whl.

File metadata

  • Download URL: tgtlg-1.3.2-py3-none-any.whl
  • Upload date:
  • Size: 66.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.11

File hashes

Hashes for tgtlg-1.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 58bd93b0caab72be4d8ef4b7a2f09719a042df6eac6049ac11709eeb37d76acb
MD5 952400620fd1a7f3d33ac5fa242f8eff
BLAKE2b-256 6303a1b8a7c24ed3c4a9eb66a3d308cb3158e3c177967b42509e7e76a1879db6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page