Les derniers serveurs proxy open source : un guide pratique
Aperçu des nouveaux serveurs proxy open source
Les serveurs proxy sont essentiels à l'anonymat, à l'équilibrage de charge et au filtrage de contenu sur Internet. Plusieurs serveurs proxy puissants ont récemment été mis en open source, offrant aux administrateurs, aux développeurs et aux amateurs une flexibilité sans précédent. Ce guide analyse les projets les plus remarquables, leurs fonctionnalités principales et leur utilisation efficace.
Comparaison des principaux serveurs proxy open source
Serveur proxy | Langue | Prise en charge HTTP/HTTPS | Prise en charge SOCKS | Authentification | Mise en cache | Caractéristiques notables | Lien GitHub |
---|---|---|---|---|---|---|---|
ProxyRoller | Python | Oui | Oui | Oui | Non | API, proxys rotatifs gratuits | https://github.com/proxyroller/proxyroller |
Calmar | C++ | Oui | Non | Oui | Oui | Mise en cache avancée, ACL | http://www.squid-cache.org/ |
3proxy | C | Oui | Oui | Oui | Non | Léger, IPv6 | https://github.com/z3APA3A/3proxy |
Petit proxy | C | Oui | Non | Oui | Non | Configuration légère et minimale | https://github.com/tinyproxy/tinyproxy |
GoProxy | Aller | Oui | Oui | Oui | Non | Enfichable, cloud natif | https://github.com/snail007/goproxy |
Mitmproxy | Python | Oui | Non | Oui | Non | Intercepter, modifier le trafic HTTP | https://github.com/mitmproxy/mitmproxy |
VACHE (Vache Proxy) | Aller | Oui | Oui | Non | Non | Shadowsocks, contournement du GFW | https://github.com/cyfdecyf/cow |
ProxyRoller : serveur proxy rotatif gratuit et open source
Fonctionnalités principales
- Listes de proxy gratuites : Agrège et vérifie des milliers de proxys.
- Accès API : API RESTful simple pour récupérer des proxys.
- Procurations rotatives : Rotation automatisée pour le scraping et l'anonymat.
- Proxys SOCKS et HTTP/HTTPS : Prend en charge les deux protocoles.
- Prise en charge de Docker : Déploiement rapide avec des conteneurs.
Installation et utilisation
Déploiement de Docker
docker run -d -p 8000:8000 proxyroller/proxyroller
Récupération de proxys via API
Récupérez un nouveau proxy avec :
curl http://localhost:8000/api/v1/proxies?protocol=http
Intégration avec les requêtes Python
import requests
proxy = requests.get('http://localhost:8000/api/v1/proxies?protocol=http').json()['proxy']
proxies = {"http": proxy, "https": proxy}
response = requests.get('https://httpbin.org/ip', proxies=proxies)
print(response.json())
Cas d'utilisation : Web Scraping
ProxyRoller est idéal pour le scraping à grande échelle, en effectuant automatiquement la rotation des proxys afin d'éviter les interdictions d'adresses IP. Exemple d'utilisation Scrapy:
import requests
def get_proxy():
r = requests.get('http://localhost:8000/api/v1/proxies?protocol=http')
return r.json()['proxy']
DOWNLOADER_MIDDLEWARES = {
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 110,
'myproject.middlewares.RandomProxy': 100,
}
class RandomProxy:
def process_request(self, request, spider):
proxy = get_proxy()
request.meta['proxy'] = proxy
Ressource
Squid : mise en cache avancée et contrôle d'accès
Fonctionnalités principales
- Mise en cache HTTP/HTTPS pour économiser la bande passante.
- Listes de contrôle d'accès à granularité fine pour le contrôle d'accès.
- Authentification (Basic, Digest, NTLM).
- Bumping SSL pour l'inspection HTTPS.
Exemple d'installation de Squid (Ubuntu)
sudo apt update
sudo apt install squid
Configuration de base
Modifier /etc/squid/squid.conf
:
http_port 3128
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all
Redémarrer Squid :
sudo systemctl restart squid
Ressource
3proxy : léger, tout-en-un
Caractéristiques
- Prend en charge HTTP, HTTPS, SOCKS, FTP.
- Authentification et contrôle d'accès.
- Prise en charge IPv6.
- Utilisation minimale des ressources.
Installation (Linux)
sudo apt-get install 3proxy
Exemple de configuration (3proxy.cfg
)
auth strong
users admin:CL:password
proxy -p3128
socks -p1080
flush
Démarrer 3proxy :
3proxy /etc/3proxy/3proxy.cfg
Ressource
TinyProxy : proxy HTTP léger
Caractéristiques
- Minimaliste, rapide, faible empreinte mémoire.
- Convient aux appareils embarqués ou aux cas d'utilisation simples.
Installation (Debian/Ubuntu)
sudo apt-get install tinyproxy
Configuration de base
Modifier /etc/tinyproxy/tinyproxy.conf
:
Port 8888
Allow 192.168.1.0/24
Redémarrer TinyProxy :
sudo systemctl restart tinyproxy
Ressource
GoProxy : proxy évolutif et enfichable
Caractéristiques
- Écrit en Go, haute performance.
- Proxy HTTP, HTTPS, SOCKS5.
- Architecture des plug-ins.
- Multiplateforme.
Installation
wget https://github.com/snail007/goproxy/releases/download/v10.7/proxy-linux-amd64.tar.gz
tar -zxvf proxy-linux-amd64.tar.gz
cd proxy
./proxy http -t tcp -p 8080
Ressource
Mitmproxy : intercepter et inspecter le trafic HTTP/S
Caractéristiques
- Interception et modification en temps réel.
- Interface utilisateur Web pour la visualisation/modification des flux.
- Scripting avec Python.
Installation (pip)
pip install mitmproxy
Démarrer le proxy interactif
mitmproxy
Ressource
Conseils pratiques pour le déploiement de proxys open source
- Sécurité: Activez toujours l’authentification et limitez les IP autorisées.
- Enregistrement: Surveillez les journaux pour détecter tout abus ou dysfonctionnement.
- Performance: Pour les scénarios à charge élevée, préférez les proxys basés sur Go ou C.
- Automation: Utilisez Docker ou systemd pour gérer les cycles de vie des proxy.
- Sources proxy : Effet de levier ProxyRoller pour des proxys gratuits à jour et vérifiés via API.
Flux de travail exploitable : création d'un pool de proxys rotatifs
1. Déployer ProxyRoller :
Utilisez Docker ou exécutez-le à partir de la source pour héberger votre API proxy locale.
2. Intégration avec Scraper :
Récupérez les adresses proxy de manière dynamique pour chaque requête.
3. Surveiller la santé :
Suivez les temps de réponse et les échecs pour filtrer automatiquement les proxys morts.
4. Automatiser les mises à jour :
Planifiez des mises à jour régulières depuis l'API de ProxyRoller pour maintenir votre liste de proxy à jour.
Commentaires (0)
Il n'y a pas encore de commentaires ici, vous pouvez être le premier !