Collaborative tool to support investigation of personalization algorithms.
Clone or download

Install web-extion in your browser

Stable version: 1.1.12, Firefox & Chrome. You should read our Privacy Statement or look the latest explanatory video

Build Status


This is the source code for the tracking-exposed extension. We use ECMAScript 2015, aka ES6, aka ECMAScript Harmony. The aim is to keep the code modular, easy to test, and beautiful.

Getting Started

Setting up the dev environment is super easy.


This project requires Node 5+. Install nvm for easy version maintaining. Alternatively install Nodejs from a package, but make sure it's the right version and install npm as well for package management.

Set up your build system

The build system uses a simple package.json file to describe the tasks, you can check it out to find out the packages that we rely on to make this extension available or for troubleshooting.

To get started run:

npm install
npm test
npm start

The second line (npm test) is optional, but testing is cool and you should do it anyway. It's also a nice way to check if the installation succeeded. If npm test fails, don't worry and try npm start nonetheless, it might be due to facebook frequent html structure changes or nodejs extensions incompatibility, please report it back to us if this is the case.

npm start will build the application using webpack and watch for changes.

Keep npm start running in the background to take advantage of the autoreload.

Set up your browser (for Chromium / Google Chrome)

To install the extension go to settings, select extensions, and enable Developer mode. Click on Load unpacked extension and select the extension/build directory contained in this repo.

Set up your browser (for Firefox)

As standard practice, firefox doesn't allow unpacked extension to be loaded. However, it does allow developers to test unpacked extensions temporarily. To accomplish this just visit [about:debugging], click Load Temporary Add-on and select extension/build directory contained in this repo.

Note on autoreloading the extension

By running npm start, the extension will work in DEVELOPMENT mode. This means that every time you reload, the extension will automatically reload itself using the chrome.runtime.reload() method.

Note that before we were using Extension Reloader to autoreload your extension every time a build succeeds. This dependency is no longer needed.

Ready to go!

Visit Facebook and open the dev tools. You should see some logging messages.

Extend fixtures

  • You've to install the package tidy the last version in ubuntu is not working (we'll update the comment when fixed), use
  • Copy the userContentWrapper Element
  • save in file.html
tidy -i -m -w 0 -utf8 file.html


@sohkai for the amazing js-reactor boilerplate.