(目前) 🤖 一個分散式跨平臺的,可以控制你的Aria2伺服器、控制伺服器檔,同時可以上傳到OneDrive/Google Drive的Telegram Bot。
以下僅為本程式完成後的設想,目前描述的功能並沒有完全實現,實現的詳情請參考下面的功能實現
這個項目主要就是利用吃灰小盤vps進行離線下載,對於大bt檔進行根據硬碟大小分段下載,每次都下載一部分,然後上傳網盤,刪除再下載其他部分,直到下載完所有檔。
同時,通過機器人協議通信,方便在無法進行內網穿透的機器上進行使用,而且簡化了平時使用下載程式的操作,提高了便利性。對於連結,直接向Bot發送消息就可以直接識別並下載,可以真正刪除下載檔案夾裡的檔,是AriaNG等web面板無法做到的,作為管理下載的工具,及時通知下載完成都是非常的方便的。可以移動檔,對於通過rclone掛載硬碟的使用者可以直接通過本程式進行複製粘貼等操作,無需打開ssh連接VPS進行cp
操作,也非常的方便。
注意:本項目仍處於測試階段,提交的Release僅供測試,現在下載後並不保證您的穩定使用,也不能保證下面所勾選的內容已經被實現。當真正可以正常使用的時候,我會提交 V1.0 版本(V1.0 版本不會實現下面全部功能,但是已經可以正常穩定的使用)
只有已勾選的內容為目前實現的內容
- Aria2 控制
- 持久化監控
- 斷線重連
- 多下載伺服器同時控制
- 使用GRPC實現多伺服器下載資訊通知
- SimpleTorrent 控制
- qbittorrent 控制
- Telegram Bot
- 支援多用戶使用
- 支援群組內使用
- 騰訊QQ(使用普通QQ用戶來進行交互)
- 釘釘機器人
- 控制伺服器檔
- 刪除檔
- 移動文件
- 壓縮檔
- 解壓文件
- 下載檔案
- 下載 HTTP/FTP 連結
- 下載 Magnet 連結
- 下載 BitTorrent 文件內的文件
- 智慧 BitTorrent/Magnet 下載方式
- 只選擇下載最大的文件
- 根據檔大小智慧選擇檔,不選擇小文件
- 下載OneDrive/SharePoint 分享連結中的檔(Python demo)
- xxx-my.sharepoint.com 下載連結的下載
- 無下載密碼的多檔推送
- 有下載密碼的多檔推送
- 嵌套資料夾的文件推送
- 任意選擇檔推送
- xxx.sharepoint.com 下載連結的下載
- xxx-my.sharepoint.cn 下載連結的下載(理論上支持)
- xxx-my.sharepoint.com 下載連結的下載
- 自我調整環境存儲空間的 BitTorrent/Magnet 下載
- 不下載超過存儲空間的檔
- 根據存儲空間分塊多次下載 BitTorrent/Magnet 內的檔
- 根據具體的硬碟容量制定合適的下載列表
- 無感覺化的做種功能
- 每次下載BitTorrent/Magnet檔後,保留最後一次下載的檔進行做種,直到下一次下載開始。
- 可設置每次下載結束後強制做種一段時間
- 上傳文件
- 下載完成後,向 OneDrive 上傳檔
- 中斷點續傳
- 支持世紀互聯
- 下載完成後,向 Google Drive 上傳檔
- 自訂上傳分塊大小
- 自訂上傳執行緒數
- 自訂超時時間
- 下載完成後,向 Mega 上傳檔
- 下載完成後,向 天翼網盤 上傳文件
- (當使用Telegram進行通信時)下載完成後,向 Telegram 上傳檔
- 當檔超過2GB時,分塊壓縮後再進行上傳
- 下載完成後,向 OneDrive 上傳檔
- 附加其他功能
- 多語言支援
- 簡體中文
- 英語
- 繁體中文
- 日語
- 無人值守的BT站下載
- Nyaa
- ThePirateBay
- 其他功能
- 檔樹輸出系統
- 對於簡單資料夾的文件樹輸出
- 對於複雜資料夾結構使用多消息輸出
- 通過演員ID獲取在DMM中使用的所有CID
- 查詢 "ikoa"中的影片參數(利用mahuateng)
- 通過javlibary演員網址獲得所有演員的編號。
- 查詢dmm cid資訊、預覽影片、預覽圖片。
- 在sukebei中按關鍵字搜索。
- 根據關鍵字在dmm中搜索,最多30項。
- 輸入dmm連結,列出所有專案。
- 搜索當前dmm熱門和最新電影,限制30條(測試版)
- 檔樹輸出系統
- 多語言支援
- 完全基於觸摸,更容易使用,使用這個機器人基本不需要命令。
- 即時通知,使用Aria2的Websocket協議進行通信。
- 更好的設定檔支持。
- 通過 @BotFather 創建您自己的bot並使用。
- (可選)您所在地區/國家的Telegram被封鎖?一定要有一個 HTTP proxy啟動並運行,您可以設置您的系統環境變數
HTTPS_PROXY
為代理位址來進行代理。 - 下載本程式
- 在想要執行本程式的根目錄配置
config.json
- 運行可執行檔
./DownloadBot
或./DownloadBot.exe
。
{
"input": {
"aria2": {
"aria2-server": "ws://127.0.0.1:6800/jsonrpc",
"aria2-key": "123456"
}
},
"output": {
"telegram": {
"bot-key": "",
"user-id": ""
}
},
"max-index": 10,
"sign": "Main Aria2",
"language": "en",
"downloadFolder": "/root/download",
"moveFolder": "/root/upload",
"server": {
"isServer": true,
"isMasterServer": true,
"serverHost": "127.0.0.1",
"serverPort": 23369
},
"log": {
"logPath": "",
"errPath": "",
"level": "info"
}
}
-
input: 輸入端,目前僅支持aria2
- aria2-server:aria2伺服器位址,默認使用websocket連接。如果要使用websocket連接aria2,請務必設置
aria2.conf
內的enable-rpc=true
。如果不是必須,請儘量設置本地的aria2位址,以便於最大化的使用本程式 - aria2-key:
aria2.conf
中rpc-secret
的值
- aria2-server:aria2伺服器位址,默認使用websocket連接。如果要使用websocket連接aria2,請務必設置
-
output: 輸出端,目前僅支援telegram
-
bot-key:Telegram Bot的標識,通過 @BotFather進行獲取。
-
user-id:管理員的ID~~,支援設置多用戶為管理員,不同的用戶之間使用半形逗號
,
分割。如您要設置user-id
為123465789、987654321和963852741的使用者為管理員,您需要這樣設置:~~{ //··· "user-id": "123456789", //··· }
-
max-index:下載資訊最大顯示數量,建議10條(以後會改進)
-
sign:此機器人的標識,如果需要多個伺服器連接同一個機器人,通過這一項可以確定具體是哪一台伺服器
-
language:機器人輸出的語言
-
downloadFolder:Aria2下載檔案保存的位址。如果不使用,請輸入
""
-
moveFolder: 要將下載檔案夾的文件移動到的資料夾。如果不使用,請輸入
""
-
server:伺服器配置
- isServer:是否開啟伺服器(false為用戶端)
- isMasterServer:是否為主要伺服器
- serverHost:如果是用戶端,此項需要填寫伺服器位址,如果是主要伺服器,此項為本機地址
- serverPort:如果是用戶端,此項需要填寫伺服器埠,如果是主要伺服器,此項為提供給用戶端的埠
-
log:日誌配置
- logPath:日誌檔保存位址,如果不使用,請輸入
""
(目前不支援) - errPath:錯誤日誌檔保存位址,如果不使用,請輸入
""
(目前不支援) - level:日誌等級,可選項為
debug
、info
、warn
、error
、fatal
,默認為info
- logPath:日誌檔保存位址,如果不使用,請輸入
語言 | 標籤 |
---|---|
英語 | en |
簡體中文 | zh-CN |
繁體中文 | zh-TW |
當您在config.json
中填寫上面語言的標籤的時候,程式會自動下載語言包
如果您不知道您的 user-id
,可以將此項留空,在運行這個機器人後輸入/myid
,此機器人就會返回您的user-id
.
如果您覺得本程式對您有幫助,您可以通過捐贈的方式支持我,謝謝!