Lanthing是一款开源的串流/远程控制工具。除了主控端和被控端,它还包含完整的服务端、中继服务器。
当前支持下列系统:
各平台已实现特性如下表:
特性 | Windows | Linux | macOS | Android | |
---|---|---|---|---|---|
主控 | ✅ | ✅ | ✅ | ✅ | |
被控 | ✅ | ❌ | ❌ | ❌ | |
硬编 | ✅ | ➖ | ➖ | ➖ | |
硬解 | ✅ | ✅ | ✅ | ✅ | Linux当前仅支持部分平台和硬件 |
软编软解 | ✅ | ❌ | ❌ | ❌ | |
AVC | ✅ | ✅ | ✅ | ✅ | |
HEVC | ✅ | ✅ | ✅ | ✅ | |
YUV444 | ❌ | ❌ | ❌ | ❌ | |
全屏独占 | ✅ | ❌ | ❌ | ❌ | 全屏独占模式在局域网下有时可以表现出0帧延迟 |
复制粘贴 | ✅ | ❌ | ❌ | ❌ | 支持文本和文件的复制粘贴,不支持文件夹 |
物理键鼠 | ✅ | ✅ | ✅ | ✅ | |
物理手柄 | ✅ | ✅ | ✅ | ✅ | |
虚拟键鼠 | ❌ | ❌ | ❌ | ✅ | |
虚拟手柄 | ❌ | ❌ | ❌ | ✅ | |
多指触控 | ❌ | ❌ | ❌ | ✅ | |
绝对位置鼠标 | ✅ | ✅ | ✅ | ✅ | 鼠标默认使用该模式 |
相对位移鼠标 | ✅ | ✅ | ✅ | ✅ | 某些游戏需要切换至该模式才能正常操作,需使用者按Win+Shift+X手动切换 |
自定义鼠标加速 | ✅ | ✅ | ✅ | ❌ | 仅在相对位移模式生效 |
P2P | ✅ | ✅ | ✅ | ✅ | |
中继 | ✅ | ✅ | ✅ | ✅ | |
切换显示器 | ✅ | ❌ | ❌ | ✅ | |
远控旋转屏 | ✅ | ❌ | ❌ | ✅ | Android只做了坐标转换,没有适配手机方向 |
拉伸显示 | ✅ | ✅ | ✅ | ✅ | |
原比例显示 | ✅ | ❌ | ❌ | ✅ | |
禁用鼠标 | ✅ | ✅ | ✅ | ✅ | |
禁用键盘 | ✅ | ✅ | ✅ | ✅ | |
禁用手柄 | ✅ | ✅ | ✅ | ✅ | |
禁传声音 | ✅ | ✅ | ✅ | ✅ | |
TCP | ✅ | ✅ | ✅ | ❌ | |
UDP | ✅ | ✅ | ✅ | ✅ | UDP基于该项目做少量修改,修改部分未开源 |
自定义过滤虚拟组网 | ✅ | ❌ | ❌ | ❌ | |
自定义端口映射 | ✅ | ✅ | ✅ | ❌ | 允许自定义串流使用的UDP端口范围,需自行在路由器做相应设置 |
操作UAC界面 | ✅ | ✅ | ✅ | ✅ | |
操作登录界面 | ✅ | ✅ | ✅ | ✅ |
Lanthing的端到端加密具体是如何实现的:
key-pair
-> 证书
-> 证书指纹
证书指纹
DTLS
握手,握手过程会互发证书
证书
,使用证书指纹
校验证书(其实就是一个哈希值)DTLS
流程,握手完成后全程加密通过上面的流程,可以得出以下事实:
上面提到的安全通道,Github Releases页面下载的lanthing,使用的是作者自己搭的lanthing-svr,走的TLS1.2。你也可以选择自建这个服务器。
Windows:
Linux:
git clone --recursive https://github.com/pjlt/lanthing-pc.git
cd lanthing-pc
cp options-default.cmake options-user.cmake #可选,如果需要修改编译选项则执行此步,并修改相应选项;如果QT不在环境变量里,则必须修改LT_QT_CMAKE_PATH
./build.[ps1|sh] prebuilt fetch
./build.[ps1|sh] build Release
注意:连接上对方默认只有手柄权限,鼠标和键盘权限需要被控方手动给予。 如果不想每次都这么麻烦,可以在管理
页面修改某个客户端的默认权限。
遇到bug或者有任何建议请提issue,或在QQ群反馈。QQ群: 89746161