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:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user