External extension updater for Chromium based browsers.
This tool was created due to missing update mechanisms for extensions in privacy-focused variants of Chromium.
Chromium extensions can be installed inline via the Chrome Web Store or deployed automatically from an external location. An external extension is set up by referencing its local path and version in a location hard-coded in the browser.
Linux and macOS versions of Chromium both support loading extensions from the External Extensions directory in the Chromium user data folder. The windows version on the other hand supports loading extensions referenced by a static registry key. While the first case supports different sets of extensions for each Chromium user data folder, the second does not and only allows a single set for an OS user.
chromexup uses configuration files to keep different sets of extensions updated and remove orphaned ones, if necessary.
Extensions can be updated automatically by using the various automation scripts.
To avoid different kinds of issues, extensions should be installed and removed by using this tool only.
The extension was blacklisted by the browser. To remove it from the blacklist, it needs to be installed by dropping the .crx file in the chrome://extensions
page (make sure that Developer Mode is enabled) and uninstalled again.
PATH
.python3 setup.py install --optimize=1
.<APP_DATA>/chromexup/config.ini
using the template and edit it to your liking. Depending on the OS, the path for <APP_DATA>
is as follows:
~/.config
~/Library/Application\ Support
%AppData%
chromexup
to verify the tool is working as intended.Automation scripts for different operating systems are located in the scripts directory.
chromexup.service
and one of the timers chromexup-{daily,weekly}.timer
to ~/.config/systemd/user
.systemctl --user enable <TIMER>
.local.chromexup.{daily,weekly}.plist
to ~/Library/LaunchAgents
.chromexup-{daily,weekly}.bat
to create a new update task.