Skip to Content
Build from Source

Build from Source

VulpineOS is a fork of CamoufoxΒ , itself based on Firefox 146.0.1. The build system uses Make targets that orchestrate Firefox’s mach build tool.

Prerequisites

  • macOS (Apple Silicon or Intel) or Linux (x86_64)
  • Python 3.10+ β€” required by Firefox’s mach build system
  • Go 1.26+ β€” for the TUI binary
  • Node.js 18+ β€” for OpenClaw
  • ~40 GB disk space for the Firefox source tree + build artifacts

macOS Additional

xcode-select --install brew install mercurial yasm

Linux Additional

sudo apt install build-essential libgtk-3-dev libdbus-glib-1-dev \ yasm nasm python3-pip

Build Steps

1. Fetch Source

make fetch

Downloads the Firefox 146.0.1 source tarball (~300 MB).

2. Setup

make setup

Extracts the tarball and initializes a git repository inside the source tree (used for tracking patch application).

3. Apply Patches + Additions

make dir

This runs scripts/patch.py to apply all unified diffs from patches/ and scripts/copy-additions.sh to copy new files from additions/ into the Firefox source tree.

Key patches:

  • action-lock.patch β€” C++ page freeze (nsDocShell)
  • Camoufox fingerprinting patches (inherited)

Key additions:

  • additions/juggler/ β€” the entire Juggler automation layer
  • additions/juggler/TelemetryService.js β€” VulpineOS telemetry
  • additions/juggler/TrustWarmService.js β€” trust warming

4. Compile

make build

Runs ./mach build inside the Firefox source tree. On Apple Silicon with artifact builds enabled, this takes roughly 5 minutes. Full builds on Linux take 30-60 minutes.

5. Build the Go Binary

go build -o vulpineos ./cmd/vulpineos

Produces a ~11 MB binary with the full TUI, remote connectivity, MCP server, and orchestrator.

6. Install OpenClaw

npm install

Installs OpenClaw as a dependency (configured in the repo’s package.json).

7. Package (macOS)

make package-macos

Creates a distributable .app bundle.

Repository Structure

VulpineOS/ β”œβ”€β”€ patches/ # Unified diffs applied to Firefox source β”œβ”€β”€ additions/ # New files copied into Firefox source tree β”‚ └── juggler/ # Playwright wire protocol + VulpineOS services β”œβ”€β”€ settings/ # Preferences (camoufox.cfg) and branding β”œβ”€β”€ scripts/ # Build orchestration (patch.py, copy-additions.sh) β”œβ”€β”€ cmd/vulpineos/ # Go CLI entry point β”œβ”€β”€ internal/ # Go packages (TUI, kernel, vault, pool, etc.) β”œβ”€β”€ go.mod β”œβ”€β”€ package.json # OpenClaw dependency └── Makefile

Artifact Builds

On macOS with Apple Silicon, Firefox supports artifact builds that download precompiled C++ components and only rebuild JavaScript/resource changes. This reduces build time from 30+ minutes to under 5 minutes. VulpineOS’s make build uses this automatically when available.

Last updated on