背景
由于经常异地办公,对于市面上的远程桌面工具,无论速度、收费、画面模糊等,都不如 windows 自带的远程桌面,但异地如何使用 windows 远程桌面呢?
是否可以远程桌面都不用,直接浏览器访问公司的内网 WEB, 登录内网 GIT, 内网 SSH, 远程 VS CODE 调试等等,就跟在公司一模一样?
特点
两台主机之间直连!直连!直连!不经过第三方服务器,不用担心数据隐私泄露
一条命令搞定,无需安装、无需注册,无需公网 IP, 无需配置文件
直连基于 QUIC, 高性能,已加密
原理图
介绍
本程序即支持命令行方式,也支持 docker 方式,windows 版本也新增了 UI 使用更简单。以下举例仅作参考,可随意切换
两端主机运行同一个程序,一端主机使用 --remote 选项 (以下称 remote 端), 另一端主机使用 --local 选项 (以下称 local 端)
local 端和 remote 端之间是直连的,不经过第三方服务器
可以在 local 端访问 remote 端,但是反过来不可以
可以多个 local 端对应一个 remote 端,但一个 local 端不能对应多个 remote 端。通过相同的密钥 (--key) 确认对应关系
如果需要反过来,或者需要访问多个 remote 端,就需要运行多个程序或启动多个 Docker
由于直连过程复杂,会出现反复重试,通常 10 分钟内成功。如果长时间无法连接,请反馈我解决
windows 自带杀毒软件,会将所有 go 语言写的程序都认为是病毒。本程序已开源,可放心食用
以下举例说明中的密钥 (--key), 请不要使用,否则会连上别人的 remote 端,或者被别人的 local 端连上。自己定义一个 16-24 字节长度的密钥
1.4.17 版本开始,windows 版本新增了 UI, 目前还在测试阶段,可能不太稳定。如果影响使用,可先使用 1.3.17 之前的 windows 版本
1024 以下是操作系统的保留端口,基本都被占用了,local 端请使用 1024 以上端口。linux 系统可以使用命令 netstat -anp|grep 22 判断 22 端口是否已被占用。
简单使用
工作模式 - 介绍
代理模式
local端需要指定本地端口, 以提供Socks5代理服务
local端需要在系统或者软件中配置Socket5代理, 便可访问remote端所处网络中的所有主机端口
转发模式
remote端需要指定所处网络中的某一个主机端口, local端也需要指定本地端口
local端无需配置Socks5代理, 直接访问指定的本地端口, 就等于访问remote端指定的主机端口。但也只能访问这一个主机端口
注: 转发模式仅支持TCP协议, 一个remote端只能转发一个端口, 可运行多个remote端