Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

πŸ”” Get notified when your dream domain becomes available! Monitor domains across .com, .de, .net, .org, .eu, .at with Telegram, Discord, Email alerts.

License

Notifications You must be signed in to change notification settings

FlexKleks/DomainChecker

Open more actions menu

Repository files navigation

πŸ›‘οΈ Domain Availability Checker

Tests Python 3.11+ License: MIT GitHub stars GitHub forks

πŸ”” 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.

Telegram Discord Email Webhooks


🎯 Why Use This?

  • 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

✨ Features

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 πŸ‡¬πŸ‡§

πŸ“¦ Quick Install

git clone https://github.com/FlexKleks/DomainChecker.git
cd DomainChecker
pip install -e .

πŸš€ Quick Start

1️⃣ Configure

cp config.example.json config.json
# Edit config.json - add your Telegram token, domains, etc.

2️⃣ Add Domains

cp domains.example.txt domains.txt
# Add domains to monitor (one per line)

3️⃣ Run

python -m domain_checker.cli check-list domains.txt --config config.json

πŸ“± Example Telegram Notification

🟒 Domain available!

Domain: mydream-domain.com
Status: Available
Time: Dec 10, 2025, 5:30 AM

βš™οΈ Configuration

{
  "language": "en",
  "notifications": {
    "telegram": {
      "enabled": true,
      "bot_token": "YOUR_BOT_TOKEN",
      "chat_id": "YOUR_CHAT_ID"
    }
  }
}
πŸ“² Telegram Setup Guide
  1. Message @BotFather β†’ /newbot
  2. Save the bot token
  3. Start a chat with your bot, send any message
  4. Get chat ID: https://api.telegram.org/bot<TOKEN>/getUpdates
  5. Add both to your config.json
πŸ’¬ Discord Setup Guide
  1. Server Settings β†’ Integrations β†’ Webhooks
  2. Create Webhook β†’ Copy URL
  3. Add to config:
"discord": {
  "enabled": true,
  "webhook_url": "https://discord.com/api/webhooks/..."
}

πŸ› οΈ CLI Commands

# 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

πŸ”„ Automated Monitoring

Windows Task Scheduler

# Create scheduled task to run every 6 hours
python -m domain_checker.cli check-list domains.txt --config config.json

Linux Cron

# Every 6 hours
0 */6 * * * cd /path/to/DomainChecker && python -m domain_checker.cli check-list domains.txt --config config.json

Systemd Service (Linux)

Click to expand systemd setup
  1. 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
  1. 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
  1. Enable and start:
sudo systemctl daemon-reload
sudo systemctl enable domain-checker.timer
sudo systemctl start domain-checker.timer

Pelican Panel / Pterodactyl

Click to expand Pelican Panel setup

Option 1: Using Startup Command

  1. Create a new server with a Python egg
  2. Set the startup command:
cd /home/container && pip install -e . && python -m domain_checker.cli check-list domains.txt --config config.json

Option 2: Using a Startup Script

  1. Create start.sh in 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
  1. Set startup command to: bash start.sh

Option 3: Using Schedule Feature

If your panel supports schedules:

  1. Go to Schedules in your server panel
  2. Create a new schedule (e.g., every 6 hours)
  3. Add a task with command:
python -m domain_checker.cli check-list domains.txt --config config.json

File Structure for Pelican

/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 (Coming Soon)

docker run -v ./config.json:/app/config.json flexkleks/domain-checker

🌐 Supported TLDs (193)

πŸ“‹ 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
Google .page, .new, .how, .soy, .foo

🀝 Contributing

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

πŸ“„ License

MIT License - Free for personal and commercial use.


⭐ Star History

If this project helped you, please consider giving it a ⭐!

Star History Chart

Made with ❀️ by FlexKleks

About

πŸ”” Get notified when your dream domain becomes available! Monitor domains across .com, .de, .net, .org, .eu, .at with Telegram, Discord, Email alerts.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.