200字
WebVNC搭建(网页远程控制)
2022-03-17
2025-10-29

所需环境

Nodejs(版本无要求)
Python:3.X
websockify :https://github.com/novnc/websockify-js (文档中演示的为Win版本,linux自行下载即可)
noVNC : https://github.com/novnc/noVNC
utralVNC :https://uvnc.com/downloads/ultravnc.html
image-20220317204355832

安装

1.安装utralVNC

这里安装直接双击打开安装包就行,设置可以参考我的也可以自行修改 image-20220317204439169 image-20220317204503286 一直下一步到安装完成即可 image-20220317204552402 utralVNC Server是服务端 utralVNC Viewer是连接工具(没啥用) 运行服务端后我们任务栏右键-打开Admin properties 设置 image-20220317204737195 这里其他设置不需要更改 只修改连接密码和用户输入权限就行了 image-20220317205939005

2. novnc安装

首先打开cmd 安装一下依赖模块
npm install ws
npm install optimist
npm install mime-types
image-20220317204958596 进入到C:\Users\{userName}\node_modules\目录下, 将下载的noVNC-master.zip压缩包解压到当前目录,重命名为noVNC 这里吧userName改成自己的电脑用户名

3.安装 websockify-js

进入到C:\Users\{userName}\node_modules\noVNC目录下, 将下载的websockify-js-master.zip压缩包解压到当前目录,重命名为websockify-js image-20220317205409188 进入到C:\Users\Administrator\node_modules\noVNC\websockify-js\websockify目录下, 打开命令行,启动代理服务,启动命令如下: 我这里因为没有吧novnc放到node_modules下 所以启动命令用的不一样
node websockify.js --web C:\Users\Administrator\node_modules\noVNC 9000 localhost:5900
  • –web:之后的路径必须是我们下载的noVNC-master.zip解压之后所在的那个安装了wsoptimistmime-types等依赖的node_modules目录的绝对路径,我这里是C:\Users\Administrator\node_modules\noVNC,这里需要根据你自己的实际安装情况进行修改,负责会找不到nvc.htmlvnc_lite.html文件
  • 9000 代表代理端口
  • 9000端口的请求转发到localhost:5900处理
image-20220317205609589 浏览器访问: localhost:9000/vnc.html 点击链接输入密码就可以远程控制了 image-20220317205702498

内网穿透

搭建完成之后应为电脑没开公网,如何让外网也可以访问呢----内网穿透 这里可以用免费的 例如natapp Ngrok等等,我这里因为有一台多余的服务器 所以就在自己服务器搭建一个

所需环境

系统:windowsServer 2012  x64
frp (版本可用最新,根据自己系统选择) : https://github.com/fatedier/frp
下载软件解压出来 然后修改配置:

服务端配置:

image-20220317210355125
#服务器绑定端口
bind_port = 7000

#web面板端口
dashboard_port = 60007
#web面板账户
dashboard_user = admin
 #web面板密码
dashboard_pwd = loser

 #token
token = loser
#http转发端口
vhost_http_port = 8080
vhost_https_port = 443
大概配置就填这些就好,web面板根据自己选择 开不开都行 image-20220317210619213

运行命令:

frps -c frps.ini

客户端配置:

image-20220317210650717
[common]
# 服务器公网ip(换成自己服务器ip)
server_addr = XXXXXXX
# 服务器设置的端口
server_port = 7000
# 默认设置
admin_addr = 127.0.0.1
# 本地管理端口,自行修改(需要映射的端口)
admin_port = 7400

# for privilege mode,和服务端一致
privilege_token = loser

#http
[workflow]
type = http
local_port = 7000
custom_domains = www.xxx.com

#tcp
[ssh]
type = tcp                  #通信协议
local_ip = 127.0.0.1        #本地地址
local_port = 3389           #要转发的端口
remote_port = 6000          #要转发到的远程端口

[demo]
type = udp
#本地客户端udp端口
local_port = 9000
#自定义远程调用端口
remote_port = 9001
还有其他协议的我就不一一列举了,有需要的自行查看官网文档

启动命令:

frpc -c frpc.ini

配置详解

[common]                        # 通用配置段
bind_addr = 0.0.0.0             # 绑定的IP地址,支持IPv6,不指定默认0.0.0.0;
bind_port = 7000                # 服务端口;
bind_udp_port = 7001            # 是否使用udp端口,不使用删除或注释本行;
kcp_bind_port = 7000            # 是否使用kcp协议,不使用删除或注释本行;
# proxy_bind_addr = 127.0.0.1   # 代理监听地址,默认和bind_addr相同;

# 虚拟主机
vhost_http_port = 80            # 是否启用虚拟主机,端口可以和bind_port相同;
vhost_https_port = 443
vhost_http_timeout = 60         # 后端虚拟主机响应超时时间,默认为60s;

# 开启frps仪表盘可以检查frp的状态和代理的统计信息。
dashboard_addr = 0.0.0.0        # frps仪表盘绑定的地址;
dashboard_port = 7500           # frps仪表盘绑定的端口;
dashboard_user = admin          # 访问frps仪表盘的用户;     
dashboard_pwd = admin           # 密码;
assets_dir = ./static           # 仪表盘页面文件目录,只适用于调试;

# 日志配置文件
log_file = ./frps.log           # 日志文件,不指定日志信息默认输出到控制台;
log_level = info                # 日志等级,可用等级“trace, debug, info, warn, error”;
log_max_days = 3                # 日志保存最大保存时间;

token = 12345678                # 客户端与服务端通信的身份验证令牌

heartbeat_timeout = 90          # 心跳检测超时时间,不建议修改默认配置,默认值为90;?

# 指定允许客户端使用的端口范围,未指定则没有限制;
allow_ports = 2000-3000,3001,3003,4000-50000

max_pool_count = 5              # 每个客户端连接服务端的最大连接数;
max_ports_per_client = 0        # 每个客户端最大可以使用的端口,0表示无限制

authentication_timeout = 900    # 客户端连接超时时间(秒),默认为900s;

subdomain_host = frps.com       # 自定义子域名,需要在dns中将域名解析为泛域名;

tcp_mux = true                  # 是否使用tcp复用,默认为true;
                                # frp只对同意客户端的连接进行复用;
WebVNC搭建(网页远程控制)
作者
Administrator
发表于
2022-03-17
License
CC BY-NC-SA 4.0

评论