Code Monkey home page Code Monkey logo

blok's Introduction

Tracking Protection: Test Pilot Experiment

AKA Blok

Build Status Coverage Status Available on Test Pilot

Web Extension re-implementation of Tracking Protection for Firefox.

We will run this add-on thru Test Pilot experimentation to:

  • Measure web content breakage
  • Collect user feedback

When we have breakage data and user feedback, we will change the tracking protection implementation, so users get better web experience with tracking protection.

Requirements

  • Firefox 48+

Run it

  1. Download the latest .xpi
  2. In Firefox, "Open File" and select the .xpi

When the add-on blocks tracker requests, you will see a Tracking Protection pageAction icon:

pageAction Screenshot

When you click the icon, you will see a pop-up, so you can report broken/working pages, or toggle Tracking Protection on or off:

Pop-up Screenshot

Development

  1. Clone this repo locally
  2. cd blok
  3. npm install
  4. npm run bundle

Running the Code

This add-on depends on web-ext. Using web-ext, start a version of Firefox running the add-on like so:

./node_modules/.bin/web-ext run --source-dir=src --firefox-binary {path to Firefox 49+ binary}

Development Environment

Add-on development is better with a particular environment. One simple way to get that environment set up is to install the DevPrefs add-on. You can make a custom Firefox profile that includes the DevPrefs add-on, and use that profile when you run the code in this repository.

profileEditor Screenshot

  1. Make a new profile by running {path to Firefox binary} -no-remote -P {new_profile_name}, which launches the profile editor. "Create Profile" -- name it whatever you wish (e.g. 'blok_dev') and store it in the default location. It's probably best to deselect the option to "Use without asking," since you probably don't want to use this as your default profile.

  2. Once you've created your profile, click "Start Firefox". A new instance of Firefox should launch. Go to Tools->Add-ons and search for "DevPrefs". Install it. Quit Firefox.

  3. Now you have a new, vanilla Firefox profile with the DevPrefs add-on installed. You can use your new profile with the code in this repository like so:

./node_modules/.bin/web-ext run --source-dir=src --firefox-binary {path to Firefox 49+ binary} --firefox-profile {new_profile_name}

Check out the Browser Toolbox for more information about debugging add-on code.

Testing

Requires node 6+

npm test

Distributing

To distribute, you will need AMO access credentials. See the web-ext docs.

  1. Use web-ext sign

FAQ, Footnotes, Appendices, etc.

How does this compare with ublock, privacy badger, ghostery, etc.

The primary goal of this add-on experiment is to create a feedback loop for tracking protection users to provide data on problems & breakage, so we (Mozilla) can learn how to improve tracking protection technologies in ways that maximize user privacy AND minimize web breakage.

The other privacy add-ons are great tools as well. The focus on reporting website problems & breakages is the key difference here. In fact, we deferred a number of other features in favor of simplicity and to make the feedback mechanism the primary focus of the add-on.

Read more on the discourse forum.

How do I run the add-on without web-ext

  1. Go to about:config and set xpinstall.signatures.required to false
  2. Go to about:debugging
  3. Click "Load Temporary Add-on"
  4. Select this repo's src/manifest.json file

blok's People

Contributors

chuckharmston avatar clouserw avatar groovecoder avatar hoosteeno avatar johngruen avatar pdehaan avatar rbillings avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.