# dsh-relay-server 中文文档

规范地址：https://npmcn.com/package/dsh-relay-server/

版本：0\.1\.0
npm 元数据更新时间：2026-11-03T12:10:37.282Z
中文译文更新时间：2026-11-03T13:26:39.582Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/dsh-relay-server
原文对照：https://npmcn.com/package/dsh-relay-server/?lang=original
项目主页：https://github.com/ebhrz/dsh-relay#readme
源码仓库：https://github.com/ebhrz/dsh-relay

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

- 包体积（解压后）：28.2 kB，4 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：1 个
- 首次发布：2026-11-03T12:06:26.247Z
- 最新版本发布：2026-11-03T12:10:36.883Z
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

对dsh-relay-phone进行零知识中继：无账号、无数据库、路由端到端按设备id加密流。

## 安装

```sh
npm install dsh-relay-server
```

也可以使用：`pnpm add dsh-relay-server`、`yarn add dsh-relay-server`、`bun add dsh-relay-server`

## README

# dsh-relay-server

零知识接力 [`dsh-relay-phone`](https://npmcn.com/package/plugin)：它将电话连接与您的机器的出站代理连接配对并转发字节，而不需要帐户，数据库或读取有效负载的能力。

的一部分 [dsh-relay](https://github.com/ebhrz/dsh-relay)． 读了 [主要的自述](https://github.com/ebhrz/dsh-relay#readme) 对于架构和安全模型。

## 运行

```sh
KEY="$(openssl rand -hex 24)"
npx dsh-relay-server --port 8889 --agent-port 9000 --key "$KEY"

# or from a clone
node src/index.mjs --port 8889 --agent-port 9000 --key "$KEY"
```

两个侦听器:

| 港口 | 目的 |
| --- | --- |
| `--port` 8889(默认) | 手机。纯HTTP除非 `--tls-cert`/`--tls-key` 给出了 |
| `--agent-port` (默认 `port + 1`） | 代理。总是TLS;该证书是自签名的，在首次运行时生成，除非提供 |

状态仅限于中生成的代理证书 `--data-dir` (默认 `~/.dsh-relay`）; 其他的都在内存中。

## 手机TLS

在中继中终止TLS：

```sh
node src/index.mjs --port 8443 --agent-port 9000 --key "$KEY" --tls-cert cert.pem --tls-key key.pem
```

或者使用来自acme.sh/certbot的证书在普通侦听器前运行捆绑的终止器：

```sh
node src/tls-terminator.mjs --port 8443 --upstream 8889 --cert-dir /etc/letsencrypt/live/example.com
```

终止程序在证书更改时重新加载证书，因此续订不需要重新启动。

## 许可证

apache - 2.0

## 常见问题

### dsh-relay-server 是什么？

对dsh-relay-phone进行零知识中继：无账号、无数据库、路由端到端按设备id加密流。

### 如何安装 dsh-relay-server？

在项目目录运行 npm install dsh-relay-server，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 dsh-relay-server，可以用 npx dsh-relay-server 直接运行。

### dsh-relay-server 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/dsh-relay-server 是否存在。

### dsh-relay-server 支持 ESM 还是 CommonJS？

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

### dsh-relay-server 需要什么版本的 Node\.js？

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

### dsh-relay-server 可以商用吗？

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

### dsh-relay-server 还在维护吗？

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

