Compare commits
	
		
			5 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d11b45c409 | |||
| 36abf769be | |||
| c93ecf307b | |||
| 3ea7d3e97b | |||
| fff5192fb4 | 
							
								
								
									
										147
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										147
									
								
								README.md
									
									
									
									
									
								
							| @ -19,8 +19,18 @@ Free SSL, Automated HTTPS / HTTP2, served with Node via Express, Koa, hapi, etc. | |||||||
| Greenlock Express is a **Web Server** with **Fully Automated HTTPS** and renewals. | Greenlock Express is a **Web Server** with **Fully Automated HTTPS** and renewals. | ||||||
| 
 | 
 | ||||||
| ```js | ```js | ||||||
| var pkg = require("./package.json"); | "use strict"; | ||||||
| 
 | 
 | ||||||
|  | function httpsWorker(glx) { | ||||||
|  | 	// Serves on 80 and 443 | ||||||
|  | 	// Get's SSL certificates magically! | ||||||
|  | 
 | ||||||
|  | 	glx.serveApp(function(req, res) { | ||||||
|  | 		res.end("Hello, Encrypted World!"); | ||||||
|  | 	}); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | var pkg = require("./package.json"); | ||||||
| require("greenlock-express") | require("greenlock-express") | ||||||
| 	.init(function getConfig() { | 	.init(function getConfig() { | ||||||
| 		// Greenlock Config | 		// Greenlock Config | ||||||
| @ -34,37 +44,6 @@ require("greenlock-express") | |||||||
| 	.serve(httpsWorker); | 	.serve(httpsWorker); | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| With **Express**: |  | ||||||
| 
 |  | ||||||
| ```js |  | ||||||
| function httpsWorker(glx) { |  | ||||||
| 	// Works with any Node app (Express, etc) |  | ||||||
| 	var app = require("./my-express-app.js"); |  | ||||||
| 
 |  | ||||||
| 	// See, all normal stuff here |  | ||||||
| 	app.get("/hello", function(req, res) { |  | ||||||
| 		res.end("Hello, Encrypted World!"); |  | ||||||
| 	}); |  | ||||||
| 
 |  | ||||||
| 	// Serves on 80 and 443 |  | ||||||
| 	// Get's SSL certificates magically! |  | ||||||
| 	glx.serveApp(app); |  | ||||||
| } |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| Or with **plain** node HTTP: |  | ||||||
| 
 |  | ||||||
| ```js |  | ||||||
| function httpsWorker(glx) { |  | ||||||
| 	// Serves on 80 and 443 |  | ||||||
| 	// Get's SSL certificates magically! |  | ||||||
| 
 |  | ||||||
| 	glx.serveApp(function(req, res) { |  | ||||||
| 		res.end("Hello, Encrypted World!"); |  | ||||||
| 	}); |  | ||||||
| } |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| Manage via API or the config file: | Manage via API or the config file: | ||||||
| 
 | 
 | ||||||
| `~/.config/greenlock/manage.json`: (default filesystem config) | `~/.config/greenlock/manage.json`: (default filesystem config) | ||||||
| @ -110,39 +89,13 @@ Manage via API or the config file: | |||||||
|   - [x] Key and Certificate Management |   - [x] Key and Certificate Management | ||||||
|   - [x] ACME Challenge Plugins |   - [x] ACME Challenge Plugins | ||||||
| 
 | 
 | ||||||
| # Plenty of Examples |  | ||||||
| 
 |  | ||||||
| **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) |  | ||||||
|   - [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 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/) |  | ||||||
|   - [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/) |  | ||||||
|   - [**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) |  | ||||||
|   - [**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/) |  | ||||||
| 
 |  | ||||||
| # Easy to Customize |  | ||||||
| 
 |  | ||||||
| <!-- greenlock-manager-test => greenlock-manager-custom --> |  | ||||||
| 
 |  | ||||||
| <!-- |  | ||||||
| - [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 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 DNS-01 Challenges](https://git.rootprojects.org/root/acme-dns-01-test.js) |  | ||||||
| 
 |  | ||||||
| # QuickStart Guide | # QuickStart Guide | ||||||
| 
 | 
 | ||||||
| Easy as 1, 2, 3... 4 | Easy as 1, 2, 3... 4 | ||||||
| 
 | 
 | ||||||
|  | <details> | ||||||
|  | <summary>1. Create a node project</summary> | ||||||
|  | 
 | ||||||
| ## 1. Create a node project | ## 1. Create a node project | ||||||
| 
 | 
 | ||||||
| Create an empty node project. | Create an empty node project. | ||||||
| @ -155,9 +108,14 @@ pushd ~/my-project | |||||||
| npm init | npm init | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | </details> | ||||||
|  | 
 | ||||||
|  | <details> | ||||||
|  | <summary>2. Create an http app (i.e. express)</summary> | ||||||
|  | 
 | ||||||
| ## 2. Create an http app (i.e. express) | ## 2. Create an http app (i.e. express) | ||||||
| 
 | 
 | ||||||
| This example is shown with Express, but any node app will doGreenlock | This example is shown with Express, but any node app will do. Greenlock | ||||||
| works with everything. | works with everything. | ||||||
| (or any node-style http app) | (or any node-style http app) | ||||||
| 
 | 
 | ||||||
| @ -185,6 +143,11 @@ app.get("/", myPlainNodeHttpApp); | |||||||
| module.exports = app; | module.exports = app; | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | </details> | ||||||
|  | 
 | ||||||
|  | <details> | ||||||
|  | <summary>3. Serve with Greenlock Express</summary> | ||||||
|  | 
 | ||||||
| ## 3. Serve with Greenlock Express | ## 3. Serve with Greenlock Express | ||||||
| 
 | 
 | ||||||
| Greenlock Express is designed with these goals in mind: | Greenlock Express is designed with these goals in mind: | ||||||
| @ -240,6 +203,11 @@ Listening on 0.0.0.0:80 for ACME challenges and HTTPS redirects | |||||||
| Listening on 0.0.0.0:443 for secure traffic | Listening on 0.0.0.0:443 for secure traffic | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | </details> | ||||||
|  | 
 | ||||||
|  | <details> | ||||||
|  | <summary>4. Manage SSL Certificates and Domains</summary> | ||||||
|  | 
 | ||||||
| ## 4. Manage domains | ## 4. Manage domains | ||||||
| 
 | 
 | ||||||
| The management API is built to work with Databases, S3, etc. | The management API is built to work with Databases, S3, etc. | ||||||
| @ -306,6 +274,61 @@ Note: **Localhost**, **Wildcard**, and Certificates for Private Networks require | |||||||
|   - [**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> | ||||||
|  | 
 | ||||||
|  | # Plenty of Examples | ||||||
|  | 
 | ||||||
|  | **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) | ||||||
|  |   - [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 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/) | ||||||
|  |   - [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/) | ||||||
|  |   - [**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) | ||||||
|  |   - [**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/) | ||||||
|  | 
 | ||||||
|  | # Easy to Customize | ||||||
|  | 
 | ||||||
|  | <!-- greenlock-manager-test => greenlock-manager-custom --> | ||||||
|  | 
 | ||||||
|  | <!-- | ||||||
|  | - [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 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 DNS-01 Challenges](https://git.rootprojects.org/root/acme-dns-01-test.js) | ||||||
|  | 
 | ||||||
|  | # Ready-made Integrations | ||||||
|  | 
 | ||||||
|  | Greenlock Express integrates between Let's Encrypt's ACME Challenges and many popular services. | ||||||
|  | 
 | ||||||
|  | | Type        | Service                                                                             | Plugin                   | | ||||||
|  | | ----------- | ----------------------------------------------------------------------------------- | ------------------------ | | ||||||
|  | | dns-01      | CloudFlare                                                                          | acme-dns-01-cloudflare   | | ||||||
|  | | dns-01      | [Digital Ocean](https://git.rootprojects.org/root/acme-dns-01-digitalocean.js)      | acme-dns-01-digitalocean | | ||||||
|  | | dns-01      | [DNSimple](https://git.rootprojects.org/root/acme-dns-01-dnsimple.js)               | acme-dns-01-dnsimple     | | ||||||
|  | | dns-01      | [DuckDNS](https://git.rootprojects.org/root/acme-dns-01-duckdns.js)                 | acme-dns-01-duckdns      | | ||||||
|  | | http-01     | File System / [Web Root](https://git.rootprojects.org/root/acme-http-01-webroot.js) | acme-http-01-webroot     | | ||||||
|  | | dns-01      | [GoDaddy](https://git.rootprojects.org/root/acme-dns-01-godaddy.js)                 | acme-dns-01-godaddy      | | ||||||
|  | | dns-01      | [Gandi](https://git.rootprojects.org/root/acme-dns-01-gandi.js)                     | acme-dns-01-gandi        | | ||||||
|  | | dns-01      | [NameCheap](https://git.rootprojects.org/root/acme-dns-01-namecheap.js)             | acme-dns-01-namecheap    | | ||||||
|  | | dns-01      | [Name.com](https://git.rootprojects.org/root/acme-dns-01-namedotcom.js)         | acme-dns-01-namedotcom   | | ||||||
|  | | dns-01      | Route53 (AWS)                                                                       | acme-dns-01-route53      | | ||||||
|  | | http-01     | S3 (AWS, Digital Ocean, Scaleway)                                                   | acme-http-01-s3          | | ||||||
|  | | dns-01      | [Vultr](https://git.rootprojects.org/root/acme-dns-01-vultr.js)                     | acme-dns-01-vultr        | | ||||||
|  | | dns-01      | [Build your own](https://git.rootprojects.org/root/acme-dns-01-test.js)             | acme-dns-01-test         | | ||||||
|  | | http-01     | [Build your own](https://git.rootprojects.org/root/acme-http-01-test.js)            | acme-http-01-test        | | ||||||
|  | | tls-alpn-01 | [Contact us](mailto:support@therootcompany.com)                                     | -                        | | ||||||
|  | 
 | ||||||
|  | Search `acme-http-01-` or `acme-dns-01-` on npm to find more. | ||||||
|  | 
 | ||||||
| # Full Documentation | # Full Documentation | ||||||
| 
 | 
 | ||||||
| <!-- | <!-- | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
| 	"name": "@root/greenlock-express", | 	"name": "@root/greenlock-express", | ||||||
| 	"version": "3.0.9", | 	"version": "3.0.10", | ||||||
| 	"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", | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user