Comece aqui
Instalação
O Ferret é um app de desktop para macOS, Windows e Linux. A versão para macOS é assinada com um Developer ID e notarizada pela Apple. As versões para Windows e Linux ainda não têm assinatura de código, por isso esses sistemas pedem que você confirme a primeira execução.
#Download
Baixe o arquivo para o seu sistema operacional e CPU na página de download. Os arquivos são servidos pelo Cloudflare R2, não pelo GitHub Releases, e só as 10 versões mais recentes são mantidas.
| Sistema | Arquivos |
|---|---|
| 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 (instalador NSIS) |
| Linux (x64) | Ferret-<version>-linux-x86_64.AppImage, Ferret-<version>-linux-amd64.deb |
As versões até a 0.1.x foram publicadas com o nome antigo, como MOVIE-ADE-<version>-…. Os nomes Ferret-… começam na 0.2.0.
O Ferret é compatível com macOS, Windows e Linux. As versões para Windows e Linux ainda não têm assinatura de código, por isso a primeira execução pede confirmação (veja os passos abaixo).
#Verificar o download (SHA256SUMS assinado)
Cada versão tem um arquivo SHA256SUMS e a assinatura dele, SHA256SUMS.sig. A assinatura é feita com a chave de release do Ferret, que fica separada do servidor de download; assim, um instalador alterado no servidor de download não pode vir acompanhado de uma assinatura válida. A chave pública não é obtida do servidor de download: pegue-a no repositório (build/release-signing/allowed_signers (abre em uma nova aba)) ou copie daqui:
[email protected] ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEpXERU8ST0MEOIMbzoL4zShkjIrMB4++NL3xBohKAS9
A impressão digital dela é SHA256:c7dvwwJQyY9qSstkmrO8JoVZ90DCaFZBAzjqV04N8zQ. Os mesmos arquivos estão anexados a cada release no GitHub. Verifique a assinatura com o ssh-keygen (incluído no macOS, no Windows 10 e posteriores e no Linux) e depois compare o hash do arquivo baixado com a lista assinada:
# 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
Pare se o ssh-keygen não exibir Good "ferret-release" signature
ou se o hash não estiver na lista. O Verificar atualizações do Ferret faz a mesma verificação com a chave embutida no app e não oferece uma versão cuja assinatura não confere. No macOS, você também pode verificar a assinatura Developer ID e a notarização com spctl -a -vv /Applications/Ferret.app. Os instaladores para Windows e Linux ainda não têm assinatura de código da Microsoft nem de uma distribuição Linux. As versões até a 0.3.0 foram publicadas antes de a assinatura começar e têm apenas os hashes não assinados em releases/<version>/manifest.json.
#macOS
- Abra o
.dmge arraste oFerret.apppara/Applications. - Abra o app. Ele é assinado com um Developer ID e notarizado pela Apple (o ticket está anexado ao app), então abre sem aviso.
Para verificar a assinatura você mesmo:
spctl -a -vv /Applications/Ferret.app
# accepted
# source=Notarized Developer ID
Somente versões antigas (0.2.0 build 2 e anteriores) não eram assinadas. Nelas, o macOS diz que não é possível verificar o desenvolvedor: feche a caixa de diálogo, abra Ajustes do Sistema → Privacidade e Segurança, clique em Abrir Mesmo Assim ao lado da mensagem sobre o Ferret e confirme com Abrir. Se aparecer que o app "está danificado", remova o atributo de quarentena:
xattr -dr com.apple.quarantine /Applications/Ferret.app
#Windows
- Execute
Ferret-<version>-win-<arch>.exe. - Quando o SmartScreen mostrar "O Windows protegeu o computador", clique em Mais informações e depois em Executar assim mesmo.
- Escolha a pasta de instalação. O instalador cria um atalho na área de trabalho.
#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
O deb instala o pacote e o comando ferret.
No Ubuntu 23.10 e posteriores, o AppImage pode parar ao iniciar com um erro de sandbox, porque o AppArmor restringe os user namespaces que o sandbox do Electron usa. Instale o .deb em vez dele; ele configura o auxiliar do sandbox.
#Compilar a partir do código-fonte
Requer Node.js 20+ (a CI e o desenvolvimento local usam a 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
Para gerar os instaladores (saída em dist/release/, configuração em electron-builder.config.cjs). A versão para Linux só pode ser gerada no Linux.
pnpm dist:mac # dmg (arm64, x64)
pnpm dist:win # NSIS installers (x64, arm64)
pnpm dist:linux # AppImage + deb (x64)
Os scripts build:<os>:dev geram apenas o app descompactado (--dir), o que é mais rápido para testes locais.
No Windows, o pnpm install usa os binários pré-compilados que acompanham o node-pty em vez de recompilá-lo (o que exigiria as ferramentas de build C++ do Visual Studio). Defina ADE_FORCE_NATIVE_REBUILD=1 para forçar a recompilação.
Se o terminal informar que não foi possível carregar o node-pty, execute pnpm rebuild:native.
#Atualizações
O Ferret não se atualiza automaticamente. No rodapé, abra Atualizações e clique em Verificar atualizações. Ele busca o latest.json no servidor de download (R2), compara as versões e leva à página de download. A partir da 0.4.0, ele também verifica a assinatura do SHA256SUMS daquela versão com a chave de release embutida no app e não oferece uma versão cuja assinatura não possa ser verificada. Nada é verificado até você clicar, e nada é instalado automaticamente.
Ajude a traduzir esta página no GitHub (abre em uma nova aba)