自從買了一些廉價 VPS 以後,手上就閒置了一臺 Azure 的學生機,除了用來跑個 Trojan 暫時沒有其他的用途。正好最近想要下一些 BT 資源,而國內的 BT 環境懂的都懂,遂決定用這臺接近閒置的機器離線下載 BT。
首先聲明,所有 BT 下載行為需要自行承擔被版權投訴的風險。
安裝 Aria2
對於這些不是「基礎設施」的軟件,我更喜歡直接拉取一個 Docker 容器的方案。我採用了P3TERX/Aria2-Pro-Docker1,這套已經修改好的 Docker 容器。Docker 容器部署起來如出一轍:首先編輯docker-compose.yml,docker compose up把所有容器都跑起來,最後反代暴露的端口即可。
我的docker-compose.yml如下2:
| |
用 Caddy 反向代理
之前的反向代理,我都是用的基於 Nginx 的方案,而在這段時間裡關於 Caddy 的好評不絕於耳,這次的我便換用了 Caddy,當然,主要也是想嘗試一些新東西、新技術。
Caddy 的使用真的非常簡單,即使對新人也極其友好,例如,常用的反向代理本機某個端口,只需三行 Caddyfile 即可搞定。
| |
安裝 Caddy 請參考官方文檔,例如,我的服務器使用 Debian,則使用以下命令安裝:
| |
安裝完成後記得開放防火牆和從服務商策略組的 80 和 443 端口。
在域名服務商處將要綁定的域名指向服務器,就可以開始寫 Caddyfile 了。我們需要反向代理三個端口,分別用作不同的用途。我的 Caddyfile 如下:
| |
看到如此簡潔的配置文件,不由得感嘆,相比於 Nginx,Caddy 用起來真是令人心情舒暢。寫入配置完成後,重新啟動 Caddy3,就可以開始欣賞 Caddy 自動幫你申請 SSL 證書配置好 HTTPS 的絕贊過程。至此,反向代理的部分也就完成了。
配置 Aria-NG
Aria-NG 只是一個前端面板,可以和任何 Aria2 後端通信,為此,我們需要給 Aria-NG 提供配置信息。進入剛剛反代好的 Aria-NG 面板,轉到 AriaNG 設置,填入配置信息。

其中,RPC 地址是剛剛反代好的 RPC 地址,協議選擇 HTTPS,請求方法選擇 POST,RPC 密鑰是在docker-compose.yml裡replace-me處你所替換的值。
若「Aria2 狀態」旁出現「已連接」,說明配置正確。
用 Alist 映射下載目錄
我們通過 Alist 映射下載目錄,以更方便的查看、管理和下載服務器上已經下載好的文件。Alist 同樣也通過 Docker 部署,由於 Alist 本身在容器內運行們,無法訪問容器外的文件,部署時需要將 Aria2 的下載目錄提前 Bind 到 Alist 的容器下。
我的docker-compose.yml如下:
| |
第一次啟動 Alist 時,Alist 會隨機生成admin用戶的密碼,所以,第一次啟動這套編排時,最好不要帶-d參數,而是直接docker compose up,並把容器啟動後的輸出妥善保存。如果不小心沒有保存管理員密碼,可以用這個命令重新隨機生成一個:
| |
成功登錄 Alist 之後就可以開始掛載目錄了。

驅動選擇本機存儲,掛載路徑需要注意,按照我的編排,我將容器外的/home/azureuser/aria2/aria2-downloads目錄掛載到了容器內的/aria2-downloads,所以掛載路徑應該是/aria2-downloads。
完成
現在所有的服務都已經部署上線了,打開 AriaNG 可以添加下載任務,下載好的文件可以打開 Alist 看到,下載,以及在線觀看。
搭建這套服務之前,請仔細查看 VPS 提供商的服務條款,確保 BT 下載行為不會違規。以及,除了盧森堡等少數國家/地區,下載被 DMCA 保護的資源可能會遭到投訴,這些風險都需要你自行承擔。
反正我這 Azure 的學生機也是白嫖的,被投訴回收了我也無所謂,不管怎樣,現在可以心無旁騖的享受找資源的快樂了。
當然也可以試一試SuperNG6/docker-aria2 ↩︎
參考原作者的
docker-compose.yml↩︎

評論已停用,直到您接受功能性 Cookie。