[安卓+WIN]局域网多端投屏V1.0
局域网投屏的软件不少,但是各有优缺点上月底基于自身需要,借助AI用flutter开发了这款局域网可以安卓+win使用的投屏软件
比如小主机不需要连显示器,直接用笔记本或手机投屏查看内容,或者旧手机当nas使用,尤其是屏幕有问题的,也可以投屏看内容
多端投屏工具 (FlutterCast)
一个基于 Flutter 和 WebRTC 的跨平台多设备投屏与远程控制工具,支持 Windows、Android、iOS、macOS 和 Linux 平台。
功能特性
核心功能
[*]设备发现: 通过 UDP 广播和 TCP 扫描自动发现局域网内的设备
[*]投屏功能: 将设备屏幕实时投屏到其他设备
[*]远程控制: 远程控制其他设备的鼠标和键盘
[*]双向通信: 支持投屏和控制的双向操作
[*]虚拟按键: 支持返回、主页、菜单、音量+、音量- 等常用按键
[*]手势控制: 支持点击、滑动等触摸手势
安全特性
[*]设备认证: 通过设备码和秘钥进行身份验证
[*]信任设备: 支持添加信任设备,自动接受连接请求
[*]加密传输: 使用 WebRTC 进行安全的音视频传输
用户体验
[*]全屏显示: 支持投屏画面全屏显示
[*]实时控制: 低延迟的鼠标和键盘控制
[*]精确触控: 自适应视频比例,点击位置精确映射
[*]悬浮控制面板: 可拖动、可收起的虚拟按键面板
[*]自动权限处理: 自动点击安卓投屏权限弹窗
[*]设备名称优化: 使用系统设备名(手机型号/计算机名)
[*]信任设备持久化: 信任设备信息保存到本地,重启后依然有效
[*]帮助系统: 内置使用帮助,介绍设计思想和操作方法
[*]日志记录: 完整的操作日志记录,便于问题排查
核心概念
客户端-服务端模型
项目采用客户端-服务端架构,角色定义如下:
操作类型
发起方
接收方
视频流方向
投屏请求
客户端(发送屏幕)
服务端(接收显示)
客户端 → 服务端
控制请求
服务端(接收显示)
客户端(发送屏幕)
客户端 → 服务端
连接流程
投屏模式
[*]B 发起投屏请求到 A
[*]A 接受请求(信任设备自动接受)
[*]B 作为客户端连接到 A(服务端)
[*]B 发送屏幕流到 A
[*]A 显示 B 的屏幕
控制模式
[*]A 发起控制请求到 B
[*]B 接受请求(信任设备自动接受)
[*]B 作为客户端连接到 A(服务端)
[*]B 发送屏幕流到 A
[*]A 显示 B 的屏幕并可控制 B
使用说明
首次使用
[*]启动应用后,程序会自动开始搜索局域网内的设备
[*]在设置页面可以查看本机的设备码和秘钥
[*]将设备码和秘钥分享给其他用户,可以添加为信任设备
投屏操作
[*]在设备列表中找到目标设备
[*]点击"请求投屏"按钮
[*]对方接受后,开始投屏
[*]点击全屏按钮可以全屏显示
[*]点击右上角关闭按钮退出全屏
控制操作
[*]在设备列表中找到目标设备
[*]点击"请求控制"按钮
[*]对方接受后,开始远程控制
[*]可以使用鼠标和键盘控制对方设备
悬浮控制面板(全屏模式下显示):
[*]默认显示为可拖动的悬浮按钮(游戏手柄图标)
[*]点击展开显示所有控制按钮
[*]支持拖动到屏幕任意位置,自动贴边吸附
[*]包含以下功能按钮:
[*]关闭: 退出全屏模式
[*]返回: 模拟返回键
[*]主页: 模拟主页键
[*]菜单: 模拟最近任务键
[*]音量+: 增加音量
[*]音量-: 降低音量
[*]收起: 收起控制面板
手势控制:
[*]点击: 模拟屏幕点击
[*]滑动: 模拟屏幕滑动操作
帮助系统
[*]在设置页面点击右上角的问号图标
[*]查看设计思想、操作方法、注意事项
[*]特别关注安卓无障碍服务的说明
信任设备管理
[*]在设置页面点击"管理信任设备"
[*]可以查看已添加的信任设备
[*]可以删除不需要的信任设备
[*]信任设备的连接请求会自动接受
安卓和WIN程序:https://wwaxs.lanzoub.com/b01x1dc7yd
密码:gm3f 这类问题排查最怕环境差异,先在本地复现会快很多。 整体思路对,不过细节上不同版本差异还是很大的。 这类需求很多是内部排查,不是安全研究,目标不同做法也不同。 遇到卡住的地方,换个思路往往比死磕更快。 这类技术更新的频率很高,老教程参考价值有限。 加固方案升级挺快的,去年那套方法今年可能就失效了。 现在很多方案开始用双端校验,单点突破越来越难。 这类活很吃经验,工具只是辅助。 版本迭代之后要重新分析,这部分工作很难复用。