@freerdp-bridge/node

中文文档
0.7.0发布于 2026/10/31MITTypeScriptES Module构建来源已验证近 30 天下载 2579

工人生命周期,私人IPC,会话管理以及FreeRDP浏览器 Bridge的受限媒体发送. 每届RDP会用自有的C++工人;FreeRDP运行于Node.js外. 对于HTTP/WebSocket嵌入,应用程序通常使用QQfreedp-bridg

中文使用文档
文档目录9 节
  1. 目的
  2. 安装
  3. 所需资源
  4. 使用量
  5. 图像剪贴板在 0. 5.0 中
  6. 以0.6.0管理文件
  7. 0.7.0中的主机设备库存
  8. 限制
  9. 许可证

@frordp-bridge/节点

目的

工人生命周期、个人信息、会议管理和限界媒体 freeRDP 浏览器桥。 每届区域发展方案会议都使用自己的本地C++工人; FreeRDP运行在节点外.js. 用于 HTTP/WebSocket 嵌入,应用程序 通常使用 @freerdp-bridge/fastify。 。 。 .

安装

为应用程序服务器安装此软件包和一个匹配的运行时间 :

# Linux x64 / glibc
npm install @freerdp-bridge/node @freerdp-bridge/runtime-linux-x64-gnu

# Windows x64
npm install @freerdp-bridge/node @freerdp-bridge/runtime-win32-x64

所需资源

节点24,无害环境管理,以及跨桥/运行时间包的匹配产品版本. 运行时间是一个明确的应用程序依赖,而不是自动安装. 已准备好的运行时间包包括编译的工人、综合方案帮助者和本地私人 图书馆。 消费者不需要GCC、CMake或系统FreeRDP。 节点.js没有捆绑.

使用量

这个探测器开始和加入一个没有RDP连接的本地工人:

import {
  resolveNativeRuntime,
  recoverRuntimeSessions,
  probeWorkerBuild,
} from '@freerdp-bridge/node';

const worker = await resolveNativeRuntime({
  runtimeRoot: '/private/run/rdp-bridge',
});
const recovery = await recoverRuntimeSessions({ ...worker, timeoutMs: 10000 });
if (!recovery.supported || !recovery.complete) {
  throw new Error('RDP_RUNTIME_RECOVERY_INCOMPLETE');
}
const build = await probeWorkerBuild(worker);
console.log(build.bridgeVersion);

选择一个绝对的,私有的,可写入的运行时路;在Windows上使用Windows路径. 分辨率验证版本,库存,散列以及工人/IPC相容性. 不剥离返回的 Windows 命名空间前缀 。 习惯 packageDirectory 必须引用已安装的完整运行时间,并且来自信任的主机配置.

图像剪贴板在 0. 5.0 中

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

版本0.5.0 添加打入的 ClipboardImageItem,图像读取/写入结果 和共享会话控制方法。 明确选择 clipboard.images: true 和要求 clipboardImage, (中文(简体) ), clipboardText 财务报告和审定财务报表 clipboardRevoke自定义 工人工厂必须通过整个被冻结的限制对象,包括: clipboardImage 财务报告和审定财务报表 clipboardItemBytes,改为 NativeSessionWorker。 。 。 . 等待已准备好的剪贴板快照,并获得当前控制赠款; 仅靠连接是不够的。 返回的RGBA8缓冲器属于消费者 使用后必须被擦去。 一个文本/HTML/图像转移和撤销所有者是 共享; canonial DIBV5 头部间接费用计算为本地写入. 已公布的0.4.0不包含此功能. 使用已核实的匹配0.5.0 联合来文/原生文物和 应用程序指南 准备状态、准确控制API实例、配额和命名接受范围.

以0.6.0管理文件

使用匹配的JS/本地产品版本,用于管理文件 IPC并重新定向 沙盒驱动器。 适配器/会话管理器提供被冻结的文件限制, 验证所有权并加入清理。 这个下层库没有 自行创建认证的 HTTP 文件服务 .

OS 文件管理器 Ctrl+C/Ctrl+V 仍被推迟(clipboardFiles: false) (中文(简体) ). 见 文件政策、路径、框架示例和测试范围。 。 。 .

0.7.0中的主机设备库存

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

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

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. 供应商、界限和测试范围。 。 。 .

限制

0.4.0 与 Unicode 一起添加了已选择的 HTML 剪贴板 。 利用公众 届会政策和要求 clipboardHtml 能力。 习惯 workerFactory 必须通过整个被冻结的会话限制对象,包括 clipboardHtml,改为 NativeSessionWorker。两种格式共享一个操作和 撤销所有者;返回定制消费者的缓冲器在使用后必须被擦去. 见 HTML 合同。 。 。 . HTML 选择不能自动启用图像/文件剪贴板或OS剪贴板访问 .

0.3.0版本 增加了明确的 recoverRuntimeSessions 在应用程序收听器之前 启动。 它保留了活跃的会议、遗产/未知的内容和不确定的内容 所有权; 它从不重复清除运行时间根或杀死会话进程. 已准备好的本地软件包必须包括匹配的工人/帮助组。 期间 发布准备使用经过核实的完整本地档案;仅一个源版本 没有确定登记处的可用性。 出版的0.2.5缺少这个API. 见 运行时间恢复指南 用于启动、限值取消、权限和保留.

这个下层库没有HTTP的收听器或默认的认证. 使用 用于验证身份、政策、限定队列、, 证书决定和合并清理。 全权证书只属于私人 工人IPC,从不 argv,环境,日志或文件. 证书是严格的 默认。 仅导出类型或编译的通道并不能证明设备支持. 准备运行时间配置文件为 Windows x64 和 Linux x64/glibc; macOS、 ARM 和 musl 这里不支持.

许可证

项目所属代码为MIT;参见LICENSE. 读取 III PARTY NOTICES.md, 许可证 和相应的源/在再分配之前的本地运行时间.

版本与发布记录

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

版本发布日期距今
0.7.0latest2026/10/3116 天前
0.6.02026/10/3017 天前
0.5.02026/10/2719 天前
0.4.02026/10/2620 天前
0.3.02026/10/2521 天前
0.2.52026/10/2423 天前

关于 @freerdp-bridge/node 的常见问题

@freerdp-bridge/node 是什么?

工人生命周期,私人IPC,会话管理以及FreeRDP浏览器 Bridge的受限媒体发送. 每届RDP会用自有的C++工人;FreeRDP运行于Node.js外. 对于HTTP/WebSocket嵌入,应用程序通常使用QQfreedp-bridg

如何安装 @freerdp-bridge/node?

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

@freerdp-bridge/node 支持 TypeScript 吗?

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

@freerdp-bridge/node 支持 ESM 还是 CommonJS?

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

@freerdp-bridge/node 需要什么版本的 Node.js?

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

@freerdp-bridge/node 可以商用吗?

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

@freerdp-bridge/node 的下载量有多少?

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

@freerdp-bridge/node 还在维护吗?

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