Name.com DNS + Let's Encrypt for Node.js - ACME dns-01 challenges w/ ACME.js and Greenlock.js
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
AJ ONeal de22db43de add wait option 5年前
lib add wait option 5年前
.gitignore Initial commit 5年前
.jshintrc add linting files 5年前
.prettierrc add linting files 5年前
AUTHORS add package template 5年前
LICENSE Initial commit 5年前
README.md v3.0.0: Name.com DNS + Let's Encrypt for Node.js 5年前
example.env v3.0.0: Name.com DNS + Let's Encrypt for Node.js 5年前
index.js add package template 5年前
package.json add wait option 5年前
test.js v3.0.0: Name.com DNS + Let's Encrypt for Node.js 5年前
token-test.sh v3.0.0: Name.com DNS + Let's Encrypt for Node.js 5年前

README.md

acme-dns-01-namedotcom.js | a Root project

Name.com DNS + Let's Encrypt for Node.js - ACME dns-01 challenges w/ ACME.js and Greenlock.js

Handles ACME dns-01 challenges. Compatible with ACME.js and Greenlock.js. Passes acme-dns-01-test.

Features

  • Compatible
    • Let’s Encrypt v2.1 / ACME draft 18 (2019)
    • Name.com v4 API
    • ACME.js, Greenlock.js, and others
  • Quality
    • node v6 compatible VanillaJS
    • < 150 lines of code
    • Zero Dependencies

Install

npm install --save acme-dns-01-namedotcom

Name.com API Token

The following error is what you may get if you have Two-Factor Auth and don't Enable API Access the second time:

{
	"message": "Permission Denied",
	"details": "Authentication Error - Account Has Namesafe Enabled"
}

If you're using the Whitelist IPs feature, don't forget to add your test environment!

Usage

First you create an instance with your credentials:

var dns01 = require('acme-dns-01-namedotcom').create({
	baseUrl: 'http://api.name.com/v4/', // default
	username: 'johndoe',
	token: 'xxxx'
});

Then you can use it with any compatible ACME library, 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

There are only 5 methods:

  • init(config)
  • zones(opts)
  • set(opts)
  • get(opts)
  • remove(opts)
dns01
	.set({
		identifier: { value: 'foo.example.co.uk' },
		wildcard: false,
		dnsZone: 'example.co.uk',
		dnsPrefix: '_acme-challenge.foo',
		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 username api-token
node ./test.js example.com me xxxxxx

Authors

  • AJ ONeal

See AUTHORS for contact info.

Legal

acme-dns-01-namedotcom.js | MPL-2.0 | Terms of Use | Privacy Policy

Copyright 2019 AJ ONeal Copyright 2019 The Root Group LLC