跳到內容

下載器

設定

連線你的下載 App,讓 HolyArrs 可以把發行版送給它,並匯入下載完成的檔案。

HolyArrs 本身不會下載。它把每個發行版交給下載器,追蹤進度,再匯入檔案。

類型 App
Torrent qBittorrent、Transmission 4 或更新版本、Deluge、rTorrent(有沒有 ruTorrent 都可以)
Usenet SABnzbd、NZBGet
  • 你是擁有者或管理員。
  • 你的下載 App 正在執行,而且你可以開啟它的 Web 頁面。
  1. 開啟 Settings > Downloaders(設定 > 下載器)。

  2. 按下 Add a Downloader(新增下載器)。

  3. 在 Which app(哪個 App)底下,選擇你的 App。

  4. 輸入 Name(名稱)。

  5. 輸入 Address(位址),也就是這個 App 的 Web 頁面,例如 http://192.168.1.10:8090。rTorrent 請見 rTorrent 位址。

  6. 填入登入資料。請見各個 App 的登入方式。

  7. 按下 Save(儲存),再按該列的 Test(測試)。

    你應該會在名稱旁看到 Working(正常運作)。

App 要輸入什麼 在哪裡找
qBittorrent API key(API 金鑰)(qBittorrent 5.2 或更新版本),或 Username and password(使用者名稱和密碼) Options > Web UI
Transmission 使用者名稱和密碼;如果它沒有要求,就留空 Transmission 設定
Deluge Web UI 密碼,不需要使用者名稱 Deluge Web UI
rTorrent rTorrent 前面那台 web 伺服器的使用者名稱和密碼;如果它沒有要求,就留空 你的 web 伺服器或 seedbox 設定
SABnzbd API 金鑰 Config > General
NZBGet 使用者名稱和密碼;如果 NZBGet 讓 HolyArrs 免登入進入,就留空 NZBGet 設定

HolyArrs 會把金鑰和密碼加密儲存,之後不會再顯示。欄位不動,就是沿用已儲存的那一組。如果你把位址改成另一台主機,要重新輸入金鑰。HolyArrs 絕不會把已儲存的金鑰送給新的主機。

HolyArrs 透過 XML-RPC 和 rTorrent 溝通。Address 是那個連結,不是 ruTorrent 頁面。

設定方式 位址
crazymax/rtorrent-rutorrent http://host:8000/RPC2。那裡的 port 8080 是 ruTorrent 頁面
透過 ruTorrent http://host:8080/plugins/httprpc/action.php;如果 ruTorrent 放在 /rutorrent 底下,就用 /rutorrent/plugins/httprpc/action.php。/plugins/rpc/rpc.php 也可以
Seedbox seedbox 提供的連結,例如 https://host/user/RPC2

沒有路徑的位址會自動補上 /RPC2。已用 rTorrent 0.16.25 和 ruTorrent 5.3.18 測試過。

HolyArrs 會自己取得每個 .torrent 檔案再送給 rTorrent,所以 rTorrent 絕不會連到來源。

如果 rTorrent 跑在另一台電腦上,HolyArrs 看不到它的下載資料夾。請設定同步,把下載完成的檔案複製到 HolyArrs 看得到的資料夾。然後在路徑底下新增一組路徑對應:Downloader’s path 填 seedbox 上的資料夾,例如 /home/user/downloads,HolyArrs’ path 填同步會放入檔案的本機資料夾。

對 qBittorrent 來說,這些在 More options(更多選項)底下。

HolyArrs 會把它的下載放進這個分類,而且只追蹤這個分類。

App 分類的運作方式
qBittorrent 如果沒有,會幫你建立
SABnzbd 必須先存在,位置在 Config > Categories
Transmission、Deluge 以標籤形式儲存
rTorrent 以標籤形式存在 d.custom1,顯示在 ruTorrent 的 Label 欄
NZBGet 作為下載分類送出

Priority(優先順序)範圍是 1 到 50。數字最小的先用,數字相同的輪流用。有設 Tags 的話,只有共用同一個 tag 的作品會使用這個下載器。沒有 tag 的作品則使用沒有 tag 的下載器。

只有在兩個 App 看到的下載資料夾名稱不一樣時,才需要在 Different folder names(不同的資料夾名稱)底下填寫 Downloader’s path(下載器的路徑)和 HolyArrs’ path(HolyArrs 的路徑)。例如:下載器存到 /data/torrents,HolyArrs 看到的卻是 /downloads。Add a path pair(新增路徑對應)可以再加一列。

