· 9 years ago · Dec 22, 2016, 04:50 PM
1import os, re, sqlite3
2print "Buscador de trackers vivos"
3nombre_archivo = raw_input("Introduzca nombre de archivo: ")
4if len(nombre_archivo) < 1:
5 print "no se selecciono ningun archivo, saliendo"
6 quit()
7else:
8 print "Buscando trackers y comprobando, puede llevar algunos minutos"
9
10print "Creando base de datos"
11conn = sqlite3.connect('trackersdb.sqlite')
12puntero = conn.cursor()
13
14#Dando formato a una db
15
16puntero.executescript('''
17DROP TABLE IF EXISTS Trackers;
18CREATE TABLE Trackers(
19 Tracker TEXT NOT NULL UNIQUE)
20''')
21
22#Abriendo archivo de texto y procesando
23
24archivo = open(nombre_archivo).read()
25http_lista = list()
26udp_lista = list()
27for link in archivo:
28 link.rstrip()
29 if re.search('http://.*', link):
30 http_lista.append(link)
31 elif re.search('udp://.*', link):
32 udp_lista.append(link)
33
34print "Hay " , (len(http_lista) + len(udp_lista)), "Trackers en el archivo"
35print "Se estan verificando, espere por favor, esto puede tardar varios minutos"
36
37for link_vivo in http_lista:
38 hostname = link_vivo
39 response = os.system('ping -c 1' + hostname)
40 if response == 0:
41 puntero.execute('''INSERT OR IGNORE INTO Trackers (hostname)
42 VALUES ( ? )''', (hostname, ))
43 else:
44 print hostname , "Esta caido!"
45conn.commit()