Create Paste
Top Pastes
Recent Pastes
Settings
Account
Untitled Paste
Anonymous
Views
76
Visibility
Public
Expires
Never
Created
2 weeks ago
View Raw
Download
0
import aiohttp import asyncio import socket import socks import requests from aiohttp import ClientSession from aiohttp.client_exceptions import ClientError, ClientProxyConnectionError # Archivo que contiene la lista de proxies input_file = 'proxies.txt' output_file = 'valid_proxies.txt' # URL de prueba para validar si el proxy funciona test_url = 'http://httpbin.org/ip' # Función para verificar proxies HTTP de forma asíncrona async def check_http(proxy, session): proxy_ip_port = proxy.split('://')[-1] try: async with session.get(test_url, proxy=f"http://{proxy_ip_port}", timeout=10) as response: if response.status == 200: print(f"[SUCCESS] HTTP Proxy {proxy_ip_port} funciona correctamente.") return proxy_ip_port except (ClientError, ClientProxyConnectionError): print(f"[FAIL] HTTP Proxy {proxy_ip_port} no es accesible.") return None # Función para verificar proxies SOCKS de forma síncrona def check_socks(proxy): proxy_ip_port = proxy.split('://')[-1] try: proxy_type, address = proxy.split('://') ip, port = address.split(':') port = int(port) if proxy_type == 'socks5': socks.set_default_proxy(socks.SOCKS5, ip, port) elif proxy_type == 'socks4': socks.set_default_proxy(socks.SOCKS4, ip, port) socket.socket = socks.socksocket response = requests.get(test_url, timeout=10) if response.status_code == 200: print(f"[SUCCESS] {proxy_type.upper()} Proxy {proxy_ip_port} funciona correctamente.") return proxy_ip_port except (requests.RequestException, socks.ProxyError, socks.GeneralProxyError): print(f"[FAIL] {proxy_type.upper()} Proxy {proxy_ip_port} no es accesible.") return None # Función asíncrona para verificar todos los proxies async def verify_proxies(proxies): valid_proxies = [] async with ClientSession() as session: tasks = [] for proxy in proxies: if proxy.startswith('http'): tasks.append(check_http(proxy, session)) elif proxy.startswith('socks'): result = check_socks(proxy) if result: valid_proxies.append(result) results = await asyncio.gather(*tasks) valid_proxies.extend([proxy for proxy in results if proxy is not None]) return valid_proxies # Leer los proxies desde un archivo de texto with open(input_file, 'r') as file: proxies = [line.strip() for line in file.readlines()] # Iniciar la verificación asíncrona valid_proxies = asyncio.run(verify_proxies(proxies)) # Guardar los proxies válidos en un archivo sin el prefijo with open(output_file, 'w') as file: for proxy in valid_proxies: file.write(proxy + '\n') print(f"Proxies válidos guardados en '{output_file}': {len(valid_proxies)} encontrados")