# Install chinadns-c with Homebrew

Port of ChinaDNS to C: fix irregularities with DNS in China. Version 1.3.2 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:chinadns-c
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install chinadns-c
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:chinadns-c
- **Package manager:** Homebrew
- **Version:** 1.3.2
- **Source summary:** Port of ChinaDNS to C: fix irregularities with DNS in China
- **Homepage:** <https://github.com/shadowsocks/ChinaDNS>
- **Repository:** <https://github.com/shadowsocks/ChinaDNS>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- chinadns (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.3.2
## Project history and usage

ChinaDNS-C is the packaged C implementation of ChinaDNS, a small DNS forwarder built for networks affected by DNS poisoning and CDN split-horizon behavior.

### Project history

The upstream repository started in 2014 and its README describes a DNS design that queries local resolvers for Chinese domains and foreign resolvers for foreign domains, using a relatively stable Chinese IP range file instead of fast-changing domain lists. The project is closely tied to the Shadowsocks-era anti-censorship tooling ecosystem and explicitly points users toward VPN software such as ShadowVPN for IP blocking.

### Adoption history

Upstream documented Linux/Unix builds, OpenWrt packaging, Tomato-router cross-compilation, and a Windows Python executable, which made the tool relevant beyond a single desktop formula. Homebrew packages the C port as chinadns-c and tracks the 1.3.2 release tarball.

### How it is used

Typical use is running chinadns as a local UDP DNS server, often with dnsmasq on routers, with a chnroute.txt file generated from APNIC delegated address data and options such as DNS compression pointer mutation.

### Why package nerds care

For package people, chinadns-c is a compact example of network-circumvention software moving from router firmware workflows into general-purpose package managers, with Homebrew preserving a once-active C utility from the Shadowsocks orbit.

### Timeline

- 2014: First commits in the official ChinaDNS repository.
- 2014: 1.0.0 tag appears shortly after the initial import.
- 2015: README copyright and later 1.3.x tags show the mature C release line packaged by Homebrew.
- 2026: Homebrew still exposes chinadns-c as a bottled formula at stable version 1.3.2.

### Related projects

- The README names ShadowVPN as companion VPN software and dnsmasq as the recommended local DNS front end on OpenWrt. chnroute.txt generation is based on APNIC delegated address data.

### Sources

- <https://github.com/shadowsocks/ChinaDNS#readme>
- <https://formulae.brew.sh/api/formula/chinadns-c.json>
- <https://github.com/shadowsocks/ChinaDNS>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Combined YAML source

View the package source record on GitHub. [combined/chinadns-c.yml](https://github.com/mxcl/pkgdb/blob/main/combined/chinadns-c.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
