BrowseForge:開源反偵測瀏覽器工作區 — 從 Web UI 到 AI Agent,一套管理所有隔離瀏覽器身份

本篇文章更新時間:2026/06/03
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


問題:為什麼你需要「隔離的瀏覽器身份」

在很多合法的工作場景中,你需要用不同的瀏覽器身份操作同一個網站:

  • QA 測試:驗證多帳號、多地區、多語系的使用者體驗,每個測試需要乾淨的環境。
  • 廣告投放:管理多個廣告帳號,每個帳號需要獨立的 Cookie 和指紋,避免被平台關聯。
  • 電商營運:多店鋪管理,各店鋪需要獨立的瀏覽器環境。
  • 資安研究:測試網站的指紋偵測機制、模擬不同瀏覽器環境。
  • AI Agent:讓 AI 代理能控制隔離的瀏覽器 session 執行自動化任務。

傳統做法是開多個 Chrome Profile、或用無痕模式。但這些方案的問題是:指紋相同(Canvas、WebGL、字型列表等全部一樣)、無法程式化控制、無法在伺服器上跑。

市面上有商業方案(Multilogin、GoLogin、AdsPower),但它們要價不菲、閉源、資料存在別人的伺服器上。

BrowseForge 是我開發的開源替代方案。MIT 授權,資料全部在你手上,從 Web UI 到 REST API 到 MCP 到 Playwright,一套工具涵蓋所有控制方式。


核心特色

雙瀏覽器引擎

  • Firefox:透過 Camoufox(反偵測 Firefox fork)
  • Chromium:透過 CloakBrowser(反偵測 Chromium runtime)

兩種引擎都支援完整的 Profile 隔離和指紋管理。建立 Profile 時選擇引擎,後續操作方式完全一致。

Profile 隔離

每個 Profile 是一個完全獨立的瀏覽器環境:

  • 獨立的 Cookie 和 localStorage
  • 獨立的 Proxy 設定(SOCKS5 / HTTP)
  • 獨立的指紋設定(Canvas、WebGL、User-Agent、螢幕解析度等)
  • 獨立的 Timezone 和 Locale(依 Proxy 自動調整)

指紋池

內建指紋生成器,可預先產生大量指紋 JSON 檔案。建立 Profile 時自動從池中分配指紋,或手動指定。指紋涵蓋:瀏覽器版本、作業系統、螢幕解析度、字型列表、Canvas 雜訊、WebGL 參數等。

五種控制方式

這是 BrowseForge 最大的差異化:你可以用任何方式控制它。

方式 適合誰 說明
Web Dashboard 一般使用者 瀏覽器開啟 http://127.0.0.1:19280,視覺化管理 Profile
REST API 後端開發者 完整的 Profile / Session / Backup / Workflow API
MCP Server AI Agent 開發者 stdio + Streamable HTTP,讓 Claude/Kiro 直接控制瀏覽器
Playwright Connect 自動化工程師 外部 Playwright client 連入既有 session
YAML Workflow DevOps / 排程任務 宣告式流程定義,透過 API 觸發

快速上手

方式一:本機執行(30 秒)

Releases 下載對應平台 ZIP:

unzip BrowseForge-v1.7.7-lite-macos-arm64.zip
cd BrowseForge-lite
./BrowseForge

開啟 http://127.0.0.1:19280 即可使用 Dashboard。首次啟動會自動下載瀏覽器引擎。

方式二:Docker 部署(生產環境)

docker run -d --name browseforge \
  -p 19280:19280 -p 19281:19281 -p 6901:6901 \
  -e VNC_PASSWORD=browseforge \
  --restart unless-stopped \
  ghcr.io/nczz/browseforge:v1.7.7
服務 URL
Dashboard + REST API + Playwright http://localhost:19280
MCP Streamable HTTP http://localhost:19281
KasmVNC 遠端桌面 http://localhost:6901

Docker 版包含 KasmVNC,可以直接在瀏覽器中看到「瀏覽器裡的瀏覽器」— 遠端操作 Profile 的實際畫面。


AI Agent 整合(MCP)

BrowseForge 內建 MCP Server,讓 AI 代理可以直接控制瀏覽器 session。這是讓「AI 幫你操作網頁」成為可能的基礎設施。

stdio 模式(本機 AI 工具)

Kiro / Claude 設定:

