接缝( E)@fungi.computer/seam(中文(简体) )
在真菌中心 和它运行的宿主之间 进行连接和验证请求, 与 Ed25519 签名和重放保护,并携带机器链接 他们之间的协议。 钥匙由操作员保管;包裹装入 协议和重播警卫.
安装
npm install @fungi.computer/seam
机器链接
@fungi.computer/seam/machine-link-protocol 拥有共享的机器链接
用户/数字 URL, 边框读取/ 离开和代理操作语法,代理邮件
地址计划,以及 createMachineLinkPostChannel。该频道带有普通
承运人邮袋和收据; 承运人保留复写。 现场直播
授权、套接字寿命和持久重放存储。 代表团请求
关键事项和执行政策仍由代表团的引擎而不是接头.
快开始
import { SeamReplayGuard } from "@fungi.computer/seam";
const replay = new SeamReplayGuard();
const now = Date.now();
const record = {
nonce: "00112233445566778899aabbccddeeff",
now,
expiresAt: now + 120_000,
};
console.log(replay.admit(record)); // admitted
console.log(replay.admit(record)); // replayed
核心概念
发送者会签署方法,受众,路径,时间戳,非ce和有效载荷文摘. 接收器检查签名 新鲜度和重放 防止被钉住 键.
verifySeamRequest 接受一个 SeamReplayStore验证签名
在等待原子接收之前, 并提供一个最后期限涵盖完整
新鲜度窗口,包括最后一刻。 商店必须保存
在报告成功之前记录,并按其有限能力拒绝
而不是驱逐活生生的活人 它的非公开决定是: admitted, (中文(简体) ),
replayed, (中文(简体) ), at-capacity,以及 unavailable;所有拒绝都未能验证.
SeamReplayGuard 是进程-当地执行,有私人
一万个记录的天花板。 它不是持久的。 耐用接收器必须绑有
存储到重建稳定接收器名称空间; 存储和数字
能力是东道执行决定。 没有记忆回落
持续失败。 记录是活的 expiresAt === now; 纯色
严格地说,更早的最后期限,而不假定插入令就是过期令.
实例和检查
运行时间固定在 test/stranger/runtime.mjs 公众活动
API在新鲜的消费者。 运行 pnpm run stranger 在构建软件包之后.
贡献和许可证
见 自由主义 对麻省理工学院来说.
包装的消费者准备状态
运行 pnpm run build, (中文(简体) ), pnpm run pack 财务报告和审定财务报表 pnpm run stranger 本包中.
保存的陌生人证明只安装了包裹 tarball 到新鲜npm
消费者,检查准确的运出文件,运行公共运行时间固定和
编译每个 JavaScript 入口, 严格节点Next 且没有库检查
跳过。 此资格不发布 npm 发布或推动仓库
分页.
运行 pnpm --filter @fungi.computer/seam test 供签署、受众、身体和
复放诸法. 计算机和游戏服务器主机测试可以锻炼其真正的消费者.
见 自由主义。 。 。 .