Commit Graph

62 Commits

Author SHA1 Message Date
SilentWind
3341d8b5cd Merge pull request #225 from mofeng-git/pr-223-atx-only
feat(atx): merge serial relay support from #223
2026-02-20 14:14:30 +08:00
mofeng-git
251a1e00c4 feat(atx): merge serial relay support from #223 2026-02-20 14:11:00 +08:00
mofeng-git
ce622e4492 fix: 优化 WebRTC 建连流程、修复平台信息、修复虚拟键盘键值映射
- WebRTC:默认 mDNS 调整为 QueryOnly,Answer 阶段改为等待 ICE gathering complete(2.5s 超时),提升首次建连成功率与候选完整性
- WebRTC:前端建连流程增加阶段化状态与串行保护(connectInFlight/ready gate),优化配置变更后的重连时机与失败处理,减少竞态和无效重试
- Device:平台信息补充 `/proc/device-tree/model` 回退并统一展示为“处理器/平台”
- HID:键盘输入链路统一为 HID usage + modifier bitmask,修复虚拟键盘/宏/粘贴键值映射错误
2026-02-20 13:34:49 +08:00
mofeng-git
5f03971579 feat(web): 新增 HID OTG 自检接口与设置页环境诊断面板,并优化在线升级状态文案本地化及重启后自动刷新体验 2026-02-20 09:44:02 +08:00
mofeng-git
ba1b5224ff fix(web): 调整控制台HID状态卡片内容与弹层对齐 2026-02-11 22:16:54 +08:00
mofeng-git
ccaf4d1205 fix(rtsp): 修复清空用户名后仍触发认证导致 401 的问题 2026-02-11 20:55:20 +08:00
mofeng-git
6ed1cf5bef feat: HID串口优先ttyUSB并在视频设备名称后显示路径 2026-02-11 20:45:13 +08:00
mofeng-git
74411d354c fix: 修复卡片字体大小不一致 2026-02-11 20:00:49 +08:00
mofeng-git
3133db9c86 fix: 修复 rtsp 服务连接错误 2026-02-11 20:00:33 +08:00
mofeng-git
934dc48208 feat: 支持在线升级功能 2026-02-11 19:41:19 +08:00
mofeng-git
60b294e0ab feat: 增加WOL服务端历史记录并支持跨浏览器同步 2026-02-11 17:04:40 +08:00
mofeng-git
fb975875f1 feat: 新增 RTSP 设置菜单与配置面板 2026-02-11 17:01:25 +08:00
mofeng-git
f912c977d0 refactor: 移除 ttyd 扩展的“用户凭据”功能 2026-02-11 16:50:49 +08:00
mofeng-git
24c4002ef2 fix: 修复 RustDesk 中继选择逻辑,使“用户本地配置的 relay_server(非空)”在运行时优先生效 2026-02-11 16:29:47 +08:00
mofeng-git
a7143287d9 fix: 修复构建错误,构建时安装 rsync 2026-02-11 16:17:27 +08:00
mofeng-git
3824e57fc5 feat: 支持 rtsp 功能 2026-02-11 16:06:06 +08:00
mofeng-git
261deb1303 refactor: 收敛单用户模型并优化可访问性与响应式体验
- 后端移除 is_admin 权限字段与相关逻辑,统一为单用户系统模型
- 修复会话过期清理的时间比较方式(改为 RFC3339 参数比较)
- /api/config 聚合配置增加敏感字段脱敏,避免暴露 TURN/RustDesk 密钥与密码
- 配置更新日志改为摘要,避免打印完整配置内容
- 前端修复可点击卡片语义与键盘可达,补齐图标按钮可访问名称
- 调整弹窗与抽屉的响应式尺寸,优化多端显示与交互
2026-02-10 22:30:52 +08:00
mofeng-git
394baca938 fix: 补齐 ATX 控制器缺失接口并完成全项目 clippy -D warnings 修复 2026-02-10 21:37:33 +08:00
mofeng-git
72eb2c450d feat: 迁移视频采集到 v4l2r,支持多平面设备并完善构建头文件
- 将 V4L2 采集依赖从 v4l 切换到 v4l2r

- 新增基于 v4l2r 的 mmap 采集实现,优先使用 VIDEO_CAPTURE_MPLANE

- 更新像素格式转换与设备枚举逻辑,探测阶段改为只读打开

- 增加采集错误日志节流,避免 dqbuf EINVAL 日志风暴

