Inizia qui
Installazione
Ferret è un'app desktop per macOS, Windows e Linux. La build per macOS è firmata con un Developer ID e notarizzata da Apple. Le build per Windows e Linux non hanno ancora una firma del codice, perciò questi sistemi operativi ti chiedono di confermare il primo avvio.
#Download
Scarica il file per il tuo sistema operativo e la tua CPU dalla pagina di download. I file sono distribuiti da Cloudflare R2, non da GitHub Releases, e vengono conservate solo le 10 versioni più recenti.
| Sistema operativo | File |
|---|---|
| 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 (programma di installazione NSIS) |
| Linux (x64) | Ferret-<version>-linux-x86_64.AppImage, Ferret-<version>-linux-amd64.deb |
Le release fino alla 0.1.x sono state pubblicate con il vecchio nome, come MOVIE-ADE-<version>-…. I nomi Ferret-… partono dalla 0.2.0.
Ferret supporta macOS, Windows e Linux. Le build per Windows e Linux non hanno ancora una firma del codice, quindi il primo avvio ti chiede una conferma (vedi i passaggi qui sotto).
#Verificare il download (SHA256SUMS firmato)
Ogni release ha un file SHA256SUMS e la sua firma SHA256SUMS.sig. La firma è creata con la chiave di release di Ferret, conservata separatamente dal server di download: un programma di installazione modificato sul server di download non può quindi avere una firma valida. La chiave pubblica non va presa dal server di download: prendila dal repository (build/release-signing/allowed_signers (si apre in una nuova scheda)) oppure copiala da qui:
[email protected] ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEpXERU8ST0MEOIMbzoL4zShkjIrMB4++NL3xBohKAS9
La sua impronta è SHA256:c7dvwwJQyY9qSstkmrO8JoVZ90DCaFZBAzjqV04N8zQ. Gli stessi file sono allegati a ogni release su GitHub. Controlla la firma con ssh-keygen (incluso in macOS, Windows 10 e successivi e Linux), poi confronta l'hash del file scaricato con l'elenco firmato:
# 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
Fermati se ssh-keygen non stampa Good "ferret-release" signature
o se l'hash non è nell'elenco. Verifica aggiornamenti di Ferret esegue lo stesso controllo con la chiave integrata nell'app e non propone una versione la cui firma non corrisponde. Su macOS puoi anche controllare la firma Developer ID e la notarizzazione con spctl -a -vv /Applications/Ferret.app. I programmi di installazione per Windows e Linux non sono ancora firmati da Microsoft o da una distribuzione Linux. Le release fino alla 0.3.0 sono state pubblicate prima dell'introduzione della firma e hanno solo gli hash non firmati in releases/<version>/manifest.json.
#macOS
- Apri il
.dmge trascinaFerret.appin/Applications. - Avviala. L'app è firmata con un Developer ID e notarizzata da Apple (il ticket è allegato all'app), quindi si apre senza avvisi.
Per controllare tu stesso la firma:
spctl -a -vv /Applications/Ferret.app
# accepted
# source=Notarized Developer ID
Solo le versioni precedenti (0.2.0 build 2 e prima) non erano firmate. Per queste, macOS dice che lo sviluppatore non può essere verificato: chiudi la finestra di dialogo, apri Impostazioni di Sistema → Privacy e sicurezza, fai clic su Apri comunque accanto al messaggio su Ferret e conferma con Apri. Se dice che l'app "è danneggiata", rimuovi l'attributo di quarantena:
xattr -dr com.apple.quarantine /Applications/Ferret.app
#Windows
- Esegui
Ferret-<version>-win-<arch>.exe. - Quando SmartScreen mostra "Windows ha protetto il PC", fai clic su Ulteriori informazioni, poi su Esegui comunque.
- Scegli la cartella di installazione. Il programma di installazione crea un collegamento sul desktop.
#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
Il deb installa il pacchetto e il comando ferret.
Su Ubuntu 23.10 e successivi, l'AppImage può bloccarsi all'avvio con un errore della sandbox, perché AppArmor limita gli user namespace usati dalla sandbox di Electron. Installa invece il .deb, che configura l'helper della sandbox.
#Compilare dai sorgenti
Servono Node.js 20+ (la CI e lo sviluppo locale usano la 22), pnpm e 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
Per creare i programmi di installazione (output in dist/release/, configurazione in electron-builder.config.cjs). La build per Linux funziona solo su Linux.
pnpm dist:mac # dmg (arm64, x64)
pnpm dist:win # NSIS installers (x64, arm64)
pnpm dist:linux # AppImage + deb (x64)
Gli script build:<os>:dev producono solo un'app non impacchettata (--dir), più veloce per i test in locale.
Su Windows, pnpm install usa i binari precompilati inclusi in node-pty invece di ricompilarli (servirebbero gli strumenti di compilazione C++ di Visual Studio). Imposta ADE_FORCE_NATIVE_REBUILD=1 per forzare la ricompilazione.
Se il terminale segnala che non è stato possibile caricare node-pty, esegui pnpm rebuild:native.
#Aggiornamenti
Ferret non si aggiorna automaticamente. Nel footer apri Aggiornamenti e fai clic su Verifica aggiornamenti. L'app scarica latest.json dal server di download (R2), confronta le versioni e rimanda alla pagina di download. Dalla 0.4.0 controlla anche la firma del file SHA256SUMS di quella versione con la chiave di release integrata nell'app, e non propone una versione la cui firma non può essere verificata. Nulla viene controllato finché non fai clic, e nulla viene installato automaticamente.
Aiuta a tradurre questa pagina su GitHub (si apre in una nuova scheda)