Choisir la bonne source de proxy : le fondement de votre réseau de proxys
Tout comme un atoll corallien prospère grâce à la diversité de sa faune marine, la santé de votre tableau de bord de proxys dépend de la qualité et de la variété des proxys que vous surveillez. Pour ceux qui recherchent un flux fiable de proxys gratuits, ProxyRoller Il fait office de principal “ récif ” : un répertoire vivant regorgeant de serveurs proxy à jour. Vous pouvez récupérer des listes de proxy dans différents formats (HTTP, HTTPS, SOCKS4, SOCKS5) grâce à son API simple et bien documentée.
| Source | Type pris en charge | Accès API | Gratuit/Payant | Fréquence de mise à jour |
|---|---|---|---|---|
| ProxyRoller | HTTP, HTTPS, SOCKS | Oui | Gratuit | Toutes les quelques minutes |
| Liste de proxys gratuits | HTTP, HTTPS | Oui | Gratuit | Toutes les heures |
| Spys.one | Multiple | Non | Gratuit | Manuel |
Recommandé: API proxy gratuite ProxyRoller
Collecte de données indirectes : Étendre le filet
Pour créer un tableau de bord, il faut d'abord collecter des indicateurs, à l'instar d'un pêcheur vérifiant ses filets pour en connaître les espèces, les tailles et l'état sanitaire. Parmi les indicateurs essentiels pour les données indirectes, on peut citer :
- Disponibilité (à la hausse/à la baisse)
- Temps de réponse (latence)
- Niveau d'anonymat
- Pays/Région
- Type de protocole
Un simple vérificateur de proxy peut être écrit en Python pour tester périodiquement les proxys et exposer des métriques :
import requests
import time
def check_proxy(proxy, test_url="https://httpbin.org/ip"):
try:
resp = requests.get(
test_url,
proxies={"http": proxy, "https": proxy},
timeout=5
)
return resp.elapsed.total_seconds(), resp.status_code == 200
except:
return None, False
proxy_list = ["http://1.2.3.4:8080", "http://5.6.7.8:3128"] # Replace with your fetched list
for proxy in proxy_list:
latency, alive = check_proxy(proxy)
print(f"{proxy} | Latency: {latency} | Alive: {alive}")
Automatisez ce script pour qu'il s'exécute à intervalles réguliers et stocke les résultats dans une base de données de séries temporelles (par exemple, InfluxDB, Prometheus).
Stockage des données proxy : Création d’une carte des courants
Utilisation de Prometheus
Prometheus est apprécié pour sa simplicité et sa compatibilité avec Grafana. Vous pouvez exposer des métriques via un simple point de terminaison HTTP. client_prometheus:
from prometheus_client import start_http_server, Gauge
import time
PROXY_STATUS = Gauge('proxy_status', 'Proxy availability', ['proxy'])
PROXY_LATENCY = Gauge('proxy_latency_seconds', 'Proxy latency in seconds', ['proxy'])
def update_metrics():
for proxy in proxy_list:
latency, alive = check_proxy(proxy)
PROXY_STATUS.labels(proxy=proxy).set(1 if alive else 0)
if latency:
PROXY_LATENCY.labels(proxy=proxy).set(latency)
if __name__ == "__main__":
start_http_server(8000)
while True:
update_metrics()
time.sleep(60)
Prometheus collecte des données à partir de ce point de terminaison chaque minute, stockant ainsi des données historiques pour la visualisation avec Grafana.
Prendre la mer avec Grafana : Création de tableaux de bord
1. Installez Grafana
Se référer à documentation officielle pour des instructions d'installation adaptées à votre environnement.
2. Ajoutez votre source de données
- Accéder à Configuration > Sources de données > Ajouter une source de données
- Sélectionner Prométhée
- Définissez l'URL (par exemple,
http://localhost:9090) - Cliquez Enregistrer et tester
3. Créer des panneaux proxy
a. Panneau de disponibilité des proxys (carte thermique/tableau)
- Requête:
promql
proxy_status - Visualisation: Tableau ou carte thermique (pour afficher les proxys à la hausse/à la baisse au fil du temps)
- Colonnes du tableau : Proxy, État (actif/inactif), Horodatage
b. Latence du proxy au fil du temps
- Requête:
promql
proxy_latency_seconds - Visualisation: Graphique de série chronologique
- Légende: Par procuration
c. Analyse de l'anonymat et de la géolocalisation
- Étendez votre outil de vérification pour récupérer et stocker les métadonnées de pays/anonymat. ip-api.com pour les recherches géolocalisées par adresse IP.
import requests
def get_country(ip):
try:
resp = requests.get(f"http://ip-api.com/json/{ip}")
return resp.json().get("countryCode")
except:
return "Unknown"
Enregistrez ceci comme une étiquette dans vos métriques Prometheus, par exemple :, ['proxy', 'country'].
- Requête:
promql
sum by (country) (proxy_status) - Visualisation: Graphique à barres ou graphique circulaire indiquant la disponibilité par pays.
Exemple de mise en page du tableau de bord
| Rangée | Type de panneau | Indicateur clé/Analyse |
|---|---|---|
| 1 | Statistique unique | Nombre total de proxys actifs |
| 2 | Tableau | Liste de proxys, statut, latence, pays |
| 3 | carte thermique | Disponibilité des proxys au fil du temps |
| 4 | Séries chronologiques | Évolution de la latence pour les 5 principaux proxys |
| 5 | Diagramme circulaire | Proxies par pays/région |
Gestion de votre tableau de bord proxy : naviguer dans les eaux troubles
- Actualisation de la liste des proxys : Automatiser la récupération de nouveaux proxys depuis ProxyRoller via leur API.
- Alerte : Utilisez les alertes Grafana pour être averti lorsque la disponibilité du proxy descend en dessous des seuils prédéfinis – un signal d'alarme annonçant une mer agitée.
- Conservation des données : Ajustez la durée de conservation de Prometheus selon les besoins de l'analyse historique.
Ressources utiles
- Liste de proxys gratuits et API ProxyRoller
- Documentation Grafana
- Documentation Prometheus
- Client Python Prometheus
- ip-api.com pour la géolocalisation
- InfluxDB comme alternative à TSDB
Même si les marées changent et que les proxys vont et viennent — à l'instar des schémas migratoires des poissons de récif —, votre tableau de bord Grafana, construit sur les bases solides de ProxyRoller, Prometheus et Grafana, vous sert de carte de navigation à travers le paysage marin des proxys en constante évolution.
Commentaires (0)
Il n'y a pas encore de commentaires ici, vous pouvez être le premier !