代理 · MITM

捕获应用的 HTTP(S) 流量

A browser, a backend, a TV, a cron job — point it at one address. Same live feed.

An Android phone, a browser and a backend server stream traffic into a central proxy hexagon on port 8888; one stream passes a block-and-script rule gate and comes out transformed, then one live stream flows on into a dashboard feed with green status codes. A globe marks upstream proxy routing. android browser server {} rules :8888 upstream live 200 201 200
把任意客户端指向代理
bash
# Any client — point it at your per-device PAC URL:
http://<port>.busymate.net/

# Android:  Wi-Fi → Proxy → Auto-config  →  paste the URL
# Desktop:  System proxy → Automatic     →  paste the URL
# Then trust the Busymate CA once, and decrypted traffic
# streams straight into the shared live feed.

为什么需要代理

Charles-style MITM, shared feed

与其他来源完全相同的模拟、脚本与断点。

一个 PAC URL,任意客户端

无需 SDK,无需安装代理程序。任何能说代理协议的东西——手机、浏览器、定时任务——都能从一个自动配置 URL 完成设置并开始上传。

每台设备保有自己的身份

每台设备都有自己的子域名和端口,整个团队的流量干净利落地并排归属。再也不用猜那些请求是谁的。

规则在线路上执行

拦截、模拟和丢弃规则——以及同一个沙箱 JS 脚本引擎——在代理内部内联运行,与 iOS 和 Chrome 抓包完全一致。一套规则,在你流量流经的每个地方生效。

出口流量任意路由

把任意设备链接到上游或区域代理——按国家或指定主机——直接在仪表盘完成。不离开座位就能测试地域限制行为。

无需 SSH 即可运维

代理守护进程实时上报版本和状态,把日志流入仪表盘,并可远程重启或更新。那台机器上你可能再也不用开终端了。

How it works

Trust once, decrypt on demand

A Charles-style MITM that runs as a shared service: one CA, per-host leaves, and rows that land in the same table as every other capture source.

  1. 01

    A CA is born on first run

    The proxy generates its own certificate authority the first time it starts — there are no shared keys to pass around. Each device trusts that one certificate once; nothing else on the device changes.

  2. 02

    Per-host leaves, minted on demand

    For every intercepted hostname the proxy mints a leaf certificate on the fly — read from the TLS handshake's server name — and handshakes both directions: client to proxy, proxy to origin.

  3. 03

    每个请求/响应对都进入共享信息流

    每个解密后的请求/响应对在完成的那一刻就出现在你的仪表盘信息流中——与 iOS 和 Android 捕获产生的格式完全一致,因此一个信息流汇集所有来源,重试也绝不会产生重复条目。

  4. 04

    The dashboard steers it live

    Breakpoint continues, request resends, device renames and settings pushes arrive over Realtime channels the proxy subscribes to — applied in-process, no restart, no SSH session.

Endpoints & specs

The proxy, mapped

Everything a client or a script needs is served by the proxy itself — autoconfig, the CA bundle, and a per-device port pool.

Proxy + management
:8888 (HTTP proxy + management API)
TLS interception
SNI listener :8443 · per-host leaf certificates
Per-device ports
:9000–19999 pool · <port>.busymate.net
PAC autoconfig
/ · /proxy.pac · /wpad.dat (same PAC body at all three)
CA distribution
Certificate bundle served by the proxy itself; the CA is generated on first run
Ingest
捕获随发生随流入信息流——没有队列,没有批处理文件,重试也绝不会产生重复条目
Remote control
Realtime channels for breakpoints, resends and settings; live build/status reporting and remote restart from the dashboard

FAQ

Proxy questions, answered

Which clients can I point at the proxy?

Anything that can use an HTTP proxy or a PAC URL: Android phones, desktop browsers, smart TVs, your own backends, cron jobs, debug builds. If it has proxy settings, it can stream into the feed.

Do I have to trust a certificate on every device?

Once per device. The proxy has a single CA (generated on its first run); every per-host leaf certificate chains to it, so one trust step covers every host you later decrypt.

What happens to hosts I don't want decrypted?

They pass through encrypted, untouched. Decryption is scoped by the same dashboard-managed SSL host lists that drive iOS and Android capture — one rule set for every source.

Why does each device get its own port and subdomain?

Each allocated device gets a dedicated port from the pool and a matching hostname, so a whole team's traffic stays exactly attributed in the shared feed — no guessing whose requests those are.

我需要自己开设一个上游代理账户,才能路由某台设备的出口流量吗?

不需要——只要选择一个国家,Busymate 就会从内置代理池中自动选出一个健康的代理。如果你更愿意,也可以直接提供自己的主机和端口。

如果我查看某台设备的出口 IP,我看到的就是目标网站实际看到的地址吗?

不是的——那份列表是我们的代理为该设备接受连接的准入 IP,而不是目标能看到的来源地址。目标真正看到的,是你所使用的那个外部(上游)代理。

外部代理集成

内置代理, 真实出口

让设备默认通过内置代理池中的上游代理路由,或者使用你自己的主机——并且清楚地知道每个 IP 分别代表什么。

  1. 01

    真实代理,默认就绪

    每台设备开箱即可通过一个预定义的上游代理池路由——按国家选一个(或直接指定一个主机),流量就会真正从那里出口。无需先单独开设一个账户。

  2. 02

    一次写入即可路由设备的出口流量

    按国家自动选择一个健康的代理,或者直接指定明确的主机和端口。proxy-server 和 CDP 连接器都会通过各自的设置订阅自动获取这一变更——无需重启,无需重新部署。

  3. 03

    准入 IP ≠ 目标看到的地址

    设备出口状态里列出的地址,是我们的代理从该设备接受的 CONNECT 来源 IP——并不是目标服务器实际看到的 IP。目标服务器所能看到的来源,完全由你所路由经过的那个外部代理决定。

  4. 04

    凭证永远不会出现在任何一次读取中

    上游用户名和密码只会被写入一次,此后在任何一次读取中都会被剥离——无论是设置获取、有效设置合并,还是 AI 智能体的工具调用,看到的都只是一个经过遮蔽处理的 hasCredentials 标志,永远不会看到真实值。

Connect a device in a minute

拿到你的 PAC URL,信任一次 CA,看着解密流量落入实时流。

Ask your mate