The Mozilla SSL Configuration Generator is a tool which builds configuration files to help you follow the Mozilla Server Side TLS configuration guidelines.
$ npm install
Once you've installed, you can simply run:
$ npm run watch
This starts a local webserver that will automatically reload your changes.
There are two places that need to be updated in order to add support for a new piece of software:
src/js/configs.js
, which sets the supported features for your software, andsrc/templates/partials/your-software.hbs
, a Handlebars.js template that mirrors your software's configuration
All of the templates are written in Handlebars.js, and so therefore support all of its standard features. This includes if
/else
/unless
conditionals and each
loops, for example. In addition, the configuration generator supports the following helpers:
eq(item, value)
-true
ifitem
equalsvalue
includes(item, stringOrArray)
-true
ifstringOrArray
containsitem
join(array, joiner)
- split a array into a string based onjoiner
{{{join output.ciphers ":"}}}
last(array)
- returns the last item in the arrayminpatchver(minimumver, curver)
-true
ifcurver
is greaterminimumver
and both versions are the same patch version, e.g.2.2
{{#if (minpatchver "2.4.3" form.serverVersion)}}
minver(minimumver, curver)
-true
ifcurver
is greater thanminver
{{#if (minver "1.9.5" form.serverVersion)}}
replace(string, whattoreplace, replacement)
- replaces whatToReplace with replacementreplace(protocol, "TLSv", "TLS ")
reverse(array)
- reverses the order of an array{{#each (reverse output.protocols)}
sameminorver(version, otherVersion)
- returnstrue
ifversion
andotherVersion
are of the same minor version, e.g.2.2
{{#if (sameminorver "2.4.0" form.serverVersion)}}
split(string, splitter)
- split a string into an array based onsplitter
{{#each (split somearray ":")}}
To publish to GitHub Pages, simply run:
$ npm run build
- Mozilla Public License Version 2.0