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§
- Check
Config - Configuration options for domain checking operations.
- Config
Manager - Configuration discovery and loading functionality.
- Domain
Checker - Main domain checker that coordinates availability checking operations.
- Domain
Info - Detailed information about a registered domain.
- Domain
Result - Result of a domain availability check.
- File
Config - Configuration loaded from TOML files.
- Library
Info - Information about the library build and features
Enums§
- Check
Method - Method used to check domain availability.
- Domain
Check Error - Main error type for domain checking operations.
- Output
Mode - Output mode for displaying results.
Constants§
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.