Autorisez l'IP de votre serveur
La liste ne s'ouvre que depuis les IP ajoutées dans l'espace client. Votre clé d'API reste dans votre code ; le proxy ne fait que porter la connexion.
Travailler avec l'IA à grande échelle, c'est beaucoup d'appels d'API et de pages, souvent depuis une région où le service est disponible. Advanced.name fournit des pools IPv4 sur un lien, autorisés par l'IP de votre serveur, pour que votre charge ChatGPT, Claude ou Midjourney parte du pays voulu et se répartisse sur de nombreuses adresses.
Deux choses décident d'un pipeline d'IA : joindre le service et ne pas empiler tous les appels sur une seule adresse.
Un accès depuis une région où l'API répond
Pools World MIX, Europe, CEI et Chine ; choisissez le pays dans l'export CSV
Beaucoup d'adresses pour un gros volume d'appels
De 5 000 à 50 000 IP par pack, environ un tiers renouvelé chaque jour
Des threads pour les requêtes parallèles et la collecte
De 500 à 5 000 threads selon le pack, tous les protocoles sur un seul port
Aucun compteur sur les prompts, images et pages
Le trafic n'est compté sur aucun pack illimité
Région, pack, durée. Le prix est donné pour une IP autorisée ; chaque IP supplémentaire ajoute 10 %.
La liste ne s'ouvre que depuis les IP ajoutées dans l'espace client. Votre clé d'API reste dans votre code ; le proxy ne fait que porter la connexion.
Choisissez le pays dans l'export CSV pour que le service voie une adresse locale et autorisée. World MIX offre le pool le plus large.
Chargez la liste, prenez l'adresse suivante à chaque appel et relancez sur une autre si l'une est lente. Le script ci-dessous le fait avec la bibliothèque standard.
Réglez API_URL, votre API_KEY et MODEL, puis placez un prompt par ligne dans prompts.txt. Chaque appel passe par le proxy suivant et repart sur un autre s'il est lent ; les réponses atterrissent dans un CSV. À utiliser uniquement avec des clés et des services autorisés. Vérifiez le pool avec le vérificateur de proxies.
#!/usr/bin/env python3
"""Rotating-proxy client for OpenAI-compatible chat APIs (Advanced.name proxies).
Sends each prompt from a file to a chat API through a different proxy, with
retries, and writes the answers to a CSV. Use it only with an API key and a
service you are authorised for. Standard library only. Run: python3 ai_calls.py
"""
# ================================ CONFIG ====================================
CSV_URL = "https://get.advanced.name/YOUR_LIST_ID.csv" # CSV export link from your dashboard
COUNTRY = "" # ISO code where the service is available, or "" for the whole pool
MIN_SPEED = 3
API_URL = "https://api.openai.com/v1/chat/completions" # OpenAI-compatible endpoint you may use
API_KEY = "YOUR_API_KEY" # your own key; it stays in this file, never in the proxy
MODEL = "gpt-4o-mini" # model name the endpoint expects
PROMPTS_FILE = "prompts.txt" # one user prompt per line
OUT_FILE = "answers.csv" # prompt;answer;proxy is written here
THREADS = 20
TIMEOUT = 30
RETRIES = 3
# ============================================================================
import csv
import io
import itertools
import json
import sys
import threading
import urllib.request
from concurrent.futures import ThreadPoolExecutor, as_completed
COL_IP, COL_PORT, COL_COUNTRY, COL_SPEED = 0, 1, 2, 3
def load_proxies():
raw = urllib.request.urlopen(CSV_URL, timeout=30).read().decode("utf-8", "replace")
pool = []
for row in csv.reader(io.StringIO(raw), delimiter=";"):
if len(row) <= COL_SPEED or not row[COL_PORT].strip().isdigit():
continue
if COUNTRY and row[COL_COUNTRY].strip().upper() != COUNTRY.upper():
continue
if int(row[COL_SPEED] or 0) < MIN_SPEED:
continue
pool.append(row[COL_IP].strip() + ":" + row[COL_PORT].strip())
return pool
def ask(prompt, proxy):
body = json.dumps({"model": MODEL, "messages": [{"role": "user", "content": prompt}]}).encode()
handler = urllib.request.ProxyHandler({"http": "http://" + proxy, "https": "http://" + proxy})
req = urllib.request.Request(API_URL, data=body, method="POST", headers={
"Authorization": "Bearer " + API_KEY, "Content-Type": "application/json"})
data = json.loads(urllib.request.build_opener(handler).open(req, timeout=TIMEOUT).read())
return data["choices"][0]["message"]["content"].strip()
def main():
proxies = load_proxies()
if not proxies:
sys.exit("No proxies for COUNTRY=%r." % COUNTRY)
with open(PROMPTS_FILE, encoding="utf-8") as fh:
prompts = [line.strip() for line in fh if line.strip() and not line.startswith("#")]
print("proxies: %d (%s), prompts: %d, threads: %d" % (len(proxies), COUNTRY or "any", len(prompts), THREADS))
rotation = itertools.cycle(proxies)
lock = threading.Lock()
def run(prompt):
for _ in range(RETRIES):
with lock:
proxy = next(rotation)
try:
return prompt, ask(prompt, proxy), proxy
except Exception:
continue
return prompt, "error: unreachable", ""
rows = []
with ThreadPoolExecutor(max_workers=THREADS) as pool:
for fut in as_completed([pool.submit(run, p) for p in prompts]):
prompt, answer, proxy = fut.result()
rows.append((prompt, answer, proxy))
print("%-40s %s" % (prompt[:40], (answer[:50] + "...") if len(answer) > 50 else answer))
with open(OUT_FILE, "w", encoding="utf-8", newline="") as out:
writer = csv.writer(out, delimiter=";")
writer.writerow(["prompt", "answer", "proxy"])
writer.writerows(rows)
print("written %s (%d rows)" % (OUT_FILE, len(rows)))
if __name__ == "__main__":
main()
La plupart des SDK et clients HTTP acceptent un proxy par requête. En Python avec requests, réglez proxies={'http': 'http://ip:port', 'https': 'http://ip:port'} ; les SDK d'OpenAI et d'Anthropic lisent la variable standard HTTPS_PROXY, il suffit donc de l'exporter ou de passer un client http configuré avec le proxy. HTTP et SOCKS partagent un port, http:// couvre donc les deux.
Gardez la clé d'API dans le code ou une variable d'environnement, autorisez l'IP du serveur dans l'espace client et laissez la liste tourner à chaque appel. Relancez une requête lente sur l'adresse suivante plutôt que de rester bloqué dessus.
Quand un service ne fonctionne que dans certains pays, choisissez-les dans l'export CSV pour que chaque appel parte d'une adresse autorisée. Pour collecter des pages générées par l'IA plutôt qu'une API, pilotez le pool comme pour un scraper.
Filtrez d'abord le pool avec le Socks List Processor ; pour un essai léger du branchement, la liste de proxies gratuits suffit.

Les appels API en volume coûtent moins cher sur un pack illimité. Gardez l'application web d'un service, où vous vous connectez à votre compte, sur une adresse résidentielle.
Appels API en volumeLe meilleur choix
Le trafic n'est pas compté, donc les longues réponses et les images générées n'ajoutent rien à la facture. Les appels se répartissent sur des milliers d'adresses au lieu de frapper une seule IP.
$700 par moisou $2.70 de l'heure
Un compte dans l'application web
L'application web de ChatGPT ou de Midjourney voit une seule IP résidentielle tant que l'appareil de sortie est connecté. Vous réglez la session de 3 minutes à 24 heures et choisissez le pays ou la ville dans la chaîne.
dès $1.39 le Go1 Go pour $2.29
Sites avec captcha
Quand un service répond aux adresses des packs par un captcha, Core donne une IP résidentielle du bon pays à chaque requête. Un appel API pèse quelques kilo-octets, donc un gigaoctet dure longtemps.
dès $0.49 le Go1 Go pour $0.85
Choisissez un pack, prenez l'heure d'essai gratuite, envoyez vos appels via le pool actif.