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