@ fetchproxy/ protocol
线- 程序类型、 运行时间验证器、 加密包装器 获取代理 WebSocket协议.
内部英语:大多数用户想要 @fetchproxy/server 换句话说. @fetchproxy/server 再出口 MCP 作者通常需要的少数协议类型(Capability, (中文(简体) ), FetchInit); 只有当您正在构建自己的桥端点时,才直接将这个软件包拉入(替代服务器,测试取用,自定义扩展).
见:
- 顶级 README ——取出代用词是什么.
docs/PROTOCOL.md——全线格式参考(框架,握手,密码).
安装
npm install @fetchproxy/protocol
这里面是什么
| 模块 | 出口 | 目的 |
|---|---|---|
frames | PROTOCOL_VERSION, (中文(简体) ), Capability, (中文(简体) ), KNOWN_CAPABILITIES,所有数据 …Frame 类型, FetchInit, (中文(简体) ), ReadCookiesInit, (中文(简体) ), InnerFrame 工会, StoragePointerDecl, (中文(简体) ), IndexedDbScopeDecl, (中文(简体) ), CaptureHeaderDecl | 静态+运行时间描述线上每个帧. |
validate | validateFrame, (中文(简体) ), validateInnerFrame, (中文(简体) ), ProtocolError, (中文(简体) ), HOSTNAME_RE | 无第三方依赖性的防御性JSON验证人. 拒绝原型-污染尝试,错误的基底64,未知的操作/能力,糟糕的主机名. |
crypto | RawKeyPair, (中文(简体) ), generateX25519, (中文(简体) ), generateEd25519, (中文(简体) ), ecdhX25519, (中文(简体) ), hkdfSha256, (中文(简体) ), ed25519Sign, (中文(简体) ), ed25519Verify, (中文(简体) ), aesGcmSeal, (中文(简体) ), aesGcmOpen, (中文(简体) ), sha256 | 环绕 WebCrypto 的薄相环 subtle。用于服务器和扩展. |
mcp-id | generateMcpId, (中文(简体) ), parseMcpId, (中文(简体) ), isValidMcpId, (中文(简体) ), McpIdParts | 每个进程 <serverName>:<version>:<rand> 编号. |
pair-code | pairTranscript | 决定8位数的 SAS 代码在对等记录上 —— 两个身份酒吧, 无论是Hello Notces 和 MCP 的会话平时(SHA256('fetchproxy/4/pair' | NUL | …)[0..7] 作为一个大人物 mod 100_000_000,格式化 XXXX-XXXX. 3.0.0+; 仅两个长期身份酒吧上的v3对功能已经消失,因此一个代码不能一次被下线,永远重复使用该MCP. |
seal | sealInnerFrame, (中文(简体) ), openEncryptedFrame | AES-256-GCM 加密/解密内部JSON有效载荷,由 sessionKey。 。 。 . |
encoding | toB64, (中文(简体) ), fromB64, (中文(简体) ), toHex, (中文(简体) ), concatBytes | 共享基数64/hex帮助. |
json-pointer | evalJsonPointer, (中文(简体) ), isValidJsonPointer, (中文(简体) ), matchesDeclaredKey, (中文(简体) ), undeclaredKeys | JSON-指针评价+克光比取存储指针取出. |
稳定
所有出口都是公布的表面的一部分,并随同分解:
- 少校 凸起信号相容的电线变化(新需要的字段,被去除的字段,语义变换).
- 次要 凸起添加字段或添加接受值.
- 补丁 凸起是纯粹的修复.
0.2.0是一个从0.1.x起的不兼容电线跳跃(单相 domain: string → domains: string[]; 已添加 capabilities; 已添加 op 对内部请求/答复的歧视者.
许可证
麻省理工学院.