Slam Mirror Bot is a multipurpose Telegram Bot writen in Python for mirroring files on the Internet to our beloved Google Drive.
Racaty.net, Hxfile.co, Anonfiles.com, Fembed.com, Femax20.com, Layarkacaxxi.icu, Naniplay.com, Naniplay.nanime.in, Naniplay.nanime.biz, Sbembed.com, Streamsb.net, Uptobox.com (Uptobox account must be premium), Onedrive/1drv.ms (Only works for file not folder or busines account)
ZIP, RAR, TAR, 7z, ISO, WIM, CAB, GZIP, BZIP2, APM, ARJ, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, LZH, LZMA, LZMA2, MBR, MSI, MSLZ, NSIS, NTFS, RPM, SquashFS, UDF, VHD, XAR, Z.
Deploying is pretty much straight forward and is divided into several steps as follows:
git clone https://github.com/breakdowns/slam-mirrorbot mirrorbot/ cd mirrorbot
sudo apt install python3
Install Docker by following the official Docker docs
sudo pacman -S docker python
pip3 install -r requirements-cli.txt
1. Using ElephantSQL
2. Using Heroku PostgreSQL
NOTE: If you deploying on Heroku, no need to generate database manually, because it will automatic generate database when first deploying
cp config_sample.env config.env
Fill up rest of the fields. Meaning of each fields are discussed below:
5seconds at least)
-1to never automatically delete messages)
GDRIVE_FOLDER_IDis from a Team Drive else
Falseor Leave it empty.
True, bot will check file in drive, if it is present in Drive, downloading will be stopped. (Note: File will be checked using filename, not using filehash, so this feature is not perfect yet)
True, bot will check file in drive, if it is present in Drive, cloning will be stopped.
1 GBit will limit
Trueif you want to use
15it will limit
?a=view, if yes make it
Trueit will work (Compatible with Bhadoo Index Code)
exe.io, gplinks.in, shrinkme.io, urlshortx.com, shortzon.com
Above are the supported url Shorteners. Except these only some url Shorteners are supported.
Note: You can limit maximum concurrent downloads by changing the value of MAX_CONCURRENT_DOWNLOADS in aria.sh. By default, it's set to
Three buttons are already added of Drive Link, Index Link, and View Link, you can add extra buttons, these are optional, if you don't know what are below entries, simply leave them, don't fill anything in them.
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib python3 generate_drive_token.py
sudo docker build . -t mirrorbot
sudo docker run mirrorbot
NOTE: If you didn't upload token.pickle, uploading will not work. How to generate token.pickle? Read here
For Service Account to work, you must set USE_SERVICE_ACCOUNTS="True" in config file or environment variables, Many thanks to AutoRClone for the scripts. NOTE: Using Service Accounts is only recommended while uploading to a Team Drive.
Let us create only the Service Accounts that we need. Warning: abuse of this feature is not the aim of this project and we do NOT recommend that you make a lot of projects, just one project and 100 SAs allow you plenty of use, its also possible that over abuse might get your projects banned by Google.
NOTE: 1 Service Account can copy around 750gb a day, 1 project can make 100 Service Accounts so that's 75tb a day, for most users this should easily suffice.
python3 gen_sa_accounts.py --quick-setup 1 --new-only
A folder named accounts will be created which will contain keys for the Service Accounts.
Or you can create Service Accounts to current project, no need to create new one
python3 gen_sa_accounts.py --list-projects
python3 gen_sa_accounts.py --enable-services $PROJECTID
python3 gen_sa_accounts.py --create-sas $PROJECTID
python3 gen_sa_accounts.py --download-keys $PROJECTID
If you want to add Service Accounts to Google Group, follow these steps
grep -oPh '"client_email": "\K[^"]+' *.json > emails.txt
Then add emails from emails.txt to Google Group, after that add Google Group to your Shared Drive and promote it to manager.
NOTE: If you have created SAs in past from this script, you can also just re download the keys by running:
python3 gen_sa_accounts.py --download-keys project_id
python3 add_to_team_drive.py -d SharedTeamDriveSrcID
For using your premium accounts in Youtube-dl or for protected Index Links, edit the netrc file according to following format:
machine host login username password my_youtube_password
For Index Link with only password without username, even http auth will not work, so this is the solution.
machine example.workers.dev password index_password
Where host is the name of extractor (eg. Youtube, Twitch). Multiple accounts of different hosts can be added each separated by a new line.
And many more people who aren't mentioned here, but may be found in Contributors.