Giter Site home page Giter Site logo

bezustally / telegram-upload Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nekmo/telegram-upload

1.0 0.0 0.0 2.51 MB

Upload and download files from Telegram up to 4 GiB using your account

License: MIT License

Python 98.29% Makefile 1.48% Dockerfile 0.24%

telegram-upload's Introduction

https://raw.githubusercontent.com/Nekmo/telegram-upload/master/logo.png


pip-rating badge Latest Tests CI build status Latest PyPI version Python versions Code Climate Test coverage Github stars

telegram-upload

Telegram-upload uses your personal Telegram account to upload and download files up to 4 GiB (2 GiB for free users). Turn Telegram into your personal โ˜ cloud!

To install ๐Ÿ”ง telegram-upload, run this command in your terminal:

$ sudo pip3 install -U telegram-upload

This is the preferred method to install telegram-upload, as it will always install the most recent stable release. ๐Ÿ Python 3.7-3.11 are tested and supported. There are other installation ways available like Docker. More info in the ๐Ÿ“• documentation

https://raw.githubusercontent.com/Nekmo/telegram-upload/master/telegram-upload-demo.gif

โ“ Usage

To use this program you need an Telegram account and your App api_id & api_hash (get it in my.telegram.org). The first time you use telegram-upload it requests your ๐Ÿ“ฑ telephone, api_id and api_hash. Bot tokens can not be used with this program (bot uploads are limited to 50MB).

To send โฌ†๏ธ files (by default it is uploaded to saved messages):

$ telegram-upload file1.mp4 file2.mkv

You can download โคต๏ธ the files again from your saved messages (by default) or from a channel. All files will be downloaded until the last text message.

$ telegram-download

Read the documentation for more info about the options availables.

Interactive mode

The interactive option (--interactive) allows you to choose the dialog and the files to download or upload with a terminal ๐Ÿช„ wizard. It even supports mouse!

$ telegram-upload --interactive    # Interactive upload
$ telegram-download --interactive  # Interactive download

More info in the documentation

Set group or chat

By default when using telegram-upload without specifying the recipient or sender, telegram-upload will use your personal chat. However you can define the ๐Ÿ‘จ destination. For file upload the argument is --to <entity>. For example:

$ telegram-upload --to telegram.me/joinchat/AAAAAEkk2WdoDrB4-Q8-gg video.mkv

You can download files from a specific chat using the --from <entity> parameter. For example:

$ telegram-download --from username

You can see all the possible values for the entity in the documentation.

Split & join files

If you try to upload a file that exceeds the maximum supported by Telegram by default, an error will occur. But you can enable โœ‚ split mode to upload multiple files:

$ telegram-upload --large-files split large-video.mkv

Files split using split can be rejoined on download using:

$ telegram-download --split-files join

Find more help in the telegram-upload documentation.

Delete on success

The --delete-on-success option allows you to โŒ delete the Telegram message after downloading the file. This is useful to send files to download to your saved messages and avoid downloading them again. You can use this option to download files on your computer away from home.

Configuration

Credentials are saved in ~/.config/telegram-upload.json and ~/.config/telegram-upload.session. You must make sure that these files are secured. You can copy these ๐Ÿ“ files to authenticate telegram-upload on more machines, but it is advisable to create a session file for each machine.

More options

Telegram-upload has more options available, like customizing the files thumbnail, set a caption message (including variables) or configuring a proxy. Read the documentation for more info.

๐Ÿ’ก Features

  • Upload and download multiples files (up to 4 GiB per file for premium users).
  • Interactive mode.
  • Add video thumbs.
  • Split and join large files.
  • Delete local or remote file on success.
  • Use variables in the caption message.
  • ... And more.

๐Ÿ‹ Docker

Run telegram-upload without installing it on your system using Docker. Instead of telegram-upload and telegram-download you should use upload and download. Usage:

$ docker run -v <files_dir>:/files/
             -v <config_dir>:/config
             -it nekmo/telegram-upload:master
             <command> <args>
  • <files_dir>: upload or download directory.
  • <config_dir>: Directory that will be created to store the telegram-upload configuration. It is created automatically.
  • <command>: upload and download.
  • <args>: telegram-upload and telegram-download arguments.

For example:

$ docker run -v /media/data/:/files/
             -v $PWD/config:/config
             -it nekmo/telegram-upload:master
             upload file_to_upload.txt

โค๏ธ Thanks

This project developed by Nekmo & collaborators would not be possible without Telethon, the library used as a Telegram client.

Telegram-upload is licensed under the MIT license.

telegram-upload's People

Contributors

nekmo avatar cristian64 avatar fatshotty avatar gottsman avatar shubhamkarala avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.