AdvancedProfanityFilter
AdvancedProfanityFilter copied to clipboard
A browser extension to filter profanity from webpages
Advanced Profanity Filter
A browser extension to filter profanity from webpages.
For an overview of features and options, please head to the wiki.
Installation
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 |
Features
- 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! You can even add your own! (advanced)
For a detailed overview of the features and settings, please see the Getting Started page.
Issues, Suggestions or Feedback?
- Found a bug? Please open an issue.
- Have a great idea to improve the project? Want to share some feedback? Head over here.
Beta Testing
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.
Development
Quick Start
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.
Stages
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 |
Targets
Target | Browser |
---|---|
v3 | Chrome, Edge, etc. |
v2* | Chrome, Edge, etc. |
firefox | Firefox |
safari | Safari (MacOS/iOS) |
* = default target
Scripts
For all scripts, please see package.json
.
Commonly used scripts
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 |
State files
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
Details contained in state files:
-
config
: Overrides for the target -
manifestVersion
: Manifest version fromsrc/static/manifest.json
-
target
: Target browser -
version
: Build version frompackage.json