@andrewheberle/serverless-ssh-ca-testing

中文文档
0.30.0发布于 2026/11/07Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 2276

在 Node.js 下运行无服务器的 SSH CA 或为客户端对端测试工作

中文使用文档
文档目录5 节
  1. 所需资源
  2. 使用量
  3. 配置
  4. 日志文件
  5. 程序使用

@andrewheberle/serverles-sh-ca-测试

运行 无服务器的 SSH CA 最终测试 客户,例如 ssh-ca-客户端。 。 。 .

CA可以运行在:

  • node:Node.js,使用包的Node.js辅助器件有内膜 node:sqlite 数据库
  • workerd: Cloudflare工人运行时间,使用Wrangler测试带 带有本地 D1 数据库和保密存储器 wrangler dev 将

跑步之间没有一丝不挂.

此软件包随 @andrewheberle/serverless-ssh-ca 和用途 无论哪个版本的软件包安装在旁边。 测试客户端 对一个未释放的 CA 版本,安装一个从 npm pack 内 其所处所.

所需资源

节点.js 24或后.

使用量

npm install --save-dev @andrewheberle/serverless-ssh-ca @andrewheberle/serverless-ssh-ca-testing
npx serverless-ssh-ca-test-server [--runtime node|workerd] config.json

运行时间默认为 node从另一端启动服务器的客户端 语言可以运行 node node_modules/@andrewheberle/serverless-ssh-ca-testing/dist/cli.js, (中文(简体) ), 避免平台特定的 shims in node_modules/.bin。 。 。 .

服务器在标准输入关闭时退出, 因此不会超过寿命 开始的测试。 如果无法启动,它会写出原因 标准出错并退出状态 1.

配置

配置文件为 JSON 对象 :

财产说明
private_keyOpenSSH 格式的 CA 私钥
bindingsCA 配置, 作为 Workers vars (环境变量)
port_fileCA 正在监听时, 端口会被写入路径 127.0.0.1
log_file从 CA 日志输出的路径和被附加到 JSON 线上

绑定是CA所记录的,每个值都作为字符串. 下 workerd,Wrangler的工作文件被写入目录 包含配置文件.

日志文件

日志文件的每行都是至少带有 JSON 对象 level 财务报告和审定财务报表 messageCA所记录的行是按原样写成的,并增加了绳子 线条 message 开始于 harness数字 :

  • {"level":"info","message":"harness request","method":...,"url":...,"status":...} 每一个请求,在哪里 url 是路径和查询。 何时 status 为 400 或超过, body 持有响应机构, 所以测试可以检查 为什么请求 被拒绝.
  • {"level":"error","message":"harness ...",...} 因为一个错误,意味着CA 或使用失败而不是拒绝请求。 有些缺点,例如: 无法记录签发的证书,仅在日志中可见,所以 如果出现这些行中的任何一行,试验就应失败。 CA 日志行 表示一个错误,然后是一条与消息相通的行 harness fault 和原始行键入 line。 。 。 .

下 workerd,CA的输出每100ms复制到日志文件,所以 在收到答复后不久,即可登录请求.

程序使用

import { startTestServer } from "@andrewheberle/serverless-ssh-ca-testing"

const server = await startTestServer("node", "config.json")
// make requests to http://127.0.0.1:${server.port}
await server.close()

下 node 加州大学 console 输出重定向到日志文件直到 服务器已关闭 .

版本与发布记录

@andrewheberle/serverless-ssh-ca-testing 共发布 17 个版本,首次发布于 2026/10/09;过去 12 个月发布了 17 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.30.0latest2026/11/07今天
0.29.02026/11/07今天
0.28.12026/11/07今天
0.28.02026/11/061 天前
0.27.02026/11/061 天前
0.26.02026/11/052 天前

关于 @andrewheberle/serverless-ssh-ca-testing 的常见问题

@andrewheberle/serverless-ssh-ca-testing 是什么?

在 Node.js 下运行无服务器的 SSH CA 或为客户端对端测试工作

如何安装 @andrewheberle/serverless-ssh-ca-testing?

在项目目录运行 npm install @andrewheberle/serverless-ssh-ca-testing,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@andrewheberle/serverless-ssh-ca(>=0.20.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 serverless-ssh-ca-test-server,可以用 npx serverless-ssh-ca-test-server 直接运行。

@andrewheberle/serverless-ssh-ca-testing 支持 TypeScript 吗?

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

@andrewheberle/serverless-ssh-ca-testing 支持 ESM 还是 CommonJS?

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

@andrewheberle/serverless-ssh-ca-testing 需要什么版本的 Node.js?

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

@andrewheberle/serverless-ssh-ca-testing 可以商用吗?

@andrewheberle/serverless-ssh-ca-testing 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@andrewheberle/serverless-ssh-ca-testing 的下载量有多少?

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

@andrewheberle/serverless-ssh-ca-testing 还在维护吗?

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