richardfrost / AdvancedProfanityFilter

A browser extension to filter profanity from webpages

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Advanced Profanity Filter

Chrome Web Store Chrome Web Store Discord paypal Patreon

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:
    • Facebook
    • Pinterest
    • Reddit
    • Twitter
  • Audio muting for videos on supported sites:

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 to bin/prebuild.mjs
  • .build.release.json
    • Holds the release build details
    • Overwrites .build.json when --release is passed to bin/prebuild.mjs

Details contained in state files:

  • config: Overrides for the target
  • manifestVersion: Manifest version from src/static/manifest.json
  • target: Target browser
  • version: Build version from package.json

About

A browser extension to filter profanity from webpages

License:GNU General Public License v3.0


Languages

Language:TypeScript 57.0%Language:JavaScript 29.0%Language:HTML 11.1%Language:CSS 2.0%Language:Swift 0.8%