Skip to content
Andrew Newton edited this page Feb 3, 2025 · 9 revisions

This project contains ICANN's open-source implementation of the Registry Data Access Protocol (RDAP). It includes four Rust packages (crates):

  • icann-rdap-cli: Command-line interface client.
  • icann-rdap-client: A Rust library for making RDAP requests.
  • icann-rdap-common: A Rust library of RDAP data structures.
  • icann-rdap-srv: Simple, in-memory RDAP server.

Installation

Homebrew

If you are a user of Homebrew, the rdap and rdap-test commands are available in the Homebrew core tap (the server cannot be installed with this method).

To install:

brew install icann-rdap

Pre-Built Binaries

Pre-built binaries are available for most mainstream systems: x86_64 and Arm 64bit for Linux GNU systems, x86_64 and Arm 64bit macOS, and x86_64 for Windows. You may find the pre-built binaries on the Releases page.

For non-Debian-based Linux, compiling from crates.io or source (both are easy) is recommended to avoid issues with dynamic linking to OpenSSL.

Compiling from crates.io

If you have Rust installed on your system, then compiling from source is very straightforward. If you do not have Rust installed on your system, it is usually very easy to do: see Rustup.

If you are on a Linux system, you will need OpenSSL development files. For Debian and Ubuntu, this is usually done via apt install pkg-config libssl-dev. For other Linux systems, consult your packaging documentation.

For macOS and Windows, the native TLS libraries are used, and there are no steps needed to install them.

To build and install: cargo install icann-rdap-cli.

Compiling from Source

If you have Rust installed on your system, then compiling from source is very straightforward. If you do not have Rust installed on your system, it is usually very easy to do: see Rustup.

If you are on a Linux system, you will need OpenSSL development files. For Debian and Ubuntu, this is usually done via apt install pkg-config libssl-dev. For other Linux systems, consult your packaging documentation.

For macOS and Windows, the native TLS libraries are used, and there are no steps needed to install them.

Run the tests: cargo test

Then build the software: cargo build --release. The executable binaries will be available in the target/release directory.

Clone this wiki locally