Add files via upload
This commit is contained in:
parent
c781573c12
commit
3fa595277a
|
@ -0,0 +1,112 @@
|
|||
# Display the banner at the beginning
|
||||
print("""
|
||||
===========================================================
|
||||
██████╗ ██████╗ ██████╗ ██╗ ██╗██╗███████╗███████╗
|
||||
██╔══██╗██╔══██╗██╔═══██╗╚██╗██╔╝██║██╔════╝██╔════╝
|
||||
██████╔╝██████╔╝██║ ██║ ╚███╔╝ ██║█████╗ ███████╗
|
||||
██╔═══╝ ██╔══██╗██║ ██║ ██╔██╗ ██║██╔══╝ ╚════██║
|
||||
██║ ██║ ██║╚██████╔╝██╔╝ ██╗██║███████╗███████║
|
||||
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚══════╝
|
||||
|
||||
|
||||
Proxies Collector Created - By ASADQI
|
||||
Website: https://asadqi.com
|
||||
===========================================================
|
||||
""")
|
||||
|
||||
|
||||
import requests
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.chrome.service import Service
|
||||
from selenium.webdriver.common.by import By
|
||||
import time
|
||||
|
||||
def fetch_proxies():
|
||||
"""Fetch free proxies from multiple sources."""
|
||||
proxies = []
|
||||
urls = [
|
||||
"https://free-proxy-list.net/",
|
||||
"https://www.sslproxies.org/",
|
||||
"https://www.us-proxy.org/",
|
||||
"https://api.proxyscrape.com/?request=displayproxies&proxytype=http&timeout=1000&country=all&ssl=yes",
|
||||
"https://raw.githubusercontent.com/TheSpeedX/PROXY-List/master/http.txt"
|
||||
"https://openproxy.space/list",
|
||||
"https://proxyscan.io/download?type=http",
|
||||
"https://raw.githubusercontent.com/jetkai/proxy-list/main/online-proxies/txt/proxies-http.txt",
|
||||
"https://spys.me/proxy.txt"
|
||||
]
|
||||
|
||||
# Selenium setup
|
||||
service = Service("/usr/local/bin/chromedriver")
|
||||
options = webdriver.ChromeOptions()
|
||||
options.add_argument("--headless")
|
||||
options.add_argument("--no-sandbox")
|
||||
options.add_argument("--disable-dev-shm-usage")
|
||||
|
||||
driver = webdriver.Chrome(service=service, options=options)
|
||||
|
||||
for url in urls:
|
||||
try:
|
||||
if "proxyscrape" in url or "githubusercontent" in url:
|
||||
# Fetch static proxy list
|
||||
print(f"Fetching proxies from {url}")
|
||||
response = requests.get(url, timeout=10)
|
||||
response.raise_for_status()
|
||||
proxies.extend(response.text.splitlines())
|
||||
else:
|
||||
# Dynamic proxy sites
|
||||
print(f"Fetching proxies from {url}")
|
||||
driver.get(url)
|
||||
time.sleep(5) # Allow time for JavaScript to load
|
||||
rows = driver.find_elements(By.CSS_SELECTOR, "table#proxylisttable tbody tr")
|
||||
for row in rows:
|
||||
cols = row.find_elements(By.TAG_NAME, "td")
|
||||
if cols and cols[6].text.strip().lower() == "yes": # HTTPS proxies
|
||||
proxy = f"{cols[0].text.strip()}:{cols[1].text.strip()}"
|
||||
proxies.append(proxy)
|
||||
|
||||
except Exception as e:
|
||||
print(f"Failed to fetch from {url}: {e}")
|
||||
|
||||
driver.quit()
|
||||
return proxies
|
||||
|
||||
def verify_proxies(proxies):
|
||||
"""Verify if proxies are working."""
|
||||
working_proxies = []
|
||||
test_url = "https://httpbin.org/ip" # Target site for testing
|
||||
print("Verifying proxies...")
|
||||
|
||||
for proxy in proxies:
|
||||
try:
|
||||
response = requests.get(
|
||||
test_url,
|
||||
proxies={"http": f"http://{proxy}", "https": f"http://{proxy}"},
|
||||
timeout=5
|
||||
)
|
||||
if response.status_code == 200:
|
||||
working_proxies.append(proxy)
|
||||
print(f"Working proxy: {proxy}")
|
||||
except Exception:
|
||||
print(f"Bad proxy: {proxy}")
|
||||
continue
|
||||
|
||||
return working_proxies
|
||||
|
||||
def save_proxies_to_file(proxies, file_name="proxies.txt"):
|
||||
"""Save proxies to a text file."""
|
||||
with open(file_name, "w") as file:
|
||||
for proxy in proxies:
|
||||
file.write(proxy + "\n")
|
||||
print(f"Saved {len(proxies)} proxies to {file_name}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("Fetching free proxies...")
|
||||
proxies = fetch_proxies()
|
||||
if proxies:
|
||||
print(f"Fetched {len(proxies)} proxies.")
|
||||
verified_proxies = verify_proxies(proxies)
|
||||
save_proxies_to_file(verified_proxies, "verified_proxies.txt")
|
||||
else:
|
||||
print("No proxies found.")
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
requests==2.28.2
|
||||
selenium==4.10.0
|
||||
|
Loading…
Reference in New Issue