Create Paste
Top Pastes
Recent Pastes
Settings
Account
Untitled Paste
Anonymous
Views
69
Visibility
Public
Expires
Never
Created
2 weeks ago
View Raw
Download
0
import aiohttp import asyncio from aiohttp_socks import ProxyConnector # 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): # Quitar el prefijo 'http://' o 'https://' 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 (aiohttp.ClientError, aiohttp.ClientProxyConnectionError): print(f"[FAIL] HTTP Proxy {proxy_ip_port} no es accesible.") return None # Función para verificar proxies SOCKS (SOCKS4 o SOCKS5) async def check_socks(proxy, session): # Quitar el prefijo 'socks4://' o 'socks5://' proxy_ip_port = proxy.split('://')[-1] try: async with session.get(test_url, timeout=10) as response: if response.status == 200: print(f"[SUCCESS] SOCKS Proxy {proxy_ip_port} funciona correctamente.") return proxy_ip_port except (aiohttp.ClientError, aiohttp.ClientProxyConnectionError): print(f"[FAIL] SOCKS 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 aiohttp.ClientSession() as session: tasks = [] for proxy in proxies: if proxy.startswith('http'): tasks.append(check_http(proxy, session)) elif proxy.startswith('socks'): connector = ProxyConnector.from_url(proxy) async with aiohttp.ClientSession(connector=connector) as socks_session: tasks.append(check_socks(proxy, socks_session)) results = await asyncio.gather(*tasks) valid_proxies = [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")