返回列表

博客

连接模式详解:局域网 vs. Cloudflare Tunnel

Tactic Remote 支持两种连接模式:局域网模式在同一 Wi-Fi 下延迟低于 100ms,Cloudflare Tunnel 模式可从任何地方安全访问。本文介绍两者的工作原理及适用场景。

发布于 标签: networking / architecture / cloudflare / security
博客

继续查看该栏目下的产品与工程更新。

浏览此分类

Tactic Remote 新用户最常见的问题之一是:"我应该使用局域网模式还是 Cloudflare Tunnel?"答案取决于你的工作方式和工作地点。本文将详细介绍两种模式 — 它们在架构上的差异、性能和安全特性,以及 Tactic Remote 如何处理两者之间的切换。

两种模式,统一界面

在深入技术细节之前,最重要的一点是:无论你使用哪种连接模式,iPhone 应用的使用体验完全一致。会话管理、终端流式传输、审批工作流、推送通知 — 无论你的手机与 Mac 在同一 Wi-Fi 下,还是在全国各地通过蜂窝网络连接,所有功能的表现都完全相同。

连接模式只影响你的 iPhone 如何到达 Companion 应用的 API。传输层之上的一切都完全一致。

局域网模式

局域网模式是默认且最简单的配置。Mac 上的 Companion 应用将其 HTTP/WebSocket 服务器绑定到局域网的某个端口,iPhone 直接连接到该 IP 地址和端口。

工作原理

  1. Companion 应用在端口 48736(可配置)上启动内嵌服务器。
  2. Mac 广播其局域网 IP 地址(例如 192.168.1.42:48736)。
  3. iPhone 通过本地 Wi-Fi 网络连接到该地址。
  4. 所有通信均在两台设备之间通过局域网直接传输 — 无中间环节。

性能

局域网模式提供最低延迟,因为数据包走的是最短路径:iPhone 到路由器到 Mac(或在某些网络配置下通过 Wi-Fi Direct 直连)。

指标典型范围
连接建立30-80ms
终端更新延迟40-100ms
审批往返时间60-120ms
WebSocket ping5-20ms
短暂断开后重连0.5-1.5s

以上数据基于标准的家庭或办公 Wi-Fi 网络。拥挤的网络(例如会议场所的 Wi-Fi)可能会有更高的延迟,但在同一网络下,局域网模式的性能始终优于隧道连接。

安全特性

局域网模式的安全性依赖两个层面:

网络隔离。 你的局域网充当安全边界。只有同一网络上的设备才能访问 Companion 应用的端口。对于大多数家庭和办公环境来说,这已经足够。

Token 认证。 每个 API 请求都需要 Bearer Token。即使攻击者在你的局域网中,没有 Token 也无法与 Companion 应用交互。

局域网模式无法防护的场景:当你的网络中有被入侵的设备并且该设备已经获取了你的 Token。在无法信任局域网的环境中(共享办公空间、酒店 Wi-Fi),建议使用 Cloudflare Tunnel 模式。

局限性

  • 必须在同一网络。 iPhone 和 Mac 必须在同一 Wi-Fi 网络(或同一局域网内可达)。一旦你离开家庭网络,连接就会中断。
  • IP 地址变化。 如果 Mac 的局域网 IP 发生变化(DHCP 租约续期、重新连接 Wi-Fi),你需要更新 iPhone 的连接设置。QR 码重新扫描可以缓解这个问题,但仍然需要手动操作。
  • 无法通过蜂窝网络访问。 蜂窝数据网络无法路由到你的家庭网络,这是先天限制。

Cloudflare Tunnel 模式

Cloudflare Tunnel 模式从你的 Mac 向 Cloudflare 全球边缘网络建立一条持久的出站连接。iPhone 连接到一个 Cloudflare URL,Cloudflare 将流量通过隧道路由回你的 Mac。

工作原理

  1. Companion 应用使用你的隧道凭证,将 cloudflared 作为托管子进程启动。
  2. cloudflared 向最近的 Cloudflare 边缘服务器建立出站连接(通常同时建立 2-4 个连接以实现冗余)。
  3. 你的隧道可通过你配置的 URL 访问(例如 claude.yourdomain.com)。
  4. iPhone 连接到该 URL。Cloudflare 通过其网络将请求路由到你 Mac 上的 cloudflared 进程。
  5. cloudflared 将请求转发到 Companion 应用的本地服务器。

关键架构特性:你的 Mac 从不接受来自互联网的入站连接。隧道是纯出站的,这意味着无需开放端口、无需配置防火墙规则、不会暴露在端口扫描之下。

性能

Cloudflare Tunnel 会增加可感知的延迟,因为流量需要经过 Cloudflare 的边缘网络:

