Generates a host list of first-party trackers for ad-blocking.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#!/usr/bin/env python3
import database import argparse import sys
FUNCTION_MAP = { 'zone': database.Database.set_zone, 'ip4network': database.Database.set_ip4network, 'asn': database.Database.set_asn, }
if __name__ == '__main__':
# Parsing arguments parser = argparse.ArgumentParser( description="TODO") parser.add_argument( 'type', choices=FUNCTION_MAP.keys(), help="Type of rule inputed") parser.add_argument( '-i', '--input', type=argparse.FileType('r'), default=sys.stdin, help="List of domains domains to block (with their subdomains)") parser.add_argument( '-f', '--first-party', action='store_true', help="The input only comes from verified first-party sources") args = parser.parse_args()
DB = database.Database(write=True)
fun = FUNCTION_MAP[args.type]
for rule in args.input: fun(DB, rule.strip(), is_first_party=args.first_party)
DB.close()
|