Opt Out is a browser extension for Firefox that hides 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.
Please see the theory repository, to see our research about this problem.
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. 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.
npm run start:firefox
Check out these debugging tips at the Mozilla Extension Workshop.
The module hot-refreshes the browser when there is a change in the source code. To force an update in the browser, press r
in the terminal where web-ext is running.
about:debugging
This will keep the popup open unless you press Esc
, which makes it possible to debug the HTML of the Popup as if it were a static website.
To persist your twitter login data after stopping the process, follow these instructions:
about:profiles
)firefox --new-instance -p your_profile_name
npm run start:firefox -- -p=your_profile_name
Important Make sure that you do not choose a 'default' profile, such as the profile you use for your personal browsing. Here's why
This option makes the profile specified by --firefox-profile completely insecure for daily use. It turns off auto-updates and allows silent remote connections, among other things. Specifically, it will make destructive changes to the profile that are required for web-ext to operate.
Please:
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:
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
.git/hooks/pre-commit
npm run lint
RESULT=$?
[ $RESULT -ne 0 ] && exit 1
exit 0
To build for production, simply run npm run build:prod
.
The project will be bundled by webpack in production mode, and web-ext
will build that project in to a zip file, which can be uploaded to the Mozilla Add Ons site.
Decide on a tag i.e v0.3
Update manifest.json
with the tag version
Create a tag
git tag -a tag-you-picked -m 'a message'
Push the tag to github and checkout the tag
git push origin tag-you-picked
[1]
git checkout tag-you-pick
[1]: See more on pushing tags here
Note that we need write permissions to the repo to push a tag
Create a prod build See Building for production
Create a release Follow Github's creating a release docs to create a release:
prod
zip already created to the releasepre-release
We follow Mozilla's Submitting an Addon to submit the extension.
Manage the Status and Versions
link and click on it (click More
and it should be in the drop down list) Upload New Version
button and select the build you want to upload, it will then be validatedmaster
is the main dev branchrelease-0.3
master
as wellv0.3