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.

SistemaArquivos
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

  1. Abra o .dmg e arraste o Ferret.app para /Applications.
  2. 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

  1. Execute Ferret-<version>-win-<arch>.exe.
  2. Quando o SmartScreen mostrar "O Windows protegeu o computador", clique em Mais informações e depois em Executar assim mesmo.
  3. 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)