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.
0 out of 5No ratings
Details
- Version0.2.0
- UpdatedApril 30, 2026
- Offered byMatthias Hörmann
- Size18.94KiB
- LanguagesEnglish
- Developer
Email
mhoermann@gmail.com - Non-traderThis 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
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