Skip to content

rajeshkm2/domains

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Domain Expiry Tracker

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.

Python Platform


Features

  • 📋 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

Requirements

  • Python 3.8+

Setup

1. Clone the repo

git clone https://github.com/yourusername/domain-expiry-tracker.git
cd domain-expiry-tracker

2. Create and activate a virtual environment

Linux / macOS:

python3 -m venv venv
source venv/bin/activate

Windows:

python -m venv venv
venv\Scripts\activate

3. Install dependencies

pip install python-whois rich

Usage

# 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

How it works

  • Domains are stored in domains.json in the project folder
  • WHOIS data is cached in cache.json for 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

.gitignore

Make sure to add the following to your .gitignore to avoid committing personal domain data:

domains.json
cache.json
venv/
__pycache__/

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages