Skip to content

Commit 60e69a8

Browse files
committed
Implemented DNS-01 Challenge with Cloud Flare DNS Provider (#2)
lets-encrypt-acme-client.js Implementing DNS-01 Challenge Implementing Cloud Flare Dns Provider Add Promised Class Promised().bool(boolFunc, max = 5)
1 parent faac3e9 commit 60e69a8

File tree

4 files changed

+37
-18
lines changed

4 files changed

+37
-18
lines changed

README.md

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
# Lets Encrypt ACME Client
1+
# LetsEncrypt! ACME Client
22

3-
Automatically Issue and Renew `Let's Encrypt Certificates` (ACMEv2) using `DNS-01` or `HTTP-01`
4-
5-
Utilizes a `Daemon` that operates periodically alongside a `Mixin` to handle challenge completions.
3+
Automatically Create and Renew `LetsEncrypt! SSL Certificates`, including `Wildcard Certificates` for supported `DNS Providers`
64

75
### Getting Started
86

9-
You can view the full [`SSL Server Example`](https://github.com/FirstTimeEZ/server-ssl) to understand the `Daemon` and `Mixin`
7+
This most recent version of this package is implemented in [`SSL Server`](https://github.com/FirstTimeEZ/server-ssl) and you can use that to understand how it works if the `jsdoc` isn't enough information.
108

119
### Wild Card Certificates
1210

13-
You can generate `Wild Card Certificates` if you use a supported `DNS-01` provider
11+
You can generate `Wild Card Certificates` if you are using a supported `DNS Provider`
1412

15-
At this present moment that is only `Cloud Flare`
13+
| Supported DNS Providers |
14+
|-------------------------|
15+
| Cloud Flare |
1616

1717
```
1818
let dnsProvider = {
@@ -22,15 +22,17 @@ let dnsProvider = {
2222
}
2323
```
2424

25+
`DNS Providers` are used to complete `DNS-01` challenges
26+
2527
--------
2628

27-
### Daemon
29+
### LetsEncrypt! Daemon
2830

29-
The `Daemon` runs periodically to Issue or Renew the certificate
31+
The `Daemon` runs periodically to `Create` or `Renew` the `Certificate`
3032

3133
```javascript
3234
/**
33-
* Starts the Let's Encrypt Daemon to Manage the SSL Certificate for the Server
35+
* Starts the LetsEncrypt! Daemon to Manage the SSL Certificate for the Server
3436
*
3537
* @param {Array<string>} fqdns - The fully qualified domain names as a SAN (e.g., ["example.com", "www.example.com"]), You must use a `dnsProvider` if you include a wild card
3638
* @param {string} sslPath - The path where your acme account, keys and generated certificate will be stored or loaded from
@@ -51,10 +53,12 @@ The `Daemon` runs periodically to Issue or Renew the certificate
5153
export async function startLetsEncryptDaemon(fqdns, sslPath, certificateCallback, optGenerateAnyway = false, optStaging = false, dnsProvider = undefined)
5254
```
5355

54-
### HTTP Mixin
56+
### HTTP Mixin for `HTTP-01`
5557

5658
`HTTP Mixin` that completes the `HTTP-01` Challenges created by the `Daemon`
5759

60+
This is not required if you are using a `DNS Provider`
61+
5862
```javascript
5963
/**
6064
* Node.js Middleware function to check and respond to ACME HTTP-01 challenges inside the HTTP Server.
@@ -66,4 +70,10 @@ export async function startLetsEncryptDaemon(fqdns, sslPath, certificateCallback
6670
* }).listen(80);
6771
*/
6872
export async function checkChallengesMixin(req, res)
69-
```
73+
```
74+
75+
--------
76+
77+
### Challenges
78+
79+
The `DNS-01` and `HTTP-01` challenges have been implemented

lets-encrypt-acme-client.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ let ariWindow = null;
8080
let remaining = { days: null, hours: null, minutes: null };
8181

8282
/**
83-
* Starts the Let's Encrypt Daemon to Manage the SSL Certificate for the Server
83+
* Starts the LetsEncrypt! Daemon to Manage the SSL Certificate for the Server
8484
*
8585
* @param {Array<string>} fqdns - The fully qualified domain names as a SAN (e.g., ["example.com", "www.example.com"]), You must use a `dnsProvider` if you include a wild card
8686
* @param {string} sslPath - The path where your acme account, keys and generated certificate will be stored or loaded from

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name": "lets-encrypt-acme-client",
33
"author": "FirstTimeEZ",
4-
"version": "40.0.1",
5-
"description": "Automatically Issue and Renew Let's Encrypt Certificates by utilizing a Daemon that operates periodically alongside a Mixin to handle challenge completions. (ACMEv2)",
4+
"version": "40.0.2",
5+
"description": "Automatically Create and Renew LetsEncrypt! SSL Certificates, including Wildcard Certificates for supported DNS Providers",
66
"main": "lets-encrypt-acme-client.js",
77
"type": "module",
88
"keywords": [
@@ -29,7 +29,16 @@
2929
"dns",
3030
"api",
3131
"configuration",
32-
"monitoring"
32+
"monitoring",
33+
"http",
34+
"redirect",
35+
"dns-01",
36+
"wild",
37+
"card",
38+
"wildcard",
39+
"cloud",
40+
"flare",
41+
"cloudflare"
3342
],
3443
"license": "Apache-2.0",
3544
"dependencies": {

0 commit comments

Comments
 (0)