# 使用 Homebrew, apk, MacPorts, Nix, winget 安装 dnscontrol

查看 dnscontrol 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:dnscontrol
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install dnscontrol
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install dnscontrol
```

  证据: MacPorts ports tree: sysutils/dnscontrol/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add dnscontrol
```

  证据: Alpine Linux edge package indexes: dnscontrol from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#dnscontrol
```

  证据: nixpkgs package indexes: pkgs/by-name/dn/dnscontrol/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- winget (92%):

```sh
winget install --id StackExchange.DNSControl -e
```

  证据: Windows Package Manager source index: StackExchange.DNSControl from https://cdn.winget.microsoft.com/cache/source.msix

## 软件包事实

- **软件包键:** brew:dnscontrol
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/dnscontrol>
- **版本:** 4.42.0
- **来源摘要:** Synchronize your DNS to multiple providers from a simple DSL
- **主页:** <https://dnscontrol.org/>
- **仓库:** <https://github.com/DNSControl/dnscontrol>
- **上游文档:** <https://dnscontrol.org/>
- **许可证:** MIT
- **源码归档:** <https://github.com/DNSControl/dnscontrol/archive/refs/tags/v4.42.0.tar.gz>
- **最后更新:** 2026-06-18T21:40:25Z
- **已生成:** 2026-07-08T07:18:31+00:00

## 可执行文件

- dnscontrol (cli)
- dnscontrol (别名)

## 构建依赖

- go

## 安装行为

- post-install 钩子: 未定义
- 注意事项: dnscontrol bash completion depends on the bash-completion package.
- Bottle: 可用 于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## 版本和新鲜度

- 页面生成时间: 2026-07-08
- 管理器版本: 4.42.0
- 管理器更新时间: 2026-06-18
- 本地数据: OK
- 上游仓库: https://github.com/DNSControl/dnscontrol
- 检测到的最新版本: v4.42.0 (当前)
## 项目历史与用法

DNSControl is an infrastructure-as-code tool for managing DNS records across multiple registrars and DNS providers. It uses a JavaScript-like DSL in dnsconfig.js, provider credentials in creds.json, and commands such as preview and push to turn repository-managed DNS intent into provider changes.

### 项目历史

Stack Overflow introduced DNSControl publicly in 2017 as the system it built to manage DNS with a describe-once, use-anywhere model. The project grew from Stack Exchange's operational needs into an open-source tool with provider plugins, a compiler-like intermediate representation, and a documentation site for the DSL and provider ecosystem.

### 采用历史

DNSControl's adoption story is unusually package-nerdy because its own README cites Stack Overflow using it for hundreds of domains and subdomains. That production pedigree, plus support for many providers, made it attractive to teams that wanted DNS changes reviewed, tested, and applied like code.

### 使用方式

A typical workflow is to keep dnsconfig.js, creds.json, and optional zone files in a Git repository, run dnscontrol preview to inspect changes, and run dnscontrol push to apply them. The getting-started guide explicitly walks users through creating a config directory, dnsconfig.js, creds.json, and a zones directory for local testing.

### 为什么软件包爱好者会关心

DNSControl matters to package and ops people because it turns DNS into a reproducible artifact with reviewable diffs. It also represents the CLI packaging sweet spot: a Go binary, strong docs, release automation, Docker support, Homebrew availability, and enough provider plugins to justify distro packaging.

### 时间线

- 2017: Stack Overflow introduces DNSControl as DNS as code.
- 2024: v4.x releases continue the provider-plugin and DNS compiler model.
- 2026: The project documents 64 supported DNS providers and registrars in its README.

### Related projects

- Terraform DNS providers solve adjacent infrastructure-as-code problems with a different state model.
- BIND zone files are a common input, output, or migration target for DNSControl workflows.

### 来源

- <https://blog.serverfault.com/2017/04/11/introducing-dnscontrol-dns-as-code-has-arrived/>
- <https://github.com/DNSControl/dnscontrol>
- <https://docs.dnscontrol.org/>
- <https://docs.dnscontrol.org/getting-started/getting-started>
- <https://docs.dnscontrol.org/commands/creds-json>


## 安全说明

没有找到 dnscontrol 的匹配本地密钥处理 manifest。Nucleus 软件包元数据仍在此发布，以便未来覆盖拥有稳定的软件包 URL。



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ./dnsconfig.js

## Credential files

- Unix: ./creds.json
## 源数据库详情

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** dnscontrol
- **Version Scheme:** 1
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## 其他软件包管理器记录

- Nix - dnscontrol: normalized package name match | nixpkgs package indexes: pkgs/by-name/dn/dnscontrol/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - dnscontrol - 4.41.0-r0: normalized package name match | Alpine Linux edge package indexes: dnscontrol from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Synchronize your DNS to multiple providers from a simple DSL | https://dnscontrol.org/
- apk - dnscontrol-doc - 4.41.0-r0: normalized package name match | Alpine Linux edge package indexes: dnscontrol-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Synchronize your DNS to multiple providers from a simple DSL (documentation) | https://dnscontrol.org/
- MacPorts - dnscontrol: normalized package name match | MacPorts ports tree: sysutils/dnscontrol/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- winget - StackExchange.DNSControl: normalized package name match | Windows Package Manager source index: StackExchange.DNSControl from https://cdn.winget.microsoft.com/cache/source.msix


## 相关链接

- [Cloud CLI packages](https://www.automicvault.com/zh-hans/pkg/cloud-clis/) - Belongs to a cloud or infrastructure command family.
- [Terminal utility packages](https://www.automicvault.com/zh-hans/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/zh-hans/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Productivity CLI packages](https://www.automicvault.com/zh-hans/pkg/productivity-cli-packages/) - Matched curated productivity category metadata from av.db.
- [go](https://www.automicvault.com/zh-hans/pkg/brew/go/) - Build dependency declared by Homebrew.
- [cli53](https://www.automicvault.com/zh-hans/pkg/brew/cli53/) - Shares av.db curated category or tags: cli, cloud-infrastructure, dns.
- [denominator](https://www.automicvault.com/zh-hans/pkg/brew/denominator/) - Shares av.db curated category or tags: cli, cloud-infrastructure, dns.
- [pulumi](https://www.automicvault.com/zh-hans/pkg/brew/pulumi/) - Shares av.db curated category or tags: automation, cli, cloud-infrastructure, infrastructure-as-code.
- [actions-batch](https://www.automicvault.com/zh-hans/pkg/brew/actions-batch/) - Shares av.db curated category or tags: automation, cli, cloud-infrastructure.
- [aiac](https://www.automicvault.com/zh-hans/pkg/brew/aiac/) - Shares av.db curated category or tags: cli, cloud-infrastructure, infrastructure-as-code.
- [ansible](https://www.automicvault.com/zh-hans/pkg/brew/ansible/) - Shares av.db curated category or tags: automation, cli, cloud-infrastructure.
- [ansible-creator](https://www.automicvault.com/zh-hans/pkg/brew/ansible-creator/) - Shares av.db curated category or tags: automation, cli, cloud-infrastructure.
- [atlantis](https://www.automicvault.com/zh-hans/pkg/brew/atlantis/) - Shares av.db curated category or tags: automation, cli, cloud-infrastructure.
- [octodns](https://www.automicvault.com/zh-hans/pkg/brew/octodns/) - Local package facts share a topical domain. Shared terms: automation, cli, code, dns, infrastructure.
- [cf-terraforming](https://www.automicvault.com/zh-hans/pkg/brew/cf-terraforming/) - Local package facts share a topical domain. Shared terms: cli, cloud, cloud-infrastructure, code, infrastructure.

## Combined YAML source

View the package source record on GitHub. [combined/dnscontrol.yml](https://github.com/automic-vault/db/blob/main/combined/dnscontrol.yml)


## 来源

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
