GoDaddy + Let's Encrypt for Node.js - ACME dns-01 challenges w/ ACME.js and Greenlock.js https://git.rootprojects.org/root/acme-dns-01-godaddy.js
Go to file
AJ ONeal 7160a332f5 3.0.1 2021-04-04 10:57:33 -06:00
lib cleanup: simplify resolve 2021-04-04 10:57:21 -06:00
.gitignore initial commit 2019-07-28 14:28:13 +03:00
.prettierrc initial commit 2019-07-28 14:28:13 +03:00
AUTHORS bug fix 2021-04-04 10:51:17 -06:00
README.md make Prettier 2021-04-04 10:51:43 -06:00
example.env initial commit 2019-07-28 14:28:13 +03:00
index.js initial commit 2019-07-28 14:28:13 +03:00
package-lock.json 3.0.1 2021-04-04 10:57:33 -06:00
package.json 3.0.1 2021-04-04 10:57:33 -06:00
test.js make Prettier 2021-04-04 10:51:43 -06:00

README.md

acme-dns-01-godaddy | a Root project

Godaddy DNS + Let's Encrypt for Node.js

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

Install

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

Usage

First you create an instance with your API token:

var dns01 = require('acme-dns-01-godaddy').create({
	baseUrl: 'https://api.godaddy.com/v1', // default
	key: 'xxxx',
	secret: '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-dns-01-test for more implementation details.

Tests

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