Repolode
jdx

jdx/packslip

Um manifesto de release assinado que permite a instaladores e gerenciadores de pacotes verificar e escolher o artefato binário certo para cada host.

Estrelas
198
Forks
5
Issues abertas
1
Último commit
ontem

O que é?

Um packslip é um manifesto de release assinado para software distribuído como arquivos compactados, instaladores ou executáveis. Uma release publica um único arquivo, packslip.sigstore.json, junto aos artefatos. Instaladores, gerenciadores de pacotes e mirrors verificam esse pacote usando o assinante do projeto e, em seguida, descobrem qual artefato é compatível com o host, onde ficam os executáveis dentro dele e qual digest o download deve corresponder. Isso elimina a necessidade de deduzir essas informações pelos nomes dos arquivos ou confiar em um arquivo de checksum servido junto ao binário.

O projeto inclui uma GitHub Action que assina uma declaração com os digests, as plataformas e os caminhos dos executáveis dos artefatos usando a identidade do workflow, sem exigir uma chave de assinatura de longa duração. Também oferece uma CLI com comandos para publicar, verificar e instalar releases. packslip install baixa a release assinada de uma ferramenta, instala o arquivo compactado completo e coloca os comandos declarados em um diretório bin, sem executar o código baixado. O formato é declarado estável na versão 1.

Recursos principais

  • 01Publica um pacote assinado que relaciona artefatos a plataformas e caminhos de executáveis.
  • 02Verifica os artefatos da release com base nos digests do pacote usando packslip verify.
  • 03Instala ferramentas do GitHub ou de projetos em domínios com packslip install, sem executar o código baixado.
  • 04Funciona no GitHub Actions usando a identidade do workflow, sem exigir uma chave de assinatura de longa duração.
  • 05O formato é declarado estável na versão 1.

Casos de uso

  • Publicar uma ferramenta CLI para que usuários possam instalá-la de forma verificável, em vez de enviar um script por pipe para um shell.
  • Criar um instalador ou gerenciador de pacotes que precise escolher o binário certo para cada plataforma.
  • Permitir que mirrors ou ferramentas internas verifiquem a autenticidade dos artefatos de release baixados.
  • Adicionar a verificação de releases assinadas ao job de release existente de CI de um projeto, acionado por tags.

Início rápido

  1. 1

    Instale o packslip seguindo o guia de instalação

  2. 2

    Instale uma ferramenta a partir de sua versão assinada

    packslip install github.com/jdx/hk

Antes de usar

  • A CLI não tem comandos para atualizar, listar ou desinstalar.
  • Para instalar o próprio packslip, é preciso seguir um guia de instalação separado; o README não apresenta isso como um único comando.

Tópicos

#supply-chain-security#release-engineering#code-signing#sigstore#github-actions#binary-distribution#installer#rust

Perguntas frequentes

O que é packslip?
Um manifesto de release assinado que permite a instaladores e gerenciadores de pacotes verificar e escolher o artefato binário certo para cada host. Um packslip é um manifesto de release assinado para software distribuído como arquivos compactados, instaladores ou executáveis. Uma release publica um único arquivo, packslip.sigstore.json, junto aos artefatos. Instaladores, gerenciadores de pacotes e mirrors verificam esse pacote usando o assinante do projeto e, em seguida, descobrem qual artefato é compatível com o host, onde ficam os executáveis dentro dele e qual digest o download deve corresponder. Isso elimina a necessidade de deduzir essas informações pelos nomes dos arquivos ou confiar em um arquivo de checksum servido junto ao binário.
packslip é gratuito? Qual é a licença?
packslip é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
packslip ainda é mantido?
Manutenção ativa. O último commit de packslip foi em 6 de nov. de 2026.
Para que posso usar packslip?
Publicar uma ferramenta CLI para que usuários possam instalá-la de forma verificável, em vez de enviar um script por pipe para um shell. Criar um instalador ou gerenciador de pacotes que precise escolher o binário certo para cada plataforma. Permitir que mirrors ou ferramentas internas verifiquem a autenticidade dos artefatos de release baixados. Adicionar a verificação de releases assinadas ao job de release existente de CI de um projeto, acionado por tags.
Como instalar packslip?
Instale o packslip seguindo o guia de instalação Instale uma ferramenta a partir de sua versão assinada: packslip install github.com/jdx/hk
Onde consigo packslip?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/jdx/packslip

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados

Aplicativo desktop multiplataforma para instalar apps assinados de iOS, iPadOS e tvOS em um dispositivo usando uma Apple Account gratuita.

Mobile e desktop#ios#sideloading#code-signing
3,7 mil+60 esta semana269RustMITBem mantidoAtualizado há 14 dias