- 交叉编译镜像安装更新的 Linux 内核头文件供 bindgen 使用
2026-02-10 13:52:52 +08:00
mofeng
f8a031c90c feat: 支持树莓派 v4l2m2m 编码器探测 2026-02-09 14:54:46 +08:00
mofeng
8b17a0c48b chore: 更新版本号到 v0.1.3 v260131 2026-01-31 02:10:39 +08:00
mofeng
e75f0500e2 fix: 默认跳过晶晨 /dev/video0 vdec 探测,仅在设置环境变量时允许,修复内核 BUG 带来的软件卡死 2026-01-31 02:04:52 +08:00
mofeng
a14e0fb26d chore: 更新版本号到 v0.1.3 v260130 2026-01-30 15:32:04 +08:00
mofeng
d649c1ac20 feat: 引入统一配置 store 并迁移 Console/Settings 配置读写;自动显示当前使用的配置 2026-01-30 15:24:26 +08:00
mofeng
6a110258b9 feat: 支持 ipv4/ipv6 双栈访问 2026-01-30 14:47:41 +08:00
mofeng
58f9020192 feat: RustDesk 扩展支持相对鼠标模式,上报设备标识修改为 Windows 2026-01-30 13:10:55 +08:00
mofeng
f3b42e2aaf fix: 引导流程结束后,再次访问引导页面自动跳转 2026-01-30 13:06:32 +08:00
mofeng
b2b99115ec fix: 修复 USB HID 端点异常时鼠标事件写入会阻塞把服务端音视频线程拖死的问题 2026-01-30 12:33:19 +08:00
mofeng
1a0b285fe6 fix: 初步修复移动端 UI 错乱 2026-01-29 22:43:47 +08:00
mofeng
d9daeb211a fix: 修复 /dev/videoX 设备非视频设备 v4l2 不返回内容,导致主程序挂起的问题 2026-01-29 21:23:48 +08:00
mofeng
78aca25722 fix: 修复部分资源未授权访问,删除冗余 Admin 判断逻辑 2026-01-29 20:16:53 +08:00
mofeng
9cb0dd146e fix: 修复适配全志平台 OTG 低端点情况 2026-01-29 20:00:40 +08:00
mofeng
2938af32a9 fix: 将会话失效处理集中到路由并避免在登录页刷新循环 2026-01-28 21:52:12 +08:00
mofeng
ece0bbdcef fix: 修复 rustdesk 扩展前端校验逻辑,自动补全端口 2026-01-28 21:44:45 +08:00
mofeng
2dc055a5b2 dcos: 更新 README.md 2026-01-27 23:31:09 +08:00
mofeng
46c2edeb96 fix: 完善前端 USB OTG 动态配置功能的选项 2026-01-27 22:16:45 +08:00
mofeng
9d5451f588 fix: 完善 rustdsk 丢帧策略 2026-01-27 17:32:28 +08:00
mofeng
9193c54f86 fix: mpp 性能优化和修复
- mjpeg-->h265 mpp 编码速度优化
- 修复 mpp 编码后的视频 rustdesk 无法解码问题
- 更新版本号为 v0.1.2
2026-01-27 17:06:47 +08:00
mofeng
1786b7689d feat: 完善架构优化性能
- 调整音视频架构,提升 RKMPP 编码 MJPEG-->H264 性能,同时解决丢帧马赛克问题;
- 删除多用户逻辑,只保留单用户,支持设置 web 单会话;
- 修复删除体验不好的的回退逻辑,前端页面菜单位置微调;
- 增加 OTG USB 设备动态调整功能;
- 修复 mdns 问题,webrtc 视频切换更顺畅。
v260125
2026-01-25 16:04:29 +08:00
mofeng-git
01e01430da feat: 支持 MJPEG 解码与 MSD 目录配置
- FFmpeg/hwcodec 增加 RKMPP MJPEG 解码与 RAM FFI,ARM 构建启用对应解码器
  - 共享视频管线新增 MJPEG 解码路径(RKMPP/TurboJPEG),优化 WebRTC 发送与 MJPEG 去重
  - MSD 配置改为 msd_dir 并自动创建子目录,接口与前端设置同步更新
  - 更新包依赖与版本号
v260111
2026-01-11 16:32:37 +08:00
mofeng-git
0f52168e75 fix(web): 统一 API 请求语义并修复鼠标移动发送间隔
- 新增统一 request:同时处理 HTTP 非 2xx 与 success=false,并用 i18n toast 提示错误
- api/index.ts 与 api/config.ts 统一使用同一 request,避免错误处理不一致
- "发送间隔" 仅控制鼠标移动事件频率,WebRTC/WS 行为一致,不影响点击/滚轮
2026-01-11 11:37:35 +08:00
mofeng-git
206594e292 feat(video): 事务化切换与前端统一编排,增强视频输入格式支持
- 后端:切换事务+transition_id,/stream/mode 返回 switching/transition_id 与实际 codec

- 事件:新增 mode_switching/mode_ready,config/webrtc_ready/mode_changed 关联事务

- 编码/格式:扩展 NV21/NV16/NV24/RGB/BGR 输入与转换链路,RKMPP direct input 优化

- 前端:useVideoSession 统一切换,失败回退真实切回 MJPEG,菜单格式同步修复

