本篇文章更新時間: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 — 完全開源,商業使用無限制。
資源連結
- GitHub:github.com/nczz/BrowseForge
- API 文件:API.md
- Docker 部署指南:docs/linux-server.md
如果你的團隊需要客製化的瀏覽器自動化方案、部署協助或整合開發,歡迎透過聯絡我們洽詢。
