Comment créer votre propre pool de proxy avec Python et Bash

Comment créer votre propre pool de proxy avec Python et Bash

“ De même que le Nil coule tranquillement, tout en transportant les secrets du pays, nos données doivent elles aussi parcourir le Web, protégées par le courant de l'anonymat. ”


L'objectif et la puissance des pools de proxy

Dans les sables de l'Antiquité, les commerçants utilisaient des routes secrètes pour protéger leurs caravanes des regards indiscrets. Aujourd'hui, les proxys jouent un rôle similaire : ils dissimulent vos traces numériques, distribuent les requêtes et échappent à la surveillance constante des limiteurs de débit et des pare-feu.

Un pool de proxys est un ensemble de serveurs proxy. En faisant tourner les requêtes entre plusieurs proxys, vous évitez les détections, les interdictions et les goulots d'étranglement. Créer votre propre pool de proxys avec Python et Bash vous offre souveraineté, flexibilité et maîtrise, contrairement aux solutions tierces coûteuses.


Tableau : Approches du pool de proxy

Approche Avantages Inconvénients Exemples de cas d'utilisation
API tierces Installation facile, maintenance gérée Coûteux, moins de contrôle, liste noire Prototypage rapide
Bricolage avec Python Contrôle total, rentable Nécessite de l'entretien, de la fiabilité Web scraping, automatisation
Scripts Bash Léger et facile à intégrer Gestion manuelle et moins évolutive Tâches rapides, bilans de santé

Collecte de sources proxy

“ Ne bois pas d’une source que tu ne connais pas ”, m’a dit un jour un aîné. Choisis judicieusement tes sources d’eau.

Proxys publics gratuits

Bash : récupérer et analyser la liste des proxys

curl -s https://www.sslproxies.org/ | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}:[0-9]+' > proxies.txt

Services proxy payants

Pour les tâches critiques, pensez à des fournisseurs comme https://brightdata.com/ ou https://www.oxylabs.io/. Ils offrent une plus grande fiabilité et un meilleur anonymat.


Validation des proxys

Sagesse ancienne : “ Testez la pierre avant de construire. ”

Python : vérifier la disponibilité du proxy

importer des requêtes def is_proxy_working(proxy): essayer: response = requests.get('https://httpbin.org/ip', proxies={'http': proxy, 'https': proxy}, timeout=5) renvoyer response.status_code == 200 sauf: renvoyer False # Lire les proxys depuis le fichier avec open('proxies.txt') comme f: proxys = [line.strip() pour la ligne dans f] working_proxies = [p pour p dans les proxys si is_proxy_working(p)] avec open('working_proxies.txt', 'w') comme f: pour p dans working_proxies: f.write(f"{p}\n")

Proxy rotatifs avec Python

Le secret de la caravane : ne jamais prendre deux fois le même chemin.

Rotateur de proxy simple

importer des requêtes d'importation aléatoires avec open('working_proxies.txt') comme f : proxies = [line.strip() pour la ligne dans f] def get_random_proxy() : retourner random.choice(proxies) def fetch_with_proxy(url) : proxy = get_random_proxy() essayer : resp = requests.get(url, proxies={'http': proxy, 'https': proxy}, timeout=10) imprimer(f"Utilisation de {proxy} : {resp.status_code}") retourner resp.texte sauf Exception comme e : imprimer(f"Proxy {proxy} a échoué : {e}") retourner None # Exemple d'utilisation html = fetch_with_proxy('https://httpbin.org/ip')

Bash : Vérification rapide de l'état du proxy

Pour ceux qui privilégient la ligne de commande, comme les artisans d'autrefois privilégiaient leurs outils :

pendant la lecture du proxy ; faire timeout 5 curl -s --proxy $proxy https://httpbin.org/ip >/dev/null && echo "$proxy est actif" terminé < proxies.txt

Automatisation des mises à jour du pool de proxy

Tout comme la crue annuelle du Nil, les proxys vont et viennent : l’automatisation est essentielle.

Bash : récupération et validation programmées

#!/bin/bash # Récupérer les nouveaux proxys quotidiennement curl -s https://free-proxy-list.net/ | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}:[0-9]+' > proxies.txt # Valider les proxys > working_proxies.txt pendant la lecture du proxy ; faire un timeout 5 curl -s --proxy $proxy https://httpbin.org/ip >/dev/null && echo "$proxy" >> working_proxies.txt done < proxies.txt

Planifier avec cron:

0 2 * * * /chemin/vers/votre/script.sh

Avancé : Servir des proxys via API avec Flask

À la cour du pharaon, l'accès aux ressources s'effectuait par un mot. Fournissez une API pour votre pool :

depuis flask importer Flask, jsonify importer une application aléatoire = Flask(__name__) def get_proxies(): avec open('working_proxies.txt') comme f: retourner [line.strip() pour la ligne dans f] @app.route('/get_proxy') def get_proxy(): proxies = get_proxies() retourner jsonify({'proxy': random.choice(proxies)}) si __name__ == '__main__': app.run(port=5000)

Sécurité, éthique et meilleures pratiques

  • N'utilisez jamais de proxys à des fins illégales ou contraires à l'éthique.
  • Faire tourner les agents utilisateurs ainsi que les proxys (faux-useragent).
  • Surveillez les interdictions IP et actualisez régulièrement votre pool.
  • Respect robots.txt et les conditions du site cible.

Ressources clés


Tout comme les anciens gardaient leurs secrets commerciaux, vous devez également protéger votre pool de proxy : maintenez-le, faites-le tourner et utilisez-le avec sagesse.

Anouar El-Mahdy

Anouar El-Mahdy

Analyste principal en matière de procurations

Anwar El-Mahdy est un professionnel chevronné avec plus de 30 ans d'expérience dans le domaine de l'informatique et de la sécurité des réseaux. Né et élevé au Caire, en Égypte, Anwar a poursuivi sa passion pour la technologie dès son plus jeune âge, ce qui l'a conduit à devenir une figure de proue du paysage de la sécurité numérique. En tant qu'analyste proxy senior chez ProxyMist, il est chargé de conserver et de mettre à jour une liste complète de serveurs proxy, en veillant à ce qu'ils répondent aux divers besoins des utilisateurs en quête de confidentialité et d'anonymat en ligne. Son expertise en matière de serveurs proxy SOCKS, HTTP et d'élite fait de lui un atout inestimable pour l'équipe.

Commentaires (0)

Il n'y a pas encore de commentaires ici, vous pouvez être le premier !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *