π Get notified instantly when your dream domain becomes available!
A powerful Python CLI tool that monitors domain availability across multiple TLDs and sends real-time alerts via Telegram, Discord, Email, or Webhooks.
- Never miss a domain drop - Get instant notifications when domains become available
- No false positives - Two-source verification (RDAP + WHOIS) ensures accuracy
- Multiple alert channels - Telegram, Discord, Email, or custom webhooks
- Set it and forget it - Run on a schedule and get notified automatically
- Privacy-focused - Self-hosted, your data stays with you
| Feature | Description |
|---|---|
| π Multi-TLD | .de, .com, .net, .org, .eu, .at |
| π RDAP + WHOIS | Official registry queries with fallback |
| π± Telegram | Instant mobile notifications |
| π¬ Discord | Webhook integration for servers |
| π§ Email | SMTP support for email alerts |
| π Webhooks | Custom HTTP endpoints |
| π« No Spam | Smart deduplication - alert only once per domain |
| β±οΈ Rate Limiting | Respects registry limits automatically |
| π Retry Logic | Handles transient errors gracefully |
| π Multilingual | German π©πͺ & English π¬π§ |
git clone https://github.com/FlexKleks/DomainChecker.git
cd DomainChecker
pip install -e .cp config.example.json config.json
# Edit config.json - add your Telegram token, domains, etc.cp domains.example.txt domains.txt
# Add domains to monitor (one per line)python -m domain_checker.cli check-list domains.txt --config config.jsonπ’ Domain available!
Domain: mydream-domain.com
Status: Available
Time: Dec 10, 2025, 5:30 AM
{
"language": "en",
"notifications": {
"telegram": {
"enabled": true,
"bot_token": "YOUR_BOT_TOKEN",
"chat_id": "YOUR_CHAT_ID"
}
}
}π² Telegram Setup Guide
- Message @BotFather β
/newbot - Save the bot token
- Start a chat with your bot, send any message
- Get chat ID:
https://api.telegram.org/bot<TOKEN>/getUpdates - Add both to your
config.json
π¬ Discord Setup Guide
- Server Settings β Integrations β Webhooks
- Create Webhook β Copy URL
- Add to config:
"discord": {
"enabled": true,
"webhook_url": "https://discord.com/api/webhooks/..."
}# Check single domain
python -m domain_checker.cli check example.com --config config.json
# Check multiple domains
python -m domain_checker.cli check-list domains.txt --config config.json
# Test mode (no real requests)
python -m domain_checker.cli check example.com --dry-run
# Verify connectivity
python -m domain_checker.cli self-test --config config.json# Create scheduled task to run every 6 hours
python -m domain_checker.cli check-list domains.txt --config config.json# Every 6 hours
0 */6 * * * cd /path/to/DomainChecker && python -m domain_checker.cli check-list domains.txt --config config.jsonClick to expand systemd setup
- Create service file
/etc/systemd/system/domain-checker.service:
[Unit]
Description=Domain Availability Checker
After=network.target
[Service]
Type=oneshot
User=your-user
WorkingDirectory=/path/to/DomainChecker
ExecStart=/usr/bin/python3 -m domain_checker.cli check-list domains.txt --config config.json- Create timer file
/etc/systemd/system/domain-checker.timer:
[Unit]
Description=Run Domain Checker every 6 hours
[Timer]
OnBootSec=5min
OnUnitActiveSec=6h
Persistent=true
[Install]
WantedBy=timers.target- Enable and start:
sudo systemctl daemon-reload
sudo systemctl enable domain-checker.timer
sudo systemctl start domain-checker.timerClick to expand Pelican Panel setup
- Create a new server with a Python egg
- Set the startup command:
cd /home/container && pip install -e . && python -m domain_checker.cli check-list domains.txt --config config.json- Create
start.shin your server files:
#!/bin/bash
cd /home/container
# Install dependencies (first run only)
if [ ! -d "venv" ]; then
python3 -m venv venv
source venv/bin/activate
pip install -e .
else
source venv/bin/activate
fi
# Run the checker in a loop
while true; do
echo "[$(date)] Starting domain check..."
python -m domain_checker.cli check-list domains.txt --config config.json
echo "[$(date)] Check complete. Sleeping for 6 hours..."
sleep 21600 # 6 hours in seconds
done- Set startup command to:
bash start.sh
If your panel supports schedules:
- Go to Schedules in your server panel
- Create a new schedule (e.g., every 6 hours)
- Add a task with command:
python -m domain_checker.cli check-list domains.txt --config config.json/home/container/
βββ config.json # Your configuration
βββ domains.txt # Domains to monitor
βββ start.sh # Startup script (optional)
βββ src/
β βββ domain_checker/ # Application code
βββ .domain_checker/ # State files (auto-created)
docker run -v ./config.json:/app/config.json flexkleks/domain-checkerπ See SUPPORTED_TLDS.md for the complete list with RDAP/WHOIS endpoints.
Click to expand full list
| Category | TLDs |
|---|---|
| Generic | .com, .net, .org, .info, .biz, .name, .mobi, .pro |
| Tech | .io, .co, .app, .dev, .ai, .tech, .cloud, .digital, .software, .systems, .network, .solutions, .agency, .studio, .design, .media |
| Popular New | .xyz, .online, .site, .store, .shop, .club, .live, .life, .world, .today, .space, .fun, .top, .vip, .one, .blog, .news, .email, .link, .click |
| Europe | .de, .eu, .at, .ch, .li, .nl, .be, .fr, .it, .es, .pt, .pl, .cz, .sk, .hu, .ro, .bg, .hr, .si, .rs, .gr, .tr |
| Nordic | .se, .dk, .no, .fi, .is |
| UK & Ireland | .uk, .co.uk, .org.uk, .me.uk, .ie |
| Americas | .us, .ca, .mx, .br, .ar, .cl, .co, .pe |
| Asia Pacific | .au, .com.au, .nz, .jp, .cn, .hk, .tw, .kr, .in, .sg, .my, .th, .id, .ph, .vn |
| Middle East & Africa | .ae, .sa, .il, .za, .ng, .ke, .eg, .ma |
| CIS | .ru, .ua, .by, .kz, .uz |
| Special | .me, .tv, .cc, .ws, .fm, .gg, .to, .la, .ly, .vc, .gl, .im, .sh, .ac |
| Business | .company, .business, .consulting, .services, .group, .team, .work, .jobs, .careers, .finance, .money, .capital, .ventures, .holdings, .partners, .legal, .law, .tax, .accountant, .insurance |
| Lifestyle | .art, .music, .video, .photo, .photography, .gallery, .fashion, .style, .fitness, .health, .yoga, .travel, .holiday, .restaurant, .cafe, .bar, .beer, .wine, .pizza, .game, .games, .casino, .bet |
| Real Estate | .house, .homes, .property, .properties, .land, .estate, .apartments, .rent |
| Education | .edu, .academy, .school, .university, .college, .training, .courses, .community, .social, .chat, .forum |
.page, .new, .how, .soy, .foo |
Contributions are welcome! See CONTRIBUTING.md for guidelines.
- β Star this repo if you find it useful!
- π Report bugs via Issues
- π‘ Request features via Issues
- π Submit PRs for improvements
MIT License - Free for personal and commercial use.
If this project helped you, please consider giving it a β!
Made with β€οΈ by FlexKleks