add communityMember option

This commit is contained in:
AJ ONeal 2018-05-10 00:53:45 -06:00
parent 24bbc24d90
commit ab6635cd4d
7 changed files with 68 additions and 22 deletions

View File

@ -1,5 +1,8 @@
Greenlock™ for Express.js Greenlock™ for Express.js
================= =================
A high-level ACME client for Free SSL and Automated HTTPS.
| Sponsored by [ppl](https://ppl.family) | | Sponsored by [ppl](https://ppl.family) |
[Greenlock™](https://git.coolaj86.com/coolaj86/greenlock.js) for [Greenlock™](https://git.coolaj86.com/coolaj86/greenlock.js) for
[cli](https://git.coolaj86.com/coolaj86/greenlock-cli.js), [cli](https://git.coolaj86.com/coolaj86/greenlock-cli.js),
@ -8,12 +11,24 @@ Greenlock™ for Express.js
[Koa](https://git.coolaj86.com/coolaj86/greenlock-koa.js), [Koa](https://git.coolaj86.com/coolaj86/greenlock-koa.js),
[hapi](https://git.coolaj86.com/coolaj86/greenlock-hapi.js) [hapi](https://git.coolaj86.com/coolaj86/greenlock-hapi.js)
Free SSL for node.js, now with **Let's Encrypt v2** and **wildcard** domain support) Features
========
Fully automatic HTTPS with Express.js - [x] Automatic HTTPS
(and all other middleware systems), including virtual hosting (vhost) support with multiple domains. - [x] Free SSL
- [x] Free Wildcard SSL
Certificate renewals happen in the background between 10 and 14 days before expiration (~78 days). - [x] Multiple domain support (up to 100 altnames per SAN)
- [x] Dynamic Virtual Hosting (vhost)
- [x] Automatical renewal (10 to 14 days before expiration)
- [x] Great ACME support
- [x] ACME draft 11
- [x] Let's Encrypt v2
- [x] Let's Encrypt v1
- [x] Full node.js support
- [x] core https module
- [x] Express.js
- [x] [Koa](https://git.coolaj86.com/coolaj86/greenlock-koa.js),
- [x] [hapi](https://git.coolaj86.com/coolaj86/greenlock-hapi.js)
Install Install
======= =======
@ -22,6 +37,22 @@ Install
npm install --save greenlock-express@2.x npm install --save greenlock-express@2.x
``` ```
become a `communityMember`
==================
If you're the kind of person that likes the kinds of stuff that I do,
well, I want to do more of it and I'd like to get you involved.
When you set the `communityMember` option to `true` I save your
email and I'm able to inform you when there are mandatory updates
(such as with Let's Encrypt v2), notify you of important security issues,
give you early access to similar projects, and
get your feedback from time to time.
I'll also get a hash of domain names that receive and renew certificates,
which is a metric that has long interested me and may help me in getting
non-developers involved in this and future projects.
QuickStart QuickStart
========== ==========
<!-- <!--
@ -85,6 +116,9 @@ require('greenlock-express').create({
res.end('Hello, World!\n\n💚 🔒.js'); res.end('Hello, World!\n\n💚 🔒.js');
}) })
// Join the community to get notified of important updates and help me make greenlock better
, communityMember: true
//, debug: true //, debug: true
}).listen(80, 443); }).listen(80, 443);
@ -187,6 +221,9 @@ var lex = require('greenlock-express').create({
//, sni: require('le-sni-auto').create({}) //, sni: require('le-sni-auto').create({})
, approveDomains: approveDomains , approveDomains: approveDomains
// Join the community to get notified of important updates and help me make greenlock better
, communityMember: true
}); });
``` ```
@ -198,6 +235,7 @@ function approveDomains(opts, certs, cb) {
// This is where you check your database and associated // This is where you check your database and associated
// email addresses with domains and agreements and such // email addresses with domains and agreements and such
opts.communityMember = true;
// The domains being approved for the first time are listed in opts.domains // The domains being approved for the first time are listed in opts.domains
// Certs being renewed are listed in certs.altnames // Certs being renewed are listed in certs.altnames

View File

@ -18,5 +18,7 @@ require('../').create({
, renewWithin: (91 * 24 * 60 * 60 * 1000) , renewWithin: (91 * 24 * 60 * 60 * 1000)
, renewBy: (90 * 24 * 60 * 60 * 1000) , renewBy: (90 * 24 * 60 * 60 * 1000)
// Get notified of important updates and help me make greenlock better
, communityMember: true
, debug: true , debug: true
}).listen(80, 443); }).listen(80, 443);

