SSL Always is a fork of the Safari web browser extension SSL Everywhere originally developed by Near Infinity to force SSL encryption for many of today's popular websites. The extension leverages work done by the Electronic Frontier Foundation's HTTPS Everywhere extension and has been updated to use the latest SSL rule sets as of November 8, 2015.
Follow these steps to build the extension and try it on your own computer.
The rule files borrowed from HTTPS Everywhere are included as XML files. However, to use them with SSL Everywhere they first need to be converted to JavaScript. The project includes a Rakefile with tasks for building all the files needed for the Safari extension. If you don't have Ruby installed, please see the download and installation instructions from the Ruby language web site.
Once you have Ruby setup, you'll need to install a few gems
gem install rake # Note: this is likely already installed
gem install json
gem install plist
After successfully installing those gems, you'll need to pull the latest version of the HTTPS Everywhere SSL rules by running the following command at the root of the project:
rake update_rules
You can then generate the master javascript rule file and build the extension by running also from the root of the project:
rake build
Once you've completed these steps you can install the extension as described in the Safari Extension Development Guide.
You'll need a basic understanding of how to develop extensions for the Safari web browser. Apple has excellent documentation that should get you started quickly. Then, just follow the instructions below to get the source code and start contributing.
You can fork this project within github, as described on help.github.com. This fork will show up on your own github profile, and can be checked out to your local machine. You don't need a webserver on there, or run any project-specific scripts.
You should update your own repository every now and then from "upstream" (the original repository), to ensure you make any changes on the most recent version of files. See "Pulling in upstream changes" on help.github.com.
See "Pull requests" on help.github.com.
This only needs to be done by maintainers of the original repository. Merging back pull requests can either be done straight on github (for simple cases), or through git pull commands (see guide).