#!/usr/bin/env python3 # Zabbix External Script: Domain Expiration Check # Usage: check_domain.py # Requires: pip3 install python-whois import sys import whois from datetime import datetime if len(sys.argv) < 2: print("-1") # Missing argument sys.exit(1) domain = sys.argv[1] try: w = whois.whois(domain) # Handle list of dates (some registries return list) expiration_date = w.expiration_date if isinstance(expiration_date, list): expiration_date = expiration_date[0] if expiration_date is None: print("-2") # Retrieval failed sys.exit() now = datetime.now() delta = expiration_date - now print(delta.days) except Exception as e: # print(e) # Debug print("-1") # Error