Пишем утилиту для формирования hosts файла по списку доменов

Рассмотрим задачу - по списку вредоносных доменов создать файл hosts Рассмотрим файл https://raw.githubusercontent.com/greatis/Anti-WebMiner/master/blacklist.txt , он содержит список доменов, которые распространяют майнеры. Чтобы сформировать hosts файл нужно дописать 0.0.0.0 к имени каждого домена через пробел

import sys 
def add_str_to_lines(f_in, f_out, str_to_add): 
   with open(f_in, "r") as f: 
       lines = f.readlines() 
       for index, line in enumerate(lines): 
           linesГлавная = str_to_add + " " + line.strip() + "\n" 
           print(linesГлавная) 

   with open(f_out, "w+") as f: 
       for line in lines: 
           print(line) 
           f.write(line) 

def main(): 
   f_in = sys.argv[1] 
   f_out = sys.argv[2] 
   str_to_add = sys.argv[3] 
   print(f_in) 
   print(f_out) 
   print(str_to_add) 
   add_str_to_lines( f_in, f_out, str_to_add ) 

main()
Для этого можно воспользоваться следующим алгоритмом - читаем все строки в массив из входного файла, затем делаем преобразование с каждой строкой (добавляем переданную строку к началу очередной) и записываем результаты в выходной файл. Чтобы программа запускалась из командной строки нужно подключить модуль sys, первым и вторым параметром передадим входной и выходной файл, третьим строку 0.0.0.0. После сборки исполнимого файла вызвать утилиту можно будет так ./adder blacklists.txt hosts-add.txt 0.0.0.0 Получившийся список можно сохранить в файле /etc/hosts в Linux, а в Windows использовать в утилите Acrylic DNS Proxy

Теги документа