A WebExtension for Firefox and Chrome.
Say "nay!" to URLs in your blacklist. Disable links to matching URLs, and remember why you did so.
Use this as a way to avoid clicking on links to websites you hate because of their use of dark patterns, GDPR pop-ups that are purposefully hard to complete, disregard for user privacy or any other kind of abuse.
The currently implemented functionality is basic:
- Adding a rule and a reason why it's been added.
- Prepending an angry emoji 😤 to the text content of matching links.
- Intercepting clicks on those links with a prompt for confirmation that displays the reason for the blockage.
- Showing how many links have been blocked in a tab.
- Blocking links incrementally if they are added to the DOM after the initial page load.
Build and development scripts:
Script | Description |
---|---|
build |
Makes a production build. |
build:extension |
Builds a ZIP in ./artifacts file using web-ext. |
build:release |
Runs build , build:extension and zip sequentially. |
start:watch |
Makes a development build and watches for changes. |
start:firefox |
Opens Firefox with the extension and reloads on change using web-ext. |
start |
Runs start:watch and start:firefox in parallel. |
format |
Runs Prettier in write mode. |
lint:autofix |
Runs eslint in autofix mode. |
zip |
Builds a ZIP file in ./artifacts of the source for code review submissions. |
The first time you run yarn start
, web-ext
will throw an exception because there's no build directory. Run yarn build
first to fix this.
Testing the extension:
Script | Description |
---|---|
lint |
Runs eslint. |
lint:extension |
Lints using web-ext. |
test |
Runs the Jest unit test suite. |
test:format |
Runs Prettier in check mode. |
typecheck |
Compiles the project without emitting files. |