远程桌面介绍

远程桌面解决的问题是:人在外面,要操作内网那台电脑的桌面(不只是一个网页后台)。

传统做法要么装 VPN 再把整张内网暴露出去,要么在路由器上做 3389 端口映射 —— 前者要有 VPN 服务端,后者要求公网 IP,而且等于把 Windows 桌面直接摊到公网上。p2pee 的做法是:在被控机(或与它同一内网的一台机器,比如常开的 NAS)上跑一个单文件网关 p2pee-remote;你要连的时候,用浏览器打开网关启动时打印的那条访问地址,画面在你和网关之间点对点直传。不需要公网 IP,不需要在路由器上开任何端口,网关自己也不开放任何入站端口。

远程桌面

核心能力

  • RDP 与 VNC 同一个入口:一条 -connect 就是一台机器,一个网关可以同时挂多台
  • 访问端零安装:拿到地址的人用浏览器打开就行,不需要注册账户、不需要装任何东西
  • 画面走 P2P 直传:桌面流量不经过服务器转发,由 WebRTC 的 DTLS 加密通道承载
  • RDP 侧交互完整:剪贴板双向、Ctrl+Alt+Del、会话中切分辨率、中文输入法、远端光标跟随
  • VNC 侧兼容通用:TightVNC、UltraVNC、RealVNC、TigerVNC、x11vnc、macOS 屏幕共享等任意 RFB 服务都能连
  • 目标机器只能由启动参数给出:页面拿到的只是清单里的编号,无法把网关当内网跳板

典型场景

场景说明
居家连办公室的电脑办公室那台 Windows 开着远程桌面,家里浏览器打开地址就进桌面
内网机器图形化运维没有公网 IP、不给开 SSH 的机器,用桌面完成装机、装驱动、点向导
开发机 / 设计机远程操作高配的台式机放机箱里,笔记本或平板远程进去干活
家人电脑远程协助把网关打印的那条地址发给家人,浏览器打开后一步步指导操作
Linux / macOS 桌面跑 x11vnc 或系统自带屏幕共享,网关用 vnc: 一条参数挂上线
这些做不到

远程桌面只送 RDP(默认 3389) 与 VNC(默认 5900) 两种桌面协议,而且访问端只能用浏览器打开 p2pee 的访问地址:

  • 用 mstsc / .RemoteApp / 第三方 VNC 客户端直连:做不到,入口只有网页这一种;
  • 内网的 Web 服务、NAS 后台:那属于内网穿透,拿到的是普通网址而不是桌面;
  • 其它端口的转发(数据库、游戏服、SSH 命令行):一律不支持,端口映射类的 IPv4 → IPv6 反向代理已下架。

工作方式

浏览器页面 ──── 信令(p2pee)────> p2pee-remote 网关 ──── TCP ────> 192.168.10.x
    └════════ WebRTC DataChannel(DTLS 加密,P2P 直传,不经服务器)═════┘
  • 信令走服务器,画面不走:服务器只负责把浏览器和网关牵上线(打洞),牵完就退出这条链路;公网可达由信令服务保证,网关不开放任何入站端口。
  • 一条 P2P 连接只承载一条桌面会话:会话结束网关就回收整条连接,页面回到机器列表,选下一台时重新发起一次 P2P。
  • 地址就是准入凭证:网关就绪后打印的 https://p2pee.cn/r/<凭证>/ 那一行,整行原样复制发给访问端(结尾斜杠保留,控制台列表里不带斜杠的那条同样能打开)。谁能打开谁就能连上清单里的机器(RDP 仍需目标机的账号口令),发放前请按 安全与凭证 自检。
  • 与内网穿透共用同一个账户 Key,区别只在送到哪儿:穿透给的是一个普通网址(https://web.p2pee.cn?k=xxxxxxxx,承载一个 Web 站点),远程桌面给的是一个桌面操作页(承载一台机器的一个会话)。

三分钟上手

  1. 在 Web 控制台 注册 / 登录,复制账户 Key。
  2. 在被控机上启动 p2pee-remote,用 -key 与 -connect 指定要连的机器。
  3. 复制日志里的访问地址,浏览器打开,选机器 → 输口令 → 进桌面。

完整步骤见 快速开始。

下一步

内测阶段

远程桌面当前处于内测阶段(p2pee-remote 1.0.0 起):功能可用,额度与协议细节仍可能随版本调整。技术交流、领取安装包与新功能预告欢迎加入 QQ 群 980221634。