はじめに
インストール
Ferret は macOS、Windows、Linux で動くデスクトップアプリです。macOS 版は Developer ID で署名され、Apple の公証を受けています。Windows 版と Linux 版はまだコード署名が無いため、初回の起動で OS から確認を求められます。
#ダウンロード
ダウンロードページから、自分の OS と CPU に合うファイルを取ります。ファイルは GitHub Releases ではなく Cloudflare R2 から配っており、残すのは新しい10版だけです。
| OS | ファイル |
|---|---|
| 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(NSIS インストーラー) |
| Linux(x64) | Ferret-<version>-linux-x86_64.AppImage、Ferret-<version>-linux-amd64.deb |
0.1.x までは旧名で、MOVIE-ADE-<version>-… として公開していました。Ferret-… の名前は 0.2.0 からです。
Ferret は macOS、Windows、Linux に対応しています。Windows 版と Linux 版はまだコード署名が無いため、初回の起動で確認を求められます(下の手順を参照)。
#ダウンロードを検証する(署名付き 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 の署名と公証も確かめられます。Windows と Linux のインストーラーは、まだ Microsoft や Linux ディストリビューションによるコード署名がありません。0.3.0 までの版は署名を始める前に公開したもので、releases/<version>/manifest.json にある署名なしのハッシュだけです。
#macOS
.dmgを開き、Ferret.appを/Applicationsにドラッグします。- 起動します。アプリは Developer ID で署名され、Apple の公証を受けている(チケットを添付済み)ので、警告なしで開きます。
署名を自分で確かめるには:
spctl -a -vv /Applications/Ferret.app
# accepted
# source=Notarized Developer ID
古い版(0.2.0 build 2 以前)だけは署名がありません。その版では macOS が「開発元を検証できません」と出します。ダイアログを閉じて システム設定 → プライバシーとセキュリティ を開き、Ferret のメッセージの横の このまま開く を押し、開く で確定します。「壊れている」と出るときは、検疫属性を外します。
xattr -dr com.apple.quarantine /Applications/Ferret.app
#Windows
Ferret-<version>-win-<arch>.exeを実行します。- SmartScreen が「Windows によって PC が保護されました」と出したら、詳細情報 を押してから 実行 を押します。
- インストール先のフォルダを選びます。インストーラーはデスクトップにショートカットを作ります。
#Linux
AppImage:
chmod +x Ferret-<version>-linux-x86_64.AppImage
./Ferret-<version>-linux-x86_64.AppImage
Debian / Ubuntu:
sudo apt install ./Ferret-<version>-linux-amd64.deb
deb は ferret パッケージとコマンドを入れます。
Ubuntu 23.10 以降では、AppArmor が Electron のサンドボックスの使うユーザー名前空間を制限するため、AppImage が起動時にサンドボックスのエラーで止まることがあります。その場合は代わりに .deb を入れてください。サンドボックスの補助プログラムも設定されます。
#ソースからビルドする
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 を取って版を比べ、ダウンロードページへのリンクを出します。0.4.0 からは、その版の SHA256SUMS の署名もアプリに組み込んだリリース鍵で確かめ、署名を検証できない版は案内しません。押すまでは何も確認せず、自動で入れることもありません。