指标典型范围
连接建立150-300ms
终端更新延迟100-250ms
审批往返时间200-400ms
WebSocket ping40-120ms
短暂断开后重连2-4s

延迟取决于你与最近的 Cloudflare 边缘服务器之间的地理距离。Cloudflare 在全球 300 多个城市运营,因此城市地区的大多数用户看到的延迟接近上述范围的下限。Cloudflare 接入点较少的地区可能会有更高的延迟。

在实际使用中,这种延迟在最初几分钟比较明显,但很快就会习惯。终端输出仍然流畅滚动,审批交互也足够响应 — 大多数用户在收到通知后 15 秒内就能完成处理。

安全特性

Cloudflare Tunnel 在多个方面提供比局域网模式更强的安全保障:

无入站攻击面。 你的 Mac 从不监听来自互联网的连接。没有可扫描的端口,没有可暴力破解的入口。

TLS 加密。 iPhone 与 Cloudflare 之间以及 Cloudflare 与你的 Mac 之间的所有流量都使用 TLS 加密。结合 Tactic Remote 的 Token 认证,这提供了两层独立的安全保障。

Cloudflare 的 DDoS 和机器人防护 默认应用于你的隧道端点,为自动化攻击提供额外防护。

权衡之处:流量会经过 Cloudflare 的网络。虽然经过加密,但这意味着 Cloudflare 是一个受信任的中间方。对于大多数个人开发者来说,考虑到便利性,这是可以接受的权衡。对于敏感环境,请参阅我们的 安全与网络加固 指南以了解额外措施。

局限性

  • 需要 Cloudflare 账号。 你需要一个免费的 Cloudflare 账号和一个由 Cloudflare 管理的域名。隧道本身免费,但初始 DNS 配置需要几分钟。
  • 依赖 Cloudflare 可用性。 如果 Cloudflare 发生故障,隧道模式将无法使用。这种情况很少见(Cloudflare 的运行时间记录非常出色),但值得注意。
  • 延迟高于局域网模式。 如上所述,每次交互会比局域网模式增加 50-200ms 的延迟。

QR 码连接流程

两种模式使用相同的 QR 码流程进行初始配对,但 QR 码内容不同:

局域网 QR 码 编码内容:http://<local-ip>:<port> 加上认证 Token。

Cloudflare Tunnel QR 码 编码内容:https://<your-tunnel-domain> 加上认证 Token。

iPhone 应用根据 URL 方案和网络特征自动检测连接模式。如果 QR 码包含局域网 IP 地址,应用配置为局域网模式。如果包含 HTTPS 域名,则配置为 Cloudflare Tunnel 模式。

要切换模式,你可以从 Companion 应用的菜单栏下拉菜单中生成新的 QR 码,然后用 iPhone 扫描。应用会替换之前的连接配置。整个模式切换在 10 秒内完成。

并排对比

因素局域网Cloudflare Tunnel
配置复杂度最简(自动)中等(5-10 分钟)
延迟40-100ms100-250ms
支持外网访问否是
需要 Cloudflare 账号否是
需要入站端口无(仅限局域网)无
第三方信任无Cloudflare
费用免费免费(Cloudflare 免费套餐)
重连速度0.5-1.5s2-4s
最适合家庭/办公室固定办公通勤、旅行、远程

推荐使用模式

在以下情况使用局域网模式: 你在工位上或与 Mac 在同一网络中。更低的延迟使终端流式传输明显更流畅,且不依赖第三方服务。

在以下情况使用 Cloudflare Tunnel 模式: 你需要从局域网外访问 — 通勤、旅行、在不同地点工作,或者你想在家启动任务然后在办公室监控进度。

同时使用两者: 在 Mac 上配置 Cloudflare Tunnel,但在家时通过局域网模式连接。Companion 应用可以同时提供两种模式。你的 iPhone 可以保存两个连接配置,在应用的连接设置中一键切换。

我们的许多用户将 Cloudflare Tunnel 配置为备用方案,日常使用局域网模式。当他们离开家时,切换到隧道配置。这样在条件允许时获得最低延迟,在需要时获得远程访问能力。

下一步

我们正在探索自动模式选择功能,可以检测你的 iPhone 是否与 Mac 在同一网络中,自动走本地路由,离开时回退到 Cloudflare Tunnel。这将完全消除手动模式切换。早期测试表明 iOS 上的网络检测是可靠的,但 VPN 和分割隧道配置等边缘情况仍需解决。

有关配置说明,请参阅 快速入门 了解局域网模式,参阅 Cloudflare Tunnel 配置 了解远程访问配置。

立即体验 Tactic Remote

用手机远程控制编程 Agent

连接 Mac、Windows 或 Linux 电脑上的 Claude Code、Codex 等 Agent,在 iPhone 或 iPad 上查看进展并发送下一条要求。