これは、インターネット上のファイルをGoogleドライブまたはTelegramにミラーリングするためにPythonで記述されたTelegramボットです。python-aria-mirror-botに基づく
rootまたはTeamDrive IDのみ、フォルダーIDは非再帰的な方法で一覧表示されます)
amd64, arm64, arm/v7, arm/v6, s390x, arm64/v8(注:
anasty17/mltb:arm64for
arm64/v8またはoracleを使用)
UPSTREAM_REPO
直接ダウンロードリンク、トレント、テレグラムファイルをGoogleドライブにミラーリングする
Mega.nzのリンクをGoogleドライブにミラーリングする
誰かのドライブからあなたのドライブにファイルをコピーする(Autorcloneを使用)
ダウンロード/アップロードの進行状況、速度、ETA
yt-dlpでサポートされているすべてのリンクをミラーリングする
Dockerサポート
チームドライブへのアップロード
インデックスリンクのサポート
サービスアカウントのサポート
ドライブからファイルを削除する
ショーターサポート
複数のトラッカーのサポート
シェルとエグゼキュータ
sudoユーザーを追加する
カスタムファイル名*(直接リンク、テレグラムファイル、yt-dlpのみ。メガリンク、Gdriveリンク、トレントは対象外)
パスワードで保護されたファイルを抽出する
これらのファイルタイプを抽出して、Googleドライブにアップロードします
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
サポートされている直接リンク:
letupload.io、hxfile.co、anonfiles.com、bayfiles.com、antfiles、fembed.com、fembed.net、femax20.com、layarkacaxxi.icu、fcdn.stream、sbplay.org、naniplay.com、naniplay.nanime。 in、naniplay.nanime.biz、sbembed.com、streamtape.com、streamsb.net、feurl.com、pixeldrain.com、racaty.net、1fichier.com、1drv.ms(フォルダやビジネスアカウントではなくファイルでのみ機能します) 、uptobox.com(Uptoboxアカウントはプレミアムである必要があります)およびsolidfiles.com
git clone https://github.com/anasty17/mirror-leech-telegram-bot mirrorbot/ && cd mirrorbot
sudo apt install python3 python3-pip
Dockerの公式ドキュメントに従うか、以下のコマンドを使用してDockerをインストールします。
sudo apt install snapd sudo snap install docker
sudo pacman -S docker python
pip3 install -r requirements-cli.txt
cp config_sample.env config.env
_____REMOVE_THIS_LINE_____=True
残りのフィールドに入力します。各フィールドの意味については、以下で説明します。
1.必須フィールド
BOT_TOKEN: @BotFatherから取得したテレグラムボットトークン
GDRIVE_FOLDER_ID:これは、すべてのミラーをアップロードするGoogleドライブフォルダのフォルダ/チームドライブIDです。
OWNER_ID:ボットの所有者のテレグラムユーザーID(ユーザー名ではない)。
Int
DOWNLOAD_DIR:ダウンロードをダウンロードするローカルフォルダへのパス。
DOWNLOAD_STATUS_UPDATE_INTERVAL:進行状況/ステータスメッセージが更新されるまでの秒単位の時間。
10少なくとも推奨秒数。
Int
AUTO_DELETE_MESSAGE_DURATION:時間の間隔(秒単位)。その後、ボットは、即座に表示されることが期待されるメッセージとコマンドメッセージを削除します。注:
-1自動メッセージ削除を無効にするには、に設定します。
Int
IS_TEAM_DRIVE:
TrueTeamDriveにアップロードする場合に設定します。デフォルトは
Falseです。
Bool
TELEGRAM_API:これは、TelegramファイルをダウンロードするためにTelegramアカウントを認証するためのものです。これはhttps://my.telegram.orgから入手できます。
Int
TELEGRAM_HASH:これは、TelegramファイルをダウンロードするためにTelegramアカウントを認証するためのものです。これはhttps://my.telegram.orgから入手できます。
2.オプションのフィールド
DATABASE_URL:SQLデータベースのURL。このデータベースの生成に従って、データベースを生成します。データはデータベースに保存されます:authおよびsudoユーザー、各ユーザーのサムネイルを含むリーチ設定、rssデータおよび不完全なタスク。注:herokuにデプロイし、heroku postgresqlを使用する場合は、config.envファイルからこの変数を削除してください。DATABASE_URLは、heroku変数から取得されます。
AUTHORIZED_CHATS:承認するグループ/ユーザーのuser_idとchat_idを入力します。それらをスペースで区切ります。
SUDO_USERS:sudo権限を付与するユーザーのuser_idを入力します。それらをスペースで区切ります。
IGNORE_PENDING_REQUESTS:再起動後に保留中の要求を無視します。デフォルトは
Falseです。
Bool
USE_SERVICE_ACCOUNTS:サービスアカウントを使用するかどうか。これを機能させるには、以下の「サービスアカウントの使用」セクションを参照してください。デフォルトは
Falseです。
Bool
INDEX_URL:https ://gitlab.com/ParveenBhadooOfficial/Google-Drive-Indexを参照してください。
STATUS_LIMIT:番号を制限します。ボタン付きのステータスメッセージに表示されるタスクの数。注:推奨される制限は
4タスクです。
STOP_DUPLICATE:ボットはドライブ内のファイルをチェックします。ファイルがドライブ内に存在する場合、ダウンロードまたはクローン作成は停止されます。(注:ファイルはファイルハッシュではなくファイル名を使用してチェックされるため、この機能はまだ完全ではありません)。デフォルトは
Falseです。
Bool
CMD_INDEX:コマンドインデックス番号。この番号は、すべてのコマンドの最後に追加されます。
UPTOBOX_TOKEN:uptoboxリンクをミラーリングするUptoboxトークン。Uptoboxプレミアムアカウントから入手してください。
TORRENT_TIMEOUT:qBittorrentとAria2cを使用したデッドトレントのダウンロードのタイムアウト(秒単位)。
EXTENTION_FILTER:アップロード/クローンを作成しないファイル拡張。それらをスペースで区切ります。
INCOMPLETE_TASK_NOTIFIER:再起動後に不完全なタスクメッセージを取得します。データベースと(スーパーグループまたはチャネル)が必要です。デフォルトは
Falseです。
Bool
UPSTREAM_REPO
https://username:{githubtoken}@github.com/{username}/{reponame}:リポジトリがプライベート追加形式の場合は、githubリポジトリリンク。Github設定からトークンを取得します。したがって、再起動するたびに、いっぱいになったリポジトリからボットを更新できます。注:Dockerの変更や要件を変更した場合は、更新されたリポジトリを使用して再度デプロイ/ビルドして有効にする必要があります。.gitignoreファイルを削除しないでください。詳細については、これをお読みください。
UPSTREAM_BRANCH:更新のためのアップストリームブランチ。デフォルトは
masterです。
TG_SPLIT_SIZE:分割のサイズ(バイト単位)。デフォルトは
2GBです。
AS_DOCUMENT:テレグラムファイルアップロードのデフォルトタイプ。デフォルトは
Falseメディアとしての平均です。
Bool
EQUAL_SPLITS: TG_SPLIT_SIZEより大きいファイルを同じパーツサイズに分割します(zip cmdでは機能しません)。デフォルトは
Falseです。
Bool
CUSTOM_FILENAME:リーチされたファイル名にカスタムワードを追加します。
BASE_URL_OF_BOT:qbittorrentWeb選択を使用するためにボットがデプロイされている有効なBASEURL。URLの形式は
http://myip、である必要があります。ここで、
myipはボットのIP /ドメイン(パブリック)です。それ以外のポートを選択した場合は
80、この形式で記述してください
http://myip:port(
httpではありません
https)。このVarはVPSではオプションであり、アプリのスリープ/アイドリングを回避するためにHerokuに特に必要です。Herokufillの場合
https://yourappname.herokuapp.com。まだアイドリングしていますか?http://cron-job.orgを使用して、Herokuアプリにpingを実行できます。
SERVER_PORT:BASE_URL_OF_BOTポートであるがで
IS_VPSあっても、VPSの場合のみ。
False
WEB_PINCODE:空の場合、または
FalseqbitWeb選択中にピンコードが不要であることを意味します。
Bool
QB_SEED:QBトレントは、アップロード後に特定の比率または時間に達するまでシードされ、qbittorrent.confから編集
MaxRatioまたはその両方が行われます(制限はありませんが、uはgidによって手動でキャンセルできます)。注:1。変更しないでください。2。とでのみ機能します。デフォルトはです。
GlobalMaxSeedingMinutes
-1
MaxRatioAction
/qbmirror
/qbzipmirror
False
Bool
MaxConnecsを減らし、制限をに設定します。
AsyncIOThreadsCount
DiskWriteCacheSize
32
RSS_DELAY:rssリフレッシュ間隔の秒単位の時間。
900少なくとも2番目をお勧めします。デフォルトは
900秒単位です。
RSS_COMMAND:目的のアクションのコマンドを選択します。
RSS_CHAT_ID:RSSリンクが送信されるチャットID。チャネルを使用している場合は、チャネルIDを追加します。
USER_SESSION_STRING:ボットが自分自身または他のボットからコマンドを読み取らないため、ボットをチャネルに追加してからチャネルをグループにリンクしてrssリンクを取得する代わりに、テレグラムアカウントからrssリンクを送信します。セッション文字列を生成するには
python3 generate_string_session.py、repoフォルダをマウントした後にこのコマンドを使用してください。
DATABASE_URLで
RSS_CHAT_IDない場合、すべてのrssコマンドが機能しません。グループでボットを使用する必要があります。ボットをチャネルに追加し、このチャネルをグループにリンクを追加して、ボットからチャネルに送信されたメッセージがを使用せずにグループに転送されるようにすることができます
USER_STRING_SESSION。
ACCOUNTS_ZIP_URL:インデックスリンクから外部に、またはWebページリンクではなく直接ダウンロードリンクによってサービスアカウントをロードする場合のみ。アカウントフォルダをZIPファイルにアーカイブします。これにzipファイルの直接ダウンロードリンクを入力します。インデックスに認証が必要な場合は、以下に示すように直接ダウンロードを追加します。
https://username:[email protected]/...
TOKEN_PICKLE_URL:インデックスリンクからtoken.pickleを外部にロードする場合のみ。そのファイルの直接リンクをこれに入力します。
MULTI_SEARCH_URL:ここで
drive_folder設定を確認してください。ここにdrive_folderファイルを書き込みます。その要点の生ファイルを開きます。そのURLが必要な変数になります。コミットIDを削除した後は、次の形式である必要があります:https ://gist.githubusercontent.com/username/gist-id/raw/drive_folder
YT_COOKIES_URL:Youtube認証Cookie。ここでセットアップを確認してください。gist rawリンクを使用し、リンクからコミットIDを削除して、要点からのみ編集できるようにします。
NETRC_URL:.netrcファイルを作成するには、aria2cおよびyt-dlpの認証が含まれています。gist rawリンクを使用し、リンクからコミットIDを削除して、要点からのみ編集できるようにします。注:.ntercを編集した後、dockerを再起動する必要があります。または、herokuにデプロイされている場合は、編集がaria2c認証に関連する場合に備えて、dynoを再起動します。
MEGA_API_KEY:mega.nzリンクをミラーリングするMega.nzAPIキー。MegaSDKページから入手してください
MEGA_EMAIL_ID:プレミアムアカウントを使用するためにmega.nzにサインアップするために使用されるEメールID。
MEGA_PASSWORD:mega.nzアカウントのパスワード。
SHORTENER_API:ShortenerAPIキーを入力します。
SHORTENER:短縮URL。
exe.io、gplinks.in、shrinkme.io、urlshortx.com、shortzon.com、bit.ly、shorte.st、linkvertise.com、ouo.io、adfoc.us、cutt.ly
CRYPT:gdtotgoogleドライブリンクジェネレーターのCookie。次の手順に従ってください。
TORRENT_DIRECT_LIMIT:トレント/ダイレクトミラーのサイズを制限します。ユニットを追加しないでください。デフォルトの単位は
GBです。
ZIP_UNZIP_LIMIT:zipおよびunzipコマンドのサイズを制限します。ユニットを追加しないでください。デフォルトの単位は
GBです。
CLONE_LIMIT:複製できるGoogleドライブのフォルダ/ファイルのサイズを制限します。ユニットを追加しないでください。デフォルトの単位は
GBです。
MEGA_LIMIT:メガダウンロードのサイズを制限します。ユニットを追加しないでください。デフォルトの単位は
GBです。
STORAGE_THRESHOLD:特定のストレージを無料のままにしておくと、ダウンロードすると、この値より少ない空きストレージがキャンセルされます。ユニットを追加しないでください。デフォルトの単位は
GBです。
VIEW_LINK:直接ダウンロードリンクの代わりにブラウザでファイルインデックスリンクを開くための[リンクの表示]ボタン。インデックスコードと互換性があるかどうかを確認し、インデックスからビデオを開いて、URLがで終わるかどうかを確認でき
?a=viewます
True。BhadooIndexコードと互換性があります。デフォルトは
Falseです。
Bool
ドライブリンク、インデックスリンク、ビューリンクを含む3つのボタンがすでに追加されています。以下のエントリがわからない場合は、ボタンを空のままにしておくことができます。
BUTTON_FOUR_NAME:
BUTTON_FOUR_URL:
BUTTON_FIVE_NAME:
BUTTON_FIVE_URL:
BUTTON_SIX_NAME:
BUTTON_SIX_URL:
SEARCH_API_LINK:APIアプリのリンクを検索します。このリポジトリのデプロイからAPIを取得します。
1337x、Piratebay、Nyaasi、Torlock、Torrent Galaxy、Zooqle、Kickass、Bitsearch、MagnetDL、Libgen、YTS、Limetorrent、TorrentFunk、Glodls、TorrentProject、YourBittorrent
SEARCH_LIMIT:検索APIの検索制限、各サイトの制限であり、全体的な結果の制限ではありません。デフォルトはゼロです(各サイトのデフォルトのAPI制限)。
SEARCH_PLUGINS:qBittorrent検索プラグインのリスト(github rawリンク)。私はいくつかのプラグインを追加しました、あなたはあなたが望むようにプラグインを削除/追加することができます。主な情報源:qBittorrent Search Plugins(公式/非公式)。
ノート
generate_drive_token.py生成されたリンクは、ローカルブラウザからのみ開くことができます。
pip3 install google-api-python-client google-auth-httplib2 google-auth-oauthlib python3 generate_drive_token.py
重要な注意事項:
SERVER_PORT変数を、
80または使用するその他のポートに設定する必要があります。
sudo docker container prune
sudo docker image prune -a
nproccmdを使用してマシンの処理ユニットの数を確認し、 4倍してから
AsyncIOThreadsCount、qBittorrent.confで編集します。
anasty17/mltb:arm64oracleまたはarm64/v8に 使用します。
sudo dockerd
sudo snap start docker
sudo apt install docker.io
sudo docker build . -t mirror-bot
sudo docker run -p 80:80 mirror-bot
sudo docker ps
sudo docker stop id
注:80以外のポートを使用する場合は、docker-compose.ymlでも変更してください。
sudo apt install docker-compose
sudo docker-compose up
sudo docker-compose up --build
sudo docker-compose stop
sudo docker-compose start
mirror - Mirror zipmirror - Mirror and upload as zip unzipmirror - Mirror and extract files qbmirror - Mirror torrent using qBittorrent qbzipmirror - Mirror torrent and upload as zip using qb qbunzipmirror - Mirror torrent and extract files using qb leech - Leech zipleech - Leech and upload as zip unzipleech - Leech and extract files qbleech - Leech torrent using qBittorrent qbzipleech - Leech torrent and upload as zip using qb qbunzipleech - Leech torrent and extract using qb clone - Copy file/folder to Drive count - Count file/folder of Drive watch - Mirror yt-dlp supported link zipwatch - Mirror yt-dlp supported link as zip leechwatch - Leech through yt-dlp supported link leechzipwatch - Leech yt-dlp support link as zip leechset - Leech settings setthumb - Set thumbnail status - Get Mirror Status message rsslist - List all subscribed rss feed info rssget - Get specific No. of links from specific rss feed rsssub - Subscribe new rss feed rssunsub - Unsubscribe rss feed by title rssset - Rss Settings list - Search files in Drive search - Search for torrents with API cancel - Cancel a task cancelall - Cancel all tasks del - Delete file/folder from Drive log - Get the Bot Log shell - Run commands in Shell restart - Restart the Bot stats - Bot Usage Stats ping - Ping the Bot help - All cmds with description
UPSTREAM_REPO変数は、リポジトリ内の任意のファイルの編集/追加に使用できます。
UPSTREAM_REPOの変数ダイレクトリンクを追加する必要はありません。プライベートファイルを含むすべてのファイルを取得する場合は、プライベートファイルに入力するだけです。
UPSTREAM_REPOand your private files in this private repository, so your private files will be overwritten from this repository. Also if you are using URL variables like
TOKEN_PICKLE_URLthen all files from those variables will override the private files that added before deploying or from private
UPSTREAM_REPO.
UPSTREAM_REPOwith the official repository link then be carefull incase any change in requirements.txt your bot will not start after restart. In this case you need to deploy again with updated code to install the new requirements or simply by changing the
UPSTREAM_REPOto you fork link with that old updates or make it empty if deployed master branch.
UPSTREAM_REPOwith your fork link be carefull also if you fetched the commits from the official repository.
UPSTREAM_REPOwill take affect only after restart.
UPSTREAM_BRANCHdon't ever fill heroku here.
For Service Account to work, you must set
USE_SERVICE_ACCOUNTS= "True" in config file or environment variables. NOTE: Using Service Accounts is only recommended while uploading to a Team Drive.
Let us create only the Service Accounts that we need.
警告:この機能の乱用はこのプロジェクトの目的ではありません。多くのプロジェクトを作成することはお勧めしません。1つのプロジェクトと100のSAで十分に使用できます。また、乱用しすぎるとプロジェクトが禁止される可能性があります。グーグル。
注:過去にこのスクリプトからSAを作成したことがある場合は、次を実行してキーを再ダウンロードすることもできます。
python3 gen_sa_accounts.py --download-keys $PROJECTID
注: 1つのサービスアカウントで1日あたり約750 GBをアップロード/コピーでき、1つのプロジェクトで100のサービスアカウントを作成できるため、1日あたり75 TBをアップロードするか、各ファイル作成者から2 TBのクローンを作成できます(アップローダーメール)。
これらの方法のいずれかを選択してください
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
アカウントという名前のフォルダーが作成され、サービスアカウントのキーが含まれます。
これらの方法のいずれかを選択してください
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 ..
次に、emails.txtからGoogleグループにメールを追加します。その後、このGoogleグループを共有ドライブに追加してマネージャーに昇格させ、アカウントフォルダーからemail.txtファイルを削除します。
python3 add_to_team_drive.py -d SharedTeamDriveSrcID
1.鉄道の利用
Provision PostgreSQL
PostgresSQL
Connect列に移動
Postgres Connection URLして入力します
DATABASE_URL
2.HerokuPostgreSQLの使用
3.ElephantSQLの使用
Create New Instance
Select Region
Review
Create instance
DATABASE_URL変数に入力します
マルチTD/フォルダのリストを使用します。ターミナルでdriveid.pyを実行し、それに従ってください。それはdrive_folderファイルを生成します、またはuは単に
drive_folder作業ディレクトリにファイルを作成してそれを埋めることができます、以下のフォーマットをチェックしてください:
MyTdName folderID/tdID IndexLink(if available) MyTdName2 folderID/tdID IndexLink(if available)
yt-dlpまたは保護されたインデックスリンクでプレミアムアカウントを使用するには、次の形式に従って.netrcファイルを作成します。
注:netrcではなく.netrcを作成します。このファイルは非表示になるため、非表示のファイルを表示して、作成後に編集します。
フォーマット:
machine host login username password my_password
例:
machine instagram login anas.tayyar password mypassword
Instagram注:公開投稿をダウンロードする場合でもログインする必要があります。最初の試行後、これが別のIPからログインしたことを確認する必要があります(電話アプリから確認できます)。
Youtube注:
youtube認証にはcookies.txtファイルを使用してください。
Aria2cを使用すると、ユーザー名の有無にかかわらず、ボットの組み込み機能を使用することもできます。ここでは、ユーザー名のないインデックスリンクの例を示します。
machine example.workers.dev password index_password
ここで、hostはエクストラクタの名前です(例:Instagram、Twitch)。異なるホストの複数のアカウントを、それぞれ新しい行で区切って追加できます。
クローンまたはLeechgdtotリンクを作成するには、次の手順に従います。
javascript:存在するかどうかを確認します。存在しない場合は、以下のように記述します。
javascript:(function () {
const input = document.createElement('input');
COOKIE = JSON.parse(JSON.stringify({cookie : document.cookie}));
input.value = COOKIE['cookie'].split('crypt=')[1];
document.body.appendChild(input);
input.focus();
input.select();
var result = document.execCommand('copy');
document.body.removeChild(input);
if(result)
alert('Crypt copied to clipboard');
else
prompt('Failed to copy Crypt. Manually copy below Crypt\n\n', input.value);
})();
NGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxWdSVT0%3D