Repolode
jdx

jdx/packslip

一种签名的发布清单,让安装器和包管理器能验证并选出适合当前系统的二进制产物。

Star
198
Fork
5
未关闭 Issue
1
最近提交
昨天

这是什么?

packslip 是一种签名发布清单,适用于以压缩包、安装程序或可执行文件形式分发的软件。每次发布时,除产物本身外还会附带一个文件 packslip.sigstore.json。安装器、包管理器或镜像站点会用项目的签名者验证这个清单,然后确定适合当前主机的产物、可执行文件在压缩包内的位置,以及下载内容必须匹配的摘要值。这样就不必根据文件名猜测,也不必信任与二进制文件放在一起的校验和文件。

项目提供 GitHub Action,使用工作流自身的身份对产物摘要、平台和可执行文件路径进行签名,无需长期保存的签名密钥。命令行工具可用于发布、验证和安装发布版本。packslip install 会获取工具的签名发布、安装完整压缩包,并把声明的命令放入 bin 目录,过程中不运行下载的代码,可替代 curl | sh 的安装方式。

核心功能

  • 01发布经签名的清单,将产物与平台及可执行文件路径对应起来。
  • 02通过 packslip verify 按清单中的摘要校验发布产物。
  • 03用 packslip install 从 GitHub 或域名项目安装工具,安装过程不执行下载的代码。
  • 04在 GitHub Actions 中使用工作流身份签名,无需长期保存的签名密钥。
  • 05格式声明在版本 1 上保持稳定。

适用场景

  • 发布命令行工具,让用户可以验证安装,而不是用 curl | sh 执行脚本。
  • 开发需要为各平台选择正确二进制文件的安装器或包管理器。
  • 让镜像站或内部工具检查下载的发布产物是否可信。
  • 在项目现有的基于标签触发的 CI 发布任务中加入签名发布验证。

快速上手

  1. 1

    按安装指南安装 packslip

  2. 2

    从已签名的发布版本安装工具

    packslip install github.com/jdx/hk

使用前须知

  • 命令行工具没有升级、列出或卸载命令。
  • 安装 packslip 本身需要按单独的安装指南操作,README 没有提供单一安装命令。

标签

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

常见问题

packslip 是什么?
一种签名的发布清单,让安装器和包管理器能验证并选出适合当前系统的二进制产物。 packslip 是一种签名发布清单,适用于以压缩包、安装程序或可执行文件形式分发的软件。每次发布时,除产物本身外还会附带一个文件 packslip.sigstore.json。安装器、包管理器或镜像站点会用项目的签名者验证这个清单,然后确定适合当前主机的产物、可执行文件在压缩包内的位置,以及下载内容必须匹配的摘要值。这样就不必根据文件名猜测,也不必信任与二进制文件放在一起的校验和文件。
packslip 可以免费使用吗?用的什么许可证?
packslip 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
packslip 还在维护吗?
活跃维护中。packslip 最近一次提交是在 2026年11月6日。
packslip 适合用来做什么?
发布命令行工具,让用户可以验证安装,而不是用 curl | sh 执行脚本。 开发需要为各平台选择正确二进制文件的安装器或包管理器。 让镜像站或内部工具检查下载的发布产物是否可信。 在项目现有的基于标签触发的 CI 发布任务中加入签名发布验证。
packslip 怎么安装和运行?
按安装指南安装 packslip 从已签名的发布版本安装工具: packslip install github.com/jdx/hk
在哪里获取 packslip?
源代码和安装说明在 GitHub 上:https://github.com/jdx/packslip

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目