@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, 许可证 和相应的源/在再分配之前的本地运行时间.