Download the PHP package klkvsk/whoeasy without Composer

On this page you can find all versions of the php package klkvsk/whoeasy. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package whoeasy

Whoeasy

Packagist Version PHP Version License

Smart WHOIS + RDAP client and parser for PHP. Lookup domain names, IP addresses and AS numbers. Get structured, typed results from both WHOIS (RFC 3912) and RDAP (RFC 7480/9083) protocols with automatic server discovery, referral following, and result merging.

Features

Installation

Requirements: PHP 8.2+, ext-mbstring

Recommended: ext-curl (required for RDAP; WHOIS falls back to sockets without it)

Quick Start

Error Handling

Whoeasy never throws on empty results. Errors are attached to individual protocol hops.

Query Modes

Mode Enum value Behavior
Prefer RDAP (default) QueryMode::PreferRdap Try RDAP first, fall back to WHOIS on failure
Prefer WHOIS QueryMode::PreferWhois Try WHOIS first, fall back to RDAP on failure
RDAP only QueryMode::RdapOnly RDAP only, no WHOIS fallback
WHOIS only QueryMode::WhoisOnly WHOIS only, no RDAP
Both QueryMode::Both Query both protocols, merge results (RDAP priority)

Options

QueryOptions is a readonly class — pass it to Whoeasy::create() as defaults or per-query.

Field Type Default Description
mode QueryMode PreferRdap Protocol selection strategy
proxyUri ?string null SOCKS5 or HTTP proxy URI
whoisTimeout int 15 WHOIS request timeout in seconds
rdapTimeout int 15 RDAP request timeout in seconds
recursive bool true Follow referrals to authoritative servers
maxReferrals int 3 Maximum referral hops to follow

Result Structure

All info classes are readonly with typed properties and a toArray() method.

DomainInfoname, registrar (Registrar), createdDate, updatedDate, expiresDate, status[], nameservers[] (Nameserver), contacts[] (Contact), dnssec

IpInforange, networkName, description, asNumber, country, createdDate, updatedDate, status[], contacts[] (Contact)

AsnInfoasn, name, description, country, createdDate, updatedDate, status[], contacts[] (Contact)

Registrarname, ianaId, url, abuseEmail, abusePhone

Nameserverhostname, ipv4, ipv6

Contacttype (ContactType enum: Registrant/Admin/Tech/Abuse), name, organization, email, phone, fax, address

All dates are formatted as "Y-m-d H:i:s". Nullable fields return null when data is unavailable.

Accessing Raw Data

QueryResult contains protocol-level details through hops:

CLI

Option Description
-m, --mode <mode> Query mode: prefer-rdap (default), prefer-whois, rdap-only, whois-only, both
-p, --proxy <uri> Proxy address (SOCKS5 or HTTP)
-r, --recursive Follow referrals (default)
--no-recursive Do not follow referrals
-F, --full Output full result with hops (default: info only)
-v, --verbose Show info-level log output
-vv, --debug Show debug-level log output (includes raw responses)
-h, --help Show help message

You can also run whoeasy without installing it as a dependency using cpx:

What's New in v2

Data Sources

Server registry data is generated at build time from:

The generated PHP arrays are stored in src/Registry/Data/ and loaded via opcache with no runtime network I/O for server discovery.

Testing

The parser is tested against stored fixtures — raw WHOIS/RDAP responses paired with .expected.json files containing the expected parsed output.

Contributing

Issues and pull requests welcome at github.com/klkvsk/whoeasy.

Fixture workflow:

  1. Add raw WHOIS/RDAP response files to tests/Fixture/
  2. Generate .expected.json sidecar files (use the /generate-expected Claude skill)
  3. Run vendor/bin/phpunit to verify parsing
  4. If tests fail, use the /develop-parser Claude skill to iteratively fix the parser

License

Apache-2.0 — see LICENSE for details.


All versions of whoeasy with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
ext-mbstring Version *
ext-curl Version *
psr/log Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package klkvsk/whoeasy contains the following files

Loading the files please wait ...