v1.6.0

jo-inc/camofox-browserv1.6.0Apr 19, 2026by skyfallsin

AI Summary

Major update introducing a plugin system, persistence, VNC support, and a unified keyboard input endpoint.

Key Highlights

  • New Plugin System allows extending functionality with self-contained plugins featuring event hooks and auto-installation.
  • Persistence Plugin enabled by default saves cookies and localStorage across browser restarts.
  • VNC Plugin allows visual interaction for handling CAPTCHAs and MFA flows.
  • Unified `/type` endpoint supports keyboard mode for key presses and shortcuts.

New Features

  • Plugin system
  • Persistence
  • VNC plugin
  • Unified /type endpoint

Full Release Notes

# Camofox Browser v1.6.0

## What's New

### 🔌 Plugin System

Camofox is now extensible. Features can be built as self-contained plugins with their own dependencies, config, routes, and tests — loaded automatically from `plugins/`.

The plugin system includes an event bus with async mutating hooks (`emitAsync()`) so plugins can intercept and transform 29 browser events across 7 categories (session creation, navigation, downloads, and more), shared auth so plugins inherit the server's API key, and per-plugin configuration in `camofox.config.json`. A plugin manager handles installation:

```bash
node scripts/plugin.js install ./my-plugin
node scripts/plugin.js remove my-plugin
node scripts/plugin.js list
```

Plugins auto-install their own npm dependencies on startup. Want to add custom auth flows, logging, content filtering, or site-specific logic? Write a plugin — no need to fork the server. Three built-in plugins ship with this release to show the pattern.

### 💾 Persistence Plugin *(enabled by default)*

Browser sessions now survive restarts. Cookies and localStorage are saved per-user and restored automatically on the next session. No more re-authenticating after every reboot. Profiles are stored at `~/.camofox/profiles/` by default — configure it in `camofox.config.json`:
```json
{
  "plugins": {
    "persistence": {
      "profileDir": "/your/custom/path"
    }
  }
}
```
*(Thanks @leoneparise [#50](https://github.com/jo-inc/camofox-browser/pull/50) and @eddieoz [#55](https://github.com/jo-inc/camofox-browser/pull/55) for the session management groundwork.)*

### 🖥️ VNC Plugin *(opt-in)* *(Thanks @leoneparise! [#65](https://github.com/jo-inc/camofox-browser/pull/65))*

Some sites just won't let you log in programmatically — CAPTCHAs, MFA flows, or bot detection that blocks headless browsers. The VNC plugin lets you see and control the browser visually in your web browser. Log in by hand like a normal user, and the persistence plugin automatically saves that authenticated session for headless use going forward.

Enable it in `camofox.config.json`:
```json
{
  "plugins": {
    "vnc": { "enabled": true }
  }
}
```
Then open `http://localhost:6080` to interact with the browser.

### 🎬 YouTube Plugin *(enabled by default)*

YouTube transcript extraction moved from the server core into `plugins/youtube/`. Functionally identical — just better organized, and a good reference for how to build your own plugin.

### ⌨️ Unified `/type` Endpoint *(Thanks @LolipopJ! [#66](https://github.com/jo-inc/camofox-browser/pull/66))*

The `/type` endpoint now supports a keyboard mode for key presses, modifier keys, and shortcuts alongside the existing text input mode.

### 🐳 Multi-Arch Dockerfile *(Thanks @company8! [#51](https://github.com/jo-inc/camofox-browser/pull/51))*

Docker builds now download Camoufox and yt-dlp at build time with proper architecture detection. ARM and x86 builds just work.

### 🐛 Fixes

- Orphaned Camoufox temp files cleaned up on startup
- `CAMOFOX_PORT` restored to 9377 (was broken in a previous refactor)
- Async plugin hooks now properly awaited for mutating events
- Plugin dependency installer handles both string and object config formats

### 📦 Dependencies

- Security bumps via dependabot ([#63](https://github.com/jo-inc/camofox-browser/pull/63))

### Tests

347 tests passing (+44 new). Auth, plugin loading, persistence, VNC, and keyboard mode all covered.

## Upgrading

Drop-in replacement for 1.5.x. No breaking changes, no configuration changes needed.

## Thank You

Our biggest community release — 8 PRs from 6 contributors: @leoneparise ([#50](https://github.com/jo-inc/camofox-browser/pull/50)), @company8 ([#51](https://github.com/jo-inc/camofox-browser/pull/51)), @eddieoz ([#55](https://github.com/jo-inc/camofox-browser/pull/55)), @jecruz ([#61](https://github.com/jo-inc/camofox-browser/pull/61)), @mvanhorn ([#62](https://github.com/jo-inc/camofox-browser/pull/62), [#65](https://github.com/jo-inc/camofox-browser/pull/65)), @LolipopJ ([#66](https://github.com/jo-inc/camofox-browser/pull/66)).