#dns #c-ares #requests #api-bindings #async #user

c-ares

A Rust wrapper for the c-ares library, for asynchronous DNS requests

65 releases (39 stable)

11.1.0 Oct 10, 2024
10.1.0 Jul 3, 2024
9.2.1 May 26, 2024
9.0.0 Feb 23, 2024
0.9.0 Jul 30, 2015

#1705 in Network programming

Download history 959/week @ 2025-03-08 754/week @ 2025-03-15 978/week @ 2025-03-22 924/week @ 2025-03-29 1443/week @ 2025-04-05 974/week @ 2025-04-12 667/week @ 2025-04-19 673/week @ 2025-04-26 1196/week @ 2025-05-03 1273/week @ 2025-05-10 1336/week @ 2025-05-17 539/week @ 2025-05-24 989/week @ 2025-05-31 758/week @ 2025-06-07 1418/week @ 2025-06-14 1120/week @ 2025-06-21

4,341 downloads per month
Used in 10 crates (3 directly)

MIT license

2MB
47K SLoC

C 27K SLoC // 0.2% comments C++ 12K SLoC // 0.1% comments Rust 5.5K SLoC // 0.0% comments M4 1.5K SLoC // 0.4% comments Bitbake 312 SLoC // 0.0% comments Shell 119 SLoC // 0.2% comments Automake 110 SLoC // 0.3% comments Batch 8 SLoC // 0.5% comments

rust-c-ares

A Rust wrapper for the c-ares library, for asynchronous DNS requests.

Most users should likely prefer c-ares-resolver, which offers a much simpler API.

Crates.io Build Status

Documentation

  • API documentation is here.
  • There are some example programs here.

Setting the feature build-cmake will cause the c-ares library to be built using cmake. This is significantly faster than the default autotools build on unix platforms: so if it works for you, you should probably prefer it.

Contributing

Contributions are welcome. Please send pull requests!

Dependencies

~0.5–10MB
~97K SLoC