diff --git a/ppf.py b/ppf.py index c8d8683..13b2d5f 100755 --- a/ppf.py +++ b/ppf.py @@ -55,6 +55,11 @@ def fetch_contents(url): return res +def valid_port(proxy): + ip, port = proxy.split(':') + port = int(port) + return port > 0 and port < 65535 + _known_proxies = {} def insert_proxies(proxies, uri, sqlite, timestamp): global _known_proxies @@ -63,9 +68,12 @@ def insert_proxies(proxies, uri, sqlite, timestamp): for k in known: _known_proxies[k[0]] = True - new = [ (timestamp,i,3,0,0,0) for i in proxies if not i in _known_proxies ] - for i in new: - _known_proxies[i[1]] = True + new = [] + for p in proxies: + if not p in _known_proxies: + if not valid_port(p): continue + new.append((timestamp,p,3,0,0,0)) + _known_proxies[p] = True if len(new): sqlite.executemany('INSERT INTO proxylist (added,proxy,failed,tested,success_count,total_duration) VALUES (?,?,?,?,?,?)', new)