Proxy Checker [v1.0.0] by Dillcen
Este código lo que hace es leer una lista de proxies de forma masiva y rápida desde un archivo .txt, seguido, te mostrará si el proxy está vivo o muerto (si funciona o no).
El formato de los proxies es obligatorio que use el formato IP
ORT
Ejemplo de como debería de ser el proxy.txt
141.101.115.236:80
172.67.81.79:80
141.101.113.222:80
X.X.X.X:xx
...
Y así con todos los proxy que queramos añadir dentro del .txt, puedes añadir tantos como quieras.
IMAGEN VISUAL DEL .TXT
Aviso importante
Tienes que instalar las librerias de python, para que el codigo se pueda ejecutar.
Abre la terminal y ejecuta:
~$ pip install colorama
~$ pip install requests
Si el proxy está vivo indicará:
[ - ] Proxy X.X.X.X:(PORT) WORKING: TRUE
Si el proxy está muerto indicará
[ - ] Proxy X.X.X.X:(PORT) WORKING: FALSE
Al final del programa, el tool se encarga de descartar/borrar los proxies que están muertos/no funcionan, por lo tanto devuelve el .txt original solo con los proxies vivos y todos los proxies muertos desaparecerán.
Haré otra guia de otro tool que he creado que se llama proxy scrapper, lo que hace es recorrer diferentes sitios web que proveen gratuitamente proxies, los recolecta y te los entrega en formato IP
ORT en un txt, además puedes escoger el tipo de proxy que quieres, HTTP, HTTPS, SOCKS4, SOCKS5.
Si te interesa puedes encontrarlo en mi perfil en el apartado de publicaciones.
A continuación os dejo el código del programa Proxy Checker [v1.0.0] que he diseñado, espero que os sea útil.
Este código lo que hace es leer una lista de proxies de forma masiva y rápida desde un archivo .txt, seguido, te mostrará si el proxy está vivo o muerto (si funciona o no).
El formato de los proxies es obligatorio que use el formato IP
Ejemplo de como debería de ser el proxy.txt
141.101.115.236:80
172.67.81.79:80
141.101.113.222:80
X.X.X.X:xx
...
Y así con todos los proxy que queramos añadir dentro del .txt, puedes añadir tantos como quieras.
IMAGEN VISUAL DEL .TXT
Aviso importante
Tienes que instalar las librerias de python, para que el codigo se pueda ejecutar.
Abre la terminal y ejecuta:
~$ pip install colorama
~$ pip install requests
Si el proxy está vivo indicará:
[ - ] Proxy X.X.X.X:(PORT) WORKING: TRUE
Si el proxy está muerto indicará
[ - ] Proxy X.X.X.X:(PORT) WORKING: FALSE
Al final del programa, el tool se encarga de descartar/borrar los proxies que están muertos/no funcionan, por lo tanto devuelve el .txt original solo con los proxies vivos y todos los proxies muertos desaparecerán.
Haré otra guia de otro tool que he creado que se llama proxy scrapper, lo que hace es recorrer diferentes sitios web que proveen gratuitamente proxies, los recolecta y te los entrega en formato IP
Si te interesa puedes encontrarlo en mi perfil en el apartado de publicaciones.
A continuación os dejo el código del programa Proxy Checker [v1.0.0] que he diseñado, espero que os sea útil.
Python:
import requests
import os
import threading
from concurrent.futures import ThreadPoolExecutor
from colorama import init, Fore, Style
import warnings
warnings.filterwarnings("ignore", category=requests.packages.urllib3.exceptions.InsecureRequestWarning)
init()
os.system('cls' if os.name == 'nt' else 'clear')
test_url = "https://www.google.com"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
}
def load_proxies(file_path="proxies.txt"):
try:
with open(file_path, "r", encoding="utf-8") as file:
proxies = [line.strip() for line in file if line.strip()]
if not proxies:
print(f"{Fore.RED}El archivo '{file_path}' está vacío o no contiene proxies válidos.{Style.RESET_ALL}")
return []
return proxies
except FileNotFoundError:
print(f"{Fore.RED}Error: No se encontró el archivo '{file_path}' en la carpeta.{Style.RESET_ALL}")
return []
except Exception as e:
print(f"{Fore.RED}Error al leer el archivo: {str(e)}{Style.RESET_ALL}")
return []
def check_proxy(proxy):
try:
proxy_ip, proxy_port = proxy.split(":")
proxy_dict = {
"http": f"http://{proxy_ip}:{proxy_port}",
"https": f"http://{proxy_ip}:{proxy_port}",
}
response = requests.get(test_url, headers=headers, proxies=proxy_dict, timeout=5, verify=False)
if response.status_code == 200:
print(f"{Fore.GREEN}[ + ] Proxy {Fore.YELLOW}{proxy}{Style.RESET_ALL} WORKING: {Fore.GREEN}TRUE{Fore.GREEN}{Style.RESET_ALL}")
return True
else:
print(f"{Fore.RED}[ - ] Proxy {Fore.YELLOW}{proxy}{Style.RESET_ALL} WORKING: {Fore.RED}FALSE{Fore.RED}{Style.RESET_ALL}")
return False
except:
print(f"{Fore.RED}[ - ] Proxy {Fore.YELLOW}{proxy}{Style.RESET_ALL} WORKING: {Fore.RED}FALSE{Fore.RED}{Style.RESET_ALL}")
return False
def update_proxies_file(file_path="proxies.txt", working_proxies=None):
if working_proxies is None:
working_proxies = []
try:
with open(file_path, "w", encoding="utf-8") as file:
for proxy in working_proxies:
file.write(f"{proxy}\n")
print(f"{Fore.YELLOW}File '{file_path}' updated with {len(working_proxies)} working proxies.{Style.RESET_ALL}")
except Exception as e:
print(f"{Fore.RED}Error al escribir en el archivo: {str(e)}{Style.RESET_ALL}")
print(f"{Fore.MAGENTA}PROXY CHECKER [v1.0.0]{Style.RESET_ALL}\n")
proxies = load_proxies("proxies.txt")
if not proxies:
print(f"{Fore.RED}No hay proxies para verificar. Finalizando.{Style.RESET_ALL}")
exit()
working_proxies = []
lock = threading.Lock()
def verify_and_store(proxy):
if check_proxy(proxy):
with lock:
working_proxies.append(proxy)
max_workers = 20
with ThreadPoolExecutor(max_workers=max_workers) as executor:
executor.map(verify_and_store, proxies)
update_proxies_file("proxies.txt", working_proxies)
print(f"\n{Fore.CYAN}Completed Succesfully.{Style.RESET_ALL}")