From: Michael Tremer Date: Sun, 28 Dec 2025 14:32:14 +0000 (+0000) Subject: dnsbl: Show if a domain is dead X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2946482da50fe6b13c55299c32413a89f76278fc;p=dbl.git dnsbl: Show if a domain is dead Signed-off-by: Michael Tremer --- diff --git a/src/dnsbl/__init__.py b/src/dnsbl/__init__.py index 27c8a48..5b5f043 100644 --- a/src/dnsbl/__init__.py +++ b/src/dnsbl/__init__.py @@ -119,3 +119,19 @@ class Backend(object): res[domain.source.list] = [domain] return res + + def check(self, domain): + """ + Returns the status of a domain + """ + stmt = ( + sqlmodel + .select( + checker.CheckerDomain.status, + ) + .where( + checker.CheckerDomain.name == domain, + ) + ) + + return self.db.fetch_one(stmt) diff --git a/src/scripts/dnsbl.in b/src/scripts/dnsbl.in index c6e8ced..424eeee 100644 --- a/src/scripts/dnsbl.in +++ b/src/scripts/dnsbl.in @@ -29,6 +29,7 @@ import os import pathlib import rich.console import rich.table +import rich.text import sys import tempfile @@ -408,6 +409,17 @@ class CLI(object): """ Searches for a domain name """ + # Check if a domain is active + active = backend.check(args.domain) + + # If the domain is dead, we show a warning + if active is False: + warning = rich.text.Text( + _("The domain '%s' seems to be dead") % args.domain, + style="bold red", + ) + self.console.print(warning) + # Search! lists = backend.search(args.domain)