A browser extension to filter profanity from webpages.
For an overview of features and options, please head to the wiki.
Browser | Download |
---|---|
Chrome | Chrome Web Store |
Firefox | Firefox Add-ons |
Edge | Microsoft Edge Addons |
Safari | App Store |
Opera | Opera addons |
Android | Kiwi or Firefox |
Other | Bookmarklet Info |
TV Cast | Instructions - Discussion |
- Filter modes
- Censor - Hide offending words
- Substitute - Replace offensive words
- Remove - Remove offensive words
- Customizable word and substitution lists
- Works everywhere, including popular pages such as:
- Audio muting for videos on supported sites:
- Amazon Video
- Hulu
- Netflix
- Plex
- Vudu
- YouTube
- And more! see all supported sites here
- You can even add your own! (advanced)
For a detailed overview of the features and settings, please see the Getting Started page.
- Found a bug? Please open an issue.
- Have a great idea to improve the project? Want to share some feedback? Head over here.
If you would like to help with development, but don't have experience coding, its very helpful to have users test a release candidate before actually publishing it to everyone. If you are interested in testing new versions see this page for more information.
After downloading/cloning the repository, run the following commands to get started:
# Install dependencies
npm install
# Build the extension for the default target browser for local development
# See table below for supported targets
npm run build
Once the extension has been built, you can load the unpacked extension (found in dist/
) in your browser.
Stage | Output | Description |
---|---|---|
build | dist/ |
Build/compile the extension for local development |
package | extension-target.zip |
Package the files for the target browser |
release | extension-target.zip |
Create an official release for a target browser |
Target | Browser |
---|---|
v3 | Chrome, Edge, etc. |
v2* | Chrome, Edge, etc. |
firefox | Firefox |
safari | Safari (MacOS/iOS) |
* = default target
For all scripts, please see package.json
.
Target | Stage | Script | Description |
---|---|---|---|
v3 | build | npm run build:v3 |
Development build for Manifest V3 |
v2 | build | npm run build:v2 |
Development build for Manifest V2 |
firefox | build | npm run build:firefox |
Development build for Firefox |
safari | build | npm run build:safari |
Development build for Safari |
safari | release | npm run package:safari |
Official release for safari |
release | npm run release:all |
Official relase for all targets |
The state files hold the details about the current build. These files are managed by bin/prebuild.mjs
.
.build.json
- Active build state file that is referenced when building/packaging/releasing
- Gets replaced by the dev or release build files outlined below
.build.dev.json
- Holds the development build details and allows the developer to omit the target from commands such as
npm run build
to rebuild the project for the target specified in the file - Overwrites
.build.json
when--release
is not passed tobin/prebuild.mjs
- Holds the development build details and allows the developer to omit the target from commands such as
.build.release.json
- Holds the release build details
- Overwrites
.build.json
when--release
is passed tobin/prebuild.mjs
config
: Overrides for the targetmanifestVersion
: Manifest version fromsrc/static/manifest.json
target
: Target browserversion
: Build version frompackage.json