This commit is contained in:
AJ ONeal 2018-04-19 13:18:40 -06:00
parent b0d9c52c64
commit 665e66263a
4 changed files with 18 additions and 31 deletions

View File

@ -1,21 +1,8 @@
<!-- BANNER_TPL_BEGIN -->
About Daplie: We're taking back the Internet!
--------------
Down with Google, Apple, and Facebook!
We're re-decentralizing the web and making it read-write again - one home cloud system at a time.
Tired of serving the Empire? Come join the Rebel Alliance:
<a href="mailto:jobs@daplie.com">jobs@daplie.com</a> | [Invest in Daplie on Wefunder](https://daplie.com/invest/) | [Pre-order Cloud](https://daplie.com/preorder/), The World's First Home Server for Everyone
<!-- BANNER_TPL_END -->
le-sni-auto le-sni-auto
=========== ===========
| Sponsored by [ppl](https://ppl.family)
An auto-sni strategy for registering and renewing letsencrypt certificates using SNICallback. An auto-sni strategy for registering and renewing letsencrypt certificates using SNICallback.
This does a couple of rather simple things: This does a couple of rather simple things:
@ -77,7 +64,7 @@ http.createServer(le.middleware(redirectHttps));
var app = require('express')(); var app = require('express')();
https.createServer(le.httpsOptions, le.middleware(app)).listen(443); https.createServer(le.tlsOptions, le.middleware(app)).listen(443);
``` ```
You can also provide a thunk-style `getCertificates(domain, certs, cb)`. You can also provide a thunk-style `getCertificates(domain, certs, cb)`.
@ -107,11 +94,11 @@ var leSni = require('le-sni-auto').create({
// some default certificates that work with localhost // some default certificates that work with localhost
// (because default certificates are required as a fallback) // (because default certificates are required as a fallback)
var httpsOptions = require('localhost.daplie.com-certificates').merge({ var tlsOptions = require('localhost.daplie.me-certificates').merge({
SNICallback: leSni.sniCallback SNICallback: leSni.sniCallback
}); });
https.createServer(httpsOptions, app); https.createServer(tlsOptions, app);
``` ```
You can also provide a thunk-style `getCertificates(domain, certs, cb)`. You can also provide a thunk-style `getCertificates(domain, certs, cb)`.
@ -154,14 +141,14 @@ You would set this to `10 * 24 * 60 * 60 * 1000`.
.sniCallback() .sniCallback()
----------- -----------
This gets passed to `https.createServer(httpsOptions, app)` as `httpsOptions.SNICallback`. This gets passed to `https.createServer(tlsOptions, app)` as `tlsOptions.SNICallback`.
```javascript ```javascript
var leSni = require('le-sni-auto').create({ var leSni = require('le-sni-auto').create({
renewWithin: 10 * 24 * 60 * 60 1000 renewWithin: 10 * 24 * 60 * 60 1000
}); });
var httpsOptions = require('localhost.daplie.com-certificates').merge({ var tlsOptions = require('localhost.daplie.com-certificates').merge({
SNICallback: leSni.sniCallback SNICallback: leSni.sniCallback
}); });
@ -169,7 +156,7 @@ function app(req, res) {
res.end("Hello, World!"); res.end("Hello, World!");
} }
https.createServer(httpsOptions, app); https.createServer(tlsOptions, app);
``` ```
.cacheCerts() .cacheCerts()

View File

@ -4,8 +4,8 @@ var DAY = 24 * 60 * 60 * 1000;
var MIN = 60 * 1000; var MIN = 60 * 1000;
var defaults = { var defaults = {
// don't renew before the renewWithin period // don't renew before the renewWithin period
renewWithin: 7 * DAY renewWithin: 14 * DAY
, _renewWithinMin: 3 * DAY , _renewWithinMin: 10 * DAY
// renew before the renewBy period // renew before the renewBy period
, renewBy: 2 * DAY , renewBy: 2 * DAY
, _renewByMin: Math.floor(DAY / 2) , _renewByMin: Math.floor(DAY / 2)
@ -148,8 +148,8 @@ module.exports.create = function (autoSni) {
promise.then(function (certMeta) { promise.then(function (certMeta) {
cb(null, certMeta.tlsContext); cb(null, certMeta.tlsContext);
}, function (err) { }, function (err) {
console.error('ERROR in le-sni-auto:'); // console.error('ERROR in le-sni-auto:');
console.error(err.stack || err); // console.error(err.stack || err);
cb(err); cb(err);
// don't reuse this promise // don't reuse this promise
delete autoSni._ipc[certMeta && certMeta.subject ? certMeta.subject : domain]; delete autoSni._ipc[certMeta && certMeta.subject ? certMeta.subject : domain];

View File

@ -1,7 +1,8 @@
{ {
"name": "le-sni-auto", "name": "le-sni-auto",
"version": "2.1.0", "version": "2.1.2",
"description": "An auto-sni strategy for registering and renewing letsencrypt certificates using SNICallback", "description": "An auto-sni strategy for registering and renewing letsencrypt certificates using SNICallback",
"homepage": "https://git.coolaj86.com/coolaj86/le-sni-auto.js",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"bluebird": "^3.4.1" "bluebird": "^3.4.1"
@ -12,7 +13,7 @@
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/Daplie/le-sni-auto.git" "url": "git+https://git.coolaj86.com/coolaj86/le-sni-auto.git"
}, },
"keywords": [ "keywords": [
"le-sni", "le-sni",
@ -26,7 +27,6 @@
"author": "AJ ONeal <coolaj86@gmail.com> (https://coolaj86.com/)", "author": "AJ ONeal <coolaj86@gmail.com> (https://coolaj86.com/)",
"license": "(MIT OR Apache-2.0)", "license": "(MIT OR Apache-2.0)",
"bugs": { "bugs": {
"url": "https://github.com/Daplie/le-sni-auto/issues" "url": "https://git.coolaj86.com/coolaj86/le-sni-auto.js/issues"
}, }
"homepage": "https://github.com/Daplie/le-sni-auto#readme"
} }

View File

@ -86,7 +86,7 @@ var tests = [
return require('bluebird').promisify(fn); return require('bluebird').promisify(fn);
}); });
// opts = { notBefore, notAfter, letsencrypt.renew, letsencrypt.register, httpsOptions } // opts = { notBefore, notAfter, letsencrypt.renew, letsencrypt.register, tlsOptions }
var leSni = require('./').create({ var leSni = require('./').create({
notBefore: NOT_BEFORE notBefore: NOT_BEFORE
, notAfter: NOT_AFTER , notAfter: NOT_AFTER