You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Once you have Homebrew and Xcode installed, run this to install HTTPS Everywhere dependencies.
16
35
17
-
brew install python libxml2 gnu-sed
36
+
brew install python libxml2 gnu-sed
18
37
19
-
Homebrew puts python in /usr/local/bin, but the python that comes with OS X is in /usr/bin. In order to use homebrew's version of python and pip you must change the order of your path so that /usr/local/bin comes before /usr/bin. This command will force your path to start with /usr/local/bin:
38
+
Homebrew puts python in /usr/local/bin, but the python that comes with OS X is in /usr/bin. In order to use homebrew's version of python and pip you must change the order of your path so that /usr/local/bin comes before /usr/bin. This command will force your path to start with /usr/local/bin:
20
39
21
40
echo PATH=/usr/local/bin:$PATH >> ~/.profile
22
41
23
42
After running this close your terminal and then open it again. Then install lxml using pip.
24
43
25
44
pip install lxml
26
45
46
+
Hacking on the Source Code
47
+
--------------------------
48
+
49
+
Please work off of the "3.0" branch if you're submitting changes to the latest stable release and use "master" if you're submitting changes to the latest development release.
50
+
51
+
### Writing rulesets
52
+
53
+
HTTPS Everywhere consists of a large number of rules for switching sites from HTTP to HTTPS. You can read more about how to write these rules here: https://www.eff.org/https-everywhere/rulesets
54
+
55
+
If you want to create new rules to submit to us, we expect them to be in the src/chrome/content/rules directory. That directory also contains a useful script, make-trivial-rule, to create a simple rule for a specified domain. There is also a script called trivial-validate.py, to check all the pending rules for several common errors and oversights. For example, if you wanted to make a rule for the example.com domain, you could run
56
+
57
+
sh ./make-trivial-rule example.com
58
+
59
+
inside the rules directory. This would create Example.com.xml, which you could then take a look at and edit based on your knowledge of any specific URLs at example.com that do or don't work in HTTPS. You could then run
60
+
61
+
python ../../../../utils/trivial-validate.py
62
+
63
+
to make sure that your rule is free of common mistakes.
64
+
65
+
### Writing translations
66
+
67
+
If you would like to help translate HTTPS Everywhere into another language, you can do that through Transifex: https://www.transifex.com/projects/p/torproject/resources/.
68
+
69
+
### Bug trackers and mailing lists
70
+
71
+
We currently have two bug trackers. The one on Github (https://github.com/EFForg/https-everywhere/issues) is recommended because it gets checked more frequently and has a friendlier user interface. The one on trac.torproject.org (https://trac.torproject.org/projects/tor/report/19) has a large backlog of bugs at this point, but it has the advantage of allowing you to post bugs anonymously using the "cypherpunks" or "writecode" account. (Note that you won't see replies unless you put an email address in the CC field.)
72
+
73
+
We have two publicly-archived mailing lists: the https-everywhere list (https://lists.eff.org/mailman/listinfo/https-everywhere) is for discussing the project as a whole, and the https-everywhere-rulesets list (https://lists.eff.org/mailman/listinfo/https-everywhere-rules) is for discussing the rulesets and their contents, including patches and git pull requests.
74
+
27
75
Build Instructions
28
76
------------------
29
77
@@ -44,28 +92,10 @@ You can run ruleset tests by opening `about:config` and changing `extensions.htt
44
92
45
93
When you run the tests, be prepared to let your computer run them for a really long time.
46
94
47
-
Source Tree
48
-
-----------
49
-
50
-
This is the source tree for HTTPS Everywhere for Firefox and Chrome.
51
-
52
-
Important directories you might want to know about
53
-
54
-
src/ The Firefox source
55
-
56
-
chromium/ The Chromium/Chrome source
57
-
(not to be confused with Firefox browser "chrome" or UI)
58
-
59
-
src/components |
60
-
src/chrome/content | Firefox JavaScript and XUL code
61
-
src/chrome/content/code |
62
-
63
-
src/chrome/content/rules The rulesets live here
64
-
65
95
Precommit Testing
66
96
-----------------
67
97
68
98
One can run the available test suites automatically by enabling the precommit
0 commit comments