Lanthing是一款开源的串流/远程控制工具。除了主控端和被控端,它还包含完整的服务端、中继服务器。
当前支持下列系统:
- Windows 10 或以上
- Linux (仅支持主控,beta阶段,仅在少数平台测试过)
- Android (仅支持主控,alpha阶段,在交流群内测中)
- 支持Nvidia,AMD,Intel显卡上的H.264、HEVC硬件编解码
- 支持鼠标、键盘、手柄(手柄需先安装开源驱动)
- 支持P2P或中继
- 支持自建服务器以及中继服务器
- 支持端到端加密,数据无论是走P2P还是中继转发,其他人都无法解密
Lanthing的端到端加密具体是如何实现的:
- 主控端和被控端在程序内部生成
key-pair
->证书
->证书指纹
- 主控和被控通过一条安全通道交换
证书指纹
- 主控和被控通过P2P或中继成功建立底层连接,开始
DTLS
握手,握手过程会互发证书
- 主控和被控收到握手中的
证书
,使用证书指纹
校验证书(其实就是一个哈希值) - 确认不是他人伪造的证书后,使用该证书继续后续
DTLS
流程,握手完成后全程加密
通过上面的流程,可以得出以下事实:
- 不管是P2P还是中继,截取到流量的中间人不可能解密
- 服务器拿到的只是一个哈希值,并且流量不从这里走,没有解密这一说法
上面提到的安全通道,Github Releases页面下载的lanthing,使用的是作者自己搭的lanthing-svr,走的TLS1.2。你也可以选择自建这个服务器。
Windows:
- Windows 10 或以上
- Git
- Visual Studio 2022
- CMake 3.21 或以上
- Qt 6 (msvc)
Linux:
- Ubuntu 20.04 或以上
- Git
- GCC 10 或以上
- CMake 3.21 或以上
- Qt 6
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
- 下载Github Releases页面下的lanthing.zip并解压
- 管理员运行app.exe
- 输入对方设备码和校验码
注意:连接上对方默认只有手柄权限,鼠标和键盘权限需要被控方手动给予。 如果不想每次都这么麻烦,可以在管理
页面修改某个客户端的默认权限。
开发者这么久不发版本?是不是在摸鱼!
让我瞅瞅有没有在磨洋工。
QQ群: 89746161