Digital Ocean DNS for Let's Encrypt / ACME dns-01 challenges with ACME.js and Greenlock.js
Go to file
Aneem 4dfaa01fed Fixed GET and REMOVE functions 2019-06-11 21:16:59 +05:45
lib Fixed GET and REMOVE functions 2019-06-11 21:16:59 +05:45
.gitignore Added fetching zone and TXT records helpers 2019-06-11 19:00:30 +05:45
.prettierrc initial commit 2019-06-06 23:11:33 -06:00
README.md fill out readme 2019-06-07 07:57:54 +00:00
index.js initial commit 2019-06-06 23:11:33 -06:00
package-lock.json Added fetching zone and TXT records helpers 2019-06-11 19:00:30 +05:45
package.json Added fetching zone and TXT records helpers 2019-06-11 19:00:30 +05:45
test.js initial commit 2019-06-06 23:11:33 -06:00

README.md

acme-dns-01-digitalocean | a Root project

Digital Ocean DNS + Let's Encrypt for Node.js

This handles ACME dns-01 challenges, compatible with ACME.js and Greenlock.js.

Install

npm install --save acme-dns-01-digitalocean@3.x

Usage

First you create an instance with your credentials:

var dns01 = require('acme-dns-01-digitalocean').create({
  token: 'xxxx'
});

Then you can use it with any compatible ACME module, such as Greenlock.js or ACME.js.

Greenlock.js

var Greenlock = require('greenlock-express');
var greenlock = Greenlock.create({
  challenges: {
    'dns-01': dns01,
    // ...
  }
});

See Greenlock™ Express and/or Greenlock.js documentation for more details.

ACME.js

// TODO

See the ACME.js for more details.

Build your own

dns01
  .set({
    identifier: { value: 'foo.example.com' },
    wildcard: false,
    dnsHost: '_acme-challenge.foo.example.com'
    dnsAuthorization: 'xxx_secret_xxx'
  })
  .then(function () {
    console.log("TXT record set");
  })
  .catch(function () {
    console.log("Failed to set TXT record");
  });

See acme-challenge-test for more implementation details.

Tests

# node ./test.js domain-zone api-token
node ./test.js example.com xxxxxx