noVNC是一个开源项目,结合VNC-server可直接在浏览器中远程目标电脑。


若github访问速度很慢,可尝试将下文中的github.com换成hub.fastgit.org

新建node项目

1
2
3
4
5
# 新建novnc-server文件夹并进入
cd novnc-server

# 初始化,没有特殊要求可一路回车
npm init

使用websockify-js

1
2
3
4
# 复制https://github.com/novnc/websockify-js/blob/master/websockify/websockify.js到文件夹

# 安装依赖
yarn add ws optimist mime-types -S

使用noVNC

1
2
# 克隆noVNC或者下载noVNC的release,这里直接克隆
git clone https://github.com/novnc/noVNC.git

启动

在package.json中添加启动命令。
添加后scripts部分如下(5900是vnc-server设置的端口, 5901是外部浏览器访问的端口)

1
2
3
4
5
6
{
"scripts": {
"start": "node websockify.js --web ./noVNC 5901 localhost:5900",
"test": "echo \"Error: no test specified\" && exit 1"
}
}

执行yarn start启动。

也可以使用pm2管理(推荐), processes.json如下:

1
2
3
4
5
6
7
8
9
{
"apps": [
{
"name": "noVNC",
"script": "websockify.js",
"args": "--web ./noVNC 5901 localhost:5900"
}
]
}

执行pm2 start processes.json后台启动。

开始使用

在其它电脑访问http://ip:5901/vnc.html

公网使用

pierced, core.pub, pinggy.io, bore.pub 你值得拥有, 延迟可能不理想, 需要自己测试