# @freerdp-bridge/api 中文文档

规范地址：https://npmcn.com/package/%40freerdp-bridge/api/

版本：0\.7\.0
npm 元数据更新时间：2026-10-30T19:50:44.154Z
中文译文更新时间：2026-11-15T14:35:11.710Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40freerdp-bridge/api
原文对照：https://npmcn.com/package/%40freerdp-bridge/api/?lang=original
项目主页：https://github.com/SensNyaha/freerdp-browser-bridge#readme
源码仓库：https://github.com/SensNyaha/freerdp-browser-bridge

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

- 包体积（解压后）：547 kB，90 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=24 \<25
- 运行依赖：8 个
- 首次发布：2026-10-22T18:33:26.235Z
- 最新版本发布：2026-10-30T19:50:43.805Z
- 近 30 天下载量：2573（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：10（近 12 个月 10 个）

## 中文简介

共享 HTTP/WebSocket会话 API和FreeRDP浏览器桥的参考浏览器资产. 这个 `./fastify` 导出在已有服务器上挂载桥。 大多数应用程序应安装 `@freerdp-bridge/fastify`,可以再出口这种一体化.

## 安装

```sh
npm install @freerdp-bridge/api
```

也可以使用：`pnpm add @freerdp-bridge/api`、`yarn add @freerdp-bridge/api`、`bun add @freerdp-bridge/api`

## README

# @ freordp-bridge/ api (英语)

## 目的

共享 HTTP/ WebSocket 会话 API 和 FreeRDP 的参考浏览器资产 浏览器桥. 这个 `./fastify` 导出在已有服务器上挂载桥. 大多数应用程序应安装 `@freerdp-bridge/fastify`,用于再出口 这种融合.

## 安装

```sh
# Linux x64 / glibc application server
npm install fastify@5.12.5 @freerdp-bridge/api @freerdp-bridge/runtime-linux-x64-gnu

# Windows x64 application server
npm install fastify@5.12.5 @freerdp-bridge/api @freerdp-bridge/runtime-win32-x64
```

## 所需资源

节点24、无害环境管理、快取5和明确安装的本地运行时间 与JS软件包相同的产品版本. 准备二进制和私有 FreeRDP 库处于运行时间;消费者不需要编译器或系统FreeRDP. 节点.js和浏览器没有捆绑.

## 使用量

```js
import Fastify from 'fastify';
import { rdpBridgePlugin, resolveNativeRuntime } from '@freerdp-bridge/api/fastify';

const app = Fastify();
const worker = await resolveNativeRuntime({ runtimeRoot: '/private/run/rdp-bridge' });
app.register(rdpBridgePlugin, {
  prefix: '/rdp',
  worker,
  allowedOrigins: ['https://app.example'],
  authenticate: request => verifyApplicationIdentity(request),
});
await app.listen({ host: '127.0.0.1', port: 8080 });
```

执行 `verifyApplicationIdentity` 使用经核实的主机无记名/mTLS身份, 返回时 `{ id: verifiedUserId }` 或者说 `undefined`这里没有供应。 使用 windows上绝对的运行时间 Root。 主机拥有外部 TLS 和 日志策略:排除证书并附加 URL 令牌. 饼干身份 需要单独的CSRF/Origin适配器,目前被拒绝.

路由在所需的前缀下共享主机端口. 如果主机有一个 所有 WebSocket 调度器, 使用 `upgradeMode: 'manual'` 和手柄从 `onReady`。 。 。 . `handle.handleUpgrade(request, socket, head)` 返回虚伪 外国航线. 保留封闭的手动手柄来拒绝后期桥面升级. `await app.close()` 加入桥梁清理; `await handle.close()` 仅退休 桥和保留宿主.

`@freerdp-bridge/api/browser` 出口 `referenceBrowserDirectory`服务于 通过您的静态路由器设置客户端 `basePath: '/rdp'`。 。 。 . 软件包导出 `./fastify` 财务报告和审定财务报表 `./browser`,没有根 API 导入.

## HTML 剪贴板

在已认证会话创建请求中明确选择 HTML :

```json
{"clipboard":{"mode":"bidirectional","text":true,"html":true,"maxItemBytes":1048576}}
```

