TeaRTC-Share:浏览器即开即用的多人实时屏幕共享工具

远程协助和屏幕共享这件事,理论上已经非常成熟了。但实际用起来,体验往往并不好:TeamViewer 需要双方都装客户端,Windows 自带的远程桌面对外网连接不友好,腾讯会议虽然方便但本质上是为会议设计的,用来做“帮我看看电脑”这种临时需求显得过于臃肿。
更麻烦的是观看端。无论是远程协助还是演示分享,观看方往往是最“无辜”的一方——他们只是看一眼你的屏幕,却要下载几十 MB 的客户端、注册账号、等待安装。这个过程本身就在消耗沟通成本。
TeaRTC-Share 的切入点非常清晰:把观看端的门槛降到零。 观看者只需要一个浏览器,打开共享者提供的网址,就能实时看到屏幕画面。
TeaRTC-Share 是什么?
TeaRTC-Share 是一个多人实时屏幕共享与远程控制工具。共享端运行一个轻量级程序(约 18 MB 的绿色版,安装包约 10 MB),观看端只需要一个浏览器,打开网址即可加入观看。
项目作者是 TeaClearInkII,此前发布过多个 Unity 工具类项目,TeaRTC-Share 是其向实时通信领域的延伸。项目基于 Go 语言构建,使用 Pion WebRTC、gorilla/websocket、systray 和 go-winres 等开源库。许可证为 GPL v3。
项目地址: https://github.com/TeaClearInkII/TeaRTC-Share
功能特性详解
屏幕与摄像头共享
打开页面后,点击「共享屏幕」或「共享摄像头」即可一键开启共享。支持共享整个屏幕或摄像头画面,也支持共享副屏内容。共享时状态徽章会实时显示「在线 / 屏幕 / 摄像头 / 麦克风」状态与各自持续时长。
浏览器即看,多人同时观看
观看端无需安装任何软件,电脑或手机浏览器打开网址即可实时观看。不限观看人数,支持低延迟画面,自动选择最佳编码与清晰度,iOS 和 Android 手机均兼容。支持的浏览器包括 Chrome、Edge、Firefox 和 Safari(电脑与手机均可)。
远程控制
观看者可以申请控制权,共享者一键授权;共享者也可以主动邀请对方控制。获得控制权后,观看者可以直接操作共享端的鼠标和键盘。操作入口为:观看者点击画面上的「申请控制」→ 共享者确认后即可控制;共享者在我的卡片上点击「邀请」→ 对方同意后获得控制权;共享者随时可以点击「收回控制」。
需要注意的是,远程控制目前仅支持主屏,副屏可以共享画面但无法控制。
内置文字聊天与提示音
观看时可以直接在右侧聊天面板边看边聊。加入、断线、控制请求等事件均有提示音,可以在「关于」菜单中关闭。v0.4.0 版本还增加了持久化聊天记录功能,以及右下角最近三条未读聊天消息展示。
多显示器支持与系统托盘
支持共享副屏内容。程序提供系统托盘功能,支持后台运行、静默启动、托盘一键打开页面,日志页面内可实时查看,另有本地文件留存。
版本更新检查
页面加载后会自动检查 GitHub 最新版本(24 小时缓存,GitHub 不可达时静默不打扰),发现新版本时顶部横幅提示「查看下载」,下载弹窗提供 GitHub Releases / 蓝奏云 / 123 云盘 / 夸克网盘可选。
绿色单文件
提供免安装的绿色版,一个 exe 直接运行。也可以从源码自行构建:go build -o TeaRTCShare.exe .。
两种分发形式
项目提供两种版本,用户可根据自身情况任选其一:
绿色版 TeaRTCShare.zip :免安装,解压后直接双击 TeaRTCShare.exe 运行。适合有技术背景、希望即用即走的用户。
安装包 TeaRTCShare-Setup.exe :安装向导全中文,自动创建开始菜单快捷方式(可勾选桌面快捷方式),预置防火墙规则(TCP/UDP 7553、TURN 3478、程序全端口放行),支持控制面板卸载。安装包降低了非技术用户的配置门槛。
下载渠道方面,项目提供了蓝奏云、123 云盘、夸克网盘和 GitHub Releases 四条路径,对国内用户比较友好。
快速开始
共享端操作
下载并运行程序后,按系统提示允许防火墙访问(端口 7553)。浏览器打开提示的地址(本机为 https://localhost:7553),然后点击「共享屏幕」或「共享摄像头」即可开始共享。
需要注意证书问题:浏览器首次访问会提示「不安全」,这是自签证书的正常现象。点击「高级 → 继续前往」可以临时查看页面,但未安装 CA 证书时无法连接服务器(看不到成员、无法共享) 。需要按页面弹窗引导安装 CA(顶部盾牌按钮 → 一键命令或手动安装),然后完全关闭浏览器重开。
安装 CA 的方法:页面顶部盾牌按钮 → 复制一键命令(PowerShell)或下载 CA 手动安装到「受信任的根证书颁发机构」。
观看端操作
在浏览器中输入共享者的地址(例如 https://192.168.1.100:7553),即可加入观看。同一局域网内直接用本机地址访问即可;跨网络访问请确保端口 7553 已放行,或使用支持 IPv6 的网络。软件内置网络检测功能,可以在「关于」菜单中查看主机网络状态。
跨网络访问方案
IPv6 直连
跨网络访问时建议使用 IPv6,无需公网 IP 或端口映射。但 IPv6 是端到端的——共享者和观看者双方都需开启 IPv6 才能连接。
如何检测 IPv6:打开页面 →「关于」→「主机网络检测」,可以查看主机 IPv6 地址(2408/2409/240e 开头等)、IPv6 出站、公网 IPv6/IPv4 是否可达。也可以用 testipv6.cn 或 bj-ipv6.com/z 一键检测。
如果主机没有 IPv6,需要在共享者电脑上以管理员身份运行 PowerShell,执行:Enable-NetAdapterBinding -Name "*" -ComponentID ms_tcpip6,然后重新检测确认通过。如果主机有 IPv6 但对方进不来,需要观看者也开启 IPv6:电脑端同样运行上述命令,手机端使用 WiFi 时需在路由器设置中开启 IPv6。用浏览器打开 https://[IPv6地址]:7553 访问时,IPv6 地址需加方括号。
共享者还可以在「关于」弹窗点击「复制提示给浏览端」,直接复制完整提示(含地址、开启命令、检测链接)发给对方。
公网穿透(固定域名)
如果不想让观看者每次重新输入新的 IPv6 地址,可以使用内网穿透获得固定 HTTPS 域名,浏览器打开即用(服务商自动签发可信证书,无需安装 CA)。
为什么用穿透:直连 IPv6 每次换网络/地址都要重新发给观看者,且对方必须开启 IPv6;穿透则提供固定 HTTPS 域名,观看者打开即用。
项目 README 推荐了四种可选工具:
樱花穿透 SakuraFrp:国内服务,免费二级域名(如
xxx.natfrp.com),创建隧道时勾选「可建站」节点,支持绑定自己的域名,自定义域名支持自动 HTTPSngrok:免费注册,临时域名(付费固定域名),HTTPS 自动
Cloudflare Tunnel(cloudflared):免费,可绑定自己的域名,HTTPS 自动
Tailscale Funnel:免费版自带固定
*.ts.net域名,HTTPS 自动
通用步骤为:注册账号,在服务器安装客户端 → 创建隧道(协议 HTTPS,目标地址 127.0.0.1:7553)→ 启动后获得 https://xxx 公网域名 → 把域名发给观看者,浏览器直接打开即可。
需要注意:穿透服务有流量与带宽限制,人多或高画质会卡,适合备用入口;服务器需保持运行;国外工具在国内访问可能不稳定。另外,通过穿透域名打开页面时,软件会检测并提示「穿透访问」,可一键切换到直连地址(不消耗穿透流量)。
技术架构
TeaRTC-Share 的技术基座是 WebRTC。
WebRTC 的屏幕共享依赖两套通道的配合。信令平面通过 WebSocket(项目使用 gorilla/websocket 实现)交换 SDP offer/answer、ICE candidate 等连接协商信息;数据平面则由 RTCPeerConnection 建立 P2P 连接后,通过 RTCDataChannel 承载实际的音视频流和输入事件。
对于屏幕共享场景,视频流通过 WebRTC 的媒体通道传输,而远程控制的鼠标/键盘事件则通过 DataChannel 以结构化消息的形式发送。DataChannel 默认可靠有序的交付语义天然适合这类控制信令。底层采用 SCTP over DTLS 加密,传输内容不经过应用服务器。
值得注意的是,安装包预置了 TURN 3478 端口的防火墙规则。在 v0.3.3 版本中,项目修复了一个关键的跨网络推送问题:音频接收 PC 预置 transceiver(与视频对齐),使 TURN 中继数据面恢复可用,从而实现了跨运营商(不同网络段)的屏幕/摄像头/麦克风推送成功。修复前 ICE 卡在 checking→failed 状态,relay 数据面从未启动;修复后 CreatePermission + ChannelBind 正常走通(TCP 中继兜底)。同时增加了 ICE 自动重试(最多 2 次)、共享推送状态实时显示(连接中 / 推送正常 / 网络波动 / 失败)、网络抖动容错(瞬时断流不再误杀共享)等容错机制。
适用场景
远程协助。 帮家人修电脑、帮同事排查环境问题——对方只需要打开浏览器,你就能看到并操作他们的屏幕。不需要指导他们下载 TeamViewer,不需要记住那串 9 位 ID。
教学与演示。 讲师在共享端展示操作,学生或听众用浏览器接入观看。支持多人同时观看意味着这可以用于小规模的技术分享或课堂演示,省去了“请大家先装一下 XX 软件”的开场环节。
家庭与小团队协同。 边看画面边文字沟通,适合需要实时同步画面的协作场景。
跨设备临时分享。 在局域网或外网环境下,把一台设备的屏幕快速分享给其他设备查看,不需要配置复杂的远程桌面服务。
安全与隐私
画面通过加密通道传输(HTTPS + WebRTC 加密),画面只经过共享者与观看者自己的设备,不经过任何第三方服务器。连接使用自签证书,浏览器会提示「不安全」——这是正常现象,选择「继续访问」即可。本地无遥测、无广告,日志仅保存在本机。
安装包预置的防火墙规则包括 TCP/UDP 7553、TURN 3478 和程序全端口放行。程序启动时会自动尝试配置完整防火墙规则(含 TURN 与程序放行);若未生效,以管理员身份运行程序一次即可(规则永久生效)。
与同类工具的简要对比
rdp-local 同样实现了浏览器端的屏幕共享与远程控制,但它本质上是一个需要自行部署的 Web 应用,没有提供 Windows 原生客户端的分发方式。Neko 定位在 Docker 自托管场景,更适合作为“虚拟浏览器”使用。TeaRTC-Share 在“个人 Windows 机器上的即开即用远程协助”这个具体场景下,定位更加精准。
常见问题与使用建议
证书问题:浏览器提示「不安全」是自签证书的正常现象。但仅点击“继续前往”只能临时看页面——未安装 CA 时浏览器会拦截 WebSocket,看不到成员列表、无法共享或聊天。完整功能需安装 CA(页面会自动弹出引导)。
防火墙提示:请选择「允许」(TCP/UDP 端口 7553),否则他人无法连接。
手机兼容性:建议使用较新版本的 Chrome 或 Edge 浏览器(iOS 使用 Edge 体验更佳);摄像头兼容问题会自动适配,请确保已允许浏览器使用摄像头。手机没有提示音时,在页面上点一下屏幕完成首次交互即可启用。
跨网络时通时断:跨运营商 IPv6 UDP 互通受限是网络现实,软件已自动兜底(TURN 中继走 TCP + ICE 自动重试),共享时状态文字会实时显示「连接中 / 推送正常 / 网络波动」。穿透域名只解决页面访问(TCP),不解决媒体链路,频繁失败建议使用同运营商网络。
网络环境的影响:WebRTC 的连接质量高度依赖 NAT 类型。如果双方都在对称 NAT 后面(常见于企业网络或某些移动网络),TURN 中继的引入会增加延迟。安装包已经预置了 TURN 端口,但实际中继服务器的部署质量会直接影响体验。
共享端权限:远程控制功能需要捕获和注入鼠标/键盘事件,在 Windows 上通常需要较高的运行权限。
适用边界:这款工具的设计哲学是轻量和即时,适合短时间的高频使用。如果需要 7×24 的远程访问,还是应该考虑系统级的远程桌面方案。
写在最后
TeaRTC-Share 解决的不是一个“难”的问题,而是一个“烦”的问题。浏览器端观看屏幕这件事,技术上早在 WebRTC 标准化时就已可行,但真正把这个体验做顺、做成 Windows 用户能直接双击运行的工具的项目并不多。
从 v0.1 到 v0.4.1 的迭代路线也能看出作者在持续打磨细节:v0.3.0 砍掉多主机互联回归单机服务、v0.3.3 修复跨运营商媒体推送、v0.4.0 加入一起听和持久化聊天记录、v0.4.1 修复真全屏帧数问题。这些更新都指向一个务实的目标:让“帮我看一眼屏幕”这件事,在打开浏览器的那一刻就已经完成了。
如果你经常需要帮人看屏幕、做远程演示,或者只是想找一个比 TeamViewer 更轻的临时方案,TeaRTC-Share 值得放进工具箱。


