/https-everywhere

The official Github mirror of the HTTPS Everywhere repository at https://gitweb.torproject.org/https-everywhere.git. You can send pull requests here.

Primary LanguageJavaScriptOtherNOASSERTION

HTTPS Everywhere Build Status

Getting Started

Get the packages you need and install a git hook to run tests before push:

bash install-dev-dependencies.sh

Run all the tests:

bash test.sh

Run the latest code and rulesets in a standalone Firefox profile:

bash test/firefox.sh --justrun

Run the latest code and rulesets in a standalone profile for a specific version of Firefox:

FIREFOX=/path/to/firefox bash test/firefox.sh --justrun

Run the latest code and rulesets in a standalone Chromium profile:

bash test/chromium.sh --justrun

Run the latest code and rulesets in a standalone Tor Browser profile:

bash test/tor path_to_tor_browser.tar.xz

Build the Firefox extension as a .xpi package:

bash makexpi.sh

Build the Chromium extension as a .crx package:

bash makecrx.sh

Both of the build commands store their output under pkg/.

Precommit Testing

One can run the available test suites automatically by enabling the precommit hook provided with:

ln -s ../../hooks/precommit .git/hooks/pre-commit

Source Tree

This is the source tree for HTTPS Everywhere for Firefox and Chrome.

Important directories you might want to know about

src/                      The Firefox source

chromium/                 The Chromium/Chrome source
                          (not to be confused with Firefox browser "chrome" or UI)

src/components            |
src/chrome/content        | Firefox JavaScript and XUL code
src/chrome/content/code   |

src/chrome/content/rules  The rulesets live here

test/                     The tests live here

util/                     Various utilities

Hacking on the Source Code

Please refer to our contributing document to contribute to the project.