AILong图解版 · 2026-11
Tailscale 虚拟组网
CDP · 9222
5 张海报

把内容共享出去,和让程序接管浏览器

两件看起来不相干的事,底下是同一个套路:都是造一条通道。一条是给人看的(让对面能进到你的电脑),一条是给程序用的(让程序能对 Chrome 下指令)。关键点是:两边都不需要在公网上开门洞。

总览

两件事,一个套路

共享给别人的本质是造一条加密隧道;操控浏览器的本质是造一条指令通道。两者共同点:都不在公网上开门洞,靠已有连接互相打洞。

两件事,一个套路

下载这张 SVG

原理一

Tailscale:拉一条看不见的网线

控制平面只认人不碰数据,数据平面靠 WireGuard 端到端加密;两台机像 STUN 那样互相发包在 NAT 上打洞,打不通就走 DERP 中继(中继只转发密文)。每台机落一个 100.64.0.0/10 的虚拟内网 IP。

Tailscale:拉一条看不见的网线

下载这张 SVG

落地

隧道有了,怎么把东西递过去

看屏幕用 VNC(5900)、递文件用 Taildrop、干活用 SSH(22)。按对方到底要什么来挑,不是按工具酷不酷。

隧道有了,怎么把东西递过去

下载这张 SVG

原理二

9222:怎么让外部程序接管 Chrome

Chrome 启动挂 --remote-debugging-port=9222 → /json/list 拿标签页清单 → 每页附一条 WebSocket → 顺着它发 CDP 指令(Runtime.evaluate / Input / Page)。

9222:怎么让外部程序接管 Chrome

下载这张 SVG

收口

命令清单与三条安全红线

可复制的命令一行条,加上三条不能破的红线:9222 只听回环、Tailnet 内也要设备验证、对外触达只交本人确认。

命令清单与三条安全红线

下载这张 SVG

收口

命令清单

五条命令,覆盖看状态、递文件、干活、看浏览器、跨机转发。

# 看谁在线、这条是直连还是中继
tailscale status
# 给对面递一个文件
tailscale file cp a.pdf <对方机器名>:
# 进命令行干活
ssh user@100.x.x.x
# 看 Chrome 现在有哪些标签页
curl 127.0.0.1:9222/json/list
# 跨机安全转发 CDP 通道
ssh -L 9222:127.0.0.1:9222 other
⚠️ 安全边界 9222 没有密码——能访问到 127.0.0.1:9222 的人,等于接管你所有已登录态的标签页。 只监听回环,绝不开到 0.0.0.0;要跨机使用,走 Tailscale + SSH 端口转发,不要直接暴露。

延伸阅读