AJ ONeal d9b9b0fcd6 | ||
---|---|---|
lib | ||
.gitignore | ||
README.md | ||
example.env | ||
index.js | ||
package-lock.json | ||
package.json | ||
test.js |
README.md
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: 'jdoe',
apiKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
clientIp: '121.22.123.22',
username: 'jdoe',
baseUrl: 'https://api.namecheap.com/xml.response' // default
});
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 d41474b94e7d4536baabb074a09c96bd 45.77.4.126