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
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:
torhost = random.choice(self.torhosts)
@@ -93,7 +93,7 @@ class Proxywatchd(Thread):
except: sock.disconnect()
return False, False, False, False, False
return None, None, None, None, None
def daemon(self, servers):
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])
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
try:
@@ -142,11 +142,11 @@ class Proxywatchd(Thread):
# bad data
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
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:
sock.disconnect()