View File

@ -39,6 +39,9 @@ require('../').create({
, app: app , app: app
// Get notified of important updates and help me make greenlock better
, communityMember: true
//, debug: true //, debug: true
}).listen(80, 443); }).listen(80, 443);

View File

@ -28,6 +28,8 @@ require('../').create({
, approveDomains: domains , approveDomains: domains
, configDir: require('path').join(require('os').homedir(), 'acme', 'etc') , configDir: require('path').join(require('os').homedir(), 'acme', 'etc')
, app: remoteAccess(secret) , app: remoteAccess(secret)
// Get notified of important updates and help me make greenlock better
, communityMember: true
//, debug: true //, debug: true
}).listen(3000, 8443); }).listen(3000, 8443);

View File

@ -28,6 +28,9 @@ require('../').create({
res.end('Hello, World!\n\n💚 🔒.js'); res.end('Hello, World!\n\n💚 🔒.js');
}) })
// Get notified of important updates and help me make greenlock better
, communityMember: true
//, debug: true //, debug: true
}).listen(80, 443); }).listen(80, 443);

View File

@ -83,12 +83,9 @@ require('../').create({
var serve = serveStatic(path.join(srv, hostname), { redirect: true }); var serve = serveStatic(path.join(srv, hostname), { redirect: true });
serve(req, res, finalhandler(req, res)); serve(req, res, finalhandler(req, res));
} }
/*
require('express')().use('/', function (req, res) { // Get notified of important updates and help me make greenlock better
res.setHeader('Content-Type', 'text/html; charset=utf-8') , communityMember: true
res.end('Hello, World!\n\n💚 🔒.js');
})
*/
//, debug: true //, debug: true

View File

@ -1,6 +1,6 @@
{ {
"name": "greenlock-express", "name": "greenlock-express",
"version": "2.1.1", "version": "2.1.2",
"description": "Free SSL and managed or automatic HTTPS for node.js with Express, Koa, Connect, Hapi, and all other middleware systems.", "description": "Free SSL and managed or automatic HTTPS for node.js with Express, Koa, Connect, Hapi, and all other middleware systems.",
"main": "lex.js", "main": "lex.js",
"homepage": "https://git.coolaj86.com/coolaj86/greenlock-express.js", "homepage": "https://git.coolaj86.com/coolaj86/greenlock-express.js",
@ -12,16 +12,17 @@
"le-challenge-fs": "^2.0.8", "le-challenge-fs": "^2.0.8",
"le-sni-auto": "^2.1.4", "le-sni-auto": "^2.1.4",
"le-store-certbot": "^2.0.5", "le-store-certbot": "^2.0.5",
"localhost.daplie.me-certificates": "^1.2.3", "redirect-https": "^1.1.5",
"redirect-https": "^1.1.5"
}, },
"devDependencies": { "devDependencies": {
"express": "^4.16.3", "express": "^4.16.3",
"express-basic-auth": "^1.1.5", "express-basic-auth": "^1.1.5",
"serve-index": "^1.9.1" "finalhandler": "^1.1.1",
"serve-index": "^1.9.1",
"serve-static": "^1.13.2"
}, },
"scripts": { "scripts": {
"test": "node examples/serve.js" "test": "node examples/simple.js"
}, },
"repository": { "repository": {
"type": "git", "type": "git",