Richmack Browser OS is a lightweight, dark Chromium distribution layer: a dedicated Chromium profile, a custom Richmack new-tab experience, eight separate toolbar extensions, and an optional localhost container for generated feeds/media services. It keeps Chromium's native tabs and security/update path rather than maintaining a Chromium fork.
- Richmack Core — wolf branding, dark new tab, workspaces, Richmack/qutebrowser-style keyboard mode and
:commands. - Extract — links, readable text, PDFs and document URLs.
- Images — detect and download page images.
- Email — extract and deduplicate visible and
mailto:email addresses. - Media — video/audio handoff to the local service.
- Feed — detect native RSS/Atom, create semantic job feeds, preview/read results, export RSS for Newsboat.
- Pick — visually select a one-off page element.
- Automate — record/replay workflows and bulk-run matching visible controls with confirmation, delay and caps.
The extensions remain individual Chromium toolbar icons. Chromium owns the toolbar pin state; Richmack seeds pinned_by_default on a fresh profile and Chromium remembers your layout afterward.
The installer automatically detects:
- macOS — installs a real
Richmack Browser.appto~/Applicationsand places a Richmack Browser icon on the Desktop. - Ubuntu / Debian Linux — installs a desktop launcher to
~/.local/share/applicationsand, when a Desktop folder exists, places a launch icon there too.
The package copies itself to a persistent install directory, so you can delete the extracted ZIP folder after installation.
cd ~/Downloads
unzip richmack-browser-v0.6.1.zip
cd richmack-browser-v0.6.1
./install.shIf Chromium is missing and Homebrew is available, the installer installs Chromium for you. macOS may require you to approve Chromium the first time it is opened.
Installed locations:
~/Applications/Richmack Browser.app
~/Desktop/Richmack Browser.app
~/Library/Application Support/Richmack Browser
~/.richmack/browser-profile-v054
cd ~/Downloads
unzip richmack-browser-v0.6.1.zip
cd richmack-browser-v0.6.1
./install.shIf Chromium is missing and Snap is available, the installer runs sudo snap install chromium.
Installed locations:
~/.local/share/richmack-browser
~/.local/share/applications/richmack-browser.desktop
~/Desktop/Richmack Browser.desktop # when ~/Desktop exists
~/.richmack/browser-profile-v054
The desktop application uses the Richmack blue wolf icon in assets/. macOS receives an .icns application icon; Linux receives PNG icons and a .desktop launcher.
You do not have to distribute the whole browser package. richmack-extension-suite-v0.6.1.zip contains only the eight Richmack Chromium extensions.
This is useful for someone who wants Richmack tools in an existing Chromium profile without the desktop application or Docker backend.
For development/unpacked installation:
- Extract
richmack-extension-suite-v0.6.1.zip. - Open
chrome://extensionsin Chromium. - Enable Developer mode.
- Choose Load unpacked for whichever extension folders you want.
Because Richmack uses separate extensions to provide separate native toolbar icons, each tool is its own folder. The extension-only bundle does not silently modify a user's normal Chromium profile.
The Richmack launcher always starts Chromium with dark UI flags and keeps all Richmack pages/popups dark:
--force-dark-mode
--enable-features=WebUIDarkMode
Toggle from Core or Command+Shift+Space on macOS.
j / k scroll
h / l back / forward
gg / G top / bottom
f link/button hints
J / K previous / next tab
d close tab
u reopen tab
: Richmack command bar
Two automation styles are available:
- Recorder/replayer — press Record, perform a workflow once, Stop, name it and save it. Replay later.
- Bulk sequence — find every visible control whose accessible label matches a phrase such as
Follow, preview the matches, set a cap/delay, and run the selected action sequentially.
Bulk runs re-query the live DOM after each click. Exact matching is enabled by default so Follow does not match Following. Runs are capped and confirmed, and Richmack does not bypass CAPTCHAs or site rate limits.
Passwords are never recorded. Replay stops at secret fields and flagged final/consequential actions.
Feed first uses a site's native RSS/Atom when available. When a native feed does not exist, Richmack can generate a local RSS 2.0 feed. Known job pages receive semantic cleanup so salary, FAQ and navigation links are excluded.
Generated URLs look like:
http://127.0.0.1:8765/feeds/richmack-xxxxxxxxxxxxxxxx.xml
Newsboat running on the same machine can subscribe directly by adding a line to ~/.newsboat/urls:
http://127.0.0.1:8765/feeds/richmack-xxxxxxxxxxxxxxxx.xml "richmack"
The browser itself is not containerized. The optional backend is. When Docker is installed, install.sh starts the service on localhost only:
127.0.0.1:8765
It supports generated RSS and media/document backend tasks while keeping the desktop browser native.
- Backend binds only to
127.0.0.1. - No webpage gets shell access.
- No Docker socket is mounted into the service container.
- Site automation permissions are user-directed.
- Password values are never stored.
- Final/consequential workflow steps require manual control.
- Downloads are sandboxed to
~/Downloads/Richmack. - No recursive site crawling by default.
See docs/SECURITY.md for additional details.
From the extracted package or installed source:
./uninstall.shUninstall intentionally leaves the Richmack profile at ~/.richmack/browser-profile-v054 so logins/bookmarks are not destroyed. Remove that directory manually only if you want a complete profile reset.
A v0.6.1 release can publish both:
richmack-browser-v0.6.1.zip full macOS/Ubuntu installer
richmack-extension-suite-v0.6.1.zip extensions only
This lets users choose between the full Richmack Browser experience and the standalone Richmack toolbar toolkit.
Richmack Browser includes GitHub Actions for continuous testing and releases.
On every push and pull request to main, CI validates all eight Manifest V3 extensions, checks JavaScript and shell syntax, runs backend regression tests, creates release packages as a dry run, builds the Richmack Services container, starts it with a hardened configuration, and verifies /health.
Release automation is tag-driven. After the repository version has been bumped and committed, pushing a tag such as v0.6.1 runs the test suite, publishes richmack-browser-services to GHCR with both versioned and latest tags, creates the full-browser and extensions-only ZIP files, generates SHA-256 checksums, and creates the GitHub Release automatically.
# Normal CI
git push origin main
# Release only after CI is green
git tag v0.6.1
git push origin v0.6.1Do not manually create the GitHub Release before pushing the release tag when using this workflow.