Skip to main content

Installation

The RDAP client is available through multiple package managers and can also be built from source. Choose the method that works best for your platform.

Quick Install

Install using extrepo (recommended):
sudo apt update && sudo apt install extrepo -y
sudo extrepo enable xtom
sudo apt update && sudo apt install rdap -y

Platform-Specific Instructions

Debian / Ubuntu

1

Using extrepo (Easiest)

This is the simplest method for Debian-based systems:
sudo apt update && sudo apt install extrepo -y
sudo extrepo enable xtom
sudo apt update && sudo apt install rdap -y
2

Manual Repository Setup (One-Line)

If you prefer to add the repository manually:
sudo apt install -y lsb-release ca-certificates apt-transport-https curl gnupg dpkg
# Add xTom repository
curl -fsSL https://repo.xtom.com/xtom.key | bash -c 'gpg --dearmor > /usr/share/keyrings/xtom.gpg'
echo "deb [signed-by=/usr/share/keyrings/xtom.gpg] https://repo.xtom.com/deb stable main" | sudo tee /etc/apt/sources.list.d/xtom.list
sudo apt update
sudo apt install rdap
3

DEB822 Format

For modern Debian/Ubuntu systems using DEB822 format:
sudo apt install -y lsb-release ca-certificates apt-transport-https curl gnupg dpkg
curl -fsSL https://repo.xtom.com/xtom.key | bash -c 'gpg --dearmor > /usr/share/keyrings/xtom.gpg'
sudo bash -c 'cat > /etc/apt/sources.list.d/xtom.sources << EOF
Components: main
Architectures: $(dpkg --print-architecture)
Suites: stable
Types: deb
Uris: https://repo.xtom.com/deb
Signed-By: /usr/share/keyrings/xtom.gpg
EOF'
sudo apt update
sudo apt install rdap -y

RHEL / CentOS / Rocky / Alma / Fedora

For RPM-based distributions:
# Add xTom repository
sudo curl -o /etc/yum.repos.d/xtom.repo https://repo.xtom.com/rpm/xtom.repo
sudo dnf install rdap
Use yum instead of dnf on older systems like CentOS 7.

macOS

Install using Homebrew:
# Install Homebrew if you haven't already: https://brew.sh/

# Add the xTom tap
brew tap xtomcom/brew

# Install rdap
brew install xtomcom/brew/rdap
Homebrew will automatically handle all dependencies for you.

Building from Source

Prerequisites

Before building, ensure you have Rust installed:
# Install Rust using rustup (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Ensure cargo is in your PATH
source $HOME/.cargo/env

Build and Install

1

Clone the Repository

git clone https://github.com/xtomcom/rdap.git
cd rdap
2

Build Release Version

Build an optimized release binary:
cargo build --release
The binary will be created at target/release/rdap.
3

Install to System

Copy the binary to your system path:
# Linux/macOS
sudo cp target/release/rdap /usr/local/bin/

# Make sure it's executable
sudo chmod +x /usr/local/bin/rdap
The release build uses aggressive optimizations (opt-level = 3, LTO, single codegen unit) and strips debug symbols, resulting in a binary of approximately 4MB.

Development Build

For development or testing, you can build without optimizations:
# Build debug version (faster compile, slower runtime)
cargo build

# Run directly without installing
cargo run -- example.com

# Run tests
cargo test

Using as a Library

To use RDAP as a library in your Rust project, add it to your Cargo.toml:
Cargo.toml
[dependencies]
rdap = { git = "https://github.com/xtomcom/rdap.git" }
tokio = { version = "1.49", features = ["full"] }
You can also specify a particular branch, tag, or commit:
# Use main branch
rdap = { git = "https://github.com/xtomcom/rdap.git", branch = "main" }

# Use a specific tag
rdap = { git = "https://github.com/xtomcom/rdap.git", tag = "v1.0.0" }

# Use a specific commit
rdap = { git = "https://github.com/xtomcom/rdap.git", rev = "abc123" }

Verifying Installation

After installation, verify that RDAP is working correctly:
# Check version
rdap --version

# Run a simple query
rdap example.com
You should see colorized output with domain information for example.com.

Configuration

After installation, you can optionally update the configuration files:
# Download latest configuration from GitHub
rdap --update
This command downloads:
  • config.json - Bootstrap URLs for IANA RDAP
  • tlds.json - TLD overrides for ccTLDs
  • tlds.txt - IANA TLD list
Files are stored in:
  • ~/.config/rdap/ (user configuration)
  • /etc/rdap/ (system-wide configuration)
The --update command will overwrite config.json and tlds.json but will never touch your *.local.json override files.

Troubleshooting

Command Not Found

If you get “command not found” after installing:
  1. Check if binary is in PATH:
    which rdap
    
  2. For cargo install, ensure cargo bin is in PATH:
    echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc
    
  3. For manual builds, verify the binary location:
    ls -la /usr/local/bin/rdap
    

SSL Certificate Errors

If you encounter SSL certificate errors:
# Temporarily disable SSL verification (not recommended for production)
rdap -k example.com

# Or update your system's CA certificates
sudo apt update && sudo apt install ca-certificates  # Debian/Ubuntu

Permission Denied

If you get permission errors when installing:
# Ensure you're using sudo for system-wide installation
sudo cp target/release/rdap /usr/local/bin/
sudo chmod +x /usr/local/bin/rdap

# Or install to user directory instead
mkdir -p ~/.local/bin
cp target/release/rdap ~/.local/bin/

Next Steps

Quickstart Guide

Learn how to use the RDAP client with practical examples

Build docs developers (and LLMs) love