A terminal-based tool to track domain expiry dates, days remaining, registrar info, and nameservers — all in a clean color-coded table.
Built with Python, python-whois, and rich.
- 📋 Color-coded table — red (<30 days), yellow (<90 days), green (safe)
- 💾 Domains saved locally — add once, check anytime
- ⚡ 24-hour cache — no repeated WHOIS lookups on every run
- 🌐 Shows registrar and nameservers for each domain
- 🖥️ OS agnostic — works on Linux, macOS, and Windows
- Python 3.8+
git clone https://github.com/yourusername/domain-expiry-tracker.git
cd domain-expiry-trackerLinux / macOS:
python3 -m venv venv
source venv/bin/activateWindows:
python -m venv venv
venv\Scripts\activatepip install python-whois rich# Show the expiry table (uses cache if fresh)
python domains.py
# Add a domain
python domains.py add example.com
# Remove a domain
python domains.py remove example.com
# List all saved domains (no WHOIS lookup)
python domains.py list
# Force refresh all WHOIS data
python domains.py refresh
# Show help
python domains.py help- Domains are stored in
domains.jsonin the project folder - WHOIS data is cached in
cache.jsonfor 24 hours to avoid redundant lookups - On the first run (or after
refresh), it fetches live WHOIS data for each domain - Subsequent runs within 24 hours load instantly from cache
Make sure to add the following to your .gitignore to avoid committing personal domain data:
domains.json
cache.json
venv/
__pycache__/
MIT