rdap-tui is an open-source terminal client for the Registration Data Access Protocol (RDAP).
The Network Resources MVP supports interactive domain, IPv4, IPv6, CIDR, and ASN lookups with
structured registration, contact, resource, notice, and JSON views. Discovery uses the IANA
bootstrap registries and requests use verified HTTPS.
- C++20 compiler: GCC 13+, Clang 18+, or AppleClang 16+
- CMake 3.25+
- Conan 2.26+
# One-time setup only, if no Conan default profile exists:
# conan profile detect
conan lock create . --lockfile-out=conan.lock -s compiler.cppstd=20
conan install . --build=missing -s build_type=Release -s compiler.cppstd=20
cmake --preset conan-release
cmake --build --preset conan-release
ctest --preset conan-releaseRun the executable generated under build/Release/:
./build/Release/rdap-tuiConan also generates a conan-debug preset when installed with
-s build_type=Debug.
Tagged releases provide directly downloadable executables for Linux and macOS, plus a
SHA256SUMS file. Users may need to restore the executable bit after downloading:
chmod +x rdap-tui-v*-linux-* # or rdap-tui-v*-macos-*Enter an ASCII domain, Punycode A-label, IPv4 or IPv6 address, CIDR prefix, or ASN and press Enter.
ASN input accepts both AS13335 and 13335; numeric-only input is therefore treated as an ASN.
CIDR input is normalized to its network prefix before lookup.
The result is split into six views: Overview, Contacts, a resource-specific DNS/Network/Autnum view, Notices, Saved, and JSON. Press 1–6 to switch views while the query field is not focused. The JSON view retains both a pretty-printed document and the byte-preserving response.
Use Tab to move between controls, arrow keys or Page Up/Page Down to scroll, and Ctrl+C or Escape
to quit. When the query field is focused, Up/Down navigates the query history. Press f outside
the query field to toggle a favorite for the latest successful lookup or the current valid input.
The Saved view lists favorites and recent history; pressing Enter on an entry re-runs it.
rdap-tui [--help] [--version]
Malformed optional fields do not hide valid registration data: the structured projection reports warnings in the Notices view, while the complete response remains available under JSON.
The country shown for IP and ASN results is the registration country reported by the registry; it is not IP geolocation.
Unicode-to-IDNA conversion, BGP/RPKI data, geolocation, and binary packages remain outside this milestone.
The IANA bootstrap registries (used to find the authoritative RDAP service for a query) are
cached to disk, honoring the Cache-Control/ETag headers IANA returns, so repeated runs avoid
re-fetching them. The cache lives at:
- Linux:
$XDG_CACHE_HOME/rdap-tui/bootstrapwhenXDG_CACHE_HOMEis an absolute path (or~/.cache/rdap-tui/bootstrap) - macOS:
~/Library/Caches/rdap-tui/bootstrap
Deleting this directory clears the cache; a fresh copy is fetched on the next lookup.
Successful queries are saved locally as history, and favorites are stored in the same state file. Linux follows the XDG base directory specification and ignores relative XDG paths:
- Config:
$XDG_CONFIG_HOME/rdap-tui/config.json(or~/.config/rdap-tui/config.json) - State:
$XDG_STATE_HOME/rdap-tui/state.json(or~/.local/state/rdap-tui/state.json)
macOS stores both files in ~/Library/Application Support/rdap-tui/.
The optional config file currently supports:
{
"schema_version": 1,
"history_limit": 200
}Invalid or missing config/state files fall back to defaults and never prevent lookups.
Normal tests never access the Internet. To build the explicit smoke test:
conan install . --build=missing -s build_type=Debug -s compiler.cppstd=20 \
-o '&:network_tests=True'
cmake --preset conan-debug -DRDAP_ENABLE_NETWORK_TESTS=ON
cmake --build --preset conan-debug
ctest --preset conan-debug -L network --output-on-failureThe smoke test contacts IANA and authoritative services for example.com, 1.1.1.1, and
AS13335; external outages or rate limiting can therefore make it fail.
Discovery follows RFC 9224, query URLs follow RFC 9082, and responses follow RFC 9083. TLS verification is mandatory and redirects are restricted to HTTPS.
See CONTRIBUTING.md for development checks and SECURITY.md for reporting vulnerabilities.
Copyright © 2026 rdap-tui contributors.
Licensed under GPL-3.0-or-later. See LICENSE.