@hoardodile/restic-bin
v1.0.0
Published
restic static binary for the backup runtime, downloaded from GitHub Releases at install time (7z-bin / ffmpeg-static style).
Maintainers
Readme
@hoardodile/restic-bin
静态 restic 0.19.1 二进制 npm 包。包体只有几 KB,二进制在安装时从 GitHub Releases 下载——上游静态构建站点不适合直接依赖。与 @hoardodile/7z-bin、@hoardodile/ffmpeg-bin 和 ffmpeg-static 相同的安装时下载模型。
平台
| 平台 | 二进制 | | --- | --- | | win32-x64 | restic.exe | | darwin-x64 | restic | | darwin-arm64 | restic | | linux-x64 | restic | | linux-arm64 | restic |
二进制来自官方 restic 发布(restic/restic),版本固定并按上游 SHA256SUMS 做 SHA-256 校验。
release 资产是未压缩的原始二进制(release 页面显示的大小即真实占用,无 tar/gz 包装)。
不支持的平台(win32-ia32、win32-arm64、linux-ia32、linux-arm)返回 null;使用者应回退到 PATH 上的 restic。
使用
const restic = require("@hoardodile/restic-bin") // 路径或 nullRESTIC_BIN_PATH— 覆盖返回的路径。RESTIC_BINARIES_URL— 覆盖下载源。- 安装时校验 SHA-256(
assets.json)并要求restic version输出含 "0.19"(主.次版本)。
运行时下载(Electron)
不打包二进制:让应用按需从 release 下载、校验并 chmod +x:
https://github.com/hoardodile/restic-bin/releases/download/v<版本>/restic-<平台>-<架构>- 免鉴权;资产是原始
restic二进制(Windows 为restic.exe)。 - 校验:包内
assets.json,或 release 上的SHA256SUMS.txt。校验 SHA-256 后,macOS/Linux 需chmod +x。
构建资产 / 发版
assets.json 在首次构建前只有空的 sha256 占位符——构建脚本会写入每个重打包产物的真实 SHA-256。
- 更新
scripts/build-assets.mjs中的VERSION(以及上游文件名,若命名变化) - 提升
package.json版本号(决定 release tag) - 运行
npm run build:assets(幂等;--skip-upload只本地构建并写入真实assets.json) - 提交(至少
assets.json+ 版本号)、推送,然后推送v<version>tag。 tag 会触发 release 工作流:构建/上传资产到 GitHub release,并自动发布 npm(Trusted Publishing / OIDC —— Actions 中不存任何 registry token)。
npm 侧一次性设置(每个包一次,npm >= 11.11,owner 账号,需一次 2FA 验证):
npm trust github @hoardodile/restic-bin --file release.yml --repo hoardodile/restic-bin --allow-publish注意:bump 提交触发的 main CI 可能在 release 工作流上传完资产前启动, install/verify 任务会因 404 瞬时失败——待 release 工作流结束后重跑即可:
gh run rerun --repo hoardodile/restic-bin --failed <run-id>许可
脚本 BSD-2-Clause。restic 二进制版权归其作者(BSD-2-Clause),不随包发布,需参见上游许可证。scripts/build-assets.mjs 与 release 说明中记录了出处。
