Create Paste
Top Pastes
Recent Pastes
Settings
Account
Untitled Paste
Anonymous
Views
75
Visibility
Public
Expires
Never
Created
2 weeks ago
View Raw
Download
0
import requests import socket import socks from requests.exceptions import RequestException from concurrent.futures import ThreadPoolExecutor # 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 def check_http(proxy): try: response = requests.get(test_url, proxies={'http': proxy, 'https': proxy}, timeout=10) if response.status_code == 200: print(f"[SUCCESS] HTTP Proxy {proxy} funciona correctamente.") return proxy.split('://')[1] # Devolver solo IP:Puerto except RequestException: print(f"[FAIL] HTTP Proxy {proxy} no es accesible.") return None # Función para verificar proxies SOCKS (SOCKS4 o SOCKS5) def check_socks(proxy): 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} funciona correctamente.") return address # Devolver solo IP:Puerto except (RequestException, socks.ProxyError, socks.GeneralProxyError): print(f"[FAIL] {proxy_type.upper()} Proxy {proxy} no es accesible.") return None # Función para verificar el proxy en función del tipo def check_proxy(proxy): if proxy.startswith('http'): return check_http(proxy) elif proxy.startswith('socks'): return check_socks(proxy) return None # Leer los proxies desde un archivo de texto with open(input_file, 'r') as file: proxies = [line.strip() for line in file.readlines()] # Verificar todos los proxies utilizando múltiples hilos y guardar los válidos en un archivo .txt with ThreadPoolExecutor(max_workers=20) as executor: results = list(executor.map(check_proxy, proxies)) # Filtrar y guardar los proxies válidos valid_proxies = [proxy for proxy in results if proxy is not None] 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")