# NAME App::rdapper - a simple console-based [RDAP](https://about.rdap.org) client. # INSTALLATION To install, run: cpanm --sudo App::rdapper # RUNNING VIA DOCKER The [git repository](https://github.com/gbxyz/rdapper) contains a `Dockerfile` that can be used to build an image on your local system. Alternatively, you can pull the [image from Docker Hub](https://hub.docker.com/r/gbxyz/rdapper): $ docker pull gbxyz/rdapper $ docker run -it gbxyz/rdapper --help # SYNOPSIS General form: rdapper [OPTIONS] OBJECT Examples: rdapper example.com rdapper --tld foo rdapper 192.168.0.1 rdapper https://rdap.org/domain/example.com rdapper --search "exampl*.com" # DESCRIPTION `rdapper` is a simple RDAP client. It uses [Net::RDAP](https://metacpan.org/pod/Net%3A%3ARDAP) to retrieve data about internet resources (domain names, IP addresses, and autonymous systems) and outputs the information in a human-readable format. If you want to consume this data in your own program you should use [Net::RDAP](https://metacpan.org/pod/Net%3A%3ARDAP) directly. # OPTIONS You can pass any internet resource as an argument; this may be: - a "forward" domain name such as `example.com`; - a top-level domain such as `com`; - a IPv4 or IPv6 address or CIDR prefix, such as `192.168.0.1` or `2001:DB8::/32`; - an Autonymous System Number such as `AS65536`. - a "reverse" domain name such as `168.192.in-addr.arpa`; - the URL of an RDAP resource such as `https://example.com/rdap/domain/example.com`. - the "tagged" handle of an entity, such as an LIR, registrar, or domain admin/tech contact. Because these handles are difficult to distinguish from domain names, you must use the `--type` argument to explicitly tell `rdapper` that you want to perform an entity query, .e.g `rdapper --type=entity ABC123-EXAMPLE`. `rdapper` also implements limited support for in-bailiwick nameservers, but you must use the `--nameserver` argument to disambiguate from domain names. The RDAP server of the parent domain's registry will be queried. ## ARGUMENTS - `--registry` - display the registry record only. This was the default behaviour prior to v1.12. - `--registrar` - follow referral to the registrar's RDAP record (if any) which will be displayed instead of the registry record. If no registrar link can be found, the registry record will be displayed. This option cannot be used with `--registry`. As of v1.12, this is the default behaviour. - `--both` - display both the registry and (if any) registrar RDAP records. - `--reverse` - if you provide an IP address or CIDR prefix, then this option causes `rdapper` to display the record of the corresponding `in-addr.arpa` or `ip6.arpa` domain. - `--type=TYPE` - explicitly set the object type. `rdapper` will guess the type by pattern matching the value of `OBJECT` but you can override this by explicitly setting the `--type` argument to one of : `ip`, `autnum`, `domain`, `nameserver`, `entity` or `url`. - If `--type=url` is used, `rdapper` will directly fetch the specified URL and attempt to process it as an RDAP response. If the URL path ends with `/help` then the response will be treated as a "help" query response (if you want to see the record for the .help TLD, use `--type=tld help`). - If `--type=entity` is used, `OBJECT` must be a a string containing a "tagged" handle, such as `ABC123-EXAMPLE`, as per [RFC 8521](https://datatracker.ietf.org/doc/html/rfc8521). - `--$TYPE` - alias for `--type=$TYPE`. eg `--domain`, `--autnum`, etc. - `--search` - perform a search. - `--help` - display help message. - `--version` - display package and version. - `--raw` - print the raw JSON rather than parsing it. - `--short` - omit remarks, notices, links and redactions. - `--bypass-cache` - disable local cache of RDAP objects. - `--auth=USER:PASS` - HTTP Basic Authentication credentials to be used when accessing the specified resource. This option **SHOULD NOT** be used unless you explicitly specify a URL, otherwise your credentials may be sent to servers you aren't expecting them to. - `--nocolor` - disable ANSI colors in the formatted output. - `--debug` -run in debugging mode. # RDAP Search Some RDAP servers support the ability to perform simple substring searches. You can use the `--search` option to enable this functionality. When the `--search` option is used, `OBJECT` will be used as a search term. If it contains no dots (e.g. `exampl*`), then `rdapper` will send a search query for `exampl*` to _all_ known RDAP servers. If it contains one or more dots (e.g. `exampl*.com`), it will send the search query to the RDAP server for the specified TLD (if any). Any errors observed will be printed to `STDERR`; any search results will be printed to `STDOUT`. As of writing, search is only available for domain names. # INTERNATIONALIZATION & LOCALIZATION `rdapper` is internationalized. When performing RDAP queries, it will provide the user's preferred language in the \`Accept-Language\` header, however very few RDAP servers currently provide localized responses. Its output will also be translated (where translations are available). If you would like rdapper to support your preferred language, please see the advice on contributing translations in [App::rdapper:l10n](https://metacpan.org/pod/App%3A%3Ardapper%3Al10n) # CONFIGURATION FILE If `~/.rdapper` exists, then its contents will be appended to the list of arguments the program runs with. So if it contained --short --bypass-cache Then running `rdapper EXAMPLE.COM` will behave like `rdapper EXAMPLE.COM --short --bypass-cache`. # COPYRIGHT & LICENSE Copyright (c) 2012-2023 CentralNic Ltd. Copyright (c) 2023-2025 Gavin Brown. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.