这只是剪贴板部分; 主机也提供授权目标 全权证书和全权证书。 需求 `clipboardHtml: true` 在本地能力。 这个 匹配的参考资产提供单独的 Paste/Send/Get/Copy 动作和 a 安全静态格式化配置 。 报价不读取任何剪贴板 . HTML 和 Unicode 共享一个项目/ flight/ quota; 不支持的 HTML 被拒绝 没有自动文本倒置。 文件剪贴板仍然分开 . 见 [HTML 指南](https://github.com/SensNyaha/freerdp-browser-bridge/blob/v0.5.0/docs/WEB_CONNECTION_EXAMPLE.md#html-development-workflow) 用于集成、选定范围和浏览器权限要求。 在此之前 出版,使用完整的经核实的当地0.5.0档案;来源版本确实如此 没有确定登记册的可用性.

## 图像剪贴板在 0. 5.0 中

被接受的0.5.0发行中引入了图像剪贴板. 保留JS和 本地运行时版本在后期版本中使用时匹配.

增加0.5.0版本 `clipboard.images: true` 有个方向, `text: true` 和 有限 `maxItemBytes`。需要本地 `clipboardImage`, (中文(简体) ), `clipboardText` 财务报告和审定财务报表 `clipboardRevoke`海关工人工厂必须保留冻结的限制. 参考浏览器提供单独的PNG Paste/Send/Get/Copy/Clear动作. 图像共享文本/ HTML 权限,一次传输飞行并取消;出价永远不会 自动读取 OS 剪贴板。 RGBA8 像素和完整的本土 DIBV5 写入必须符合项目配额,并有16个米B上限。 文件剪贴板是独立的. 已发布 0. 4. 0 不包含此特性: 使用匹配已验证 0. 5. 0 JS/原生文物. 见 [应用程序指南](https://github.com/SensNyaha/freerdp-browser-bridge/blob/v0.5.0/docs/CLIPBOARD_SESSION.md#application-integration-for-the-developing-image-feature) 用于JSON会议、准备状态、打入的控制方法、缓冲擦拭和精确 浏览器/RDP接受限.

## 以0.6.0管理文件

启用可信任的服务器侧 `sessions.files` 暴露经认证的限制 正在流出文件路由,并在会话 JSON 中选择会话-沙盒驱动器. `thinclientDrives` 是这些描述的别名,包括只读 股权。 使用匹配的JS/本土产品版本;发布0.5.0不 提供这些文件 API。 会话输入不能选择任意的主机路径 .

OS 文件管理器 Ctrl+C/Ctrl+V 仍被推迟(`clipboardFiles: false`) (中文(简体) ). 见 [文件政策、路径、框架示例和测试范围](https://github.com/SensNyaha/freerdp-browser-bridge/blob/v0.6.0/docs/FILES.md)。 。 。 .

## 0.7.0中的主机设备库存

0.7.0版本添加了此API;公用0.6.0不包含. 保留联合来文/本土来文 版本匹配 。 在公布前,使用已核实的完整地方档案。 它列出应用程序的元数据 服务器;它不列出浏览器计算机上的设备,也不重定向设备.

```js
import { resolve } from 'node:path';
import { discoverHostDevices, resolveNativeRuntime } from '@freerdp-bridge/api/fastify';

const worker = await resolveNativeRuntime({
  runtimeRoot: resolve('.runtime/operator-inventory'),
});
const report = await discoverHostDevices(worker, {
  classes: ['printers', 'smartcards', 'serial', 'parallel', 'usb'],
  maxDevices: 16,
});
for (const group of report.classes)
  console.log(group.kind, group.status, group.devices.length);
```

使用私有可写入的运行时目录和可信任的操作员访问; 没有 HTTP 自动添加库存路径。 每个电话都会创建并加入一个新鲜的 没有RDP连接或证书的本地工人. 最大值为全球 跨选定类别(1-128); `limit` 表示不完整的快照和 `available` 也许是空的。 处理 `unavailable`, (中文(简体) ), `denied`, (中文(简体) ), `unsupported` 财务报告和审定财务报表 `failure` 当然 ID是快照元数据,而不是设备打开的权限; 避免在公共日志中披露姓名/ID. [供应商、界限和测试范围](https://github.com/SensNyaha/freerdp-browser-bridge/blob/main/DEVICE_REDIRECTION.md#host-inventory-in-the-development-branch)。 。 。 .

## 限制

在64 KB范围内严格验证机构 附加符号,严格RDP证书验证依然执行. 检查 `/rdp/v1/build` 财务报告和审定财务报表 `/rdp/v1/capabilities` 用于本地简介。 安装 不接受所有原有的 V1 设备能力。 这不是独立的 生产身份服务或部署政策.

## 许可证

项目拥有的代码和浏览器资产为MIT;参见LICENSE. 土著依赖关系 保留他们自己的条件 在单独的运行时间的第三 PARTY NOTICES.md, 许可证和相应来源/.

## 常见问题

### @freerdp-bridge/api 是什么？

共享 HTTP/WebSocket会话 API和FreeRDP浏览器桥的参考浏览器资产\. 这个 \./fastify 导出在已有服务器上挂载桥。 大多数应用程序应安装 @freerdp-bridge/fastify,可以再出口这种一体化\.

### 如何安装 @freerdp-bridge/api？

在项目目录运行 npm install @freerdp-bridge/api，或使用 pnpm add / yarn add / bun add。

### @freerdp-bridge/api 支持 TypeScript 吗？

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

### @freerdp-bridge/api 支持 ESM 还是 CommonJS？

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

### @freerdp-bridge/api 需要什么版本的 Node\.js？

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

### @freerdp-bridge/api 可以商用吗？

@freerdp-bridge/api 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @freerdp-bridge/api 的下载量有多少？

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

### @freerdp-bridge/api 还在维护吗？

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

