安装

一行命令(Linux / macOS)

curl -fsSL https://raw.githubusercontent.com/ikkun1222/trustless/main/scripts/install.sh | sh

免交互安装(用于 CI/Docker):

curl -fsSL https://raw.githubusercontent.com/ikkun1222/trustless/main/scripts/install.sh | sh -s -- --minimal

升级已有安装:

curl -fsSL https://raw.githubusercontent.com/ikkun1222/trustless/main/scripts/install.sh | sh -s -- --update

从源码构建(Go 1.26+)

git clone https://github.com/ikkun1222/trustless
cd trustless && go build -o trustless .

或直接安装:

go install github.com/ikkun1222/trustless@latest

注意:不带 ldflags 的 go build 会显示 trustless dev。发布二进制通过 -ldflags "-X main.version=vX.Y.Z" 嵌入版本号(发布流水线和 make build VERSION=vX.Y.Z 会自动完成)。

校验发布产物

从 v0.5.1 开始,每个发布产物(二进制、SHA256SUMS、SBOM)都使用 cosign keyless(OIDC,无需密钥管理)签名。使用前请校验:

# 1. 下载产物 + 签名与证书
gh release download v0.5.1 -p 'trustless-linux-amd64*' -p 'SHA256SUMS*'

# 2. 校验二进制与发布校验和一致
sha256sum -c <(grep 'trustless-linux-amd64' SHA256SUMS)

# 3. 校验 cosign 签名(keyless:身份 = ikkun1222/trustless 的 GitHub Actions)
cosign verify-blob --certificate trustless-linux-amd64.pem \
  --signature trustless-linux-amd64.sig \
  --certificate-identity-regexp '^https://github.com/ikkun1222/trustless/.github/workflows/release.yml@refs/tags/v' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  trustless-linux-amd64

每个版本还附带 syft 生成的 SPDX SBOM(trustless.sbom.spdx.json),用于供应链透明。

前置条件

  • Go 1.26+(从源码构建时)
  • pass(标准 Unix 密码管理器)+ gpg —— 默认凭据后端
  • 使用 backend = "env" 时只需环境变量(不需要 pass
  • bw(Bitwarden CLI)仅在 backend = "bitwarden"(云存储)时需要

后端可通过 trustless config set backend <name> 切换:pass(默认)、envbitwarden。Bitwarden 后端设计见 docs/bitwarden-backend-design.md