# @dnsid-ai/transport 中文文档

规范地址：https://npmcn.com/package/%40dnsid-ai/transport/

版本：0\.37\.0
npm 元数据更新时间：2026-11-11T18:03:29.279Z
中文译文更新时间：2026-11-13T07:31:06.309Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dnsid-ai/transport
原文对照：https://npmcn.com/package/%40dnsid-ai/transport/?lang=original
项目主页：https://github.com/dnsid-ai/dnsid-ts#readme
源码仓库：https://github.com/dnsid-ai/dnsid-ts

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：118 kB，8 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：^22\.23\.4 \|\| ^24\.22\.1 \|\| \>=26\.12\.1
- 运行依赖：3 个
- 首次发布：2026-09-22T12:59:14.090Z
- 最新版本发布：2026-11-11T18:03:28.958Z
- 近 30 天下载量：2131（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：22（近 12 个月 22 个）

## 中文简介

为DNSid提供Node.js DNS和HTTPS运输执行.

## 安装

```sh
npm install @dnsid-ai/transport
```

也可以使用：`pnpm add @dnsid-ai/transport`、`yarn add @dnsid-ai/transport`、`bun add @dnsid-ai/transport`

## README

# @dnsid-ai/运输

节点.js 为DNSid TypeScript包所执行的运输.

需要默认节点 DNS 和 HTTPS/TLS 管道时使用此软件包 `@dnsid-ai/protocol` 或者说 `@dnsid-ai/sdk/node`。 。 。 .

## 责任

-   通过系统 DNS 或配置的 DNS 服务器解析 DNS TXT
-   DNS 服务器解析和查找助手
-   HTTPS JSON 获取
-   安全安保部队 `fetch` 用于需要连接时间 DNS 检查的配置文件包
-   TLS 证书抓取
-   自定义 CA 捆绑支持
-   自定义 DNS 服务器支持

此软件包是节点专用的,并有意从 `@dnsid-ai/protocol`。 。 。 .

## 安装

```sh
npm install @dnsid-ai/transport
```

## 示例

```ts
import { createDefaultDnsResolver, createSsrfSafeFetch, fetchJson } from '@dnsid-ai/transport';

const dnsResolver = createDefaultDnsResolver({ dnsServer: process.env.DNSID_DNS_SERVER });
const result = await fetchJson('https://agent.example/.well-known/dnsid-status.json', {
  allowedHost: 'agent.example',
  dnsServer: process.env.DNSID_DNS_SERVER,
  caBundlePath: process.env.DNSID_CA_BUNDLE,
});

const safeFetch = createSsrfSafeFetch({ dnsServer: process.env.DNSID_DNS_SERVER });
```

## 单端签名反应运输

`createResponseSignatureTransport(config?)` 返回时 `responseTransport` 函数 `HttpSignaturesProfile.createSignedFetch` 何时 `signing.responseSignature` 已存在。 它接受准备的 `Request` 返回时 `{ response, peerCert }`。它每个呼叫、再利用、保持状态都执行一个HTTPS请求 互通电话,从不跟踪重定向或重复,从不缓存 保存编码内容字节,而不透明解压。 请求机构 随同发送 `Content-Length`。证书来自连接: 带回了反应,所以可以满足 `fl=mtls`; 剖面图仍然可以验证其SAN相对于预期的 DNSid 代理.

运输尊重请求中止信号,并有30秒的上限. 签字客户提供共享的有限发送/阅读/核查预算 受限内容为 (8 MiB). 独立的运输消费者也必须受到约束 机构读取,取消拒绝的答复,不披露未经核实的内容. 协议升级和隧道建设被拒绝. HTTP 错误和普通 重定向回复返回到配置文件以进行签名核查.

自定义 DNS 和 CA 设置如下 `createDnsidFetch`。像这样的功能,这个 传输不过滤私有地址: 呼叫者必须选择可信任的目标 或为运输机注入必要的网络地址政策。 这是独立的 从WBA的SSRF安全发现运输,并不改变这个特征.

大多数节点应用程序应该通过此操作 `@dnsid-ai/sdk/node` 或配置默认值.

默认解析器查询由节点返回的 DNS 服务器 `dns.getServers()` 以顺序,使用带有TCP回落的UDP来捕捉递归服务器所剩的TXT TTL(封顶一天). `dnsServer` 能够覆盖此列表。 在失败或空答时, 它会回到节点的本地 TXT 和 TTL 检索 `0`失去能力的身份 缓冲这个结果。 节点的服务器列表可能会省略macOS scoped/split-DNS路由,因此连正线解答也无法保证在这些设置中与平台解析器相匹配. 两个路径都不能验证 DNSSEC (`UNKNOWN`; SERVFAIL 是一个解析错误. `validated`编号 :`required` DNSSEC 模式仍需要注入验证解析器. 缓存的校验仍然处于重排状态,除非 `verification.statusCheckInterval` 已经设定.

`createSsrfSafeFetch()` 在向外套接字使用的搜索中执行不安全地址拒绝, 返回方向方向不自动跟踪 。 信任的测试/私人部署可能通过 `privateAddressHosts`: 确切的主机名或前缀后缀, 如 `.test` (label-boarded, case-insential);然后只有RFC 1918/ULA 私有和回回结果被接受用于匹配主机,而链接-local,混合公/私,IP-literal URL仍然被屏蔽. 默认情况下不允许任何东西,甚至 `.test`; 当地 `dnsid` 堆栈需要 `privateAddressHosts: ['.test']` (或 `DNSID_PRIVATE_HOSTS=.test` 结束 `loadEnvironment`) (中文(简体) ). 接受自定义的配置软件包 `fetch` 无法强制对任意执行进行等同的行为, 因此自定义获取注入仍然可以信任的基础设施 .

## 常见问题

### @dnsid-ai/transport 是什么？

为DNSid提供Node\.js DNS和HTTPS运输执行\.

### 如何安装 @dnsid-ai/transport？

在项目目录运行 npm install @dnsid-ai/transport，或使用 pnpm add / yarn add / bun add。

### @dnsid-ai/transport 支持 TypeScript 吗？

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

### @dnsid-ai/transport 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @dnsid-ai/transport 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js ^22\.23\.4 \|\| ^24\.22\.1 \|\| \>=26\.12\.1。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @dnsid-ai/transport 可以商用吗？

@dnsid-ai/transport 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @dnsid-ai/transport 的下载量有多少？

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

### @dnsid-ai/transport 还在维护吗？

最新版本 0\.37\.0 发布于 2026/11/12（1 天前）；至今共发布 22 个版本，其中过去 12 个月发布了 22 个；首次发布于 2026/09/22。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

