yam-allowlist-manager

YAM Banner

YAM Allowlist Manager

Automatically blocks all pages from any website that is not in your list of allowed websites.

Options screenshot Block page screenshot

Description

Do you have small children, and need to limit the pages they visit to a few known safe websites? Or maybe you just want to concentrate and eliminate all distractions? Then YAM is for you!

Create your own allowlist of safe websites, and YAM will automatically block all pages from any other website that is not in that list.

When installing YAM Allowlist Manager, your browser will warn you that YAM can access your data on all sites, and your browsing history. These permissions are required to block pages when you are browsing. No information is stored on your computer and no personal data is obtained from this extension. See the Privacy Policy.

Installation

Go to the YAM page on the Chrome Web Store and hit the Add to Chrome button.

Usage

In Chrome, the allowlist will synchronize across multiple devices. If you are logged into Chrome with your child’s account, you can add or modify entries in the allowlist and they will synchronize in near real-time. This might work on other browsers as well, but I have not tested them.

When adding a website to your allowlist, consider the following:

Development

To build this extension locally:

  1. Clone this repo
  2. Have npm and node installed. Use nvm or install the version of node given in .nvmrc. You can run node -v to check your current node version.
  3. Run npm ci to install the required node modules.
  4. Use npm run watch to build a dev package in the dist/chrome directory.
  5. Go to Manage Extensions in Chrome, turn on Developer mode, and click Load unpacked to load the dev extension. Point it at the dist/chrome directory.
    • Webpack will rebuild the extension on most file changes. To see your changes, first try reloading the page, then try reloading the extension. In some cases, such as changes to the Webpack configuration, you will need to restart npm run watch before reloading the extension.
  6. When you are satisfied with your changes, stop the watch process. Run npm run test to run the tests.
  7. Use npm run build to build a minified version of the extension. The unpacked extension will still be dist/chrome so you can reload it and make sure it works. The packaged extension will be in the zip directory.

History

This project originally forked from whitelist-manager. I created this fork due to privacy concerns after the original extension was sold to a third party.

License

Original work Copyright (c) 2016 Daniel Perez Alvarez (unindented.org).

Modified work Copyright (c) 2020 Saranga Komanduri

This is free software, and may be redistributed under the terms specified in the LICENSE file.