https://github.com/isc-projects/bind9-rndc-node
BIND9 RNDC protocol implementation for NodeJS
https://github.com/isc-projects/bind9-rndc-node
Last synced: about 1 year ago
JSON representation
BIND9 RNDC protocol implementation for NodeJS
- Host: GitHub
- URL: https://github.com/isc-projects/bind9-rndc-node
- Owner: isc-projects
- License: other
- Created: 2017-12-19T11:58:11.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-11-09T09:48:41.000Z (over 2 years ago)
- Last Synced: 2025-03-23T20:37:10.836Z (over 1 year ago)
- Language: JavaScript
- Size: 16.6 KB
- Stars: 11
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BIND9 rndc for NodeJS
This module implements the BIND9 rndc management protocol and is
compatible with BIND 9.9 and later.
This is unsupported software and is provided without warranty.
## Example usage
The code below sends the "status" command to the default rndc port
on the machine `localhost`. The key data is base64 encoded, as per
the usual `rndc.conf` syntax.
var RNDC = require('bind9-rndc');
var key = '2or79WFROyibcP/qixhklCiZIL4aHfRIQj7yyodzQBw=';
var algo = 'sha256';
var session = RNDC.connect('localhost', 953, key, algo);
session.on('ready', () => {
session.send('status');
});
session.on('data', (obj) => {
console.log(obj);
session.end();
});
session.on('error', console.log);
Each call to `.send` sends a single command string to the server,
although with this module it is possible to maintain a persistent
connection to the rndc port and send multiple commands, achieving
higher throughput than is possible compared to opening a new rndc
connection for each command.
In BIND 9.11 and later a valid response will contain a `result`
key with a (string) variable containing the value `0`, or an error
code otherwise.
Valid crypto algorithms are `md5`, `sha1`, `sha224`, `sha256`,
`sha384`, and `sha512`.