A browser extension that encrypts your communications with many websites that offer HTTPS but still allow unencrypted connections.
Python JavaScript Shell HTML CSS
Switch branches/tags
trac-5275-1 testtag deterministic-0.1 chrome-2017.7.18 chrome-2017.7.5 chrome-2017.6.20 chrome-2017.6.5 chrome-2017.5.22 chrome-2017.5.8 chrome-2017.4.19 chrome-2017.4.5 chrome-2017.3.17 chrome-2017.3.9 chrome-2017.2.13 chrome-2017.1.25 chrome-2016.12.19 chrome-2016.11.30 chrome-2016.11.8 chrome-2016.10.20 chrome-2016.9.21 chrome-2016.9.1 chrome-2016.8.24 chrome-2016.7.19 chrome-2016.7.18 chrome-2016.6.9 chrome-2016.5.10 chrome-2016.4.4 chrome-2016.3.23 chrome-2016.2.23 chrome-2016.2.18 chrome-2015.12.16 chrome-2015.8.13 chrome-2015.7.17 chrome-2015.7.13 chrome-2015.5.28 chrome-2015.5.12 chrome-2015.4.23 chrome-2015.4.7 chrome-2015.3.31 chrome-2015.3.23 chrome-2015.1.22 chrome-2014.11.25 chrome-2014.8.22 chrome-2014.6.26 chrome-2014.6.25 chrome-2014.4.25 chrome-2014.4.16 chrome-2014.4.15 chrome-2014.4.14.1 chrome-2014.4.14 chrome-2014.1.3 chrome-2013.10.16 chrome-2013.8.17 chrome-2013.8.16 chrome-2013.7.10 chrome-2013.6.4 chrome-2013.4.30 chrome-2013.3.7 chrome-2013.1.18 chrome-2012.12.17 chrome-2012.10.31 chrome-2012.10.18 chrome-2012.10.9 chrome-2012.9.21 chrome-2012.9.10 chrome-2012.8.16 chrome-2012.8.15 chrome-2012.6.21 chrome-2012.6.18 chrome-2012.5.1 chrome-2012.3.14 chrome-2012.3.9 chrome-2012.2.27 chrome-2012.2.9 chrome-2012.2.6.1 chrome-2012.2.6 chrome-2012.1.26 chrome- chrome- chrome- chrome- chrome- chrome- 2018.4.11 2018.4.3 2018.3.13 2018.2.26 2018.1.29 2018.1.11 2017.12.6 2017.11.21 2017.10.30 2017.10.24 2017.10.4 2017.9.12 2017.8.31 2017.8.19 2017.8.17 2017.8.15 2012.8.15
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.github Cleaning up ISSUE_TEMPLATE.md comments to look better in GitHub issue… Sep 28, 2017
chromium Add "Reset to Defaults" Option in Popup UI, Fix #10004 (#15411) May 24, 2018
docs Restore a missing line break (#14786) Apr 11, 2018
hooks Remove references to trivial-validate.py, replace with new script loc… Feb 26, 2018
src Add "Reset to Defaults" Option in Popup UI, Fix #10004 (#15411) May 24, 2018
test Increase selenium query_selector timeout May 11, 2018
translations @ 356f81e Update translations. Apr 11, 2018
utils Bump bot deps (#15447) May 17, 2018
.build_exclusions Support the exclusion of entire paths when creating package files. Re… Jan 26, 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 Pin to node 9, fixing deprecation of old openssl versions in node 10 (#… Apr 26, 2018
CONTRIBUTING.md Improve CONTRIBUTING.md (#13757) Mar 9, 2018
Dockerfile Change references of pip to pip3 (#14737) Feb 23, 2018
LICENSE.txt Support python 3.6 in zipfile_deterministic.py and create_zip.py (#14515 Feb 8, 2018
README.md Cleaning up test execution & naming conventions (#14570) Feb 9, 2018
dummy-chromium.pem Make chrome extension development key persistent. Oct 6, 2017
install-dev-dependencies.sh install-dev-dependencies.sh: Fix default y/N prompt indication (#15279) May 15, 2018
make.sh Use SHA256 in make.sh (#15206) May 18, 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


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.