本文Ivon介紹如何在Linux系統使用JDownloader,以及遠端管理下載任務。
Ivon偶爾會到伊莉論壇下載盜版資源。當遇到大批檔案需要下載的時候,一個一個點太麻煩了,瀏覽器不足以應付,這時需要一款下載管理器。
這時Ivon會使用「JDownloader 2」,這是一款以Java寫成的開源下載管理器,由Appwork GmbH公司開發,支援Linux/Windows/macOS系統。
雖然JDownloader界面有點醜,但Ivon覺得其功能完善:
- 下載免費雲端空間(簡稱免空)所上傳之檔案,例如Google Drive、MEGA、OneDrive。另支援登入免空帳號以取得下載權限。
- 支援下載網頁中全部的圖片
- 支援下載Youtube、Twitter、Facebook、Instagram等網頁中的影片。
- 可下載部份盜版串流網站的影音檔,例如楓林網、小鴨影音。
- 支援用網頁或手機APP遠端控制下載任務
- 自動繞過驗證碼
- 支援斷點續傳
由此可見,JDownloader主要是用來下載免空檔案,不支援BT種子與磁力連結。
Ivon覺得使用下載器的好處為,批次下載只需要提供連結,就能讓下載器自動排程下載檔案,自動解壓縮。
更重要的是,一時下載不完,關掉後重開仍可以恢復上次任務。且在外面需要管理電腦下載需求的話,還能夠用My JDownloader的網頁、APP遠端存取。
1. 安裝JDownloader#
至 官網下載安裝檔。
JDownloader本身是用Java寫的,所以具有跨平台能力。
我選擇安裝 Flatpak版,因為Java已經包在裡面了,可於任一Linux發行版安裝:
flatpak install flathub org.jdownloader.JDownloader
2. JDownloader基礎使用方式#
開啟後完成初始化,點選設定 → 設定,切換界面語言為中文。
點選設定,給下載限制速度,防止吃光電腦網速
接著點選左下角「新增連結」按鈕,加入下載網址。
在這裡貼上網址讓JDownloader分析。
順帶一提JDownloader會偵測瀏覽器內的複製動作,所以您可以在瀏覽器連續複製連結,JDownloder會自動將其加入列表分析。
如果檔案需要登入才能取得,您也可以先點選設定 → 設定 → 帳號管理,新增該網站的帳號。
如果網站帳號不受JDownloader支援呢?通常網站登入是吃cookie,因此把瀏覽器免空登入的 cookie匯出給JDownloader用即可。
JDownloader會自動分析網址,並在「連結擷取器」顯示抓到的檔案下載連結。免空的話應該會顯示檔案下載連結,影片網站則會過濾出該頁面可用的檔案。
確認檔案無誤後,按左上角播放鍵開始下載。
下載後的壓縮檔會自動解壓縮。下載完成記得右鍵移除下載列表。
3. My JDownloader遠端控制下載任務#
JDowonloader的開發公司提供免費的"My JDownloader"服務,註冊後即可遠端連線到電腦上的JDownloader客戶端,無需開啟防火牆或使用內網穿透軟體。
註冊 My JDownloader帳號。不知為何JDownloader的網頁Firefox會跑版,Google Chrome卻不會。
開啟JDownloader → 設定 → 設定,於此輸入帳號,點選連線。
回到 My JDownloder網頁界面,重新載入,即會看到已連線的電腦,JDownloader開著的情況下隨時都能連線。
點選電腦名稱即可新增下載任務。操作邏輯跟桌面版一樣,點右下角Add Links加入連結,並按左上角播放鍵開始下載任務。
您還可以用 Android官方APP遠端存取JDownloader。
4. 以headless模式執行JDownloader (Docker)#
如果您的Linux裝置(如樹莓派、NAS)沒有螢幕,卻想遠端存取JDownloader?就用Docker跑JDownloader,再用My JDownloader網頁界面存取吧。
Github用戶 Antoine Lafarge製作的JDownloader映像檔,支援x86與ARM架構的裝置。
安裝 Docker
新增存放資料目錄,並調整寫入權限
cd ~
mkdir jdownloader_docker
mkdir jdownloader_docker/downloads jdownloader_docker/cfg jdownloader_docker/logs
sudo chmod -R 770 jdownloader-docker
cd jdownloader-docker
- 撰寫
docker-compose.yml
:
services:
jdownloader:
image: antlafarge/jdownloader:latest
container_name: jdownloader-docker
restart: unless-stopped
user: 1000:1000 # optional
volumes:
- "./downloads:/jdownloader/downloads/" # 冒號左邊是檔案下載路徑,這裡使用docker-compse.yml所在資料夾的目錄
- "./cfg:/jdownloader/cfg/" # JDownloader設定檔路徑
- "./logs:/jdownloader/logs/" # JDownloader日誌路徑
environment:
- "JD_EMAIL=<JD_EMAIL>" # My JDownloader帳號
- "JD_PASSWORD=<JD_PASSWORD>" # My JDownloader密碼
- "JD_DEVICENAME=jdownloader@docker" # 主機名稱
ports:
- "3129:3129"
- 可能需要開放防火牆的3129通訊埠
sudo ufw allow 3129
sudo ufw reload reload
- 啟動容器服務
sudo docker compose up -d
- 在其他裝置開啟 My JDownloader的頁面,即會看到Docker出現在裝置列表了。