mirror of
https://github.com/sooox-cc/domainchecker.git
synced 2026-10-02 18:08:36 +02:00
Python tool for discovering available domain names by analyzing the NLTK words corpus and checking domain availability across common TLDs. Features intelligent word splitting, robust error handling, and automatic progress saving.
- Python 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| domain-checker.py | ||
| LICENCE | ||
| README.md | ||
| requirements.txt | ||
Domain Availability Checker
A Python tool that analyzes the NLTK words corpus to find available domain names by intelligently splitting words and checking their availability with common TLDs (Top Level Domains).
🚀 Features
- Intelligently splits words to find potential domain names
- Checks domain availability across multiple TLDs
- Implements robust error handling and retry mechanisms
- Saves progress automatically and can resume interrupted checks
- Comprehensive logging system
- Rate limiting to respect WHOIS servers
- Progress tracking with detailed statistics
📋 Requirements
- Python 3.8 or higher
- Required packages listed in
requirements.txt
🔧 Installation
- Clone the repository:
git clone https://github.com/sooox-cc/domainchecker.git
cd domain-checker
- Create and activate a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
- Install required packages:
pip install -r requirements.txt
- Download NLTK data (the script will do this automatically on first run):
import nltk
nltk.download('words')
💻 Usage
Basic usage:
from domain_checker import DomainChecker
# Initialize checker with default settings
checker = DomainChecker()
results = checker.run()
# Or specify a word limit for testing
checker = DomainChecker(word_limit=1000)
results = checker.run()
The script will create a results directory containing:
- JSON files with available domains
- JSON files with unavailable domains
- JSON files with domains that encountered errors
- A detailed log file
📊 Output Structure
Results are saved in the following format:
{
"available": ["domain1.com", "domain2.net", ...],
"unavailable": ["taken1.com", "taken2.org", ...],
"errors": ["error1.com", "error2.io", ...]
}
⚠️ Rate Limiting
The script implements a 1-second delay between WHOIS requests to avoid rate limiting. You can adjust this in the code if needed, but be cautious about making too many rapid requests.
📝 Logging
Logs are saved to domain_checker.log and include:
- Start/end of checking process
- Individual domain check results
- Errors and exceptions
- Progress updates
This project is licensed under the MIT License - see the LICENSE file for details.
