AJ ONeal
8 years ago
commit
0b3b67e1cc
4 changed files with 167 additions and 0 deletions
@ -0,0 +1,37 @@ |
|||
# Logs |
|||
logs |
|||
*.log |
|||
npm-debug.log* |
|||
|
|||
# Runtime data |
|||
pids |
|||
*.pid |
|||
*.seed |
|||
|
|||
# Directory for instrumented libs generated by jscoverage/JSCover |
|||
lib-cov |
|||
|
|||
# Coverage directory used by tools like istanbul |
|||
coverage |
|||
|
|||
# nyc test coverage |
|||
.nyc_output |
|||
|
|||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) |
|||
.grunt |
|||
|
|||
# node-waf configuration |
|||
.lock-wscript |
|||
|
|||
# Compiled binary addons (http://nodejs.org/api/addons.html) |
|||
build/Release |
|||
|
|||
# Dependency directories |
|||
node_modules |
|||
jspm_packages |
|||
|
|||
# Optional npm cache directory |
|||
.npm |
|||
|
|||
# Optional REPL history |
|||
.node_repl_history |
@ -0,0 +1,21 @@ |
|||
MIT License |
|||
|
|||
Copyright (c) 2016 Daplie, Inc |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in all |
|||
copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|||
SOFTWARE. |
@ -0,0 +1,73 @@ |
|||
[![Join the chat at https://gitter.im/Daplie/letsencrypt-express](https://badges.gitter.im/Daplie/letsencrypt-express.svg)](https://gitter.im/Daplie/letsencrypt-express?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) |
|||
|
|||
| [letsencrypt](https://github.com/Daplie/node-letsencrypt) (library) |
|||
| [letsencrypt-cli](https://github.com/Daplie/letsencrypt-cli) |
|||
| [letsencrypt-express](https://github.com/Daplie/letsencrypt-express) |
|||
| [letsencrypt-koa](https://github.com/Daplie/letsencrypt-koa) |
|||
| [letsencrypt-hapi](https://github.com/Daplie/letsencrypt-hapi) |
|||
| |
|||
|
|||
le-challenge-dns |
|||
================ |
|||
|
|||
**For production** use [`le-challenge-ddns`](https://github.com/Daplie/le-challenge-ddns) you want |
|||
|
|||
A manual (interactive CLI) dns-based strategy for node-letsencrypt for setting, retrieving, |
|||
and clearing ACME DNS-01 challenges issued by the ACME server |
|||
|
|||
Prints out a subdomain record for `_acme-challenge` with `keyAuthDigest` |
|||
to be tested by the ACME server. |
|||
|
|||
You can then update your DNS manually by whichever method you use and then |
|||
press [enter] to continue the process. |
|||
|
|||
``` |
|||
_acme-challenge.example.com TXT xxxxxxxxxxxxxxxx TTL 60 |
|||
``` |
|||
|
|||
Install |
|||
------- |
|||
|
|||
```bash |
|||
npm install --save le-challenge-dns@2.x |
|||
``` |
|||
|
|||
Usage |
|||
----- |
|||
|
|||
```bash |
|||
var leChallengeDns = require('le-challenge-dns').create({ |
|||
debug: false |
|||
}); |
|||
|
|||
var LE = require('letsencrypt'); |
|||
|
|||
LE.create({ |
|||
server: LE.stagingServerUrl // Change to LE.productionServerUrl in production |
|||
, challengeType: 'dns-01' |
|||
, challenges: { |
|||
'dns-01': leChallengeDns |
|||
} |
|||
, approveDomains: [ 'example.com' ] |
|||
}); |
|||
``` |
|||
|
|||
NOTE: If you request a certificate with 6 domains listed, |
|||
it will require 6 individual challenges. |
|||
|
|||
Exposed Methods |
|||
--------------- |
|||
|
|||
For ACME Challenge: |
|||
|
|||
* `set(opts, domain, challange, keyAuthorization, done)` |
|||
* `get(defaults, domain, challenge, done)` |
|||
* `remove(defaults, domain, challenge, done)` |
|||
|
|||
Note: `get()` is a no-op for `dns-01`. |
|||
|
|||
For node-letsencrypt internals: |
|||
|
|||
* `getOptions()` returns the internal defaults merged with the user-supplied options |
|||
* `loopback(defaults, domain, challange, done)` performs a dns lookup of the txt record |
|||
* `test(opts, domain, challange, keyAuthorization, done)` runs set, loopback, remove, loopback |
@ -0,0 +1,36 @@ |
|||
{ |
|||
"name": "le-challenge-dns", |
|||
"version": "2.1.0", |
|||
"description": "A manual (interactive CLI) dns-based strategy for node-letsencrypt for setting, retrieving, and clearing ACME DNS-01 challenges issued by the ACME server", |
|||
"main": "index.js", |
|||
"scripts": { |
|||
"test": "node test.js" |
|||
}, |
|||
"repository": { |
|||
"type": "git", |
|||
"url": "git+https://github.com/Daplie/le-challenge-dns.git" |
|||
}, |
|||
"keywords": [ |
|||
"le", |
|||
"letsencrypt", |
|||
"le-challenge", |
|||
"le-challenge-", |
|||
"le-challenge-dns", |
|||
"manual", |
|||
"interactive", |
|||
"cli", |
|||
"acme", |
|||
"challenge", |
|||
"dns", |
|||
"cluster", |
|||
"ephemeral" |
|||
], |
|||
"author": "AJ ONeal <coolaj86@gmail.com> (https://coolaj86.com/)", |
|||
"license": "(MIT OR Apache-2.0)", |
|||
"bugs": { |
|||
"url": "https://github.com/Daplie/le-challenge-dns/issues" |
|||
}, |
|||
"homepage": "https://github.com/Daplie/le-challenge-dns#readme", |
|||
"dependencies": { |
|||
} |
|||
} |
Loading…
Reference in new issue