A browser extension that encrypts your communications with many websites that offer HTTPS but still allow unencrypted connections.
Switch branches/tags
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add issues buttons, closes #15961 (#16826) Oct 25, 2018
chromium extension.getURL is deprecated, use runtime.getURL instead (#17135) Dec 10, 2018
docs Adding information on ruleset signature file. Sep 5, 2018
hooks Remove references to trivial-validate.py, replace with new script loc… Feb 26, 2018
src Create videoincloud.com.xml (#16289) Dec 9, 2018
test Forbid HTTPS rewrites in relaxng (#17088) Nov 26, 2018
translations @ 562e0c4 Update Translations Oct 31, 2018
utils Whitelist UST.hk.xml from fetch-test Dec 2, 2018
.build_exclusions Updating the make script to reflect changes in the CRX signing process Sep 19, 2018
.dockerignore Dockerizing travis tests May 24, 2016
.editorconfig Automatically remove trailing whitespaces (#14519) Feb 7, 2018
.gitignore Move .gitignore to utils/create-platform-certs Feb 28, 2018
.gitmodules Firefox: Removing SDK extension tests and generalizing selenium tests… Aug 9, 2017
.travis.yml Use latest stable node in travis (#17071) Nov 26, 2018
CONTRIBUTING.md Improve CONTRIBUTING.md (#13757) Mar 9, 2018
Dockerfile Change references of pip to pip3 (#14737) Feb 23, 2018
LICENSE.txt Update LICENSE.txt date Jun 18, 2018
README.md Cleaning up test execution & naming conventions (#14570) Feb 9, 2018
dummy-chromium.pem Updating the make script to reflect changes in the CRX signing process Sep 19, 2018
install-dev-dependencies.sh Add distro fallback on install-dev-dependencies.sh (#16776) Oct 29, 2018
make.sh Fix --remove-extension-update (#16665) Oct 3, 2018
requirements.txt Thin out the requirements. Don't duplicate those from test/rules/requ… Feb 16, 2018
rules Add a top-level 'rules' symlink. Feb 2, 2015
ruleset-testing.md Cleaning up test execution & naming conventions (#14570) Feb 9, 2018
test.sh Cleaning up test execution & naming conventions (#14570) Feb 9, 2018

README.md

HTTPS Everywhere Build Status Coverage Status

Getting Started

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

bash install-dev-dependencies.sh

Run the ruleset validations and browser 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-browser.sh path_to_tor_browser.tar.xz

Build the Firefox (.xpi) & Chromium (.crx) extensions:

bash make.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

chromium/                 WebExtension source code (for Firefox & Chromium/chrome)
chromium/external         External dependencies
chromium/test             Unit tests

rules/                    Symbolic link to src/chrome/content/rules

src/chrome/content/rules  Ruleset files live here

test/                     Travis unit test source code live here

utils/                    Various utilities (includes some Travis test source)

Hacking on the Source Code

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