# macOS / Linux (self-updates from the dashboard):
curl -fsSL https://cdp.busymate.net/install.sh | bash
# Sign in once, create a browser, and capture it → your Busymate feed:
bmc login
bmc create dev --browser chrome --start# Windows (PowerShell) — same, self-updating:
irm https://cdp.busymate.net/install.ps1 | iex
bmc login
bmc create dev --browser chrome --startThe simplest
「Chrome を開く」から「全リクエストを検査」への最短ルート——そのトラフィックを加工することも。
信頼設定ゼロ——文字通りのゼロ
bmc は DevTools プロトコルに直接つながるので、トラフィックは最初から復号済み。キーチェーンには何も入らず、警告も出ません。Chrome が起動した瞬間にキャプチャが始まります。
名前付きブラウザデバイス
バックグラウンドのデーモンが独立した Chrome プロファイルを名前付きデバイスとして管理——ターミナル、ダッシュボード、MCP 呼び出しのどれからでも起動・停止・スクリプト化できます。ブラウザがフリートの一員になります。
ローカルでモックと改変を
プロキシを動かすのと同じサンドボックス JS エンジンが、実際の Chrome セッション上で動作:リクエストを書き換え、レスポンスを合成し、すべての変更がフィードに反映されるのを確認できます。
ターミナルの中の BusyBro
このマシンのデバイスを知る、ネイティブスクロールバック対応の REPL チャット。ブラウザの作成、URL を開く、チェックの実行を依頼でき——アクションは確認必須、答えは実際のキャプチャに基づきます。
もう二度と触らなくていい
デーモンはアイドル時に自己更新し、稼働中のビルドを報告し、ダッシュボードや MCP からの指示で再起動します。自分で自分を保守するインフラです。
Reads Chrome traffic
bmc attaches to Chrome over the DevTools Protocol — the same wire DevTools itself uses — so it sees requests exactly as the browser does: already decrypted.
- 01
Its own Chrome, per folder
bmc start launches a dedicated Chrome with its own profile and its own debug port for the current directory. Each folder is an independent device — run it in two folders and you get two fully separate browsers.
- 02
Attach over the DevTools Protocol
It connects to Chrome's debug port over a WebSocket, auto-attaches to every tab, and enables the Network domain — the same wire Chrome DevTools itself uses. No extension, no proxy in the path, nothing injected into pages.
- 03
Events become entries
Request, response and timing events are correlated into the same entry shape every Busymate source uses, with headers and bodies (up to 1 MB per body) pulled straight from the browser — after Chrome already decrypted them.
- 04
Batched into one feed
Entries are batched and posted to the ingest API about once a second. The folder pairs as a real Busymate device, so its traffic lands in the same dashboard, the same filters, the same MCP tools and the same HAR export as every phone.
Capture without
TLS terminates inside Chrome, and bmc reads on the browser's side of it. There is no man-in-the-middle to trust — so there is nothing to install, and nothing for pinning to detect.
A proxy debugger decrypts HTTPS by re-signing it with its own certificate authority — which means installing that CA, trusting it in a keychain, and losing the apps that pin their certificates. bmc skips the whole problem: the DevTools Protocol hands over each request after Chrome has already decrypted it.
| What it takes | bmc (CDP) | Proxy (MITM) | iOS / Android app |
|---|---|---|---|
| Root CA to install | None | Yes — trust the proxy CA | Yes — on-device CA, decrypting only domains you opt in |
| Network setup | None | Point each client at the proxy | None — an on-device VPN tunnel |
| Pinned certificates | Unaffected — nothing sits in the TLS path | Pinned apps refuse the proxy CA | Pinned apps stay encrypted (metadata still visible) |
| What it sees | The Chrome it launches — every tab | Any app or script you point at it | Every app on the phone |
| Best for | Web apps, SPAs, agent-driven browsing | Backends, scripts, browsers on other machines | Mobile apps, in the field |
Each path is first-class: the proxy and the phone apps exist precisely for the traffic CDP can't see. Use bmc for browsers, the proxy for anything you can point at it, and the apps for whole-phone capture.
Drive the browser.
Every bmc browser is remote-controllable over MCP — an AI agent or a script can open pages, read them and act, while capture records every request the session makes. That combination is the point.
Drive and read the page
- browser_open
- Navigate the browser to a URL.
- browser_targets
- List the open tabs and pick the one to drive.
- browser_snapshot
- A compact accessibility-tree snapshot — the page as structured text, built for agents.
- browser_screenshot
- A PNG of the active page.
- browser_eval
- Run JavaScript in the page. Placeholder variables are resolved server-side from the device's env, so an agent can fill a login form without ever seeing the password.
- browser_cdp
- Raw DevTools Protocol access for everything else — owner-gated.
Browser profiles
Built-in Chrome, Brave and Edge profiles plus custom ones authored once in the dashboard — per-OS binaries, default flags and a flag catalog every machine's bmc resolves the same way.
- list_browser_profiles
- get_browser_profile
- upsert_browser_profile
- delete_browser_profile
The daemon, remotely
Live build, uptime and logs without SSH; list every named browser on a machine; restart or hot-update the daemon while running captures keep capturing. One switch arms or disarms it all, per device.
- get_cdp_daemon_status
- get_cdp_logs
- list_cdp_instances
- restart_cdp_daemon
- update_cdp_daemon
- set_device_cdp_control
Remote control is opt-in per device and permission-gated; capture keeps flowing either way.
一貫したデバイス識別、
GodBrowser は、ブラウザに一貫した本物らしいデバイス識別を与えるアンチフィンガープリント Chromium です。bmc に組み込まれたブラウザプロファイルなので、エージェントはペルソナを実行し、そのトラフィックをスマートフォンと同じライブフィードで捕捉できます。
GodBrowser を 1 つのフラグで選ぶと、bmc は他のブラウザデバイスと同じ DevTools Protocol でそれを操作します。ペルソナが送るすべてのリクエストを検査し——すでに復号済み、ルート CA なし、プロキシなし——それらを Busymate フィードへストリーミングします。GodBrowser はまさにこの組み合わせのために、bmc をリクエスト検査のコンパニオンとして紹介しています。
すべてが揃った一つの識別
user-agent、画面、WebGL、canvas と音声、ロケール、タイムゾーンはすべてペルソナと一致し、TLS/JA4、UA-CH、コーデックは JavaScript が 1 行走る前に宣言されたデバイスへ整合します。GodBrowser 自身の表現では、偽装したデバイスではなく本物のデバイスです。
決定論的なシード
--bot-profile フラグは、シード文字列からデバイス識別一式を導出します。シードを変えればデバイスが変わる——反復可能で再現可能なので、ペルソナをそのまま再現できます。
プラットフォームとブラウザにまたがるペルソナ
Windows、macOS、Linux、iOS、Android を Chrome、Safari、Firefox、Samsung Internet、Edge と掛け合わせ、--bot-os と --bot-browser で選択します。ベースはパッチ適用済みの Chromium 151 です。
クラスター、API、MCP
GodBrowser は自前のノードクラスター上で動作し、コード、その API、あるいは AI クライアントから操作でき、独自のリモート MCP サーバーを備えています。プロキシはプロファイルごとに決定論的に割り当てられ、セッションは Redis を介してマシン間で同期します。
# GodBrowser is a built-in bmc browser profile — pick it per device:
bmc create ios-persona --browser godbrowser -- \
--bot-os=ios --bot-browser=safari --bot-profile=seed-42 --startGodBrowser は Chrome、Brave、Edge と並ぶ bmc の組み込みプロファイルの一つで、--browser godbrowser で選ぶだけがすべての設定です。bmc はバイナリを解決し、ペルソナのフラグを公開し、デバイスを独立した “God Browser” としてペアリングし、捕捉したトラフィックに gdp のタグを付けてフィード内で際立たせます。GodBrowser には何も注入されません。bmc は DevTools Protocol 経由でそれを操作し、そのアンチフィンガープリント層はブラウザのコアにあるため、自動化下でも損なわれません。どちらのツールも MCP ネイティブです——GodBrowser のリモート MCP サーバーと Busymate のサーバーにより、一つのエージェントが、それぞれ同意ベースのトークンの背後で、一度のセッションでペルソナを操作しそのトラフィックを読み取れます。
One tool,
Agent-driven QA
An assistant opens your staging site, walks the flow and screenshots what it sees — while the network feed shows exactly what broke, with full request and response bodies.
Debug a SPA
Watch XHR and fetch calls stream live with headers, bodies and timings while you click through the app. The history survives a reload — no DevTools-tab archaeology.
Capture an OAuth flow
Redirect chains, tokens and callbacks recorded end to end — including on providers whose pinned certificates a proxy can't open.
Work a signed-in page
The folder's Chrome profile keeps its session between runs; snapshot and eval read the page while capture documents every request behind it.
The sceptical
Does bmc need a certificate or a proxy?
No. It attaches to Chrome over the DevTools Protocol and reads traffic after Chrome has decrypted it. There is no root CA to install, no keychain trust prompt, and no proxy settings to change.
Does it work with certificate pinning and HSTS?
Yes. Pinning defends the TLS connection between Chrome and the server — bmc never touches that connection; it reads inside the browser. HSTS, corporate device policy and managed keychains are equally unaffected.
Does it modify pages or the sites I visit?
Capture injects nothing — bmc listens to Chrome's own network events. It also launches its own Chrome with its own profile, so your everyday browser is never touched.
Can it run headless or in CI?
Yes. Anything after -- goes straight to Chrome (for example --headless=new), and CDP_USER_JWT or CDP_PAIR_EMAIL and CDP_PAIR_PASSWORD sign in without opening a browser.
Which browsers does it support?
Chromium-family browsers: built-in Chrome, Brave, Edge and Chromium profiles, plus custom profiles you author in the dashboard. Anything that speaks the DevTools Protocol.
What about traffic outside the browser?
bmc only sees the Chrome it is attached to. For backends and scripts use the Busymate proxy; for whole-phone capture use the iOS or Android app — everything lands in the same feed.