Bot Telegram ini, berdasarkan python-aria-mirror-bot, telah mengalami modifikasi besar dan dirancang untuk mencerminkan atau memindahkan file secara efisien dari Internet ke berbagai tujuan, termasuk Google Drive, Telegram, atau cloud apa pun yang didukung rclone. Itu dibangun menggunakan pemrograman asinkron dengan Python.
root
atau ID TeamDrive, id folder akan dicantumkan dengan metode non-rekursif). Berdasarkan Sreeraj searchX-bot. (pilihan tugas)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, TAR.XZ
amd64, arm64/v8, arm/v7
UPSTREAM_REPO
mediafire (file/folder), hxfile.co (membutuhkan cookie txt dengan nama) [hxfile.txt], streamtape.com, streamsb.net, streamhub.ink, streamvid.net, doodstream.com, feurl.com, upload.ee , pixeldrain.com, racaty.net, 1fichier.com, 1drv.ms (Hanya berfungsi untuk file bukan folder atau akun bisnis), filelions.com, streamwish.com, send.cm (file/folder), solidfiles.com, linkbox.to (file/folder), shrdsk.me (sharedisk.io), akmfiles.com, wetransfer.com, pcloud.link, gofile.io (file/folder), easyupload.io, mdisk.me (dengan ytdl), tmpsend.com, qiwi.gg, berkasdrive.com, mp4upload.com, terabox.com (video hanya file/folder).
git clone https://github.com/anasty17/mirror-leech-telegram-bot mirrorbot/ && cd mirrorbot
sudo apt install python3 python3-pip
Instal Docker dengan mengikuti dokumen resmi Docker
sudo pacman -S docker python
pip3 install -r requirements-cli.txt
cp config_sample.env config.env
_____REMOVE_THIS_LINE_____=True
Isi sisa kolom. Arti masing-masing bidang dibahas di bawah ini. CATATAN : Semua nilai harus diisi di antara tanda kutip, meskipun itu Int
, Bool
atau List
.
1. Bidang yang Wajib Diisi
BOT_TOKEN
: Token Bot Telegram yang Anda dapatkan dari @BotAyah. Str
OWNER_ID
: ID Pengguna Telegram (bukan nama pengguna) Pemilik bot. Int
TELEGRAM_API
: Ini untuk mengautentikasi akun Telegram Anda untuk mengunduh file Telegram. Anda bisa mendapatkannya dari https://my.telegram.org. Int
TELEGRAM_HASH
: Ini untuk mengautentikasi akun Telegram Anda untuk mengunduh file Telegram. Anda bisa mendapatkannya dari https://my.telegram.org. Str
2. Bidang Opsional
USER_SESSION_STRING
: Untuk mengunduh/mengunggah dari akun telegram Anda jika pengguna PREMIUM
dan untuk mengirim rss. Untuk menghasilkan string sesi, gunakan perintah ini python3 generate_string_session.py
setelah memasang folder repo pastinya. Str
. * CATATAN *: Anda tidak dapat menggunakan bot dengan pesan pribadi. Gunakan dengan superGroup.DATABASE_URL
: URL Basis Data Mongo Anda (string koneksi). Ikuti Hasilkan Basis Data ini untuk menghasilkan basis data. Data akan disimpan di Database: pengaturan bot, pengaturan pengguna, data rss, dan tugas yang belum selesai. CATATAN : Anda selalu dapat mengedit semua pengaturan yang disimpan dalam database dari situs resmi -> (Jelajahi koleksi). Str
DOWNLOAD_DIR
: Jalur ke folder lokal vps tempat unduhan harus diunduh. Str
CMD_SUFFIX
: Perintah nomor indeks. Nomor ini akan ditambahkan di akhir semua perintah. Str
| Int
AUTHORIZED_CHATS
: Isi user_id dan chat_id grup/pengguna yang ingin Anda otorisasi. Untuk mengautentikasi topik tertentu saja, tulislah dalam format ini chat_id|thread_id
Contoh:-100XXXXXXXXXXX|10 atau Contoh:-100XXXXXXXXXXX|10|12. Pisahkan berdasarkan spasi. Int
SUDO_USERS
: Isi user_id pengguna yang ingin Anda beri izin sudo. Pisahkan berdasarkan spasi. Int
DEFAULT_UPLOAD
: Apakah rc
akan diunggah ke RCLONE_PATH
atau gd
akan diunggah ke GDRIVE_ID
. Standarnya adalah gd
. Baca Lebih Lanjut DI SINI. Str
STATUS_UPDATE_INTERVAL
: Waktu dalam detik setelah pesan kemajuan/status akan diperbarui. Direkomendasikan setidaknya 10
detik. Int
STATUS_LIMIT
: Batasi no. tugas yang ditampilkan dalam pesan status dengan tombol. Standarnya adalah 10
. CATATAN : Batas yang disarankan adalah 4
tugas. Int
EXTENSION_FILTER
: Ekstensi file yang tidak dapat diunggah/dikloning. Pisahkan berdasarkan spasi. Str
INCOMPLETE_TASK_NOTIFIER
: Dapatkan pesan tugas yang belum selesai setelah restart. Membutuhkan database dan superGroup. Standarnya adalah False
. Bool
FILELION_API
: Kunci api Filelion untuk mencerminkan tautan Filelion. Dapatkan dari Filelion. str
STREAMWISH_API
: Kunci api Streamwish untuk mencerminkan tautan Streamwish. Dapatkan dari Streamwish. str
YT_DLP_OPTIONS
: Opsi yt-dlp bawaan. Periksa semua opsi yang memungkinkan DI SINI atau gunakan skrip ini untuk mengonversi argumen cli menjadi opsi api. Format: kunci:nilai|kunci: nilai|kunci:nilai. Tambahkan ^
sebelum integer atau float, beberapa angka harus berupa numerik dan beberapa string. str
USE_SERVICE_ACCOUNTS
: Apakah akan menggunakan Akun Layanan atau tidak, dengan google-api-python-client. Agar ini berfungsi, lihat bagian Menggunakan Akun Layanan di bawah. Standarnya adalah False
. Bool
NAME_SUBSTITUTE
: Tambahkan kata/huruf/karakter/kalimat/pola untuk dihilangkan atau diganti dengan kata lain dengan atau tanpa huruf sensitif. Catatan :BACKSLASH
, itu adalah karakter: ^$.|?*+()[]{}-
3. Alat GDrive
GDRIVE_ID
: Ini adalah ID Folder/TeamDrive dari Google Drive ATAU root
tempat Anda ingin mengunggah semua mirror menggunakan google-api-python-client. Str
IS_TEAM_DRIVE
: Tetapkan True
jika mengunggah ke TeamDrive menggunakan google-api-python-client. Standarnya adalah False
. Bool
INDEX_URL
: Lihat https://gitlab.com/ParveenBhadooOfficial/Google-Drive-Index. Str
STOP_DUPLICATE
: Bot akan memeriksa nama file/folder di Drive jika diunggah ke GDRIVE_ID
. Jika ada di Drive maka pengunduhan atau kloning akan dihentikan. ( CATATAN : Item akan diperiksa menggunakan nama dan bukan hash, jadi fitur ini belum sempurna). Standarnya adalah False
. Bool
4. Kloning
RCLONE_PATH
: Jalur rclone default tempat Anda ingin mengunggah semua file/folder menggunakan rclone. Str
RCLONE_FLAGS
: kunci:nilai|kunci|kunci|kunci:nilai . Periksa di sini semua RcloneFlags. Str
RCLONE_SERVE_URL
: URL valid tempat bot dikerahkan untuk menggunakan rclone serve. Format URL harus http://myip
, di mana myip
adalah IP/Domain(publik) bot Anda atau jika Anda memilih port selain 80
maka tulislah dalam format ini http://myip:port
( http
dan bukan https
). Str
RCLONE_SERVE_PORT
: Yang merupakan Port RCLONE_SERVE_URL . Standarnya adalah 8080
. Int
RCLONE_SERVE_USER
: Nama pengguna untuk otentikasi layanan rclone. Str
RCLONE_SERVE_PASS
: Kata sandi untuk otentikasi layanan rclone. Str
5. Pembaruan
UPSTREAM_REPO
: Tautan repositori github Anda, jika repo Anda bersifat pribadi, tambahkan format https://username:{githubtoken}@github.com/{username}/{reponame}
. Dapatkan token dari pengaturan Github. Jadi Anda dapat memperbarui bot Anda dari repositori yang terisi setiap kali restart. Str
.UPSTREAM_BRANCH
: Cabang hulu untuk pembaruan. Standarnya adalah master
. Str
6. Lintah
LEECH_SPLIT_SIZE
: Ukuran pembagian dalam byte. Standarnya adalah 2GB
. Defaultnya adalah 4GB
jika akun Anda premium. Int
AS_DOCUMENT
: Jenis pengunggahan file Telegram default. Defaultnya adalah False
yang berarti sebagai media. Bool
EQUAL_SPLITS
: Pisahkan file yang lebih besar dari LEECH_SPLIT_SIZE menjadi ukuran bagian yang sama (Tidak berfungsi dengan zip cmd). Standarnya adalah False
. Bool
MEDIA_GROUP
: Lihat bagian file terpisah yang diunggah di grup media. Standarnya adalah False
. Bool
.USER_TRANSMISSION
: Unggah/Unduh berdasarkan sesi pengguna. Hanya di superChat. Standarnya adalah False
. Bool
MIXED_LEECH
: Unggah berdasarkan sesi pengguna dan bot sehubungan dengan ukuran file. Hanya di superChat. Standarnya adalah False
. Bool
LEECH_FILENAME_PREFIX
: Tambahkan kata khusus ke nama file leeched. Str
LEECH_DUMP_CHAT
: ID atau USERNAME atau PM (pesan pribadi) ke tempat file akan diupload. Int
| Str
. Tambahkan -100
sebelum id saluran/superGroup.THUMBNAIL_LAYOUT
: Tata letak thumbnail (lebarxtinggi, 2x2, 3x3, 2x4, 4x4, ...) dari berapa banyak foto yang disusun untuk thumbnail tersebut. Str
7.qBittorrent/Aria2c/Sabnzbd
TORRENT_TIMEOUT
: Batas waktu pengunduhan torrent mati dengan qBittorrent dan Aria2c dalam hitungan detik. Int
BASE_URL
: URL BASE yang valid tempat bot dikerahkan untuk menggunakan pemilihan file web torrent/nzb. Format URL harus http://myip
, di mana myip
adalah IP/Domain(publik) bot Anda atau jika Anda memilih port selain 80
maka tulislah dalam format ini http://myip:port
( http
dan bukan https
). Str
BASE_URL_PORT
: Yang merupakan Pelabuhan BASE_URL . Standarnya adalah 80
. Int
WEB_PINCODE
: Apakah akan meminta kode pin sebelum memilih file dari torrent di web atau tidak. Standarnya adalah False
. Bool
.MaxConnections
, kurangi AsyncIOThreadsCount
, tetapkan batas DiskWriteCacheSize
menjadi 32
dan kurangi MemoryWorkingSetLimit
dari perintah qbittorrent.conf atau bsetting.8. Pengunduh J
JD_EMAIL
: email jdownlaoder mendaftar di JDownloaderJD_PASS
: kata sandi jdownlaoder/root/Downloads
.9. Sabnzbd
USENET_SERVERS
: daftar kamus, Anda dapat menambahkan sebanyak yang Anda inginkan dan terdapat tombol untuk server di pengaturan sabnzbd untuk mengedit server saat ini dan menambahkan server baru.
[{'nama': 'utama', 'host': '', 'port': 563, 'batas waktu': 60, 'nama pengguna': '', 'kata sandi': '', 'koneksi': 8, ' ssl': 1, 'ssl_verify': 2, 'ssl_ciphers': '', 'enable': 1, 'wajib': 0, 'opsional': 0, 'retensi': 0, 'grup_kirim': 0, 'prioritas': 0}]
BACA INI UNTUK INFORMASI LEBIH LANJUT
Buka port 8070 di vps Anda untuk mengakses antarmuka web lengkap dari perangkat apa pun. Gunakan seperti http://ip:8070/sabnzbd/.
10.RSS
RSS_DELAY
: Waktu dalam detik untuk interval penyegaran rss. Direkomendasikan setidaknya 600
detik. Defaultnya adalah 600
dalam detik. Int
RSS_CHAT
: ID or USERNAME or ID|TOPIC_ID or USERNAME|TOPIC_ID
dimana rss link akan dikirimkan. Jika Anda ingin pesan dikirim ke saluran, tambahkan id saluran. Tambahkan -100
sebelum id saluran. Int
| Str
RSS_CHAT
diperlukan, jika tidak, monitor tidak akan berfungsi. Anda harus menggunakan USER_STRING_SESSION
--OR-- CHANNEL . Jika menggunakan saluran maka bot harus ditambahkan di saluran dan grup (ditautkan ke saluran) dan RSS_CHAT
adalah id saluran, sehingga pesan yang dikirim oleh bot ke saluran akan diteruskan ke grup. Jika tidak, dengan USER_STRING_SESSION
tambahkan id grup untuk RSS_CHAT
. Jika DATABASE_URL
tidak ditambahkan, Anda akan kehilangan feed saat bot offline.11. Sistem Antrian
QUEUE_ALL
: Jumlah tugas paralel pengunduhan dan pengunggahan. Misalnya jika 20 tugas ditambahkan dan QUEUE_ALL
adalah 8
, maka penjumlahan tugas upload dan download adalah 8 dan sisanya dalam antrian. Int
. CATATAN : jika ingin mengisi QUEUE_DOWNLOAD
atau QUEUE_UPLOAD
, maka nilai QUEUE_ALL
harus lebih besar atau sama dengan yang terbesar dan kurang dari atau sama dengan penjumlahan dari QUEUE_UPLOAD
dan QUEUE_DOWNLOAD
.QUEUE_DOWNLOAD
: Jumlah semua tugas pengunduhan paralel. Int
QUEUE_UPLOAD
: Jumlah semua tugas pengunggahan paralel. Int
12. Pencarian Torrent
SEARCH_API_LINK
: Cari tautan aplikasi api. Dapatkan api Anda dari penerapan repositori ini. Str
1337x, Piratebay, Nyaasi, Torlock, Torrent Galaxy, Zooqle, Kickass, Bitsearch, MagnetDL, Libgen, YTS, Limetorrent, TorrentFunk, Glodls, TorrentProject dan YourBittorrent
SEARCH_LIMIT
: Batas pencarian untuk api pencarian, batas untuk setiap situs dan bukan batas hasil keseluruhan. Defaultnya adalah nol (Batas api default untuk setiap situs). Int
SEARCH_PLUGINS
: Daftar plugin pencarian qBittorrent (tautan mentah github). Saya telah menambahkan beberapa plugin, Anda dapat menghapus/menambahkan plugin sesuai keinginan. Sumber Utama: Plugin Pencarian qBittorrent (Resmi/Tidak Resmi). List
Pastikan Anda masih memasang folder aplikasi dan menginstal buruh pelabuhan dari dokumentasi resmi.
sudo dockerd
sudo docker build . -t mltb
sudo docker run -p 80:80 -p 8080:8080 mltb
sudo docker ps
sudo docker stop id
CATATAN : Jika Anda ingin menggunakan port selain 80 dan 8080 untuk pemilihan file torrent dan rclone serve, ubah juga di docker-compose.yml.
sudo apt install docker-compose-plugin
sudo docker compose up
sudo docker compose up --build
sudo docker compose stop
sudo docker compose start
sudo docker compose logs --follow
CATATAN PENTING :
Tetapkan variabel BASE_URL_PORT
dan RCLONE_SERVE_PORT
ke port mana pun yang ingin Anda gunakan. Standarnya masing-masing adalah 80
dan 8080
.
Periksa jumlah unit pemrosesan mesin Anda dengan nproc
cmd dan kalikan dengan 4, lalu edit AsyncIOThreadsCount
di qBittorrent.conf.
mirror - or /m Mirror
qbmirror - or /qm Mirror torrent using qBittorrent
jdmirror - or /jm Mirror using jdownloader
nzbmirror - or /nm Mirror using sabnzbd
ytdl - or /y Mirror yt-dlp supported links
leech - or /l Upload to telegram
qbleech - or /ql Leech torrent using qBittorrent
jdleech - or /jl Leech using jdownloader
nzbleech - or /nl Leech using sabnzbd
ytdlleech - or /yl Leech yt-dlp supported links
clone - Copy file/folder to Drive
count - Count file/folder from GDrive
usetting - or /us User settings
bsetting - or /bs Bot settings
status - Get Mirror Status message
sel - Select files from torrent
rss - Rss menu
list - Search files in Drive
search - Search for torrents with API
cancel - or /c Cancel a task
cancelall - Cancel all tasks
forcestart - or /fs to start task from queue
del - Delete file/folder from GDrive
log - Get the Bot Log
shell - Run commands in Shell
aexec - Execute async function
exec - Execute sync function
restart - Restart the Bot
stats - Bot Usage Stats
ping - Ping the Bot
help - All cmds with description
CATATAN
Termux
.generate_drive_token.py
di browser lokal. pip3 install google-api-python-client google-auth-httplib2 google-auth-oauthlib
python3 generate_drive_token.py
rclone config
.RCLONE_PATH
seperti GDRIVE_ID
jalur default untuk mirror. Selain variabel tersebut DEFAULT_UPLOAD
untuk memilih alat default apakah itu rclone atau google-api-python-client.DEFAULT_UPLOAD
= 'rc' maka Anda harus mengisi RCLONE_PATH
dengan path sebagai default atau dengan rcl
untuk memilih path tujuan pada setiap tugas baru.DEFAULT_UPLOAD
= 'gd' maka Anda harus mengisi GDRIVE_ID
dengan folder/TD id.rclone/{user_id}.conf
maka RCLONE_PATH
harus dimulai dengan mrcc:
.mrcc:
di awal.UPSTREAM_REPO
dapat digunakan untuk mengedit/menambahkan file apa pun di repositori.UPSTREAM_REPO
pribadi jika Anda ingin mengambil semua file termasuk file pribadi.UPSTREAM_REPO
pribadi dan file pribadi Anda di repositori pribadi ini, maka file pribadi Anda akan ditimpa dari repositori ini. Juga jika Anda menggunakan database untuk file pribadi, maka semua file dari database akan menimpa file pribadi yang ditambahkan sebelum penerapan atau dari UPSTREAM_REPO
pribadi.UPSTREAM_REPO
dengan tautan repositori resmi, berhati-hatilah jika ada perubahan pada persyaratan.txt, bot Anda tidak akan mulai setelah dimulai ulang. Dalam hal ini Anda perlu menerapkan lagi dengan kode yang diperbarui untuk menginstal persyaratan baru atau cukup dengan mengubah UPSTREAM_REPO
ke tautan cabang Anda dengan pembaruan lama tersebut.UPSTREAM_REPO
dengan tautan fork Anda, berhati-hatilah juga jika Anda mengambil komit dari repositori resmi.UPSTREAM_REPO
Anda hanya akan berpengaruh setelah restart. -d
saja akan mengarah pada penggunaan opsi global untuk aria2c atau qbittorrent.GlobalMaxRatio
dan GlobalMaxSeedingMinutes
di qbittorrent.conf, -1
berarti tidak ada batasan, tetapi Anda dapat membatalkannya secara manual.MaxRatioAction
.--seed-ratio
(0 berarti tanpa batas) dan --seed-time
(0 berarti tanpa seed) di aria.sh. Agar Akun Layanan berfungsi, Anda harus menyetel
USE_SERVICE_ACCOUNTS
= "True" di file konfigurasi atau variabel lingkungan. CATATAN : Penggunaan Akun Layanan hanya disarankan saat mengunggah ke Drive Tim.
Mari kita buat hanya Akun Layanan yang kita perlukan.
Peringatan : Penyalahgunaan fitur ini bukanlah tujuan dari proyek ini dan kami TIDAK menyarankan Anda membuat banyak proyek, hanya satu proyek dan 100 SA yang memungkinkan Anda banyak digunakan, mungkin juga penyalahgunaan yang berlebihan dapat membuat proyek Anda dilarang oleh Google.
CATATAN : Jika Anda pernah membuat SA dari skrip ini, Anda juga dapat mengunduh ulang kuncinya dengan menjalankan:
python3 gen_sa_accounts.py --download-keys $PROJECTID
CATATAN: 1 Service Account bisa upload/copy sekitar 750 GB sehari, 1 project bisa buat 100 Service Account jadi bisa upload 75 TB sehari.
CATATAN: Semua orang dapat menyalin
2TB/DAY
dari masing-masing pembuat file (akun pengunggah), jadi jika Anda mendapatkan erroruserRateLimitExceeded
bukan berarti batas Anda terlampaui tetapi batas pembuat file telah terlampaui yaitu2TB/DAY
.
Pilih salah satu metode ini
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
python3 gen_sa_accounts.py --quick-setup 1 --new-only
Folder bernama akun akan dibuat yang berisi kunci untuk Akun Layanan.
Pilih salah satu metode ini
cd accounts
For Windows using PowerShell
$emails = Get-ChildItem .**.json |Get-Content -Raw |ConvertFrom-Json |Select -ExpandProperty client_email >>emails.txt
For Linux
grep -oPh '"client_email": "K[^"]+' *.json > emails.txt
cd ..
Kemudian tambahkan email dari emails.txt ke Google Grup, setelah itu tambahkan Google Grup ini ke Drive Bersama Anda dan promosikan ke pengelola dan hapus file email.txt dari folder akun
python3 add_to_team_drive.py -d SharedTeamDriveSrcID
https://mongodb.com/
dan daftar.Database
di bawah Deployment
Header, cluster yang Anda buat akan ada di sana.Allow Access From Anywhere
dan tekan Add IP Address
tanpa mengedit ip, lalu buat pengguna.Choose a connection
, lalu tekan Connect your application
. Pilih Driver
* python * dan version
3.12 atau lebih baru .connection string
Anda dan ganti
dengan kata sandi pengguna Anda, lalu tekan tutup. Untuk menggunakan daftar dari multi TD/folder. Jalankan driveid.py di terminal Anda dan ikuti. Ini akan menghasilkan file list_drives.txt atau Anda cukup membuat file list_drives.txt
di direktori kerja dan mengisinya, periksa format di bawah ini:
DriveName folderID/tdID or `root` IndexLink(if available)
DriveName folderID/tdID or `root` IndexLink(if available)
Contoh:
TD1 root https://example.dev
TD2 0AO1JDB1t3i5jUk9PVA https://example.dev
Untuk menggunakan akun premium Anda di yt-dlp atau untuk Tautan Indeks yang dilindungi, buat file .netrc sesuai format berikut:
Catatan : Buat .netrc dan bukan netrc, file ini akan disembunyikan, jadi lihat file tersembunyi untuk mengeditnya setelah pembuatan.
Format:
machine host login username password my_password
Contoh:
machine instagram login anas.tayyar password mypassword
Catatan Instagram : Anda harus masuk meskipun Anda ingin mengunduh kiriman publik dan setelah percobaan pertama Anda harus mengonfirmasi bahwa Anda masuk dari ip yang berbeda (Anda dapat mengonfirmasi dari aplikasi telepon).
Catatan Youtube : Untuk otentikasi youtube
gunakan file cookies.txt.
Dengan menggunakan Aria2c Anda juga dapat menggunakan fitur bawaan dari bot dengan atau tanpa nama pengguna. Berikut contoh link indeks tanpa nama pengguna.
machine example.workers.dev password index_password
Dimana host adalah nama ekstraktornya (misalnya instagram, Twitch). Beberapa akun dari host yang berbeda dapat ditambahkan, masing-masing dipisahkan oleh baris baru.
Jika Anda ingin menunjukkan apresiasi Anda terhadap proyek ini, bagaimana kalau membelikan saya kopi.
ID Binance:
52187862
Alamat USDT:
TEzjjfkxLKQqndpsdpkA7jgiX7QQCL5p4f
Jaringan:
TRC20
Alamat TRX:
TEzjjfkxLKQqndpsdpkA7jgiX7QQCL5p4f
Jaringan:
TRC20
Alamat BTC:
17dkvxjqdc3yiaTs6dpjUB1TjV3tD7ScWe
Alamat ETH:
0xf798a8a1c72d593e16d8f3bb619ebd1a093c7309