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

1.8 KiB

acme-dns-01-namecheap | a Root project

NameCheap DNS + Let's Encrypt

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-namecheap@3.x

Usage

First you create an instance with your credentials:

var dns01 = require('acme-dns-01-namecheap').create({
    apiUser:'username',
    apiKey : 'xxxx',
    clientIp:'public ip',
    username: 'api user',
	baseUrl: 'sandbox or production', // default production
});

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-user api-key client-ip username [username is optional if similar to api-user]
node ./test.js example.com demo 45.77.4.126 d41474b94e7d4536baabb074a09c96bd