HTTPS Everywhere Development
Pointers for developers
- License: GPL version 2+
- Source code: Available via Git with
git clone git://gitweb.torproject.org/https-everywhere.git or browse the source via gitweb, or just unzip the .xpi file.- Bug tracker: https://trac.torproject.org/projects/tor/report/19 (to submit bugs, make an account or use the anonymous one — "cypherpunks"/"writecode")
- Mailing lists: The https-everywhere list ( archives) is for discussing the project as a whole; the https-everywhere-rules mailing list ( archives) is for discussing the rulesets and their contents, including patches and git pull requests.
- IRC: #https-everywhere on irc.oftc.net. If you ask a question, be sure to stay in the channel — someone may reply a few hours or a few days later.
A quick HOWTO on working with Git
You may want to also look at the Git Reference, GitHub Help Site and the Tor Project's Git documentation to fill in the gaps here, but the below should be enough to get the basics of the workflow down.
First, tell git your name:
git config --global user.name "Your Name" git config --global user.email "you@example.com"Then, get a copy of the 'origin' repository:
git clone git://git.torproject.org/https-everywhere.git cd https-everywhereTo create a test XPI, you'll need a Cygwin environment under Windows, or a Linux or Unix install. Simply run this from the https-everywhere.git toplevel directory:
sh ./makexpi.shThis should create an xpi file in ./pkg that you can install using a file:// url.
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
sh ./make-trivial-rule example.cominside the pending-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
python ../../../../trivial-validate.pyto make sure that your rule is free of common mistakes.
When you want to send us your work, you'll need to add any new files to the index with git add:
git add ./src/chrome/content/rules/MyRule1.xml git add ./src/chrome/content/rules/MyRule2.xmlYou can now commit your changes to the local branch. To make things easier, you should commit each xml file individually:
git commit ./src/chrome/content/rules/MyRule1.xml git commit ./src/chrome/content/rules/MyRule2.xmlNow, you need a place to publish your changes. You can create a free github account here: https://github.com/signup/free. http://help.github.com/ describes the account creation process and some other github-specific things.
Once you have created your account and added your remote in your local checkout, you want to push your branch to your github remote:
git push github my-new-rules:my-new-rulesNow, tell the https-everywhere-rules@eff.org mailing list about your changes and we will merge them in! Alternately, you can use
git format-patchto create patch files that you can submit to us by e-mail instead of using a remote.
Periodically, you should re-fetch the master repository:
git pull masterDevelopment discussions
If you have questions or comments about https-everywhere development, including about the user of version control, you can discuss them in the #https-everywhere IRC channel on irc.oftc.net. The IRC service at irc.oftc.net is available in an encrypted form via port 6697 if your IRC client supports it. You can also join the https-everywhere mailing list or the rulesets mailing list.
mother fuckers took open source... BLACK & BERG so we meet again?
i signed up for gitweb for #cchaiti
you fuckers ought to be ashamed of yourselves.
die. a slow and painful death.
^ed
No comments:
Post a Comment