- 清理:useVideoStream 降级为 MJPEG-only
2026-01-11 10:41:57 +08:00
mofeng-git
9feb74b72c fix: 启用 opus 静态链接修复交叉编译
- 添加 OPUS_STATIC=1 和 PKG_CONFIG_ALL_STATIC=1 环境变量
- 为 libopus 配置添加 --prefix 参数确保静态链接
2026-01-10 13:03:43 +08:00
mofeng-git
e670f1ffd1 refactor: 升级依赖版本并优化构建系统
- 升级核心依赖 (axum 0.8, tower-http 0.6, alsa 0.11 等)
- 简化交叉编译配置,切换至 Debian 11 提高兼容性
- 新增 Debian 包打包支持 (debuerreotype 模板)
- 移除独立的 mjpeg 解码器,简化视频模块
- 静态链接 libx264/libx265/libopus 到二进制
2026-01-10 10:59:00 +08:00
mofeng-git
3fa91772f0 feat!: 移除内置公共服务器
- 移除公共 RustDesk ID 服务器 (用户需自行配置)
- 移除公共 TURN 服务器 (仅保留 Google STUN)
- 清理废弃代码: PublicServerInfo, is_using_public_server 等
- 更新前端 UI 和国际化文本
- 重新生成 TypeScript 类型

破坏性变更: 不再提供内置公共服务器。用户必须配置自己的
RustDesk 服务器和 TURN 服务器才能在生产环境中使用。
2026-01-08 16:53:19 +08:00
mofeng-git
9ab3d052f9 feat(webrtc): 添加公共ICE服务器支持和优化HID延迟
- 重构ICE配置:将TURN配置改为统一的ICE配置,支持STUN和多TURN URL
- 添加公共ICE服务器:类似RustDesk,用户留空时使用编译时配置的公共服务器
- 优化DataChannel HID消息:使用tokio::spawn立即处理,避免依赖webrtc-rs轮询
- 添加WebRTCReady事件:客户端等待此事件后再建立连接
- 初始化时启动音频流,确保WebRTC可订阅
- 移除多余的trace/debug日志减少开销
- 更新前端配置界面支持公共ICE服务器显示
2026-01-04 15:06:08 +08:00
mofeng-git
0c82d1a840 feat(rustdesk): 完整实现RustDesk协议和P2P连接
重大变更:
- 从prost切换到protobuf 3.4实现完整的RustDesk协议栈
- 新增P2P打洞模块(punch.rs)支持直连和中继回退
- 重构加密系统:临时Curve25519密钥对+Ed25519签名
- 完善HID适配器:支持CapsLock状态同步和修饰键映射
- 添加音频流支持:Opus编码+音频帧适配器
- 优化视频流:改进帧适配器和编码器协商
- 移除pacer.rs简化视频管道

扩展系统:
- 在设置向导中添加扩展步骤(ttyd/rustdesk切换)
- 扩展可用性检测和自动启动
- 新增WebConfig handler用于Web服务器配置

前端改进:
- SetupView增加第4步扩展配置
- 音频设备列表和配置界面
- 新增多语言支持(en-US/zh-CN)
- TypeScript类型生成更新

文档:
- 更新系统架构文档
- 完善config/hid/rustdesk/video/webrtc模块文档
2026-01-03 19:34:07 +08:00
mofeng-git
cb7d9882a2 feat(hid): 添加 Consumer Control 多媒体按键和多平台键盘布局
- 新增 Consumer Control HID 支持(播放/暂停、音量控制等)
- 虚拟键盘支持 Windows/Mac/Android 三种布局切换
- 移除键盘 LED 反馈以节省 USB 端点(从 2 减至 1)
- InfoBar 优化:按键名称友好显示,移除未实现的 Num/Scroll 指示器
- 更新 HID 模块文档
2026-01-02 23:52:12 +08:00
mofeng-git
ad401cdf1c refactor(web): 前端代码规范化重构
- 集中化 HID 类型定义到 types/hid.ts,消除重复代码
- 统一 WebSocket 连接管理,提取共享工具到 types/websocket.ts
- 拆分 ConsoleView.vue 关注点,创建 useVideoStream、useHidInput、useConsoleEvents composables
- 添加 useConfigPopover 抽象配置弹窗公共逻辑
- 优化视频容器布局,支持动态比例自适应
2026-01-02 21:24:47 +08:00
mofeng-git
427751da24 perf(rustdesk): 优化视频流性能和修复管道重启问题
- 使用 bounded channel(4) 替代 unbounded channel 提供背压控制
- 配置 protobuf 使用 bytes::Bytes 类型实现零拷贝
- 添加 encode_frame_bytes_zero_copy 方法避免帧数据拷贝
- 预分配 128KB 发送缓冲区减少内存分配
- 添加 write_frame_buffered 函数复用缓冲区
- 修复视频管道重启后 RustDesk 连接不恢复的问题
- 实现双层循环自动重新订阅新管道
- 修复 WebRTC set_bitrate_preset 中 video_frame_tx 被清除的问题
- 删除冗余的 RegisterPeer 日志
2026-01-02 18:53:05 +08:00