Your server. Your language.
Automate server management with the official TypeScript, Python, Go, C#, and Java client libraries.
One API, five languages
The repository includes official client libraries for the REST management API. Work with zones, records, cache, configuration, access controls, blocklists, DNSSEC, upstreams, clustering, and monitoring from your application.
TypeScript / JavaScript
From a NothingDNS source checkout, install the TypeScript SDK locally. It uses the platform fetch API. The example authenticates to your own HTTP management listener and lists zones.
# From the NothingDNS repository
npm install ./sdk/typescriptConnect your own server
Provide your management listener and credentials through your environment. The login token is reused by the client for subsequent operations.
import { NothingDNSClient } from '@nothingdns/sdk';
const client = new NothingDNSClient({
baseUrl: process.env.NDNS_URL ?? 'http://localhost:8080',
});
await client.auth.login(
process.env.NDNS_USER!,
process.env.NDNS_PASSWORD!,
);
const { zones } = await client.zones.list();
console.log(zones);Pick the language that fits
Each language has its own installation steps, types, errors, and examples in the repository. Start with its README rather than assuming a package has already been installed.