acme-dns-01-duckdns.js/README.md

114 lines
2.5 KiB
Markdown
Raw Normal View History

2019-07-04 04:31:46 +00:00
# [acme-dns-01-duckdns](https://git.rootprojects.org/root/acme-dns-01-duckdns.js) | a [Root](https://rootprojects.org) project
2019-06-07 05:32:22 +00:00
DuckDNS + Let's Encrypt for Node.js
2019-06-07 05:32:22 +00:00
This handles ACME dns-01 challenges, compatible with ACME.js, Greenlock.js, and more.
Passes [acme-dns-01-test](https://git.rootprojects.org/root/acme-dns-01-test.js).
## Features
2019-06-29 10:04:27 +00:00
- Compatible
- [x] Let's Encrypt v2.1 / ACME draft 18 (2019)
- [x] DuckDNS API
- [x] ACME.js, Greenlock.js, and others
- Quality
- [x] node v6 compatible VanillaJS
- [x] < 100 lines of code
- [x] **Zero External Dependencies**\*
<small>\* just `@root/request` which is also a Root project and has no dependencies at all</small>
# Install
```bash
npm install --save acme-dns-01-duckdns@3.x
```
Register and DuckDNS Domain and Save the API Token:
2019-06-29 10:04:27 +00:00
- <https://www.duckdns.org/>
# Usage
2020-07-29 01:55:55 +00:00
Then you can use this with any compatible ACME library,
such as Greenlock.js or ACME.js.
2020-07-29 01:55:55 +00:00
### Greenlock CLI
2020-07-29 01:55:55 +00:00
```bash
npx greenlock defaults --challenge-dns-01 acme-dns-01-duckdns --challenge-dns-01-token xxxx
```
2020-07-29 01:55:55 +00:00
### Greenlock API
```js
2020-07-29 01:55:55 +00:00
greenlock.manager.defaults({
challenges: {
2020-07-29 01:55:55 +00:00
'dns-01': {
module: 'acme-dns-01-duckdns',
baseUrl: 'https://www.duckdns.org/update', // default
token: 'xxxxxxx'
}
}
});
```
2019-06-07 05:32:22 +00:00
See [Greenlock Express](https://git.rootprojects.org/root/greenlock-express.js)
and/or [Greenlock.js](https://git.rootprojects.org/root/greenlock.js)
documentation for more details.
### ACME.js
2020-07-29 01:55:55 +00:00
First you create an instance with your credentials:
```js
var dns01 = require('acme-dns-01-duckdns').create({
baseUrl: 'https://www.duckdns.org/update', // default
token: 'xxxx'
});
```
```js
2020-07-29 01:55:55 +00:00
acme.certificates.create({
account,
accountKey,
csr,
domains,
challenges: { 'dns-01': dns01 }
});
2019-06-07 05:32:22 +00:00
```
2020-07-29 01:55:55 +00:00
See the [ACME.js](https://git.rootprojects.org/root/acme.js) for more details.
### Build your own
See [acme-dns-01-test](https://git.rootprojects.org/root/acme-dns-01-test.js)
for more implementation details.
# Tests
```bash
# node ./test.js domain-record api-token
node ./test.js example.duckdns.org xxxxxx
2019-06-07 05:32:22 +00:00
```
# Authors
2019-06-29 10:04:27 +00:00
- Aneem Patrabansha
- AJ ONeal
See AUTHORS for contact info.
<!-- {{ if .Legal }} -->
# Legal
[acme-dns-01-duckdns.js](https://git.coolaj86.com/coolaj86/acme-dns-01-duckdns.js) |
MPL-2.0 |
[Terms of Use](https://therootcompany.com/legal/#terms) |
[Privacy Policy](https://therootcompany.com/legal/#privacy)
Copyright 2019 The Root Group LLC
<!-- {{ end }} -->