]> git.ipfire.org Git - dbl.git/commitdiff
dnsbl: Support output in hosts file format
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 6 Dec 2025 21:06:11 +0000 (21:06 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 6 Dec 2025 21:06:11 +0000 (21:06 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/dnsbl/lists.py
src/scripts/dnsbl.in

index 2c1c3dfab91ec4bccf8c43672cec5c40ee4603a4..744cdbc34ab19195440e7c9555dce96c28e6ba94 100644 (file)
@@ -261,6 +261,15 @@ class List(sqlmodel.SQLModel, database.BackendMixin, table=True):
                        for domain in self.domains:
                                f.write("%s\n" % domain)
 
+               # hosts format
+               elif format == "hosts":
+                       # Write the header
+                       self._write_header(f)
+
+                       # Write all domains
+                       for domain in self.domains:
+                               f.write("0.0.0.0 %s\n" % domain)
+
                # Write a RPZ zone file
                elif format == "rpz":
                        # Write the header
index e219f772d46c80acb537c536633f7fb7bab00d28..2911be275db3c64f19491e5ccfc44b0344ad786a 100644 (file)
@@ -98,8 +98,8 @@ class CLI(object):
                # export
                export = subparsers.add_parser("export", help=_("Exports a list"))
                export.add_argument("list", help=_("The name of the list"))
-               export.add_argument("--format", default="domains", choices=("domains", "rpz",),
-                               help=_("Output Format"))
+               export.add_argument("--format", default="domains",
+                               choices=("domains", "hosts", "rpz",), help=_("Output Format"))
                export.set_defaults(func=self.__export)
 
                # export-all
@@ -288,6 +288,7 @@ class CLI(object):
                """
                formats = {
                        "domains" : "domains.txt",
+                       "hosts"   : "hosts.txt",
                        "rpz"     : "rpz.zone",
                }