Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
requests-ip-rotator — Une bibliothèque Python pour utiliser le vaste pool d'IP d'AWS API Gateway comme proxy afin de générer des IP pseudo-infinies pour le web scraping et le brute forcing. | Kitploit
Outils/GitHubGitHub/ge0rg3/requests-ip-rotator
Attaques de Mots de PasseProxies Web et InterceptionÉvasion IDS/IPSCollecte d'InformationsContournement de WAFSécurité WebTests d'IntrusionCrawler
GitHubge0rg3/requests-ip-rotator

requests-ip-rotator

Une bibliothèque Python pour utiliser le vaste pool d'IP d'AWS API Gateway comme proxy afin de générer des IP pseudo-infinies pour le web scraping et le brute forcing.

1.7k172113il y a 2 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
Site web

Fièrement sponsorisé par Swiftproxy

Proxies résidentiels haute performance avec un pool de plus de 80M d'IP dans plus de 195 pays — améliorez les taux de réussite des requêtes et réduisez les blocages IP lors de la collecte de données à grande échelle et de l'automatisation de navigateurs. Parfait pour une utilisation avec requests-ip-rotator, Playwright, Selenium et autres outils de scraping.

Commencez un essai gratuit →


requests-ip-rotator

Une bibliothèque Python pour utiliser le vaste pool d'IP d'AWS API Gateway comme proxy afin de générer des IP pseudo-infinies pour le web scraping et le brute forcing.

Cette bibliothèque permet à l'utilisateur de contourner les limites de débit basées sur l'IP pour les sites et services.

Les en-têtes X-Forwarded-For sont automatiquement randomisés et appliqués sauf s'ils sont fournis. En effet, sinon AWS enverrait la véritable adresse IP du client dans cet en-tête.

L'ApiGateway d'AWS envoie ses requêtes depuis n'importe quelle IP disponible — et comme l'infrastructure AWS est si vaste, elle est presque garantie d'être différente à chaque fois. En utilisant ApiGateway comme proxy, nous pouvons en tirer parti pour envoyer des requêtes depuis des IP différentes à chaque fois. Veuillez noter que ces requêtes peuvent être facilement identifiées et bloquées, car elles sont envoyées avec des en-têtes AWS uniques (par exemple "X-Amzn-Trace-Id").


Installation

Ce paquet est sur pypi, vous pouvez donc l'installer via l'une des méthodes suivantes :

  • pip3 install requests-ip-rotator
  • python3 -m pip install requests-ip-rotator

 

Utilisation simple

import requests
from requests_ip_rotator import ApiGateway

# Crée un objet passerelle et l'initialise dans AWS
gateway = ApiGateway("https://site.com")
gateway.start()

# Associe la passerelle à une session
session = requests.Session()
session.mount("https://site.com", gateway)

# Envoie une requête (l'IP sera randomisée)
response = session.get("https://site.com/index.php", params={"theme": "light"})
print(response.status_code)

# Supprime les passerelles
gateway.shutdown()

Utilisation alternative (démarrage et arrêt automatiques)

import requests
from requests_ip_rotator import ApiGateway

with ApiGateway("https://site.com") as g:
    session = requests.Session()
    session.mount("https://site.com", g)

    response = session.get("https://site.com/index.php")
    print(response.status_code)

N'oubliez pas que si les passerelles ne sont pas arrêtées via la méthode shutdown() lors de l'utilisation de la méthode n°1, vous pourriez être facturé ultérieurement.

 

Coûts

API Gateway est gratuit pour le premier million de requêtes par région, ce qui signifie que pour la plupart des cas d'utilisation, cela devrait être totalement gratuit.
Au moment de la rédaction, AWS facture environ 3 $ par million de requêtes après dépassement du niveau gratuit.
Si vos requêtes impliquent un flux de données, AWS facturera des frais de transfert de données à 0,09 $ par Go.  

Documentation

Authentification AWS

Il est recommandé de configurer l'authentification via des variables d'environnement. Avec awscli, vous pouvez exécuter aws configure pour ce faire, ou bien simplement définir vous-même les variables AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY en suivant les étapes mentionnées dans ce fil de discussion.

Vous pouvez trouver votre ID de clé d'accès et votre secret en suivant le tutoriel officiel AWS.

 

Création de l'objet ApiGateway

La classe ApiGateway peut être créée avec les paramètres optionnels suivants :

NomDescriptionRequisPar défaut
siteLe site (sans chemin) vers lequel les requêtes seront envoyées.True
regionsUn tableau de régions AWS dans lesquelles configurer les passerelles.Falseip_rotator.DEFAULT_REGIONS
access_key_idID de clé d'accès AWS (remplacera les variables d'environnement).FalseDépend des variables d'environnement.
access_key_secretClé secrète d'accès AWS (remplacera les variables d'environnement).FalseDépend des variables d'environnement.
verboseInclure les messages de statut et d'erreur.FalseTrue
from ip_rotator import ApiGateway, EXTRA_REGIONS, ALL_REGIONS

# Passerelle vers l'IP HTTP sortante et le port pour seulement deux régions
gateway_1 = ApiGateway("http://1.1.1.1:8080", regions=["eu-west-1", "eu-west-2"])

# Passerelle vers HTTPS google pour le pack de régions supplémentaires, avec une paire de clés d'accès spécifiée
gateway_2 = ApiGateway("https://www.google.com", regions=EXTRA_REGIONS, access_key_id="ID", access_key_secret="SECRET")

 

Démarrage de la passerelle API

Un objet ApiGateway doit ensuite être démarré à l'aide de la méthode start.
Par défaut, si une ApiGateway existe déjà pour le site, elle utilisera le point de terminaison existant au lieu d'en créer un nouveau.
Cela ne nécessite aucun paramètre, mais accepte les suivants :

NomDescriptionRequisPar défaut
endpointsTableau de points de terminaison préexistants (par exemple de session précédente).False
forceCréer un nouvel ensemble de points de terminaison, même s'ils existent déjà.FalseFalse
require_manual_deletionBooléen indiquant si les ApiGateway doivent persister après l'appel shutdown()FalseFalse
# Démarre de nouvelles instances ApiGateway pour le site, ou localise les points de terminaison existants s'ils existent déjà.
gateway_1.start()

# Démarre de nouvelles instances ApiGateway même si certaines existent déjà.
gateway_2.start(force=True)

 

Envoi de requêtes

Les requêtes sont envoyées en attachant l'objet ApiGateway à un objet Session de requests.
Le site donné dans mount doit correspondre au site passé dans le constructeur ApiGateway.

import requests

# Envoie une requête POST vers le site créé dans gateway_1. Sera envoyée depuis une IP aléatoire.
session_1 = requests.Session()
session_1.mount("http://1.1.1.1:8080", gateway_1)
session_1.post("http://1.1.1.1:8080/update.php", headers={"Hello": "World"})

# Envoie 127.0.0.1 comme en-tête X-Forwarded-For dans la requête sortante (sinon X-Forwarded-For est randomisé).
session_1.post("http://1.1.1.1:8080/update.php", headers={"X-Forwarded-For", "127.0.0.1"})

# Exécute une requête de recherche Google depuis une IP aléatoire
session_2 = requests.Session()
session_2.mount("https://www.google.com", gateway_2)
session_2.get("https://www.google.com/search?q=test")
Télécharger l’outil