mofeng-git
a351b67b6e
chore: bump version to v0.2.9
2026-10-28 21:41:23 +08:00
mofeng-git
cd48df752c
refactor: 清理未使用代码并整合运行时配置逻辑
2026-10-28 21:39:27 +08:00
mofeng-git
63ba4c3980
Merge pull request #308 : preserve relative mouse movement
...
The applicable relative movement changes were adapted and tested in 2e4d4bcd . Retain that implementation, the current bounded connection writer, and the trackpad support from #320 rather than restoring the obsolete connection code.
2026-10-28 14:35:24 +08:00
mofeng-git
2e4d4bcd7f
fix(rustdesk): preserve throttled relative mouse movement
...
Accumulate relative deltas in the existing pending move buffer and flush them on the existing timer or before button and wheel events. Preserve absolute coordinate replacement and trackpad throttling.
Split relative motion after HID queue coalescing so OTG and CH9329 reports preserve bounded displacement under congestion. Add socket timer, input ordering, trackpad, and queue saturation regression tests.
Adapted from the relative mouse improvements proposed in #308 (03866aa4 ), retaining the current connection writer architecture.
2026-10-28 12:41:51 +08:00
mofeng-git
5ddfc21bc1
Merge pull request #320 : fix RustDesk trackpad scrolling
2026-10-28 12:29:25 +08:00
mofeng-git
d6eaeaccbe
refactor(web): 精简前端结构与未使用代码
...
抽离远程访问设置逻辑,合并配置缓存、并发请求及错误处理,修复共享 loading 状态提前结束。统一控制台事件订阅与清理,移除未使用组件、旧 composable 和冗余状态。
已通过前端生产构建、模拟 API 浏览器检查和 OpenWrt ARMv7 部署验证。
2026-10-28 07:54:10 +08:00
mofeng-git
3c15168ddc
feat(hid): 添加 Linux 键盘与 SysRq 快捷键 ( #307 )
...
控制台增加独立快捷键菜单,提供常用组合键和 Linux SysRq 指令,虚拟键盘补充 Linux 布局。
通过可靠且有序的 WebSocket 发送组合键,取消或失败时逐一释放按键,防止修饰键残留。
执行期间避免物理键盘与虚拟键盘交错输入,断连、失焦和切换布局时停止执行。
修正焦点移动后的物理按键释放,并将原虚拟键盘组合键迁移到统一菜单。
验证:独立暂存快照前端构建通过;6 项快捷键单测及 5 组浏览器测试通过,覆盖组合键序列、失败清理、取消及键盘焦点。
Refs #307
2026-10-28 07:21:52 +08:00
mofeng-git
8d58119b77
feat(system): 添加设备信息及重启关机控制
...
关于页展示宿主系统、处理器、架构、内核和资源占用,合并同一文件系统上的系统与 MSD 容量。
新增 Linux 宿主机重启和关机接口,在其他设置中提供二次确认、请求互斥及失败提示。
修正 Linux 磁盘已用空间计算,并补充设备信息和电源控制的后端单元测试。
验证:独立暂存快照前端构建通过;6 项后端测试通过;设置页保存、系统信息及模拟电源控制浏览器测试通过。
2026-10-28 07:20:44 +08:00
mofeng-git
fed753261b
feat(web): 改版设置页与控制台界面
...
统一登录页、控制台和设置页的视觉样式,固定控制台设置入口并补充控件展开状态。
设置页改为按卡片保存,分别处理采集、编码、连接、HID 功能和设备标识,保留相邻卡片草稿。
增加共享帮助提示和移动端导航,固定前端构建依赖。
验证:独立暂存快照前端构建通过;控制台浏览器测试 5 组通过,覆盖登录、三种布局、窄屏、主题和语言切换。
2026-10-28 07:18:59 +08:00
mofeng-git
fc99c6f274
feat(hid): 支持控制台鼠标抖动
...
在控制台鼠键配置菜单增加鼠标抖动开关和间隔设置,默认关闭,间隔支持 10–3600 秒。
设备端按键鼠空闲时间调度,支持配置持久化、热更新、真实输入打断和断连后重新计时。
兼容绝对及相对鼠标模式,按键或按钮按住期间暂停抖动。
验证:608 项 Rust 单测通过;暂存快照前端构建和浏览器交互测试通过;已完成 ARMv7 OpenWrt 部署验证。
Refs #316
2026-10-28 07:11:44 +08:00
toruticas
85123e1118
fix(rustdesk): handle trackpad scrolling
2026-10-27 01:52:42 +00:00
mofeng-git
f303a8cb2f
feat(hid): 支持 CH9329 + OTG 组合模式
...
CH9329 负责键鼠,OTG 提供虚拟媒体、USB 网络和音频;分别配置设备、报告运行状态,并在 OTG 配置变更和回滚时保留未变化的 CH9329 实例。
补齐双设备校验、串口冲突检查、初始化引导和功能入口,修复组合模式下鼠标兼容选项缺失。
验证:独立功能版本的 591 项 Rust 库测试、前端生产构建、3 项引导逻辑测试及 2 组浏览器回归通过。未进行目标 KVM 硬件验证。
2026-10-26 14:33:38 +08:00
mofeng-git
b4161f3534
fix(deb): 修正 amd64 的 libmfx 运行依赖 ( #319 )
...
amd64 程序直接链接 libmfx.so.1,由 libmfx1 提供。移除 libmfx-gen1.2 的替代依赖,避免依赖满足但缺少实际动态库导致启动失败。
2026-10-19 14:01:07 +08:00
mofeng-git
7ea2936436
feat(mcp): 用 MCP 服务替换内置 AI Agent ( #319 )
...
在现有 HTTP 服务挂载 /mcp,让外部 AI 经共享 API Key 调用原分辨率截图、批量键鼠、ATX/WOL 和虚拟介质八个工具。所有调用共用有界 FIFO 和全局限流,复用现有采集管线与硬件控制器。
移除内置模型调用、网页 Agent 面板及旧配置,设置页提供可持续查看的 Key、统一的地址/密钥复制样式。补齐 DEB 的 libudev1 运行依赖。
验证:583 项 Rust 库测试、前端生产构建、ARMv7 设备视觉操作与介质/WOL 实测,以及默认 Release 构建和 DEB 包校验通过。
Refs #319
2026-10-19 12:12:03 +08:00
mofeng-git
3f970ee834
feat(extensions): 使用 EasyFrp 替换 gostc
...
将扩展配置、接口和设置页切换为 EasyFrp,支持按行填写多个客户端连接 URL,通过 easyfrpc control 启动并校验协议与密钥路径。
旧 gostc 配置不自动启用 EasyFrp,升级后需重新配置;启动日志不再输出命令参数,避免暴露连接信息。
完整 Docker 镜像包含 easyfrpc、easytier-core、easytier-cli 和 frpc,通过独立下载脚本及版本锁定文件校验下载摘要和二进制架构。
2026-10-18 18:09:59 +08:00
mofeng-git
c4344e4a1c
feat(web): 支持点击键盘状态灯切换锁定状态
...
为控制台普通和紧凑布局的 Caps、Num、Scroll 状态灯增加点击操作及中英文悬停提示,通过现有 HID 通道发送对应按键的按下和释放事件。
保留远端状态灯反馈,在 HID 未连接、按键已按住或发送过程中禁用操作,并在发送失败时显示提示。
2026-10-18 18:04:21 +08:00
mofeng-git
92a08fb2bc
perf(video): 优化 MJPEG 传输和 JPEG 编码
...
按 HTTP 消费进度读取最新帧并合并积压通知,复用帧缓冲区所有权,减少 MJPEG 传输和截图的数据复制。
在 JPEG 数据后立即发送下一帧的完整 multipart 头,减少静态画面的浏览器显示等待,并保留保活和客户端释放逻辑。
缓存相同原始帧的 JPEG 编码结果,在输入或画质变化时重新编码;按像素格式分配转换缓冲区,减少闲置内存。
补充缓冲区寿命、慢客户端、序列号重置、编码缓存和保活回归测试。
2026-10-18 17:42:22 +08:00
mofeng-git
b657ef76bc
feat(platform): 按平台能力控制功能入口与请求
2026-10-17 22:12:22 +08:00
mofeng-git
3a881ed0f7
docs: 更新 README.md
2026-10-13 22:31:56 +08:00
mofeng-git
d56665371f
docs: 移除文档
2026-10-13 22:30:26 +08:00
mofeng-git
d7239ba15c
fix(otg): 适配 OpenWrt netifd 网络桥接与事务恢复
2026-10-13 22:15:14 +08:00
mofeng-git
2b53c2982b
fix(watchdog): 修复 musl 下 ioctl 请求参数类型不匹配
2026-10-13 22:11:55 +08:00
mofeng-git
1d40b34f1c
feat: 支持从 GitHub Release 生成在线升级站点
2026-10-13 22:05:19 +08:00
mofeng-git
f926692e2c
fix(web): 对齐侧边栏移动端判断与响应式断点
2026-10-13 21:56:21 +08:00
mofeng-git
2ebad622f0
feat: 增加 OpenWrt 系统管理入口
...
- 通过 ONE_KVM_OPENWRT=1 控制入口显示和跳转;
- 读取 uhttpd 当前监听配置,并跳转到 LuCI 地址。
2026-10-12 23:02:12 +08:00
mofeng-git
92f4203bc2
build: 启用显式 RKMPP 构建
2026-10-12 22:53:12 +08:00
mofeng-git
66a13d3d8c
chore: bump version to v0.2.8
2026-10-01 23:18:40 +08:00
mofeng-git
8b4ca6d080
refactor(video): 移除性能实验开关和逐帧统计代码
2026-10-01 23:05:24 +08:00
mofeng-git
9a1f4ff4b5
perf(audio,hid): 减少 PCM 复制和鼠标热路径分配与轮询
2026-10-01 22:55:57 +08:00
mofeng-git
3b8a4a6f34
perf(video): 减少闲置缓冲并容忍短时输出背压
2026-10-01 22:50:37 +08:00
mofeng-git
4f59e78179
refactor: 将 DTLS 本地依赖迁移到 libs 目录
2026-10-01 22:46:36 +08:00
mofeng-git
2f60e61dd5
perf(video): 消除中间帧复制并优化 MJPEG 有界预取
...
通过 Bytes 所有权和只读 AVBufferRef 引用池化 NV12 输入,消除中间 AVFrame 的整帧复制,并保留 V4L2 编码包脱离硬件缓冲的处理。
允许输出健康时有界预取 MJPEG,在输出背压时优先解码前丢帧;增加等帧、输出等待、丢帧原因及编码分段耗时统计,提供预取和所有权输入的对照开关。
补充缓冲寿命、只读保护、软件编码回退和队列策略测试及接口说明,保留现有 PTS、解码 worker、音频和加密行为。
2026-10-01 22:39:04 +08:00
mofeng-git
318b58b26a
perf(video): 优化视频流水线并统一使用 vendored OpenSSL
...
使用固定采集、解码和编码线程及同步最新帧槽,减少同步异步跨界和无效 MJPEG 解码。
编码前预留消费者容量,以完整批次投递编码结果并隔离慢客户端,避免丢失 H.264 参考帧;保留 PTS 修正,不增加 IDR 节流。
复用 Annex-B 缓冲并增加低频发送分项统计,默认启用 vendored OpenSSL SRTP AES-CM 后端。
HTTP 客户端、HTTPS 服务端和本地 DTLS 证书验证迁移至 OpenSSL,移除 rustls TLS 引擎依赖,保留证书验证、媒体加密和原有协议协商。
2026-10-01 18:34:40 +08:00
mofeng-git
48cd06c7a4
fix(web): 移除控制台视频区外围留白
2026-09-29 20:34:00 +08:00
mofeng-git
99da8a3c61
修复:按 PTS 生成 H264 RTP 时间戳
2026-09-29 20:32:29 +08:00
mofeng-git
1e0b0407d3
修复:适配 CH9329F 71 字节参数响应
2026-09-29 20:32:29 +08:00
mofeng-git
7e6dc91095
修复:校验 V4L2 编码协商尺寸,避免送帧越界崩溃
2026-09-27 13:42:38 +08:00
mofeng-git
f8fb64ad8c
fix(web): 修复初始化向导未应用所选 HID 配置
2026-09-26 11:47:05 +08:00
mofeng-git
0e8c323659
chore(web): 清理四项未使用的前端开发依赖
2026-09-26 11:31:37 +08:00
mofeng-git
03cff9d9a8
fix(web): 优化 HID 兼容配置入口并调整引导布局
2026-09-26 09:28:21 +08:00
mofeng-git
0a041c2caa
fix(web): 修复控制台布局动态切换残留问题
2026-09-26 00:57:16 +08:00
mofeng-git
83cbfb6924
fix(web): 移除鼠标配置中的 HID 状态信息
2026-09-26 00:37:14 +08:00
mofeng-git
6010c39cd8
fix(web): 优化 HID 引导布局并取消完成后自动弹窗
2026-09-26 00:31:36 +08:00
mofeng-git
4cf3f4e252
fix(web): 完善后端 404 响应并修复 /api 未匹配路由被静态兜底遮蔽
...
- 静态资源缺失时返回 404 HTML,移除"前端未构建"占位页
- /api 未匹配路由返回统一的 404 JSON
- 静态兜底由 /{*path} 改为 fallback_service,避免在 axum 0.8 下遮蔽嵌套 /api 的 fallback 并导致鉴权被绕过
2026-09-22 21:42:19 +08:00
mofeng-git
3d3110c3d7
chore: 许可证由 GPL-2.0 修正为 AGPL-3.0-only 并补全第三方归属声明
2026-09-22 10:14:43 +08:00
mofeng-git
22912707b5
chore: 移除未使用的 libloading 依赖
2026-09-22 09:35:26 +08:00
mofeng-git
e85f0a9bfe
build: 切换国内 Rust/APT 镜像至中科大并支持自定义下载代理
2026-09-22 09:30:07 +08:00
mofeng-git
d71112380c
chore: bump version to v0.2.7
2026-09-21 21:49:52 +08:00
mofeng-git
491bfbecb5
fix: improve UAC playback and OTG rebinding
2026-09-21 21:47:49 +08:00
mofeng-git
8a6cc98806
fix(build): 禁用阿里云镜像推送的证明元数据
2026-09-17 18:15:08 +08:00