@e4a/pg-js

中文文档
2.6.0发布于 2026/09/22MITTypeScriptES Module构建来源已验证近 30 天下载 2537

PostGuard 的浏览器 SDK – 端到端加密文件共享基于身份加密

中文使用文档
文档目录5 节
  1. 快速启动
  2. 服务器侧用法(节点、 Bun、 Deno)
  3. 发展
  4. 释放
  5. 许可证

PostGuard

完整文件,访问 (原始内容存档于2017-03-26) (英语). docs. postguard.eu。 。 。 .

用于 PostGuard 的 SDK 类型脚本/ JavaScript SDK, 以 @e4a/pg-js 时间npm。 在浏览器和Node.js都工作.

PostGuard根据收件人的身份属性(电子邮件地址,电话号码等)而不是传统的公钥加密数据. 接收者通过 义维 来解密。 这个SDK是Web应用程序和电子邮件加载与PostGuard集成的主要方式.

快速启动

npm install @e4a/pg-js
import { PostGuard } from '@e4a/pg-js';

const pg = new PostGuard({
  pkgUrl: 'https://pkg.postguard.eu',
});

// Encrypt
const sealed = pg.encrypt({
  sign: pg.sign.apiKey('your-api-key'),
  recipients: [pg.recipient.email('[email protected]')],
  files: fileList,
});
const { uuid } = await sealed.upload();

// Decrypt
const opened = pg.open({ uuid });
const result = await opened.decrypt({ element: '#yivi-popup' });
result.download();

见 完整 API 参考 用于加密选项、签名方法、收件人类型和电子邮件助手.

服务器侧用法(节点、 Bun、 Deno)

SDK 在非浏览器运行时为加密+上传路径工作 签名时通过 sign.apiKey 或习惯 sign.session 调用。 没有 需要进行多填充.

最小运行时间版本数字 :

运行时间最低页:1
节点22岁以上通过 engines.node. 构建工具需要22.18+节点;运行时间在22和24日测试.
阿宝1.0.16+ (中文(简体) )首发时间 AbortSignal.any (SDK最紧的网络-API要求)
德诺1.39+ (韩语)首发时间 AbortSignal.any

其他说明:

  • sign.yivi(...) 需要一个 DOM 并且只使用浏览器。 SDK会扔出一个 清除 YiviSessionError 非浏览器运行时间的前置时间——使用 sign.apiKey 或者说 sign.session 换句话说.
  • 对于解密, result.blob 财务报告和审定财务报表 result.plaintext 具有普遍性; result.download(...) 触发浏览器下载,并且是只浏览器.
  • sealed.upload() 拒绝 data: ReadableStream ——使用 sealed.toBytes() 流出或通过 data 作为 Uint8Array。 。 。 .

任何运行时间的人工烟雾测试 scripts/smoke.mjs设置 PG_API_KEY 用于操作全上传管道的中键:

PG_API_KEY=PG-... node scripts/smoke.mjs
PG_API_KEY=PG-... bun  scripts/smoke.mjs
PG_API_KEY=PG-... deno run -A scripts/smoke.mjs

发展

此软件包生活在 pnpm 工作空间 packages/pg-js。从 repo 根:

pnpm install   # runs the prebuild generators + a full build via `prepare`
pnpm build

运行测试 :

pnpm test

监视模式( E)pnpm dev, (中文(简体) ), pnpm test:watch从此目录运行 .

释放

释放由 变化. 应载运运行的公关 pnpm changeset 并输入生成的文件;合并到 main 打开(或更新)“Version包” PR,并合并 那个 以出处发布到 npm.

许可证

麻省理工学院

版本与发布记录

@e4a/pg-js 共发布 59 个版本,首次发布于 2026/03/25;过去 12 个月发布了 59 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.6.0latest2026/09/221 个月前
2.5.02026/09/012 个月前
2.4.02026/08/113 个月前
2.3.42026/07/283 个月前
2.3.32026/07/243 个月前
2.3.22026/07/223 个月前

关于 @e4a/pg-js 的常见问题

@e4a/pg-js 是什么?

PostGuard 的浏览器 SDK – 端到端加密文件共享基于身份加密

如何安装 @e4a/pg-js?

在项目目录运行 npm install @e4a/pg-js,或使用 pnpm add / yarn add / bun add。

@e4a/pg-js 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@e4a/pg-js 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@e4a/pg-js 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@e4a/pg-js 可以商用吗?

@e4a/pg-js 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@e4a/pg-js 的下载量有多少?

根据 npm 官方下载统计,@e4a/pg-js 在 2026/10/13 – 2026/11/11 这 30 天内被下载 2,537 次,日均约 85 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@e4a/pg-js 还在维护吗?

最新版本 2.6.0 发布于 2026/09/22(1 个月前);至今共发布 59 个版本,其中过去 12 个月发布了 59 个;首次发布于 2026/03/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。