bump
This commit is contained in:
parent
d5c6d5b745
commit
f3966859f9
182
README.md
182
README.md
|
@ -22,26 +22,26 @@ Greenlock Express is a **Web Server** with **Fully Automated HTTPS** and renewal
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
function httpsWorker(glx) {
|
function httpsWorker(glx) {
|
||||||
// Serves on 80 and 443
|
// Serves on 80 and 443
|
||||||
// Get's SSL certificates magically!
|
// Get's SSL certificates magically!
|
||||||
|
|
||||||
glx.serveApp(function(req, res) {
|
glx.serveApp(function(req, res) {
|
||||||
res.end("Hello, Encrypted World!");
|
res.end("Hello, Encrypted World!");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var pkg = require("./package.json");
|
var pkg = require("./package.json");
|
||||||
require("greenlock-express")
|
require("greenlock-express")
|
||||||
.init(function getConfig() {
|
.init(function getConfig() {
|
||||||
// Greenlock Config
|
// Greenlock Config
|
||||||
|
|
||||||
return {
|
return {
|
||||||
package: { name: pkg.name, version: pkg.version },
|
package: { name: pkg.name, version: pkg.version },
|
||||||
maintainerEmail: pkg.author,
|
maintainerEmail: pkg.author,
|
||||||
cluster: false
|
cluster: false
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
.serve(httpsWorker);
|
.serve(httpsWorker);
|
||||||
```
|
```
|
||||||
|
|
||||||
Manage via API or the config file:
|
Manage via API or the config file:
|
||||||
|
@ -50,44 +50,44 @@ Manage via API or the config file:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"subscriberEmail": "letsencrypt-test@therootcompany.com",
|
"subscriberEmail": "letsencrypt-test@therootcompany.com",
|
||||||
"agreeToTerms": true,
|
"agreeToTerms": true,
|
||||||
"sites": {
|
"sites": {
|
||||||
"example.com": {
|
"example.com": {
|
||||||
"subject": "example.com",
|
"subject": "example.com",
|
||||||
"altnames": ["example.com", "www.example.com"]
|
"altnames": ["example.com", "www.example.com"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
# Let's Encrypt for...
|
# Let's Encrypt for...
|
||||||
|
|
||||||
- IoT
|
- IoT
|
||||||
- Enterprise On-Prem
|
- Enterprise On-Prem
|
||||||
- Local Development
|
- Local Development
|
||||||
- Home Servers
|
- Home Servers
|
||||||
- Quitting Heroku
|
- Quitting Heroku
|
||||||
|
|
||||||
# Features
|
# Features
|
||||||
|
|
||||||
- [x] Let's Encrypt v2 (November 2019)
|
- [x] Let's Encrypt v2 (November 2019)
|
||||||
- [x] ACME Protocol (RFC 8555)
|
- [x] ACME Protocol (RFC 8555)
|
||||||
- [x] HTTP Validation (HTTP-01)
|
- [x] HTTP Validation (HTTP-01)
|
||||||
- [x] DNS Validation (DNS-01)
|
- [x] DNS Validation (DNS-01)
|
||||||
- [ ] ALPN Validation (TLS-ALPN-01)
|
- [ ] ALPN Validation (TLS-ALPN-01)
|
||||||
- Need ALPN validation? [contact us](mailto:greenlock-support@therootcompany.com)
|
- Need ALPN validation? [contact us](mailto:greenlock-support@therootcompany.com)
|
||||||
- [x] Automated HTTPS
|
- [x] Automated HTTPS
|
||||||
- [x] Fully Automatic Renewals every 45 days
|
- [x] Fully Automatic Renewals every 45 days
|
||||||
- [x] Free SSL
|
- [x] Free SSL
|
||||||
- [x] **Wildcard** SSL
|
- [x] **Wildcard** SSL
|
||||||
- [x] **Localhost** certificates
|
- [x] **Localhost** certificates
|
||||||
- [x] HTTPS-enabled Secure **WebSockets** (`wss://`)
|
- [x] HTTPS-enabled Secure **WebSockets** (`wss://`)
|
||||||
- [x] Fully customizable
|
- [x] Fully customizable
|
||||||
- [x] **Reasonable defaults**
|
- [x] **Reasonable defaults**
|
||||||
- [x] Domain Management
|
- [x] Domain Management
|
||||||
- [x] Key and Certificate Management
|
- [x] Key and Certificate Management
|
||||||
- [x] ACME Challenge Plugins
|
- [x] ACME Challenge Plugins
|
||||||
|
|
||||||
# QuickStart Guide
|
# QuickStart Guide
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ works with everything.
|
||||||
// A plain, node-style app
|
// A plain, node-style app
|
||||||
|
|
||||||
function myPlainNodeHttpApp(req, res) {
|
function myPlainNodeHttpApp(req, res) {
|
||||||
res.end("Hello, Encrypted World!");
|
res.end("Hello, Encrypted World!");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrap that plain app in express,
|
// Wrap that plain app in express,
|
||||||
|
@ -152,9 +152,9 @@ module.exports = app;
|
||||||
|
|
||||||
Greenlock Express is designed with these goals in mind:
|
Greenlock Express is designed with these goals in mind:
|
||||||
|
|
||||||
- Simplicity and ease-of-use
|
- Simplicity and ease-of-use
|
||||||
- Performance and scalability
|
- Performance and scalability
|
||||||
- Configurability and control
|
- Configurability and control
|
||||||
|
|
||||||
You can start with **near-zero configuration** and
|
You can start with **near-zero configuration** and
|
||||||
slowly add options for greater performance and customization
|
slowly add options for greater performance and customization
|
||||||
|
@ -164,21 +164,21 @@ later, if you need them.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
require("greenlock-express")
|
require("greenlock-express")
|
||||||
.init(getConfig)
|
.init(getConfig)
|
||||||
.serve(worker);
|
.serve(worker);
|
||||||
|
|
||||||
function getConfig() {
|
function getConfig() {
|
||||||
return {
|
return {
|
||||||
// uses name and version as part of the ACME client user-agent
|
// uses name and version as part of the ACME client user-agent
|
||||||
// uses author as the contact for support notices
|
// uses author as the contact for support notices
|
||||||
package: require("./package.json")
|
package: require("./package.json")
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function worker(server) {
|
function worker(server) {
|
||||||
// Works with any Node app (Express, etc)
|
// Works with any Node app (Express, etc)
|
||||||
var app = require("my-express-app.js");
|
var app = require("my-express-app.js");
|
||||||
server.serveApp(app);
|
server.serveApp(app);
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -222,14 +222,14 @@ This will update the config file (assuming the default fs-based management plugi
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"subscriberEmail": "letsencrypt-test@therootcompany.com",
|
"subscriberEmail": "letsencrypt-test@therootcompany.com",
|
||||||
"agreeToTerms": true,
|
"agreeToTerms": true,
|
||||||
"sites": {
|
"sites": {
|
||||||
"example.com": {
|
"example.com": {
|
||||||
"subject": "example.com",
|
"subject": "example.com",
|
||||||
"altnames": ["example.com", "www.example.com"]
|
"altnames": ["example.com", "www.example.com"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -269,10 +269,10 @@ npx greenlock add --subject example.com --altnames example.com,www.example.com
|
||||||
Note: **Localhost**, **Wildcard**, and Certificates for Private Networks require
|
Note: **Localhost**, **Wildcard**, and Certificates for Private Networks require
|
||||||
[**DNS validation**](https://git.rootprojects.org/root/greenlock-exp).
|
[**DNS validation**](https://git.rootprojects.org/root/greenlock-exp).
|
||||||
|
|
||||||
- DNS Validation
|
- DNS Validation
|
||||||
- [**Wildcards**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/wildcards/) (coming soon)
|
- [**Wildcards**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/wildcards/) (coming soon)
|
||||||
- [**Localhost**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/localhost/) (coming soon)
|
- [**Localhost**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/localhost/) (coming soon)
|
||||||
- [**CI/CD**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/ci-cd/) (coming soon)
|
- [**CI/CD**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/ci-cd/) (coming soon)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
@ -280,17 +280,17 @@ Note: **Localhost**, **Wildcard**, and Certificates for Private Networks require
|
||||||
|
|
||||||
**These are in-progress** Check back tomorrow (Nov 2nd, 2019).
|
**These are in-progress** Check back tomorrow (Nov 2nd, 2019).
|
||||||
|
|
||||||
- [greenlock-express.js/examples/](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples)
|
- [greenlock-express.js/examples/](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples)
|
||||||
- [Express](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/express/)
|
- [Express](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/express/)
|
||||||
- [Node's **http2**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/http2/)
|
- [Node's **http2**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/http2/)
|
||||||
- [Node's https](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/https/)
|
- [Node's https](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/https/)
|
||||||
- [**WebSockets**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/websockets/)
|
- [**WebSockets**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/websockets/)
|
||||||
- [Socket.IO](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/socket-io/)
|
- [Socket.IO](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/socket-io/)
|
||||||
- [Cluster](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/cluster/)
|
- [Cluster](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/cluster/)
|
||||||
- [**Wildcards**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/wildcards/) (coming soon)
|
- [**Wildcards**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/wildcards/) (coming soon)
|
||||||
- [**Localhost**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/localhost/) (coming soon)
|
- [**Localhost**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/localhost/) (coming soon)
|
||||||
- [**CI/CD**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/ci-cd/) (coming soon)
|
- [**CI/CD**](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/ci-cd/) (coming soon)
|
||||||
- [HTTP Proxy](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/http-proxy/)
|
- [HTTP Proxy](https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/http-proxy/)
|
||||||
|
|
||||||
# Easy to Customize
|
# Easy to Customize
|
||||||
|
|
||||||
|
@ -300,10 +300,10 @@ Note: **Localhost**, **Wildcard**, and Certificates for Private Networks require
|
||||||
- [greenlock.js/examples/](https://git.rootprojects.org/root/greenlock.js/src/branch/master/examples)
|
- [greenlock.js/examples/](https://git.rootprojects.org/root/greenlock.js/src/branch/master/examples)
|
||||||
-->
|
-->
|
||||||
|
|
||||||
- [Custom Domain Management](https://git.rootprojects.org/root/greenlock-manager-test.js)
|
- [Custom Domain Management](https://git.rootprojects.org/root/greenlock-manager-test.js)
|
||||||
- [Custom Key & Cert Storage](https://git.rootprojects.org/root/greenlock-store-test.js)
|
- [Custom Key & Cert Storage](https://git.rootprojects.org/root/greenlock-store-test.js)
|
||||||
- [Custom ACME HTTP-01 Challenges](https://git.rootprojects.org/root/acme-http-01-test.js)
|
- [Custom ACME HTTP-01 Challenges](https://git.rootprojects.org/root/acme-http-01-test.js)
|
||||||
- [Custom ACME DNS-01 Challenges](https://git.rootprojects.org/root/acme-dns-01-test.js)
|
- [Custom ACME DNS-01 Challenges](https://git.rootprojects.org/root/acme-dns-01-test.js)
|
||||||
|
|
||||||
# Ready-made Integrations
|
# Ready-made Integrations
|
||||||
|
|
||||||
|
@ -345,12 +345,12 @@ We're working on more comprehensive documentation for this newly released versio
|
||||||
|
|
||||||
Do you need...
|
Do you need...
|
||||||
|
|
||||||
- training?
|
- training?
|
||||||
- specific features?
|
- specific features?
|
||||||
- different integrations?
|
- different integrations?
|
||||||
- bugfixes, on _your_ timeline?
|
- bugfixes, on _your_ timeline?
|
||||||
- custom code, built by experts?
|
- custom code, built by experts?
|
||||||
- commercial support and licensing?
|
- commercial support and licensing?
|
||||||
|
|
||||||
You're welcome to [contact us](mailto:aj@therootcompany.com) in regards to IoT, On-Prem,
|
You're welcome to [contact us](mailto:aj@therootcompany.com) in regards to IoT, On-Prem,
|
||||||
Enterprise, and Internal installations, integrations, and deployments.
|
Enterprise, and Internal installations, integrations, and deployments.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "greenlock-express",
|
"name": "greenlock-express",
|
||||||
"version": "3.0.11",
|
"version": "3.0.13",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -39,30 +39,32 @@
|
||||||
"resolved": "https://registry.npmjs.org/@root/encoding/-/encoding-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@root/encoding/-/encoding-1.0.1.tgz",
|
||||||
"integrity": "sha512-OaEub02ufoU038gy6bsNHQOjIn8nUjGiLcaRmJ40IUykneJkIW5fxDqKxQx48cszuNflYldsJLPPXCrGfHs8yQ=="
|
"integrity": "sha512-OaEub02ufoU038gy6bsNHQOjIn8nUjGiLcaRmJ40IUykneJkIW5fxDqKxQx48cszuNflYldsJLPPXCrGfHs8yQ=="
|
||||||
},
|
},
|
||||||
"@root/greenlock": {
|
|
||||||
"version": "3.0.24",
|
|
||||||
"resolved": "https://registry.npmjs.org/@root/greenlock/-/greenlock-3.0.24.tgz",
|
|
||||||
"integrity": "sha512-uJgHIdWEzZ1QeFN+Ydc2vKs91RDlZQTUF2R2WcklayWivXvBnr7QiyLDVtI5VZuJN6y5RQeWXmDQub/On+8wbg==",
|
|
||||||
"requires": {
|
|
||||||
"@root/acme": "^3.0.8",
|
|
||||||
"@root/csr": "^0.8.1",
|
|
||||||
"@root/keypairs": "^0.9.0",
|
|
||||||
"@root/mkdirp": "^1.0.0",
|
|
||||||
"@root/request": "^1.3.10",
|
|
||||||
"acme-http-01-standalone": "^3.0.5",
|
|
||||||
"cert-info": "^1.5.1",
|
|
||||||
"greenlock-manager-fs": "^3.0.1",
|
|
||||||
"greenlock-store-fs": "^3.2.0",
|
|
||||||
"safe-replace": "^1.1.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@root/greenlock-express": {
|
"@root/greenlock-express": {
|
||||||
"version": "3.0.11",
|
"version": "3.0.13",
|
||||||
"resolved": "https://registry.npmjs.org/@root/greenlock-express/-/greenlock-express-3.0.11.tgz",
|
"resolved": "https://registry.npmjs.org/@root/greenlock-express/-/greenlock-express-3.0.13.tgz",
|
||||||
"integrity": "sha512-lmDJFxJQjYOHRtQy7tkthKmXxRAVily/N0C3fGRe30XmCOlRHJz6FG4BjQ8VGWCJ6sMZ2zKxa9JDmo8Ov10Vow==",
|
"integrity": "sha512-SgFsP4rBDPRBp52yqb8kONw7ZCkgyYrBFJLg4xhfIMbsMct4dfqB+N5eJbeF/exJh4+BHM7tppvf31Xuz6EO2Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@root/greenlock": "^3.0.17",
|
"@root/greenlock": "^3.0.25",
|
||||||
"redirect-https": "^1.1.5"
|
"redirect-https": "^1.1.5"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@root/greenlock": {
|
||||||
|
"version": "3.0.25",
|
||||||
|
"resolved": "https://registry.npmjs.org/@root/greenlock/-/greenlock-3.0.25.tgz",
|
||||||
|
"integrity": "sha512-VC8H9MTkbqxlB2LGntmcq5cstkE0TdZLvxm25SO5i7c6abJBVMQafhTD415OXwoGimnmWTn6SZ93Fj73d9QX/w==",
|
||||||
|
"requires": {
|
||||||
|
"@root/acme": "^3.0.8",
|
||||||
|
"@root/csr": "^0.8.1",
|
||||||
|
"@root/keypairs": "^0.9.0",
|
||||||
|
"@root/mkdirp": "^1.0.0",
|
||||||
|
"@root/request": "^1.3.10",
|
||||||
|
"acme-http-01-standalone": "^3.0.5",
|
||||||
|
"cert-info": "^1.5.1",
|
||||||
|
"greenlock-manager-fs": "^3.0.1",
|
||||||
|
"greenlock-store-fs": "^3.2.0",
|
||||||
|
"safe-replace": "^1.1.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@root/keypairs": {
|
"@root/keypairs": {
|
||||||
|
|
100
package.json
100
package.json
|
@ -1,52 +1,52 @@
|
||||||
{
|
{
|
||||||
"name": "greenlock-express",
|
"name": "greenlock-express",
|
||||||
"version": "3.0.11",
|
"version": "3.0.13",
|
||||||
"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": "greenlock-express.js",
|
"main": "greenlock-express.js",
|
||||||
"homepage": "https://greenlock.domains",
|
"homepage": "https://greenlock.domains",
|
||||||
"files": [
|
"files": [
|
||||||
"*.js",
|
"*.js",
|
||||||
"lib",
|
"lib",
|
||||||
"scripts"
|
"scripts"
|
||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node_todo server.js ./config.js",
|
"start": "node_todo server.js ./config.js",
|
||||||
"test": "node_todo test/greenlock.js"
|
"test": "node_todo test/greenlock.js"
|
||||||
},
|
},
|
||||||
"directories": {
|
"directories": {
|
||||||
"example": "examples"
|
"example": "examples"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@root/greenlock": "^3.0.17",
|
"@root/greenlock": "^3.0.25",
|
||||||
"@root/greenlock-express": "^3.0.11",
|
"@root/greenlock-express": "^3.0.13",
|
||||||
"redirect-https": "^1.1.5"
|
"redirect-https": "^1.1.5"
|
||||||
},
|
},
|
||||||
"trulyOptionalDependencies": {
|
"trulyOptionalDependencies": {
|
||||||
"http-proxy": "^1.17.0",
|
"http-proxy": "^1.17.0",
|
||||||
"express": "^4.16.3",
|
"express": "^4.16.3",
|
||||||
"express-basic-auth": "^1.2.0",
|
"express-basic-auth": "^1.2.0",
|
||||||
"finalhandler": "^1.1.1",
|
"finalhandler": "^1.1.1",
|
||||||
"serve-index": "^1.9.1",
|
"serve-index": "^1.9.1",
|
||||||
"serve-static": "^1.13.2",
|
"serve-static": "^1.13.2",
|
||||||
"ws": "^5.2.1"
|
"ws": "^5.2.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {},
|
"devDependencies": {},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.rootprojects.org/root/greenlock-express.js.git"
|
"url": "https://git.rootprojects.org/root/greenlock-express.js.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"Let's Encrypt",
|
"Let's Encrypt",
|
||||||
"ACME",
|
"ACME",
|
||||||
"greenlock",
|
"greenlock",
|
||||||
"Free SSL",
|
"Free SSL",
|
||||||
"Automated HTTPS",
|
"Automated HTTPS",
|
||||||
"https",
|
"https",
|
||||||
"tls"
|
"tls"
|
||||||
],
|
],
|
||||||
"author": "AJ ONeal <coolaj86@gmail.com> (https://solderjs.com/)",
|
"author": "AJ ONeal <coolaj86@gmail.com> (https://solderjs.com/)",
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://git.rootprojects.org/root/greenlock-express.js/issues"
|
"url": "https://git.rootprojects.org/root/greenlock-express.js/issues"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue