Firefox Lightbeam
This is the web extension version of the Firefox Lightbeam add-on for visualizing HTTP requests between websites in real time.
The Firefox Lightbeam extension by Mozilla is a key tool for Mozilla to educate the public about privacy.
Quick Start
Clone the repository
Note This repository uses a submodule to allow some third party requests. To ensure the submodule is cloned along with this repository, use a modified clone
command:
git clone --recursive https://github.com/mozilla/lightbeam-we.git
Run the web extension
There are a couple ways to try out this web extension:
-
Open Firefox and load
about:debugging
in the URL bar.- Click the Load Temporary Add-on button and select the
manifest.json
file within the directory of this repository. - You should now see the Lightbeam icon on the top right bar of the browser.
- Click the Lightbeam icon to launch the web extension.
- Click the Load Temporary Add-on button and select the
-
Install the web-ext tool, change into the directory of this repository, and type
web-ext run
.- This will launch Firefox and install the extension automatically.
- This tool gives you some additional development features such as automatic reloading.
Development Guide
Download dependencies
Run npm run build
.
Update the submodule
To manually update the submodule at any time during development, run git submodule update
.
Testing
Run npm run test
to check that everything is OK.
- If you have installed
eslint
globally, you will have to install globally the followingeslint
plugins too:eslint-plugin-json
eslint-plugin-mocha
- Test suites include lint and unit testing. You can individually run lint or unit tests using the following commands:
npm run lint:eslint
npm run test:karma
Eslint is used for linting. Karma, Mocha & Chai are used for unit testing. Additionally the test suites are run on the Travis service providing continuous integration support.