跳转到内容

读取旧应用

进阶

读取旧应用的配置,可以通过应用本身,也可以从它的备份读,这是迁移的第 1 步。读取不会改动 HolyArrs,也不会改动旧应用。

一次读取(read)就是 HolyArrs 保存的某个应用配置的副本。它会一直留着,直到你把它迁移或移除。

  1. 打开 Settings > Move from other apps(设置 > 从其他应用迁移),点击 Add an app(添加应用)。
  2. 选应用,然后选 Through the app(通过应用)或 From a backup(从备份)。
  3. 点击 Check connection(检查连接)。几秒钟内你应该会看到应用和版本。
  4. 开始读取。媒体库大的话要几分钟。Stop reading(停止读取)可以停下它;关掉面板不会停。
  5. 你应该会在列表里看到这次读取。用同样的方法添加下一个应用。

某一行上的 Edit(编辑)会重新读取那个应用。Remove(移除)会丢弃这次读取。

填入应用的地址和 API 密钥。qBittorrent 要填用户名和密码,5.2 及以后的版本也可以填它的 API 密钥。

旧应用通常在你的家庭网络里,所以读取时要打开局域网开关。云元数据地址仍然会被拦截,应用也不能把 HolyArrs 重定向到别的地址。

填入下面其中一项在 HolyArrs 服务器上的完整路径:

  • Radarr、Sonarr、Lidarr、Prowlarr 或 Bazarr 的备份 zip,
  • Seerr、Overseerr、qBittorrent 或 SABnzbd 的配置文件夹,
  • 单个数据库文件或设置文件。

从备份读取不会保存任何密钥。

应用 读取的内容
Radarr、Sonarr、Lidarr 每部电影、每部剧集(含各季)或每个艺人:id、文件夹、监控标记、quality profile、标签、添加日期。还有 Library folders、tags、quality profiles、custom formats、release word rules、等待规则、命名、indexers、download clients、lists、notifications、metadata writers、exclusions、language profiles(Sonarr v3)、metadata profiles(Lidarr)和 Radarr 的 availability delay。
Prowlarr Indexers、app links、sync profiles、indexer proxies、download clients、notifications。
Bazarr 已启用的语言、language profiles、已启用的字幕站、默认 profiles。
qBittorrent、SABnzbd 地址、端口、用户名、下载文件夹、分类,以及(SABnzbd 的)Usenet 服务器。
Seerr、Overseerr 用户(名称、邮件地址、角色、权限、请求限额)、默认限额,以及每一条等待批准或已批准的请求:谁提交的、什么时候、请求的是什么。已完成和已拒绝的请求只统计数量。头像不会被读取。

读取的比迁移的多,这是有意的:读取了但没有迁移的内容,都会连同原因显示在 not moved(未迁移)列表里。

读取里绝不会留有密钥、密码、令牌或 cookie,就算备份里是明文写着的也一样。每一项都列在 needs re-entry(需要重新填写)下面,例如 indexer "Nyaa": apiKey。

链接也算作机密,因为令牌会藏在里面。通知链接、RSS 订阅源地址和自由填写的额外参数都不会带过来,并会被列出。indexer 的地址只保留主机和 API 路径。

所有者用手动填的密钥读取一个应用时,HolyArrs 会把那个地址和密钥存进加密存储里。下次点 Edit 时,Use the saved key(使用已保存的密钥)是打开的,会用它重新读取,而且密钥只会发往保存的那个地址。HolyArrs 不会把它显示出来。

以下情况会删除已保存的密钥
你移除了那个应用的读取
一次迁移完成且没有任何失败(有失败项时密钥会保留,方便你再迁移一次)
你运行了 holyarrs import-secrets -forget-move-credentials

所有者和管理员,并且是用密码登录的。局域网免登录不算。API 密钥需要 admin(管理员)权限范围。

现象 原因 解决办法
Check connection 失败 地址是从 HolyArrs 服务器上测试的。 用服务器能访问到的地址。如果应用在家庭网络里,打开局域网开关。
密钥不对 复制出错,或者 qBittorrent 要的是用户名。 从旧应用的设置里重新复制密钥。
备份被拒绝 zip 被改动过,或者路径在容器之外。 用应用自己生成的备份 zip,不要改动,路径要是它在 HolyArrs 容器里的路径。
读取太大 每次读取和每台服务器都有上限。 移除不再需要的旧读取。
备份的处理方式和上限
规则 值
复制的文件 只复制需要的文件,放进一个私有的临时文件夹,读取完就删除。
每个复制文件的大小 最大 1 GB。
arr 应用的 config.xml 绝不复制;里面有 API 密钥。
数据库 以只读方式打开。
以下情况整个拒绝 有条目指向 zip 之外,里面有链接,或者某个文件解压后比标称大小大得多。
同时处理的备份 1 个。
每次读取保留 16 MB。
保留的读取 最新的 50 个。
API
路由 作用
POST /api/v1/migrate/probe 告诉你响应的是哪个应用、哪个版本,或者这是哪种备份。
POST /api/v1/migrate/read 读取整套配置并保存。
GET /api/v1/migrate/snapshots 列出读取,最新的在前。
GET /api/v1/migrate/snapshots/{id} 一次读取和它包含的全部内容。
DELETE /api/v1/migrate/snapshots/{id} 移除一次读取,以及为那个应用保存的密钥。
GET /api/v1/migrate/saved-keys 有已保存密钥的应用和它们的地址,不含密钥本身。仅限所有者。
DELETE /api/v1/migrate/saved-keys 删除所有已保存的密钥,或用 ?kind= 只删一个。仅限所有者。

probe 和 read 的请求体要指明应用:radarr、sonarr、lidarr、prowlarr、bazarr、seerr、overseerr、qbittorrent 或 sabnzbd。加上 url 和 key(或 username 和 password),或者 path。加上 allow_local_network 可以访问你的家庭网络,加上 use_saved_key 可以使用已保存的密钥。

HolyArrs 是免费的。如果它帮你省了时间,欢迎在 GitHub 上点个 Star、赞助它或请我喝杯咖啡。