r1rk

[Ver3.0 Supported GUI] FRESH HTTP(s)Proxy collection program by Python

Apr 11th, 2025 (edited)
1,463
0
Never
13
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.55 KB | Source Code | 0 0
  1. # This program does not support languages other than Japanese. Please do not be offended.
  2. # You can run this program to get a list of up to about 300,000 or more proxies.
  3.  
  4. import tkinter as tk
  5. from tkinter import ttk, messagebox
  6. from datetime import datetime, timedelta
  7. import requests
  8. import threading
  9. import re
  10. import json
  11. import os
  12.  
  13. ALL_PROXIES = set()
  14.  
  15. def get_past_dates(days=31):
  16.     today = datetime.utcnow()
  17.     return [(today - timedelta(days=i)).strftime("%Y-%m-%d") for i in range(days)]
  18.  
  19. def fetch_checkerproxy(date):
  20.     try:
  21.         url = f"https://api.checkerproxy.net/v1/landing/archive/{date}"
  22.         res = requests.get(url, timeout=10)
  23.         if res.status_code == 200:
  24.             data = res.json()
  25.             proxies = data['data'].get('proxyList', [])
  26.             return proxies, True
  27.         else:
  28.             return [], False
  29.     except:
  30.         return [], False
  31.  
  32. def extract_from_text_url(url):
  33.     try:
  34.         res = requests.get(url, timeout=10)
  35.         return re.findall(r'\b(?:\d{1,3}\.){3}\d{1,3}:\d+\b', res.text)
  36.     except:
  37.         return []
  38.  
  39. def extract_from_json_url(url, ip_key="IP", port_key="PORT"):
  40.     try:
  41.         res = requests.get(url, timeout=10)
  42.         data = res.json()
  43.         proxies = []
  44.         for entry in data.get("LISTA", []):
  45.             ip = entry.get(ip_key)
  46.             port = entry.get(port_key)
  47.             if ip and port:
  48.                 proxies.append(f"{ip}:{port}")
  49.         return proxies
  50.     except:
  51.         return []
  52.  
  53. def collect_proxies(log_widget, progress_bar, progress_label):
  54.     global ALL_PROXIES
  55.     ALL_PROXIES = set()
  56.     now = datetime.now().strftime("%Y-%m-%d_%H-%M")
  57.     folder = "proxies_tool_result"
  58.     if not os.path.exists(folder):
  59.         os.makedirs(folder)
  60.  
  61.     filename_txt = os.path.join(folder, f"httpProxies_{now}.txt")
  62.     filename_json = os.path.join(folder, f"httpProxies_{now}.json")
  63.  
  64.     dates = get_past_dates(31)
  65.     skipped_dates = []
  66.  
  67.     log_widget.insert(tk.END, "=== CheckerProxyの取得を開始します。 ===\n")
  68.     for i, date in enumerate(dates):
  69.         proxies, success = fetch_checkerproxy(date)
  70.         if success and proxies:
  71.             ALL_PROXIES.update(proxies)
  72.             log_widget.insert(tk.END, f"{date} の取得完了。 ({len(proxies)}件)\n")
  73.         else:
  74.             skipped_dates.append(date)
  75.             log_widget.insert(tk.END, f"{date} は取得できませんでした。\n")
  76.         progress_bar["value"] = (i + 1) / len(dates) * 50
  77.         progress_label.config(text=f"{int(progress_bar['value'])}%")
  78.         log_widget.yview_moveto(1)
  79.         log_widget.update()
  80.  
  81.     log_widget.insert(tk.END, "\n=== 他ソースからの取得を開始します。 ===\n")
  82.  
  83.     proxy_sources = [
  84.         "https://raw.githubusercontent.com/roosterkid/openproxylist/main/HTTPS.txt",
  85.         "https://raw.githubusercontent.com/TheSpeedX/PROXY-List/master/http.txt",
  86.         "https://raw.githubusercontent.com/mmpx12/proxy-list/master/http.txt",
  87.         "https://api.openproxylist.xyz/http.txt",
  88.         "https://raw.githubusercontent.com/sunny9577/proxy-scraper/master/proxies.txt",
  89.         "https://raw.githubusercontent.com/jetkai/proxy-list/main/online-proxies/txt/proxies-http.txt",
  90.         "https://raw.githubusercontent.com/shiftytr/proxy-list/master/proxy.txt",
  91.         "https://raw.githubusercontent.com/ShiftyTR/Proxy-List/master/http.txt",
  92.         "https://raw.githubusercontent.com/monosans/proxy-list/main/proxies_anonymous/http.txt",
  93.         "https://rootjazz.com/proxies/proxies.txt",
  94.         "https://proxyspace.pro/http.txt",
  95.         "https://alexa.lr2b.com/proxylist.txt",
  96.         "https://raw.githubusercontent.com/clarketm/proxy-list/master/proxy-list-raw.txt"
  97.        
  98.     ]
  99.  
  100.     offset = 50 / len(proxy_sources)
  101.     for idx, url in enumerate(proxy_sources):
  102.         log_widget.insert(tk.END, f"{url} から取得中...\n")
  103.         proxies = extract_from_text_url(url)
  104.         ALL_PROXIES.update(proxies)
  105.         progress_bar["value"] += offset
  106.         progress_label.config(text=f"{int(progress_bar['value'])}%")
  107.         log_widget.yview_moveto(1)
  108.         log_widget.update()
  109.  
  110.     log_widget.insert(tk.END, f"\n=== 合計取得件数: {len(ALL_PROXIES)} 件 ===\n")
  111.  
  112.     with open(filename_txt, "w") as f:
  113.         f.write("\n".join(sorted(ALL_PROXIES)))
  114.  
  115.     with open(filename_json, "w") as f:
  116.         json.dump(sorted(ALL_PROXIES), f, indent=2)
  117.  
  118.     log_widget.insert(tk.END, f"\n保存完了: {filename_txt}, {filename_json}\n")
  119.     log_widget.yview_moveto(1)
  120.     log_widget.update()
  121.  
  122.     stop_btn.pack(pady=5)
  123.     stop_btn.config(state="normal")
  124.  
  125. def stop_application():
  126.     root.quit()
  127.  
  128. def start_collection():
  129.     threading.Thread(target=collect_proxies, args=(log_text, progress, progress_label), daemon=True).start()
  130.  
  131. root = tk.Tk()
  132. root.title("proxies_collect_tool")
  133. root.geometry("640x480")
  134.  
  135. label = tk.Label(root, text="HTTP(s) Proxy収集ツール", font=("Meiryo", 14, "bold"))
  136. label.pack(pady=10)
  137.  
  138. progress = ttk.Progressbar(root, length=500, mode='determinate')
  139. progress.pack(pady=5)
  140.  
  141. progress_label = tk.Label(root, text="0%", font=("Meiryo", 10))
  142. progress_label.place(relx=0.5, rely=0.3, anchor="center")
  143.  
  144. btn = tk.Button(root, text="Go!", command=start_collection, font=("Meiryo", 12))
  145. btn.pack(pady=5)
  146.  
  147. log_text = tk.Text(root, height=20, wrap=tk.WORD)
  148. log_text.pack(fill=tk.BOTH, padx=10, pady=10, expand=True)
  149.  
  150. stop_btn = tk.Button(root, text="終了", command=stop_application, font=("Meiryo", 12), state="disabled")
  151.  
  152. root.mainloop()
Advertisement
Comments
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • Comment was deleted
  • User was banned
  • User was banned
  • Norgunor
    24 days
    # CSS 0.85 KB | 0 0
    1. ✅ Leaked Exploit Documentation:
    2.  
    3. https://docs.google.com/document/d/1dOCZEHS5JtM51RITOJzbS4o3hZ-__wTTRXQkV1MexNQ/edit?usp=sharing
    4.  
    5. This made me $13,000 in 2 days.
    6.  
    7. Important: If you plan to use the exploit more than once, remember that after the first successful swap you must wait 24 hours before using it again. Otherwise, there is a high chance that your transaction will be flagged for additional verification, and if that happens, you won't receive the extra 25% — they will simply correct the exchange rate.
    8. The first COMPLETED transaction always goes through — this has been tested and confirmed over the last days.
    9.  
    10. Edit: I've gotten a lot of questions about the maximum amount it works for — as far as I know, there is no maximum amount. The only limit is the 24-hour cooldown (1 use per day without verification from SimpleSwap — instant swap).
  • User was banned
Add Comment
Please, Sign In to add comment