Skip to content
our browser extension, that works like adBlocker but removes online misogyny instead of adverts
JavaScript HTML CSS Shell
Branch: master
Clone or download
malteserteresa Merge pull request #75 from opt-out-tools/ribicn-softerrific-update_t…

Taking out selenium tests so we can merge the rest of the PR
Latest commit 60908ee Dec 9, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
extension Taking out selenium tests so we can merge the rest of the PR Dec 7, 2019
scripts add script to copy pre-commit hook and adjust readme Oct 23, 2019
.gitignore Fixes for broken functionality Nov 1, 2019 Update Apr 30, 2019
LICENSE Update License to AGPL Jul 22, 2019 add script to copy pre-commit hook and adjust readme Oct 23, 2019 Update Oct 13, 2019
package-lock.json Merge pull request #75 from opt-out-tools/ribicn-softerrific-update_t… Dec 9, 2019
package.json Updated setup of tests, minor updates to code, added text_white optio… Nov 21, 2019

Opt Out

CircleCI forthebadge forthebadge

Contributor Covenant

Opt Out is a browser extension for Firefox that filters online misogyny from an individual’s twitter feed.

The General Data Protection Regulation (GDPR) has changed our lives online on social media platforms. We have the right to be forgotten, to see what is being collected about us and to opt-out if we wish. The current abuse that those who identify as women suffer is not avoidable. We see Opt Out as an extension of the GDPR that also protects the human rights of women and those with intersecting identities online. While steps have been made to protect these people online, not enough has been done. This is a global tragedy affecting the well-being, economical potential and political representation of these people. Let's Opt Out.

To learn more about this problem and explore the steps Opt Out is taking to combat it, see the Opt Out Wiki.

The project is still in its infancy. Please see 'Project Development' below for the current status.

Test / Deploy

To test the current prototype:

  1. Clone a local copy of the master branch of this repo
  2. Start Mozilla Firefox
  3. Set the url to about:debugging#/runtime/this-firefox and hit enter
  4. In the Load Teporary Add-ons box, open and load manifest.json which can be found in the extensions folder of this repo you cloned locally
  5. Open Twitter and test!
  6. If you make changes to the code you would like to test, make sure you click "reload" (left of the "remove" button) to apply new changes to script

Project Development

Opt Out is an open source project under active development. Currently, machine learning models are being evaluated for their ability to classify sexual harassment text. If you would like to test the current model (trained on troll data), please see the 'Installation Instructions' below. If you would like to contribute to the project, please see Contributing first, and then check out the find-out and try-out repos.

Continuous Integration

This project is set up to use Circle CI as the CI tool. Every Pull request (from branches or forks) and every version of the master will automatically start a new build on circle ci. This will run the following checks:

  • eslint to ensure coding style guidelines are followed
  • tests TBD

A pull request can only be merged if all checks are successful. To avoid any last minute failures, we recommend to use eslint locally before making your commit:

npm run lint

This will run eslint on all js files and try to fix all problems it finds. What can't be fixed automatically will be raised as error.

Adding a local pre-commit hook

In case you want to be 100% sure that the linter is always running before you commit you can add this as a git hook. This means it will run the linter before every commit you try to make:

The easy way:

If you do not have a pre-commit hook defined yet, there is a script that will copy the file for you. Run this command and it will create the pre-commit from a template for you:

npm run git:initHook

If you already have a pre-commit hook defined but don't care about overwriting it, you can use the same command with the -f flag. This will copy the template even if the file exists already.

npm run git:initHook -f

The slightly harder way

  1. Open the file .git/hooks/pre-commit
  2. If the file does not exist, create it.
  3. Add the following to the file and save it:
npm run lint
[ $RESULT -ne 0 ] && exit 1
exit 0


If you would like to fund the project or make a donation, please email Opt Out.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

You can’t perform that action at this time.