File size: 1,414 Bytes
0c69a0b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c69ec46
 
 
 
 
0c69a0b
c69ec46
0c69a0b
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import os
import time
import requests
import subprocess
from threading import Thread

# URL de ton JSON/TXT GitHub
PROXY_TXT_RAW = "https://raw.githubusercontent.com/mishableskineetudiant-stack/proxylistfiltered/main/proxies_elite.txt"

# Fichier local utilisé par rotating-mitmproxy
LOCAL_PROXY_FILE = "/app/proxy_list.txt"

REFRESH_INTERVAL = 300  # 5 minutes

def update_proxy_file():
    while True:
        try:
            print("[UPDATER] Fetching latest proxy list...")
            r = requests.get(PROXY_TXT_RAW, timeout=10)
            r.raise_for_status()
            with open(LOCAL_PROXY_FILE, "w") as f:
                f.write(r.text)
            print(f"[UPDATER] Proxy list updated ({len(r.text.splitlines())} proxies)")
        except Exception as e:
            print(f"[UPDATER] Error updating proxies: {e}")
        time.sleep(REFRESH_INTERVAL)

def start_rotating_proxy():
    # Lancer rotating-mitmproxy en écoutant sur 3129
    cmd = [
    "python", "-m", "rotating_mitmproxy",
    "--proxy-list", LOCAL_PROXY_FILE,
    "--port", "3129",
    "--strategy", "smart",
    "--min-health", "1"
    ]
    
    print("[MAIN] Starting rotating-mitmproxy...")
    subprocess.run(cmd)

if __name__ == "__main__":
    # Thread qui met à jour le fichier toutes les 5 minutes
    Thread(target=update_proxy_file, daemon=True).start()

    # Démarre le serveur rotatif
    start_rotating_proxy()