前言
习惯windows用QtScrcpy摸鱼,感谢《iOS远程控制Android》的作者,但Scrcpy-IOS的ipa签名还是略麻烦。
由于Scrcpy基于adb,也就是说作为server,安卓以外的平台就不适用了。所以,这里分享一下我目前在用的各平台的屏幕控制,基于VNC。
想要远程控制IOS屏幕的可以出门右转了?
VNC Server
安卓
app名为droidVNC-NG,不需要开启adb或者繁杂的sshd,开箱即用。
Windows
有外网连接需求建议直接RealVNC,原理类似Zerotier,如果NAT环境糟糕,会切换至RealVNC的relay server。
局域网内用TightVNC和TigerVNC,当然你也可以把5900端口开放出来,但是不建议这么做,vnc的加密一是不够安全,二是会有被扫端口的风险后面会讲解决办法。
Linux
相关应用同windows,都有对应的linux版。
MacOS
没钱。?
VNC Viewer
直接用RealVNC家的VNC Viewer就很舒服
noVNC
简介
- noVNC
- 开源 VNC 客户端 - noVNC 既是 VNC 客户端 JavaScript 库,也是构建在该库之上的应用程序。noVNC 在任何现代浏览器中都能很好地运行,包括移动浏览器(iOS 和 Android)。
因为vnc协议的安全性一直拉不上去,加密也是千奇百怪,所以干脆转成WebSockets由web控制,实现真正的Client全平台。
安装
docker run --rm --name novnc -p 6080:6080 -e AUTOCONNECT=true -e VNC_PASSWORD=selenoid -e VNC_SERVER=172.17.0.1:5900 -e VIEW_ONLY=false bonigarcia/novnc:1.1.0
OR
version: '3.3'
services:
novnc:
container_name: novnc
ports:
- '6080:6080'
environment:
- AUTOCONNECT=true
- VNC_PASSWORD=selenoid
- VNC_SERVER=172.17.0.1:5900
- VIEW_ONLY=false
image: bonigarcia/novnc:1.1.0
开始套娃
安全性
这里给出两个方案
- Zerotier
便捷性肯定比不上外网直连,但peers之间的加密以及unpn的安全性都挺可靠,也是没有公网ip的一个选择。 - Authelia
由于转成了websocket,就可以用nginx反代成https。再利用成熟的网页认证模块,如SSO,这里推荐Authelia。
Remember me后,登录该账号有权限访问的其他网站就不需要再登录了,详细概念搜”单点登录“。
本文重点是跨平台屏幕控制,Authelia相关搭建教程有空再发。感兴趣的童鞋可以参考这篇教程 https://www.blackvoid.club/authelia-sso-and-2fa-portal/
担心青龙被扫端口爆破的也可以用这个保护。
©Omegamon
很详细,支持一下
感谢分享,插眼学习
mark一下。