参考
高级安装
验证下载文件的签名、从源码构建 Ferret、获取旧版本,以及了解更新的工作方式。安装 Ferret 并不需要这些内容。
#全部下载文件
文件由 Cloudflare R2 提供,而不是 GitHub Releases,并且只保留最近的 10 个版本。下载页面列出了所有这些版本。
| 操作系统 | 文件 |
|---|---|
| macOS (Apple silicon / Intel) | Ferret-<version>-mac-arm64.dmg, Ferret-<version>-mac-x64.dmg |
| Windows (x64 / arm64) | Ferret-<version>-win-x64.exe, Ferret-<version>-win-arm64.exe(安装程序) |
| Linux (x64) | Ferret-<version>-linux-x86_64.AppImage, Ferret-<version>-linux-amd64.deb |
0.1.x 及更早的版本以旧名称 MOVIE-ADE-<version>-… 发布。从 0.2.0 开始使用 Ferret-… 名称。
#验证下载(已签名的 SHA256SUMS)
每个版本都附有 SHA256SUMS 文件及其签名 SHA256SUMS.sig。签名使用 Ferret 发布密钥生成,该密钥与下载服务器分开保管,因此即使下载服务器上的安装程序被篡改,也无法附带有效的签名。公钥不从下载服务器获取:请从代码仓库获取(build/release-signing/allowed_signers (在新标签页中打开)),或从这里复制:
[email protected] ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEpXERU8ST0MEOIMbzoL4zShkjIrMB4++NL3xBohKAS9
其指纹为 SHA256:c7dvwwJQyY9qSstkmrO8JoVZ90DCaFZBAzjqV04N8zQ。GitHub 上的每个版本也附有相同的文件。先用 ssh-keygen(macOS、Windows 10 及更高版本和 Linux 均自带)验证签名,再将下载文件的哈希值与已签名的列表进行比对:
# the download server (currently the R2 public URL; it may move to a custom domain)
BASE=https://pub-588d93b3e875464f98d6cf98dc711a0c.r2.dev
VERSION=$(curl -s $BASE/latest.json | jq -r .version)
curl -sO $BASE/releases/$VERSION/SHA256SUMS
curl -sO $BASE/releases/$VERSION/SHA256SUMS.sig
# save the public key above as allowed_signers, then:
ssh-keygen -Y verify -f allowed_signers -I [email protected] -n ferret-release -s SHA256SUMS.sig < SHA256SUMS
# → Good "ferret-release" signature for [email protected] …
# macOS
shasum -a 256 -c SHA256SUMS --ignore-missing
# Linux
sha256sum -c SHA256SUMS --ignore-missing
# Windows (PowerShell): compare with the line for your file in SHA256SUMS
Get-FileHash .\Ferret-<version>-win-x64.exe -Algorithm SHA256
如果 ssh-keygen 没有输出 Good "ferret-release" signature
,或者哈希值不在列表中,请停止使用该文件。Ferret 的 检查更新 会使用内置于应用中的密钥执行同样的检查,不会提供签名不匹配的版本。在 macOS 上,你还可以用 spctl -a -vv /Applications/Ferret.app 检查 Developer ID 签名和公证。对于 0.3.0 及更早的版本,请与 releases/<version>/manifest.json 中的哈希值进行比对。
#旧版 macOS 版本
对于 0.2.0 build 2 及更早的版本:如果 macOS 提示无法验证开发者,请关闭对话框,打开 系统设置 → 隐私与安全性,点击 Ferret 提示旁边的 仍要打开,然后点击 打开 确认。如果提示应用“已损坏”,请移除隔离属性:
xattr -dr com.apple.quarantine /Applications/Ferret.app
#从源码构建
需要 Node.js 20+(CI 和本地开发使用 22)、pnpm 和 git。
git clone https://github.com/JapanMarketing-Dev/ferret.git
cd ferret
pnpm install # postinstall prepares node-pty for Electron
pnpm dev # run in development mode
打包安装程序(输出到 dist/release/,配置在 electron-builder.config.cjs 中)。Linux 版只能在 Linux 上构建。
pnpm dist:mac # dmg (arm64, x64)
pnpm dist:win # NSIS installers (x64, arm64)
pnpm dist:linux # AppImage + deb (x64)
build:<os>:dev 脚本只生成未打包的应用(--dir),用于本地测试时更快。
在 Windows 上,pnpm install 会使用 node-pty 自带的预编译二进制文件,而不是重新构建(重新构建需要 Visual Studio C++ 生成工具)。设置 ADE_FORCE_NATIVE_REBUILD=1 可强制重新构建。
如果终端提示无法加载 node-pty,请运行 pnpm rebuild:native。
#更新
Ferret 不会自动更新。在底部状态栏中打开 更新,然后点击 检查更新。它会从下载服务器(R2)获取 latest.json,比较版本,并使用内置于应用中的发布密钥验证该版本 SHA256SUMS 的签名。有新版本时,点击 下载:Ferret 会下载适合你电脑的安装程序,确认其 SHA-256 与已签名的 SHA256SUMS 一致,然后保存到“下载”文件夹并在其中显示。下载页面在保存文件之前,也会在浏览器中进行同样的检查。在你点击之前不会进行任何检查,也不会自动安装任何内容。