Skip to content

Fork-Rover/lanthing-pc

 
 

Repository files navigation

Lanthing

build

Lanthing是一款开源的串流/远程控制工具。除了主控端和被控端,它还包含完整的服务端中继服务器

当前支持下列系统:

  • Windows 10 或以上
  • Linux (仅支持主控,beta阶段,仅在少数平台测试过)
  • Android (仅支持主控,alpha阶段,在交流群内测中)

特性

  • 支持Nvidia,AMD,Intel显卡上的H.264、HEVC硬件编解码
  • 支持鼠标、键盘、手柄(手柄需先安装开源驱动
  • 支持P2P或中继
  • 支持自建服务器以及中继服务器
  • 支持端到端加密,数据无论是走P2P还是中继转发,其他人都无法解密

端到端加密

Lanthing的端到端加密具体是如何实现的:

  1. 主控端和被控端在程序内部生成 key-pair -> 证书 -> 证书指纹
  2. 主控和被控通过一条安全通道交换证书指纹
  3. 主控和被控通过P2P或中继成功建立底层连接,开始DTLS握手,握手过程会互发证书
  4. 主控和被控收到握手中的证书,使用证书指纹校验证书(其实就是一个哈希值)
  5. 确认不是他人伪造的证书后,使用该证书继续后续DTLS流程,握手完成后全程加密

通过上面的流程,可以得出以下事实:

  1. 不管是P2P还是中继,截取到流量的中间人不可能解密
  2. 服务器拿到的只是一个哈希值,并且流量不从这里走,没有解密这一说法

上面提到的安全通道,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

使用

  1. 下载Github Releases页面下的lanthing.zip并解压
  2. 管理员运行app.exe
  3. 输入对方设备码和校验码

注意:连接上对方默认只有手柄权限,鼠标和键盘权限需要被控方手动给予。 如果不想每次都这么麻烦,可以在管理页面修改某个客户端的默认权限。

进度

开发者这么久不发版本?是不是在摸鱼!

让我瞅瞅有没有在磨洋工

交流

QQ群: 89746161

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 85.3%
  • C 10.9%
  • CMake 3.2%
  • Other 0.6%