This is a telegram bot which supports torrent file,magnet uri as well as direct download links,it uses aria2 as a backend for downloading the content and uploads it to google drive. It can be deployed to heroku free dyno or on a server.
To run this project, you will need to set the following environment variables :
The url where the app will be hosted i.e for heroku it will be https://{appname}.herokuapp.com or for self-hosted server it will be https://{hostname_or_ip}:{port} where port is usally 8443
The bot token for telegram bot, for more info on how to create a bot and get a token visit How to create a telegram bot
A random alphanumeric text used as a salt in generating state for oauth authorization.
Not required in heroku caused generator is used while deploying
The telegram bot url,this is usually in the form https://t.me/{bot_username}
Should there be a filter where password is required for access to the bot
Set as "True" or "False"
Password used for allowing a group chat access to the bot,should be set if "ALLOWLIST" is enabled
Password used for allowing a user access to the bot,should be set if "ALLOWLIST" is enabled
The application hosted in heroku free dyno sleeps after 20 minutes of no activity,to conteract this the application
can ping itself every 5 minutes and keep itself alive.
Should be set to either "True" or "False"
Heroku dynos are restarted every 24 hours + random(0-216)minutes,but if there is a restart before that the restart time is reset.
The bot can give you the approx restart time and restart itself when no activity occurs for 4 hours if it has the Platform API Token
The token can be found here
The DATABASE URI for custom SQL Database
The URL for connecting to custom redis instance
The log level to be displayed in console,all the log levels can be found here
Only numeric value is supported
Custom port for hosting the application,but only Ports supported by telegram should be used when the application is not hosted behind a reverse proxy
1) Download docker-compose.yml for running on a server or docker-compose-local.yml for running locally with ngrok or other tunneling service for oauth authentication
2) Open the file in a text editor and fill the environment variables
3) - If docker-compose-local.yml
is used you have to create a docker network called ravager_net
ravager_net
with port 8443
using ngrok or some other tunneling service.ravager_net
using the command docker inspect ravager_net
./ngrok http <ravager_net_ip>:8443
ngrok_url/oauth_handler
to google's oauth api authorized domain.
4) Execute the following command in the same directory
docker-compose up -d
5) The bot should be up and running
6) For checking the logs you can use docker logs -f ravager
/start
: Start the authorization flow for google drive access/add_drive
: Set default drive either personal or shared drive through the menu/download
: Add download task/upload
: Upload content if a download fails you can reply to the source message or upload multiple times/abort
: Abort an ongoing task/admin_interface
: Admin interface access (only available in private chat and for admins)/revoke
: Revoke and delete your Google account on the bot/help
: See all the commandsContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)