Infrastructure as code for DNS!
翻译准备中
开发工具Go · JavaScriptGitHub @DNSControl自行安装运营者未确认
试用过了吗? 点一下就好,无需登录。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗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.
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
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!
DNSControl supports 77 DNS providers and registrars:
¹also supports registrar functions ²registrar only
DNSControl can be installed via packages for macOS, Linux and Windows, or from source code. See the official instructions.
The official GitHub Action is: github.com/dnscontrol/dnscontrol-action
Others have been created such as:
Want to contribute? Whether it's fixing a bug, adding a new DNS provider, or improving documentation, contributions are welcome. See CONTRIBUTING.md for how to get started.
The website: https://docs.dnscontrol.org/
The getting started guide: https://docs.dnscontrol.org/getting-started/getting-started
| DNS Made Easy |
| DNS over HTTPS² |
| dnscale |
| DNSimple¹ | Domainnameshop | Dynadot² | Dynu | easyname² |
| Exoscale | FortiGate | G-Core Labs | Gandi v5¹ | Gidinet¹ |
| Gigahost | Google Cloud DNS | Hetzner DNS | hosting.de¹ | Huawei Cloud DNS |
| Hurricane Electric DNS | Infoblox | Infomaniak | Internet.bs² | INWX¹ |
| ISC BIND | Joker.com | Linode | Loopia¹ | LuaDNS |
| MikroTik RouterOS | Misaka.io | mittwald mStudio | Mythic Beasts | Name.com¹ |
| Namecheap¹ | Netbird | netcup | Netlify | Netnod |
| NexDNS | NS1 | Openprovider | OpenSRS² | OpenWrt |
| Oracle Cloud Infrastructure | OVHcloud¹ | Packetframe | Porkbun¹ | PowerDNS |
| Realtime Register¹ | RWTH Aachen | Sakura Cloud | Scaleway | SoftLayer |
| Spaceship¹ | Tencent Cloud DNS¹ | TransIP | UniFi | Vercel |
| Vultr | WebSupport |