dotcom
A powerful Rust-based developer toolkit for querying and analyzing domain names. The dotcom toolkit provides flexible domain analysis capabilities, including availability checking, domain suggestions, monitoring, and comprehensive domain analysis.
Features
- Domain Availability Check: Quickly check if domains are available
- Domain Search: Generate domain suggestions based on keywords
- Enhanced Dictionary Integration: Real English word validation with 200+ curated words
- Domain Analysis: Analyze domain characteristics including:
- Length and TLD analysis
- Advanced English word detection using dictionary service
- Pronounceability scoring
- Dictionary-enhanced brandability and memorability scores
- SEO potential assessment based on real word status
- Dictionary Lookup: Standalone word validation and lookup functionality
- Domain Monitoring: Track domain changes over time (planned)
- Flexible Output: Support for multiple output formats
- Extensible API: Easy to integrate with various domain registrars and WHOIS services
Installation
From Source
Prerequisites
- Rust 1.75+ (with Cargo)
- Internet connection for API calls
Usage
Basic Commands
Check Domain Availability
# Check if a domain is available
# Check with detailed information
Search for Domains
# Search for domains with keywords
# Search with specific TLDs
# Limit results and show only available domains
Analyze Domain Characteristics
# Basic analysis
# Comprehensive analysis
Dictionary Lookup
# Look up words in the English dictionary
# Show detailed information (when API is enabled)
Monitor Domains
# Monitor domains for changes
Command Reference
dotcom check <DOMAIN>
Check domain availability and information.
Options:
-v, --verbose
: Show detailed information including expiry date and registrar
dotcom search <KEYWORDS>...
Search for available domains based on keywords.
Options:
-t, --tld <TLD>
: TLD extensions to search (default: com,net,org)-l, --limit <LIMIT>
: Maximum number of results (default: 10)-a, --available-only
: Only show available domains
dotcom analyze <DOMAINS>...
Analyze domain characteristics and provide scoring.
Options:
-v, --verbose
: Show detailed analysis including brandability and memorability scores-w, --check-words
: Check if domains are English words using enhanced dictionary-p, --patterns
: Analyze domain length and patterns-d, --show-definitions
: Show dictionary definitions and details--use-api
: Use API for enhanced dictionary lookups (includes definitions)
dotcom dict <WORDS>...
Look up words in the English dictionary.
Options:
-v, --verbose
: Show detailed information including definitions--use-api
: Use API for enhanced dictionary lookups (includes definitions)
dotcom monitor <DOMAINS>...
Monitor domains for changes (planned feature).
Options:
-i, --interval <INTERVAL>
: Check interval in minutes (default: 60)
Architecture
The dotcom toolkit is built with a modular architecture:
src/
├── main.rs # Application entry point
├── cli/ # Command-line interface
│ ├── mod.rs # CLI structure and routing
│ ├── check.rs # Domain availability checking
│ ├── search.rs # Domain search functionality
│ ├── analyze.rs # Domain analysis
│ ├── dict.rs # Dictionary lookup command
│ └── monitor.rs # Domain monitoring
├── api/ # API clients for domain services
│ └── mod.rs # HTTP client and API integrations
├── config/ # Configuration management
│ └── mod.rs # App configuration and settings
├── dictionary/ # English dictionary service
│ └── mod.rs # Word validation and lookup
├── domain/ # Domain data structures
│ └── mod.rs # Domain info, analysis, and suggestions
└── utils/ # Utility modules
├── mod.rs # Utility module exports
└── analyzer.rs # Domain analysis logic
Configuration
The toolkit supports configuration through environment variables:
# API Keys for various services
# Default settings
Development
Running Tests
Building
# Debug build
# Release build
Adding New API Providers
- Add your API client to
src/api/mod.rs
- Implement the required trait methods
- Add configuration options to
src/config/mod.rs
- Update the CLI commands as needed
Future Enhancements
- Real API Integration: Connect to actual WHOIS and registrar APIs
- Database Storage: Store domain information and monitoring history
- Web Interface: Add a web UI for easier interaction
- Advanced Analysis: ML-based domain scoring and suggestions
- Batch Processing: Support for bulk domain operations
- Export Formats: JSON, CSV, and XML output support
- Monitoring Alerts: Email/webhook notifications for domain changes
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Examples
Check Multiple Domains
# Check several domains at once
for; do
done
Find Brandable Domains
# Search for short, brandable domains
Analyze Domain Portfolio
# Analyze your domain portfolio
Built with ❤️ in Rust