diff --git a/httpd.py b/httpd.py index d60e586..66f78a8 100644 --- a/httpd.py +++ b/httpd.py @@ -967,7 +967,7 @@ class ProxyAPIHandler(BaseHTTPServer.BaseHTTPRequestHandler): stats = {} # Total counts - row = db.execute('SELECT COUNT(*) FROM proxylist WHERE failed=0').fetchone() + row = db.execute('SELECT COUNT(*) FROM proxylist WHERE failed=0 AND proto IS NOT NULL').fetchone() stats['working'] = row[0] if row else 0 row = db.execute('SELECT COUNT(*) FROM proxylist').fetchone() stats['total'] = row[0] if row else 0 @@ -1076,7 +1076,7 @@ class ProxyAPIHandler(BaseHTTPServer.BaseHTTPRequestHandler): asn = params.get('asn', '') fmt = params.get('format', 'json') - sql = 'SELECT ip, port, proto, country, asn, avg_latency FROM proxylist WHERE failed=0' + sql = 'SELECT ip, port, proto, country, asn, avg_latency FROM proxylist WHERE failed=0 AND proto IS NOT NULL' args = [] if proto: @@ -1110,7 +1110,7 @@ class ProxyAPIHandler(BaseHTTPServer.BaseHTTPRequestHandler): def handle_count(self): try: db = mysqlite.mysqlite(self.database, str) - row = db.execute('SELECT COUNT(*) FROM proxylist WHERE failed=0').fetchone() + row = db.execute('SELECT COUNT(*) FROM proxylist WHERE failed=0 AND proto IS NOT NULL').fetchone() self.send_json({'count': row[0] if row else 0}) except Exception as e: self.send_json({'error': str(e)}, 500) @@ -1398,7 +1398,7 @@ class ProxyAPIServer(threading.Thread): asn = query_params.get('asn', '') fmt = query_params.get('format', 'json') - sql = 'SELECT ip, port, proto, country, asn, avg_latency FROM proxylist WHERE failed=0' + sql = 'SELECT ip, port, proto, country, asn, avg_latency FROM proxylist WHERE failed=0 AND proto IS NOT NULL' args = [] if proto: sql += ' AND proto=?' @@ -1424,7 +1424,7 @@ class ProxyAPIServer(threading.Thread): elif path == '/proxies/count': try: db = mysqlite.mysqlite(self.database, str) - row = db.execute('SELECT COUNT(*) FROM proxylist WHERE failed=0').fetchone() + row = db.execute('SELECT COUNT(*) FROM proxylist WHERE failed=0 AND proto IS NOT NULL').fetchone() return json.dumps({'count': row[0] if row else 0}), 'application/json', 200 except Exception as e: return json.dumps({'error': str(e)}), 'application/json', 500 @@ -1556,7 +1556,7 @@ class ProxyAPIServer(threading.Thread): stats['top_countries'] = [{'code': r[0], 'count': r[1]} for r in rows] # Total counts - row = db.execute('SELECT COUNT(*) FROM proxylist WHERE failed=0').fetchone() + row = db.execute('SELECT COUNT(*) FROM proxylist WHERE failed=0 AND proto IS NOT NULL').fetchone() stats['working'] = row[0] if row else 0 row = db.execute('SELECT COUNT(*) FROM proxylist').fetchone() stats['total'] = row[0] if row else 0