diff options
author | smege1001 <smege1001@aaathats3as.com> | 2020-08-04 15:25:30 +0100 |
---|---|---|
committer | smege1001 <smege1001@aaathats3as.com> | 2020-08-04 15:25:30 +0100 |
commit | 97c940a207be67051b3b2a93ae72e8e2a329bf21 (patch) | |
tree | be369e9116abab4254a3f77d73ea4d2629c38a16 /tool/anti-cf_hosts_generator/generate.py | |
parent | e54b4c0a2a0489477433e635355f180385550c57 (diff) | |
download | cloudflare-tor-97c940a207be67051b3b2a93ae72e8e2a329bf21.tar.lz cloudflare-tor-97c940a207be67051b3b2a93ae72e8e2a329bf21.tar.xz cloudflare-tor-97c940a207be67051b3b2a93ae72e8e2a329bf21.zip |
anti-cf hosts generator
Diffstat (limited to 'tool/anti-cf_hosts_generator/generate.py')
-rw-r--r-- | tool/anti-cf_hosts_generator/generate.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tool/anti-cf_hosts_generator/generate.py b/tool/anti-cf_hosts_generator/generate.py new file mode 100644 index 00000000..4a5ca42e --- /dev/null +++ b/tool/anti-cf_hosts_generator/generate.py @@ -0,0 +1,47 @@ +import glob +import getopt +import os +import sys + +print("Anti-CF hosts file generator v1.0") +print("Licensed under CC0 1.0") +print("") + +#functions +def progress(value, filename): + sys.stdout.write('\033[2K\033[1G') #wipe the line before printing + sys.stdout.write("Compiling rules [%s] %s" % ("{:,}".format(value), filename)) + sys.stdout.flush() + +opts, argv = getopt.getopt(sys.argv[1:], "o:d:") + +def process(outputf, inputd): + if not os.path.isdir(inputd): + print("Input not directory"); + sys.exit(1) + + with open(outputf, 'a') as outfile: + rulescom = 0 #counter for counting how much rules compiled + + files = glob.glob(os.path.join(inputd, "*.txt")) #filter out anything but txt files + + for f in files: + with open(f) as ruleso: + for line in ruleso: + outfile.write("0.0.0.0 {}\n".format(line.rstrip())) #this does the job + rulescom = rulescom + 1 + progress(rulescom, f) + +if len(sys.argv) < 5: #check if theres argv + print("Usage: generate.py -o <output file> -d <input directory>") + print("Example: generate.py -o filter.txt -d ../../cloudflare_users/domains/") + sys.exit(1) + +#argv parsing +for k, v in opts: + if k == '-o': + outputfile = v + if k == '-d': + inputdirectory = v + +process(outputfile, inputdirectory) |