🍺 BREW Explorer

← all formulae

c-ares

brew install c-ares v1.34.6 MIT

C library for asynchronous DNS resolution without blocking.

Why you might care

c-ares enables non-blocking DNS queries in network applications, essential for high-concurrency servers and parallel lookups. It's a build dependency for libraries like libcurl and Node.js, and preferred when you need fine-grained control over resolver behavior or must avoid libc's blocking getaddrinfo().

Categories

Alternatives

getaddrinfo libc libunbound systemd-resolved
77.9k
30-day installs · #63
296.1k
90-day · #49
1.1M
365-day · #45

Build dependencies

Links

Blurb generated by claude-haiku-4-5 on today.

Raw metadata
{
  "aliases": [],
  "alternatives": [
    "getaddrinfo",
    "libc",
    "libunbound",
    "systemd-resolved"
  ],
  "build_dependencies": [
    "cmake"
  ],
  "categories": [
    "library",
    "networking",
    "dns"
  ],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Asynchronous DNS library",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:36:03+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "c-ares",
  "github_default_branch": null,
  "github_last_commit_at": null,
  "github_readme_excerpt": null,
  "github_repo": null,
  "github_stars": null,
  "github_topics": [],
  "homepage": "https://c-ares.org/",
  "homepage_og_description": "c-ares is a modern DNS (stub) resolver library, written in C. It provides interfaces for asynchronous queries while trying to abstract the intricacies of the underlying DNS protocol. It was originally intended for applications which need to perform DNS queries without blocking, or need to perform multiple DNS queries in parallel.",
  "homepage_og_image": null,
  "homepage_title": "c-ares: a modern asynchronous DNS resolver | c-ares is a modern DNS (stub) resolver library, written in C. It provides interfaces for asynchronous queries while trying to abstract the intricacies of the underlying DNS protocol. It was originally intended for applications which need to perform DNS queries without blocking, or need to perform multiple DNS queries in parallel.",
  "installs_30d": 77855,
  "installs_365d": 1092635,
  "installs_90d": 296059,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "MIT",
  "llm_generated_at": "2026-06-20T23:42:27+00:00",
  "llm_model": "claude-haiku-4-5",
  "name": "c-ares",
  "oldnames": [],
  "one_liner": "C library for asynchronous DNS resolution without blocking.",
  "optional_dependencies": [],
  "rank_30d": 63,
  "rank_365d": 45,
  "rank_90d": 49,
  "raw_hash": "a2e4beb0408940fe",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/c/c-ares.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [],
  "version_head": "HEAD",
  "version_stable": "1.34.6",
  "versioned_formulae": [],
  "why_use_this": "c-ares enables non-blocking DNS queries in network applications, essential for high-concurrency servers and parallel lookups. It\u0027s a build dependency for libraries like libcurl and Node.js, and preferred when you need fine-grained control over resolver behavior or must avoid libc\u0027s blocking getaddrinfo()."
}