Item logo image for Browser Controller

Browser Controller

ExtensionTools2 users
Item media 1 (screenshot) for Browser Controller

Overview

Native messaging bridge for browser-controller CLI

Provides a way to inspect and control browser windows and tabs from a Rust CLI program. It also allows watching an event stream of window and tab events. The Event stream and CLI output use JSON for simple scripting with e.g. jq This is meant to allow a power user to integrate browser window and tab control with other parts of their environment, e.g. shell scripts, window manager or compositor shortcuts, system services or timed jobs. For ease of scripting the output can optionally use JSON and the event stream of browser events uses newline delimited JSON objects. For windows it allows listing, opening (including incognito windows) and closing windows. Window title prefix management is a Firefox-only feature and is not available on Chrome. For tabs it allows listing, opening (with optional wait-for-load timeout), activating, navigating to a new URL, closing, reloading (with optional cache bypass), pinning, unpinning, discarding tabs to free memory, muting and unmuting tab audio, moving the tab to a different position in the window's tab bar, going forward and backward in history, and sorting tabs by domain. For tab groups (Chrome-only) it allows listing all tab groups, getting a specific group, updating group properties (title, color, collapsed state), moving groups, adding tabs to groups (or creating new groups), and removing tabs from groups. Some tab features are Firefox-only and return an error on Chrome: toggling Reader Mode, warming up discarded tabs, and reopening tabs in containers. Container management (listing containers) is also Firefox-only. For downloads it allows listing (with optional state and query filters), starting new downloads, cancelling, pausing, resuming, retrying interrupted downloads, and erasing download history entries. When opening a new tab it can also optionally provide credentials for HTTP basic authentication via the browser's onAuthRequired API, avoiding the need to embed credentials in the URL where they would be visible in the address bar, history, and logs. The event stream includes events for window and tab operations (open, close, activate, navigate, title change, status change, tab moved, tab attached/detached between windows, window focus changed), tab group events (created, updated, removed) on Chrome, as well as download events (created, changed, erased). Note: My primary testing and development platform for this is Linux but I do provide binaries for other desktop platforms for the Rust side of this. Bug reports from users on those platforms are welcome if I overlooked some minor platform-specific issues. This is not really meant for use on mobile platforms since CLI use is uncommon there.

Details

  • Version
    0.2.0
  • Updated
    April 30, 2026
  • Offered by
    Matthias Hörmann
  • Size
    18.94KiB
  • Languages
    English
  • Developer
    Email
    mhoermann@gmail.com
  • Non-trader
    This developer has not identified itself as a trader. For consumers in the European Union, please note that consumer rights do not apply to contracts between you and this developer.

Privacy

Manage extensions and learn how they're being used in your organization
The developer has disclosed that it will not collect or use your data.

This developer declares that your data is

  • Not being sold to third parties, outside of the approved use cases
  • Not being used or transferred for purposes that are unrelated to the item's core functionality
  • Not being used or transferred to determine creditworthiness or for lending purposes
Google apps