fix: don't re-test all protos every time

all protos (http, socks4, socks5) were tested even for working proxies (whose protocol has been saved..)
also, don't save dummy 'http' protocol for non working proxies..
This commit is contained in:
mickael
2019-01-05 01:04:50 +00:00
parent 85043d8e8a
commit 6df8fac96e

View File

@@ -75,7 +75,7 @@ class Proxywatchd(Thread):
else: return 1 else: return 1
def connect_socket(self, proxy, servers, proto = None): def connect_socket(self, proxy, servers, proto = None):
protos = ['http', 'socks5', 'socks4'] protos = ['http', 'socks5', 'socks4'] if proto is None else proto
for proto in protos: for proto in protos:
torhost = random.choice(self.torhosts) torhost = random.choice(self.torhosts)
@@ -93,7 +93,7 @@ class Proxywatchd(Thread):
except: sock.disconnect() except: sock.disconnect()
return False, False, False, False, False return None, None, None, None, None
def daemon(self, servers): def daemon(self, servers):
sqlite = mysqlite.mysqlite(self.database, str) sqlite = mysqlite.mysqlite(self.database, str)
@@ -120,7 +120,7 @@ class Proxywatchd(Thread):
sock, proto, duration, tor, srv = self.connect_socket(proxy, servers, proto=proxy[3]) sock, proto, duration, tor, srv = self.connect_socket(proxy, servers, proto=proxy[3])
if not sock: if not sock:
sqlite_requests.append(((proxy[1]+1), nextcheck, 1, 'unknown', 'http', 0, proxy[0],)) sqlite_requests.append(((proxy[1]+1), nextcheck, 1, 'unknown', None, 0, proxy[0],))
continue continue
try: try:
@@ -142,11 +142,11 @@ class Proxywatchd(Thread):
# bad data # bad data
else: else:
sqlite_requests.append(( (proxy[1]+1), nextcheck, 1, 'unknown', 'http', 0, proxy[0],)) sqlite_requests.append(( (proxy[1]+1), nextcheck, 1, 'unknown', None, 0, proxy[0],))
# also bad # also bad
except: except:
sqlite_requests.append(( (proxy[1]+1), nextcheck, 1, 'unknown', 'http', 0, proxy[0],)) sqlite_requests.append(( (proxy[1]+1), nextcheck, 1, 'unknown', None, 0, proxy[0],))
finally: finally:
sock.disconnect() sock.disconnect()