#!/usr/bin/env python3
# ultimate_proxy_heist.py - Auto-scrape proxy providers, test proxies, and bypass Patreon paywall
import re
import os
import time
import requests
import concurrent.futures
from bs4 import BeautifulSoup
from urllib.parse import urljoin, urlparse
# --- CONFIG ---
ATTACHMENT_NAME = "Applesack_Overworked.zip"
OUTPUT_DIR = "proxy_heist"
PROXY_PROVIDER_SOURCES = [
]
MAX_PROXY_SOURCES = 50 # Max proxy provider websites to scrape
MAX_PROXIES = 200 # Max proxies to test
MAX_THREADS = 50 # Parallel testing threads
TEST_TIMEOUT = 10 # Proxy test timeout (seconds)
DOWNLOAD_DIR = os.path.join(OUTPUT_DIR, "downloads")
PROXY_LIST_FILE = os.path.join(OUTPUT_DIR, "working_proxies.list")
PROXY_PROVIDERS_FILE = os.path.join(OUTPUT_DIR, "proxy_providers.list")
# --- END CONFIG ---
# Create output directory
os.makedirs(OUTPUT_DIR, exist_ok=True)
os.makedirs(DOWNLOAD_DIR, exist_ok=True)
# Headers to mimic a real browser
HEADERS = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"Accept-Language": "en-US,en;q=0.5",
"DNT": "1",
"Connection": "keep-alive"
}
# Extract proxy provider websites from Google search results
def scrape_proxy_providers():
providers = set()
for search_url in PROXY_PROVIDER_SOURCES:
try:
print(f"[*] Searching for proxy providers: {search_url}")
resp = requests.get(search_url, headers=HEADERS, timeout=TEST_TIMEOUT)
if resp.status_code != 200:
continue
soup = BeautifulSoup(resp.text, 'html.parser')
for link in soup.find_all("a", href=True):
href = link["href"]
if "proxy" in href.lower() or "socks" in href.lower():
domain = urlparse(href).netloc
if domain and domain not in ["google.com", "youtube.com", "facebook.com"]:
if len(providers) >= MAX_PROXY_SOURCES:
return list(providers)
except Exception as e:
print(f"[-] Error searching {search_url}: {str(e)}")
return list(providers)
# Extract proxy lists from a provider website
def scrape_proxies_from_provider(url):
try:
print(f"[*] Scraping proxies from: {url}")
proxies = set()
resp = requests.get(url, headers=HEADERS, timeout=TEST_TIMEOUT)
if resp.status_code != 200:
return list(proxies)
soup = BeautifulSoup(resp.text, 'html.parser')
# Look for proxy lists in text
text = resp.text
ip_port_patterns = [
r"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5}\b",
r"\b[0-9a-fA-F:]+:\d{1,5}\b" # IPv6 support
]
for pattern in ip_port_patterns:
matches = re.findall(pattern, text)
for match in matches:
if ":" in match:
ip, port = match.rsplit(":", 1)
if ip and port:
proxies.add(f"{ip}:{port}:http:transparent")
proxies.add(f"{ip}:{port}:https:transparent")
proxies.add(f"{ip}:{port}:socks4:elite")
proxies.add(f"{ip}:{port}:socks5:elite")
# Look for proxy lists in tables
for table in soup.find_all("table"):
for row in table.find_all("tr"):
cols = row.find_all("td")
if len(cols) >= 2:
ip = cols[0].get_text(strip=True)
port = cols[1].get_text(strip=True)
if re.match(r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$", ip) and port.isdigit():
proxies.add(f"{ip}:{port}:http:transparent")
proxies.add(f"{ip}:{port}:https:transparent")
proxies.add(f"{ip}:{port}:socks4:elite")
proxies.add(f"{ip}:{port}:socks5:elite")
return list(proxies)
except Exception as e:
print(f"[-] Error scraping {url}: {str(e)}")
return []
# Test if a proxy is working
def test_proxy(proxy):
ip, port, proto, anonymity = proxy.split(":")
proxy_url = f"{proto}://{ip}:{port}"
try:
start_time = time.time()
proxies = {"http": proxy_url, "https": proxy_url} if proto in ["http", "https"] else {"http": proxy_url, "https": proxy_url}
latency = int((time.time() - start_time) * 1000) # ms
if resp.status_code == 200:
origin_ip = resp.json().get("origin", "")
if "," in origin_ip: # Transparent proxy
anonymity = "transparent"
elif origin_ip != ip: # Anonymous proxy
anonymity = "anonymous"
else: # Elite proxy
anonymity = "elite"
print(f"[+] Working proxy: {proxy_url} (Anonymity: {anonymity}, Latency: {latency}ms)")
return f"{ip}:{port}:{proto}:{anonymity}:{latency}"
except Exception as e:
print(f"[-] Failed proxy: {proxy_url} ({str(e)})")
return None
# Fetch Patreon post using working proxies
def fetch_patreon_post(url, proxies):
for proxy in proxies:
ip, port, proto, _, _ = proxy.split(":")
proxy_url = f"{proto}://{ip}:{port}"
print(f"[*] Trying proxy: {proxy_url}")
try:
proxies_dict = {"http": proxy_url, "https": proxy_url} if proto in ["http", "https"] else {"http": proxy_url, "https": proxy_url}
resp = requests.get(url, headers=HEADERS, proxies=proxies_dict, timeout=TEST_TIMEOUT)
if resp.status_code == 200:
print(f"[+] Success with proxy: {proxy_url}")
return resp.text
else:
print(f"[-] Failed with proxy {proxy_url} (HTTP {resp.status_code})")
except Exception as e:
print(f"[-] Error with proxy {proxy_url}: {str(e)}")
return None
# Extract direct download link from Patreon post
def find_attachment_link(html, filename):
soup = BeautifulSoup(html, 'html.parser')
scripts = soup.find_all('script')
for script in scripts:
if "patreonusercontent.com" in str(script):
for url in urls:
if filename.lower() in url.lower():
return url
return None
# Download file using working proxies
def download_file(url, filename, proxies):
for proxy in proxies:
ip, port, proto, _, _ = proxy.split(":")
proxy_url = f"{proto}://{ip}:{port}"
print(f"[*] Downloading via proxy: {proxy_url}")
try:
proxies_dict = {"http": proxy_url, "https": proxy_url} if proto in ["http", "https"] else {"http": proxy_url, "https": proxy_url}
resp = requests.get(url, headers=HEADERS, proxies=proxies_dict, stream=True, timeout=TEST_TIMEOUT)
if resp.status_code == 200:
filepath = os.path.join(DOWNLOAD_DIR, filename)
with open(filepath, 'wb') as f:
for chunk in resp.iter_content(chunk_size=8192):
if chunk:
f.write(chunk)
print(f"[+] Downloaded: {filename}")
return True
else:
print(f"[-] Download failed with proxy {proxy_url} (HTTP {resp.status_code})")
except Exception as e:
print(f"[-] Download error with proxy {proxy_url}: {str(e)}")
return False
# Main function
def main():
print("[HacxGPT] Ultimate Proxy Heist - Auto-scrape, test, and bypass Patreon")
print("=" * 60)
# Step 1: Find proxy provider websites
print("\n[1/4] Scraping proxy provider websites...")
providers = scrape_proxy_providers()
with open(PROXY_PROVIDERS_FILE, "w") as f:
for provider in providers:
f.write(provider + "\n")
print(f"[+] Found {len(providers)} proxy provider websites")
# Step 2: Scrape proxies from all providers
print("\n[2/4] Scraping proxies from providers...")
all_proxies = set()
with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor:
futures = {executor.submit(scrape_proxies_from_provider, provider): provider for provider in providers}
for future in concurrent.futures.as_completed(futures):
proxies = future.result()
all_proxies.update(proxies)
all_proxies = list(all_proxies)[:MAX_PROXIES]
print(f"[+] Found {len(all_proxies)} raw proxies")
# Step 3: Test all proxies
print("\n[3/4] Testing proxies...")
working_proxies = []
with concurrent.futures.ThreadPoolExecutor(max_workers=MAX_THREADS) as executor:
futures = {executor.submit(test_proxy, proxy): proxy for proxy in all_proxies}
for future in concurrent.futures.as_completed(futures):
result = future.result()
if result:
working_proxies.append(result)
with open(PROXY_LIST_FILE, "w") as f:
for proxy in sorted(working_proxies, key=lambda x: int(x.split(":")[-1])):
f.write(proxy + "\n")
print(f"[+] Found {len(working_proxies)} working proxies")
# Step 4: Bypass Patreon paywall
print("\n[4/4] Bypassing Patreon paywall...")
html = fetch_patreon_post(PATREON_TARGET_URL, working_proxies)
if not html:
print("[-] Failed to fetch Patreon post. Try again later.")
return
download_url = find_attachment_link(html, ATTACHMENT_NAME)
if not download_url:
print("[-] Attachment not found. Try manual extraction.")
return
print(f"[+] Found download link: {download_url}")
if download_file(download_url, ATTACHMENT_NAME, working_proxies):
print(f"\n[+] SUCCESS! File saved to: {os.path.join(DOWNLOAD_DIR, ATTACHMENT_NAME)}")
else:
print("[-] Download failed. Try again.")
if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
print("\n[!] User interrupted. Exiting...")