原文地址:https://blog.jmsooo.com/index.php/edge/85.html
原文做者:捲毛鼠php
前言
本系列教程基於Github開源項目magneto-python-aria進行操做。html
在一切的開始以前,本文會涉及基礎的Linux系統操做指令,咱們已經盡最大限度簡化難度,如cd,nano,pip3,apt install等命令可是大部分都是複製黏貼,極少部分是本身操做。python
由於在2020年9月份-10月份這段時間,谷歌(Google)網盤政策的調整,使谷歌(Google)網盤轉存,有了單帳號日額2T的限制。git
舉例說明
例如這個 MKV 文件,能夠看到文件全部者是 mfc-l0le ,文件大小是 20GB ,因此按照谷歌(Google)如今的限制,mfc-l0le這個帳戶的文件一共能夠被轉存、複製、下載 2048/50=40.96 次,也就是說,大概 40 次,第四十一次可能轉存、下載、複製不了也可能能夠轉存、下載、複製。當達到2T上限時,上面的 .nfo 文件,也是沒法轉存了的,全部文件屬於 mfc-l0le 這個帳戶的文件都將被限制。github
一直到 24 小時後,才能夠繼續轉存。這就是爲何如今有一些人的團隊盤之間(Team Drive To Team Drive)轉存也會出現問題的緣由,能轉存是由於轉存前都是 SA 文件全部者,而SA又是分散的,因此不多達到上限。web
以上是谷歌如今的限制,因此公開分享基本上會被不少人轉存,只能賭運氣。從而如今只能轉回到 PT/BT 下載, PT 站的限制又是比較多的,因此 PT 是不在本文的考慮中,本文主要介紹是 BT 下載方式,也就是磁力連接和種子。docker
開始
前期準備shell
一、須要 VPS/Server ,系統請採用 Ubuntu18.04 由於 Github 上項目暫且不支持 CentOS 系統。VPS 的硬盤大小,取決了你能夠下載文件的大小,全部下載的文件都會進行硬盤容量預分配,因此假如你的 VPS 硬盤大小安裝完本項目後是 40G ,下載的文件是 20G ,那在這個下載文件讀取完磁力連接/種子信息後,開始下載 0.00000001% 的時候,你剩下的硬盤將只有 20G 可使用,也就是說你接下來只能下載20G之內的文件。json
二、一個谷歌無限空間雲盤或一個谷歌無限團隊盤api
三、telegram帳戶和谷歌帳戶
四、酸酸乳或其它上網小工具
說幹就幹
登陸你的VPS,博主採用的是 Finalshell 鏈接 VPS ,附上工具下載連接Finalshell-WindowsFinalshell-MacOS
sudo -i
使用以上命令獲取root(管理員)權限,已經是root(管理員)權限無視此條。
apt-get update
更新軟件源
apt install docker.io
安裝docker
安裝完docker後
docker -v
查看 docker 版本,能出現 docker 版本就是正確的,能夠直接進入下一步。
開始構建項目
git clone https://github.com/magneto261290/magneto-python-aria mirror-bot/ && cd mirror-bot && sudo apt install python3 && apt install python3-pip
獲取項目並進入 mirror-bot 目錄並安裝 python3&pip3 ,若是出現 Do you want to continue 不用想,直接回車就行。
python3 -V
確認 python 版本是否爲 3.5 以上。若是不是,請按照谷歌教程安裝 python ,此處不另外去講,若是版本正確,請不要糾結,咱們繼續往下。
pip3 install -r requirements.txt
安裝依賴環境
生成telegraph token,並記錄
python3 generate_telegraph_token.py
生成用戶會話交互字符串,並記錄
這裏須要用到三個東西:
一、Bot_token:你的 Telegram 機器人的 token ,到 https://t.me/botfather 這裏獲取。【注1】 二、TELEGRAM_API = 到 https://my.telegram.org/ 獲取,App title 和 Short name 能夠隨意填寫,不影響使用,而後複製TELEGRAM_API 到此行 三、TELEGRAM_HASH = HASH 複製到此行
python3 generate_string_session.py
輸入後y後按回車(ENTER),會出現一大串亂碼同樣的,記錄下來,後須要用到。
cp config_sample.env config.env
拷貝 config_sample.env 文件並重命名爲 config.env
編輯config.env主配置文件
nano config.env
刪除掉第一行,從上到下的意思分別爲:
Bot_token:#你的Telegram機器人的token,到 https://t.me/botfather 這裏獲取。【注1】
GDRIVE_FOLDER_ID :#例如:https://drive.google.com/drive/u/5/folders/0AAFjrgbbqOFUk9PVA
則填入 0AAFjrgbbqOFUk9PVA
TELEGRAPH_TOKEN = #填入第一步產生的telegraph token
OWNER_ID = #到 https://t.me/userinfobot 獲取
DOWNLOAD_DIR = #默認文件下載路徑,能夠按需規劃填寫
DOWNLOAD_STATUS_UPDATE_INTERVAL = 5 #下載進度更新間隔,默認爲5s
AUTO_DELETE_MESSAGE_DURATION = 20 #bot自刪除命令和消息間隔,默認20s
IS_TEAM_DRIVE = "" #若是上傳到團隊盤,則填寫True,若是非團隊盤則留空或False
USER_SESSION_STRING = "" #填寫上面生成的用戶會話交互字符串
TELEGRAM_API = #https://my.telegram.org/ 獲取的API和API Hash填入此行和下行
TELEGRAM_HASH = "" #HASH複製到此行
USE_SERVICE_ACCOUNTS = "" #是否使用SA進行上傳,若是使用則填寫True
若是不知道什麼是SA建議留空,截圖由於失誤填寫了 True,你們不要模仿!
Ctrl+X
輸入以上命令保存退出,輸入Y而後按回車(ENTER)
配置GD受權
首先開啓 Drive API 並將下載的 credentials.json 上傳保存到你的 mirror-bot 目錄下面
輸入如下命令安裝依賴並獲取GoogleDrivetoken受權給bot。複製圖中標註部分連接到你的瀏覽器獲取受權代碼(authorization code)並輸入,按回車鍵即完成bot受權操做。此時會產生一個Token_pickle文件
pip3 install google-api-python-client google-auth-httplib2 google-auth-oauthlib && python3 generate_drive_token.py
構建核心Docker Image並啓動
輸入如下命令構建bot的docker鏡像,構建完成後會當即啓動,此過程等待時間較長請你們慢慢等待。
docker build . -t mirror-bot && docker run -idt mirror-bot
最終16個步驟安裝完成後是這樣的
而後到bot處,發送/help
這樣就表示咱們大功告成了!
如何使用
而後下載方式是/mirror + 磁力鏈接;種子使用的方法是把種子發送給Bot,而後對着種子回覆 /mirror 就能夠下載,下載完成後會自動回覆你 Drive Link ,能夠經過訪問此 link 定位到盤內文件。
【注1】Telegram建立Bot教程
一、登陸Telegram,並找到@BotFather
二、咱們使用 /new bot 指令 ,並按照指示爲你的Bot取個暱稱以及用戶名(Bot的用戶名必需以bot結尾) 而後你就建立好了你的第一個Telegram Bot!恭喜,是否是特別簡單?此時BotFather會給你一個很是很是重要的東西——Bot token,注意千萬要保管好它哦!
後記
因爲谷歌雲盤的開放性,請勿在法律邊緣無限試探,請合理使用!
Love&Share
[ 完 ]
本文分享自微信公衆號 - 鹹魚學Python(xianyuxuepython)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。