Crate domain_check_lib

Source
Expand description

§Domain Check Library

A fast, robust library for checking domain availability using RDAP and WHOIS protocols.

This library provides both high-level and low-level APIs for domain availability checking, with support for concurrent processing, multiple protocols, and comprehensive error handling.

§Quick Start

use domain_check_lib::{DomainChecker, CheckConfig};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let checker = DomainChecker::new();
    let result = checker.check_domain("example.com").await?;
     
    println!("Domain: {} - Available: {:?}", result.domain, result.available);
    Ok(())
}

§Features

  • RDAP Protocol: Modern registration data access protocol
  • WHOIS Fallback: Automatic fallback when RDAP is unavailable
  • Concurrent Processing: Efficient parallel domain checking
  • Bootstrap Registry: Dynamic RDAP endpoint discovery
  • Configurable: Extensive configuration options

Structs§

CheckConfig
Configuration options for domain checking operations.
ConfigManager
Configuration discovery and loading functionality.
DomainChecker
Main domain checker that coordinates availability checking operations.
DomainInfo
Detailed information about a registered domain.
DomainResult
Result of a domain availability check.
FileConfig
Configuration loaded from TOML files.
LibraryInfo
Information about the library build and features

Enums§

CheckMethod
Method used to check domain availability.
DomainCheckError
Main error type for domain checking operations.
OutputMode
Output mode for displaying results.

Constants§

AUTHOR
VERSION

Functions§

expand_domain_inputs
Expand domain inputs based on smart detection rules.
get_all_known_tlds
Get all TLDs that we have RDAP endpoints for.
get_available_presets
Get available preset names.
get_preset_tlds
Get predefined TLD presets for common use cases.
get_preset_tlds_with_custom
Get predefined TLD presets with custom preset support.
info
Get library information for debugging or display purposes.
init
Initialize the library with default settings.
load_env_config
Load configuration from environment variables.

Type Aliases§

Result