Http/s Socks 4 Socks 5 Proxyscrape and checker

Http/s Socks 4 Socks 5 Proxyscrape and checker
User ID
120580
May 13, 2025
13
138
#CR
39
  • Thread starter
  • Thread Author
  • #1


Python:
import requests
from colorama import init
import concurrent.futures
from tqdm import tqdm
import os  # Importation pour changer le titre de la fenêtre CMD

init(autoreset=True)

proxy_sources = [
   #no source here ^^
]

def fetch_proxies():
    proxies = []
    with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor:
        futures = {executor.submit(fetch_from_source, url): url for url in proxy_sources}
        for future in tqdm(concurrent.futures.as_completed(futures), total=len(proxy_sources), desc="Loading proxies..."):
            proxies += future.result()
    return proxies

def fetch_from_source(url):
    proxies = []
    try:
        response = requests.get(url, timeout=5)
        if response.status_code == 200:
            proxies += response.text.splitlines()
    except:
        pass
    return proxies

def test_proxy(proxy, timeout):
    url = 'http://httpbin.org/ip'
    proxies = {
        "http": f"http://{proxy}",
        "https": f"http://{proxy}"
    }
    try:
        response = requests.get(url, proxies=proxies, timeout=timeout)
        if response.status_code == 200:
            return True
    except requests.RequestException:
        return False
    return False

def test_proxies(proxies, timeout, num_threads):
    valid_proxies = []
    with concurrent.futures.ThreadPoolExecutor(max_workers=num_threads) as executor:
        futures = {executor.submit(test_proxy, proxy, timeout): proxy for proxy in proxies}
        for future in tqdm(concurrent.futures.as_completed(futures), total=len(proxies), desc="Testing proxies..."):
            if future.result():
                valid_proxies.append(future.result())
    return valid_proxies

def main():
    os.system('title @sqlprimitif')  # Change the title of the CMD window to @sqlprimitif
   
    timeout = float(input("Enter the timeout (in seconds) for testing proxies: "))
    num_threads = int(input("Enter the number of threads for testing proxies: "))

    proxies = fetch_proxies()
    print(f"\nTotal number of proxies fetched: {len(proxies)}")
   
    valid_proxies = test_proxies(proxies, timeout, num_threads)
   
    with open('proxies.txt', 'w') as f:
        for proxy in valid_proxies:
            f.write(f"{proxy}\n")

    print(f"Total number of valid proxies: {len(valid_proxies)}")

if __name__ == '__main__':
    main()
You must be logged in to see this link.
 
Back
Top Bottom