比較好的做法是用同一個上層資料夾,並在兩個 container 裡掛載到相同的路徑。請見資料夾。

預設為開啟,因為下載器通常跑在家裡。如果下載器在網際網路上,就把它關閉。

HolyArrs 可以變更這個下載器

連結到「HolyArrs 可以變更這個下載器」

關閉的話,新的下載還是會送到這裡,但 HolyArrs 絕不會暫停、變更或移除裡面已有的任何東西。如果這個下載器你也和其他 App 共用,就用這個設定。

作品頁面會顯示每一個下載:排隊等待中、下載中(附速度和剩餘時間)、卡住了,或失敗(附原因)。

如果不想要某個下載,按下 Mark failed(標記為失敗)就能結束它。接著 HolyArrs 會:

  1. 把那個發行版加進作品的 Turned down(已棄用)清單,之後就不會再選到它。
  2. 把它連同檔案從下載器移除。
  3. 重新搜尋,並送出下一個最好的發行版。

rTorrent 無法透過 XML-RPC 刪除檔案,所以 HolyArrs 會自己刪除,前提是它的儲存資料夾或路徑對應能到達那些檔案。否則檔案會留在 rTorrent 那台電腦上。

如果沒有其他發行版符合你的規則,作品會顯示 Needs a decision(需要決定)。

狀態 意思
Working 有回應上一次的檢查
Paused(已暫停) 你暫停了它。不會再送新的東西,但還是會追蹤進行中的下載
Resting(休息中) 它沒有回應,所以 HolyArrs 會等到顯示的時間
Not answering(沒有回應) 上一次檢查沒有得到回應
Sign-in refused(登入被拒) 金鑰或登入資料被拒絕

該列的 Pause(暫停)和 Resume(繼續)可以停止或恢復送出。沒有回應的下載器,最久會被略過 30 分鐘。

症狀: Address 用主機名稱時,SABnzbd 的測試失敗。 原因: SABnzbd 會拒絕它不認識的主機名稱。 解決方式: 改用它的 IP 位址,或把 HolyArrs 的主機名稱加進 SABnzbd 的 host_whitelist,位置在 Config > Special。

症狀: SABnzbd 說缺少分類。 解決方式: 到 SABnzbd 的 Config > Categories 建立分類,再按 Test。

症狀: Deluge 無法運作。 解決方式: 在 Deluge Web UI 裡自己連到你的 daemon,並開啟 Label 外掛。HolyArrs 不會幫你挑 daemon。

症狀: rTorrent 測試顯示 404 或找不到。 原因: port 或路徑不對。使用 crazymax/rtorrent-rutorrent 時,8000 是 XML-RPC,8080 是 ruTorrent 頁面。 解決方式: 使用 http://host:8000/RPC2,或使用 rTorrent 位址裡的 ruTorrent 路徑。

症狀: rTorrent 顯示 not allowed for untrusted connections。 原因: ruTorrent 擋下了 HolyArrs 需要的指令。 解決方式: 更新 ruTorrent,或把 Address 改指向 rTorrent 的 /RPC2。

症狀: rTorrent 以大小限制錯誤拒絕某個發行版。 解決方式: 在 rTorrent 的設定裡調高 network.xmlrpc.size_limit。在 crazymax/rtorrent-rutorrent 裡,請設定 XMLRPC_SIZE_LIMIT。

症狀: 來自設有 proxy 的來源的 .torrent 或 .nzb 被拒絕。 原因: Transmission、Deluge、rTorrent 和 NZBGet 目前還不能透過有 proxy 的來源接收這些檔案。磁力連結可以用。

症狀: 某一列顯示 Check whether this download arrived(確認這個下載是否已送達)。 原因: Transmission、Deluge、rTorrent 或 NZBGet 在接收發行版時連線中斷了。HolyArrs 不會自己再送一次。 解決方式:

  1. 到下載器 App 裡找找看有沒有這個下載。
  2. 在 HolyArrs 裡按下 Give up on it(放棄它)。下載會留在下載器裡。如果想換一個,到 Needs a decision 底下選另一個發行版。

症狀: Sign-in refused。 解決方式: 從下載器複製金鑰或密碼,重新輸入,再按 Test。

更多內容請見疑難排解。

HolyArrs 如何挑選下載器
  • Torrent 發行版送給 torrent 下載器,Usenet 發行版送給 Usenet 下載器。
  • 優先順序數字最小的先用。數字相同的輪流用。
  • 已暫停和休息中的下載器會被略過。
  • 如果有一個拒絕了發行版,就改試同類型的下一個(Try the next Downloader)。
  • 預設情況下,送到同一個下載器的動作會間隔 2 秒。
  • Tag 必須相符。沒有 tag 的作品送到沒有 tag 的下載器。
下載出問題時:哪些情況算失敗,以及相關設定

HolyArrs 會把下列情況當成 Mark failed 處理:

  • 下載器放棄了(缺少部分、修復失敗)。畫面會顯示它的原因。
  • 下載內容裡有程式,例如 .exe、.bat、.scr 或 .lnk,包括 movie.mkv.exe。
  • 下載看起來是假的:有密碼說明、只有壓縮檔而沒有影片或音訊,或只有網頁捷徑而旁邊沒有媒體。Torrent 的檔案清單一收到就會讀取,所以假檔在下載之前就會失敗。
  • 檔案和發行版名稱對不上。匯入會被拒絕,下載也會被移除。
  • 在放棄時間內沒有任何進度。排隊等待、在下載器裡暫停,以及在 100% 時修復或解壓縮,都不算。
  • 下載在 HolyArrs 之外被移除了。它會被下一個發行版取代。

這些設定在 Settings > Downloaders 的 When downloads go wrong(下載出問題時)底下。變更之後,按下出現的列上的 Save。

設定 預設 什麼時候要變更
Remove failed downloads from the Downloader(把失敗的下載從下載器移除) 開啟 你想檢查失敗的原因(關閉)。開啟時也會刪除它們的檔案
Add matched titles to your Library(把比對到的作品加入媒體庫) 關閉 你希望已經在下載器裡、肯定比對得到的作品,不用搜尋就加進來
When you remove a download: Delete its files(移除下載時:刪除它的檔案) 開啟 你想保留檔案
When you remove a download: Turn down its Release(移除下載時:棄用它的發行版) 關閉 你不希望這個作品再選到那個發行版
When you remove a download: Search again(移除下載時:重新搜尋) 開啟 如果你想自己挑下一個發行版就關閉。需要先開啟 Turn down its Release
Stalled after (hours)(卡住多久之後,小時) 6 你的下載本來就很慢。範圍 1 到 168
Try the next Release after (hours)(多久之後改試下一個發行版,小時) 24 你寧可等待,也不要換。從最後一次有進度的時間開始算。範圍:從卡住時間到 720
Fail downloads that hold programs or fakes(讓含有程式或假檔的下載失敗) 開啟 很少需要。關閉的話,它們會進入匯入
Replace downloads removed outside HolyArrs(取代在 HolyArrs 之外被移除的下載) 開啟 你是刻意移除下載的。關閉的話,作品會等你處理
Try the next Downloader(改試下一個下載器) 開啟 你只想用一個下載器
Seconds between sends to one Downloader(送到同一個下載器的間隔秒數) 2 下載器承受不了一次大量送出。0 表示不設間隔。範圍 0 到 60
從伺服器端把下載器鎖成唯讀

把 HOLYARRS_READONLY_DOWNLOADERS 設成以逗號分隔的下載器 id 或位址清單:

HOLYARRS_READONLY_DOWNLOADERS=http://your-server:8080

清單裡的下載器不管開關怎麼設,都會維持唯讀,就算移除後再重新加入也一樣。開關會顯示為鎖定,下載頁面也會隱藏那幾列的控制項。

移除、NZBGet 的移除,以及 API
  • 只要下載器還有進行中的下載,Remove(移除)就會被拒絕。先暫停它,等下載完成,再移除。
  • NZBGet 在移除下載或它的歷史記錄項目時,一律會刪除檔案,所以 HolyArrs 會拒絕要求保留檔案的移除動作。
  • rTorrent 無法透過 XML-RPC 刪除資料。移除時如果要求刪除檔案,HolyArrs 會自己刪除,前提是它的儲存資料夾或路徑對應能到達那些檔案。否則檔案會留在 rTorrent 那台電腦上,HolyArrs 會在 log 裡寫下原因。
  • 在 Downloads 頁面,rTorrent 的那一列提供 Pause(暫停)和 Resume(繼續),但沒有 qBittorrent 的其他控制項。
  • 每一條下載器路由都列在 http://your-server:6262/api/v1/openapi.json。

HolyArrs 是免費的。如果它幫你省下了時間,歡迎在 GitHub 上給顆星、贊助專案,或請我喝杯咖啡。