{
  "browseforge": {
    "command": "/path/to/BrowseForge",
    "args": ["--mcp"]
  }
}

Streamable HTTP 模式(遠端 server)

{
  "mcpServers": {
    "browseforge": {
      "url": "http://YOUR_SERVER:19281/",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  }
}

設定完成後,AI Agent 可以:建立 Profile、開啟瀏覽器、導航到網頁、點擊元素、填寫表單、截圖、關閉瀏覽器。每個操作都在隔離的指紋環境中執行。


Playwright Connect

如果你已經有 Playwright 自動化腳本,BrowseForge 提供相容的 WebSocket endpoint,讓你直接連入:

import { firefox } from 'playwright';

const browser = await firefox.connect(
  'ws://YOUR_SERVER:19280/api/playwright/ws/sess_prof_xxx',
  { headers: { Authorization: 'Bearer YOUR_TOKEN' } }
);

const page = browser.contexts()[0].pages()[0];
await page.goto('https://example.com');
console.log(await page.title());
await browser.close();

差別在於:這個 browser session 跑在 BrowseForge 管理的 Profile 中,有完整的指紋偽裝和環境隔離。你的自動化腳本不需要改,只是連接目標換了。


YAML Workflow

對於排程任務或 CI/CD 流程,可以用宣告式的 YAML 定義操作流程:

name: Multi-account login
steps:
  - name: Create profile
    action: create_profile
    params: { name: "Account 1", engine: firefox, var: p1 }

  - name: Open browser
    action: open_browser
    profile_id: $p1

  - name: Navigate
    action: navigate
    profile_id: $p1
    params: { url: "https://example.com/login" }

  - name: Type username
    action: type
    profile_id: $p1
    params: { selector: "#username", text: "[email protected]" }

  - name: Screenshot
    action: screenshot
    profile_id: $p1

  - name: Close
    action: close_browser
    profile_id: $p1

透過 REST API 觸發:

curl -X POST http://127.0.0.1:19280/api/workflow/run \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d @workflow.yaml

技術架構

BrowseForge (Go binary)
├── REST API (:19280)
├── MCP Server (:19281) — stdio + Streamable HTTP
├── Web Dashboard (embedded)
├── Playwright-compatible browser control
├── Browser Runtime
│   ├── Camoufox (Firefox-based)
│   └── CloakBrowser (Chromium-based)
├── Profile Store (profiles/)
└── Fingerprint Pool (data/)
  • 語言:Go(後端 server + CLI)+ Node.js(指紋生成器)
  • Playwright 版本:1.60.x(透過 Go binding 控制瀏覽器)
  • Docker:基於 KasmVNC,提供遠端桌面存取
  • 安全:所有 API 端點需 Bearer token 認證(首次啟動自動生成)

平台支援

平台 BrowseForge Camoufox (Firefox) CloakBrowser (Chromium)
macOS Intel
macOS Apple Silicon
Linux x64
Linux arm64 依 runtime
Windows x64

與商業方案的比較

特性 BrowseForge 商業方案(Multilogin 等)
授權 MIT 開源 月費 $99~$399+
資料儲存 100% 本機 / 你的 server 雲端(廠商伺服器)
API 控制 REST + MCP + Playwright + YAML 通常僅 REST API
AI Agent 支援 原生 MCP server
部署方式 本機 / Docker / Linux server 通常僅桌面 app
瀏覽器引擎 Firefox + Chromium 通常僅 Chromium
原始碼 完全公開可審計 閉源

負責任使用聲明

BrowseForge 的設計目的是用於合法的 QA 自動化、隱私研究、相容性測試和受控的瀏覽器操作。請勿用於未經授權的存取、憑證濫用、垃圾訊息、詐騙或規避你無權測試的系統。


授權

MIT License — 完全開源,商業使用無限制。


資源連結

如果你的團隊需要客製化的瀏覽器自動化方案、部署協助或整合開發,歡迎透過聯絡我們洽詢。


Share:

作者: Chun

WordPress 社群貢獻者、開源社群推廣者。專注於 WordPress 外掛開發、網站效能最佳化、伺服器管理,以及 iDempiere 開源 ERP 導入與客製開發。曾參與 WordCamp Taipei 等社群活動,GitHub Arctic Code Vault Contributor。提供資訊顧問、WordPress 開發教學、主機最佳化與企業 ERP 整合服務。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon