Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
dnscontrol — Infrastructure as code for DNS! | Kitploit
Tools/GitHubGitHub/dnscontrol/dnscontrol
Cloud Infrastructure SecurityConfiguration AuditingDevSecOpsDNS Analysis
GitHubdnscontrol/dnscontrol

dnscontrol

Infrastructure as code for DNS!

View RepositoryWebsite
3.9k5241668h 16m agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

DNSControl

DNSControl/dnscontrol/build OpenSSF Scorecard Google Group PkgGoDev

DNSControl is Infrastructure as Code for DNS. It includes a full-featured configuration language (Javascript-compatible), plus "plug-ins" that speak to DNS provider APIs such as AWS Route 53, Cloudflare, and Gandi. It can send the same DNS records to multiple providers. It runs anywhere Go runs (Linux, macOS, Windows). The provider model is extensible, so more providers can be added.

An Example

dnsconfig.js:

// define our registrar and providers
var REG_NAMECOM = NewRegistrar("ndc_main");
var DSP_ROUTE53 = NewDnsProvider("r53_main");

D("example.com", REG_NAMECOM, DnsProvider(DSP_ROUTE53),
  A("@", "1.2.3.4"),
  CNAME("www","@"),
  MX("@",5,"mail.myserver.com."),
  A("test", "5.6.7.8")
)

Running dnscontrol preview will talk to the providers (here name.com as registrar and route 53 as the dns host), and determine what changes need to be made.

Running dnscontrol push will make those changes with the provider and my dns records will be correctly updated.

The easiest way to run DNSControl is to use the Docker container:

docker run --rm -it -v "$(pwd):/dns"  ghcr.io/dnscontrol/dnscontrol preview

Getting Started

The quickest way to start is dnscontrol init. The interactive wizard asks for your DNS provider and registrar, verifies your credentials and writes a working creds.json and dnsconfig.js, including the records that already exist in your zones.

See the Getting Started page on the documentation site for the full walkthrough.

Want full "GitOps" control of your DNS data? Clone the dns-config starter repo to get started!

Supported Providers

DNSControl supports 77 DNS providers and registrars:

AdGuard HomeAkamai Edge DNSAlibaba Cloud DNSAmazon Route 53¹AutoDNS¹
AXFR + DDNSAzure DNSAzure Private DNSBunny DNSCentralNic Reseller¹
CloudflareClouDNS¹CloudPressConstellixCSC Global¹
deSECDigitalOceanDNS Made EasyDNS over HTTPS²dnscale
DNSimple¹DomainnameshopDynadot²Dynueasyname²
ExoscaleFortiGateG-Core LabsGandi v5¹Gidinet¹
GigahostGoogle Cloud DNSHetzner DNShosting.de¹Huawei Cloud DNS
Hurricane Electric DNSInfobloxInfomaniakInternet.bs²INWX¹
ISC BINDJoker.comLinodeLoopia¹LuaDNS
MikroTik RouterOSMisaka.iomittwald mStudioMythic BeastsName.com¹
Namecheap¹NetbirdnetcupNetlifyNetnod
NexDNSNS1OpenproviderOpenSRS²OpenWrt
Oracle Cloud InfrastructureOVHcloud¹PacketframePorkbun¹PowerDNS
Realtime Register¹RWTH AachenSakura CloudScalewaySoftLayer
Spaceship¹Tencent Cloud DNS¹TransIPUniFiVercel
VultrWebSupport

¹also supports registrar functions ²registrar only

Benefits

Download Tool