Skip to main content

An extension manager to replace Google's WebStore

Project description

Well, “manager” might be stretching it a bit. The idea is not having to manually look up and install updates when using a Chromium-like browser that doesn’t use the WebStore plugin to handle these things. This is done by employing this method which uses JSON preference files to point to local extension packages.

Installation

pip install maninex

Python 3.3 or higher required. Older Python 3 versions may work as well, but Python 2 won’t.

Usage

usage: maninex [option]

options:
  -h, --help        show this help message and exit
  -c, --clean       clean up (i.e. remove) backed up extension files
  -i, --install     install all extensions that aren't already installed
  -l, --list        list all extensions and their current status
  -p, --print-skel  print the contents of a skeleton config file to stdout
  -r, --remove      remove all extensions that are installed but not in the
                    config file
  -s, --scan        scan for installed extensions not in the config file and
                    add them to the config file
  -u, --update      update all extensions

set up paths and extensions in maninex.conf

Maninex depends on a configuration file named “maninex.conf” for which it will look in three places: First in $XDG_CONFIG_HOME, then in $HOME/.config and finally in the same directory that the script is in. maninex --print-skel prints out a base config file with some basic instructions. Therefore, to get started you can run maninex --print-skel > ~/.config/maninex.conf.

Edit maninex.conf and add extensions by their ids under the [extension] header. You can use the scan option to add extensions you manually installed before (see below). To find out an extension’s id, search for the it on the Chrome WebStore. The final part of the extension page’s URL is the id. For example, this is the url of uBlock Origin and its id is therefore “cjpalhdlnbpafiamejdnhcphjbkeiagm”. Every extension id should occupy one line under the [extension] header. Optionally you can prepend an identifier for the extension like this: uBlock Origin = cjpalhdlnbpafiamejdnhcphjbkeiagm

This is recommended as it will make messages more descriptive, for example Extension "cjpalhdlnb…" installed. will become Extension "uBlock Origin" installed.

Run maninex -i to install all the extensions in the config file. Run maninex -u to look up and download updates.

Other functionality

–clean

This will remove old extension files that were backed up during previous updates.

–list

List all extensions in the config file and whether or not they are installed already.

–scan

Scan the extension directory and add all extensions to the config file that aren’t included already.

–remove

The opposite of scan. Remove all extensions that aren’t included in the config file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

maninex-0.3.tar.gz (7.1 kB view hashes)

Uploaded Source

Built Distribution

maninex-0.3-py3-none-any.whl (9.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page