mirror of
				https://github.com/therootcompany/greenlock-express.js.git
				synced 2024-11-16 17:28:59 +00:00 
			
		
		
		
	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. | ||||||
|  | |||||||
							
								
								
									
										46
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										46
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user