跳到內容

讀取你的舊 App

進階

讀取舊 App 的設定,可以透過 App 本身,也可以從它的備份讀取,這是匯入的第 1 步。讀取不會變更 HolyArrs 或舊 App 裡的任何東西。

一個 read(讀取結果)是 HolyArrs 對某個 App 設定的一份副本。它會一直保留,直到你匯入它或移除它。

  1. 開啟 Settings > Import from other apps(設定 > 從其他 App 匯入),按下 Add an app(新增 App)。
  2. 選擇 App,然後選 Through the app(透過 App)或 From a backup(從備份)。
  3. 按下 Check connection(檢查連線)。幾秒鐘內你就會看到 App 和版本。
  4. 開始讀取。大型的媒體庫要花幾分鐘。Stop reading(停止讀取)可以停下來;關閉視窗則不會。
  5. 你會在清單中看到這次讀取。用同樣的方式新增下一個 App。

列上的 Edit 會重新讀取該 App。Remove 會把這次讀取結果丟掉。

輸入 App 的位址和 API 金鑰。qBittorrent 要輸入使用者名稱和密碼;5.2 以後的版本也可以用它的 API 金鑰。

舊 App 通常在你的家用網路上,所以讀取時要開啟區域網路的開關。雲端 metadata 位址仍然會被封鎖,而且 App 不能把 HolyArrs 重新導向到別的位址。

輸入下列其中一項在 HolyArrs 伺服器上的完整路徑:

  • Radarr、Sonarr、Lidarr、Prowlarr 或 Bazarr 的備份 zip,
  • Seerr、Overseerr、qBittorrent 或 SABnzbd 的設定資料夾,
  • 單一一個資料庫或設定檔。

從備份讀取不會儲存任何金鑰。

App 讀取的內容
Radarr、Sonarr、Lidarr 每部電影、每部影集(含各季)或每位藝人:id、資料夾、追蹤旗標、品質設定檔、tag、加入日期。還有媒體庫資料夾、tag、品質設定檔、自訂格式、發行版字詞規則、等待規則、命名、索引器、下載用戶端、清單、通知、中繼資料寫入器、排除項目、語言設定檔(Sonarr v3)、中繼資料設定檔(Lidarr),以及 Radarr 的上映延遲。
Prowlarr 索引器、App 連結、同步設定檔、索引器 proxy、下載用戶端、通知。
Bazarr 已啟用的語言、語言設定檔、已啟用的字幕網站、預設設定檔。
qBittorrent、SABnzbd 位址、port、使用者名稱、下載資料夾、分類,以及(SABnzbd)usenet 伺服器。
Seerr、Overseerr 使用者(名稱、email、角色、權限、請求額度)、預設額度,以及每一個等待中或已核准的請求:誰請求的、什麼時候、請求什麼。已完成和已被拒絕的請求只會計數。大頭貼不會讀取。

讀取的比匯入的多,這是刻意的:所有讀取了但沒有匯入的東西,都會連同原因顯示在 not imported(未匯入)清單中。

讀取結果絕不會保存金鑰、密碼、token 或 cookie,即使備份裡是明文也一樣。它們都會列在 needs re-entry(需要重新輸入)底下,例如 indexer "Nyaa": apiKey。

連結也算機密資料,因為 token 會藏在裡面。通知的連結、RSS feed 位址和自由輸入的額外參數都會留在原處不帶過來,並列出來。索引器的位址只會保留主機和 API 路徑。

當擁有者用輸入的金鑰讀取某個 App 時,HolyArrs 會把那個位址和金鑰保存在它的加密儲存區。下次按 Edit 重新讀取時,會開啟 Use the saved key(使用已儲存的金鑰),而金鑰只會送到已儲存的位址。HolyArrs 絕不會顯示它。

已儲存的金鑰會在以下情況刪除
你移除該 App 的讀取結果
一次匯入完成且沒有任何失敗(有失敗的項目會保留金鑰,讓你可以再匯入一次)
你執行 holyarrs import-secrets -forget-move-credentials

擁有者和管理員,並且要用密碼登入。區域網路免登入的設定不算數。API 金鑰需要 admin 範圍。

症狀 原因 解決方式
Check connection 失敗 位址是從 HolyArrs 伺服器測試的。 使用伺服器連得到的位址。家用網路上的 App,要開啟區域網路的開關。
金鑰不對 複製錯誤,或是 qBittorrent 需要使用者名稱。 重新從舊 App 的設定複製一次金鑰。
備份被拒絕 zip 被改過,或是路徑在 container 之外。 使用 App 自己產生、未經修改的備份 zip,並使用它在 HolyArrs container 內的路徑。
讀取結果太大 每次讀取和每台伺服器都有限制。 移除你不再需要的舊讀取結果。
備份的處理方式與限制
規則 值
複製的檔案 只複製需要的檔案,放進私有的暫存資料夾,讀取完就刪除。
每個複製檔案的大小 最大 1 GB。
arr App 的 config.xml 絕不複製;它裡面有 API 金鑰。
資料庫 以唯讀方式開啟。
整個被拒絕的情況 有項目指向 zip 之外、含有連結,或是某個檔案解壓縮後遠大於它標示的大小。
同時處理的備份 1 個。
每次讀取保留 16 MB。
保留的讀取結果 最新的 50 個。
API
路由 功能
POST /api/v1/migrate/probe 告訴你是哪個 App 和版本在回應,或這是哪個備份。
POST /api/v1/migrate/read 讀取整份設定並保留下來。
GET /api/v1/migrate/snapshots 列出讀取結果,最新的在前。
GET /api/v1/migrate/snapshots/{id} 一個讀取結果和它包含的全部內容。
DELETE /api/v1/migrate/snapshots/{id} 移除一個讀取結果,以及為該 App 儲存的金鑰。
GET /api/v1/migrate/saved-keys 有儲存金鑰的 App 和它們的位址,絕不會回傳金鑰。僅限擁有者。
DELETE /api/v1/migrate/saved-keys 刪除所有已儲存的金鑰,或用 ?kind= 只刪除一個。僅限擁有者。

probe 和 read 的 body 要指明 App:radarr、sonarr、lidarr、prowlarr、bazarr、seerr、overseerr、qbittorrent 或 sabnzbd。再加上 url 搭配 key(或 username 和 password),或是 path。加上 allow_local_network 可連到你的家用網路,加上 use_saved_key 則使用已儲存的金鑰。

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