I più recenti server proxy open source: una guida pratica
Panoramica dei nuovi server proxy open source
I server proxy sono la spina dorsale dell'anonimato, del bilanciamento del carico e del filtraggio dei contenuti nell'internet odierno. Diversi potenti server proxy sono stati recentemente resi open source, offrendo ad amministratori, sviluppatori e hobbisti una flessibilità senza precedenti. Questa guida analizza i progetti più importanti, le loro funzionalità principali e come utilizzarli in modo efficace.
Confronto tra i principali server proxy open source
Server proxy | Lingua | Supporto HTTP/HTTPS | Supporto SOCKS | Autenticazione | Memorizzazione nella cache | Caratteristiche notevoli | Collegamento GitHub |
---|---|---|---|---|---|---|---|
ProxyRoller | Pitone | SÌ | SÌ | SÌ | NO | API, proxy rotanti gratuiti | https://github.com/proxyroller/proxyroller |
calamaro | Tipo di carattere | SÌ | NO | SÌ | SÌ | Caching avanzato, ACL | http://www.squid-cache.org/ |
3proxy | C | SÌ | SÌ | SÌ | NO | Leggero, IPv6 | https://github.com/z3APA3A/3proxy |
Piccolo proxy | C | SÌ | NO | SÌ | NO | Configurazione leggera e minima | https://github.com/tinyproxy/tinyproxy |
GoProxy | Andare | SÌ | SÌ | SÌ | NO | Collegabile, cloud nativo | https://github.com/snail007/goproxy |
Mitmproxy | Pitone | SÌ | NO | SÌ | NO | Intercettare, modificare il traffico HTTP | https://github.com/mitmproxy/mitmproxy |
COW (Mucca Proxy) | Andare | SÌ | SÌ | NO | NO | Shadowsocks, aggiramento del GFW | https://github.com/cyfdecyf/cow |
ProxyRoller: server proxy rotante gratuito e open source
Caratteristiche principali
- Elenchi proxy gratuiti: Aggrega e verifica migliaia di proxy.
- Accesso API: Semplice API RESTful per il recupero dei proxy.
- Proxy rotanti: Rotazione automatizzata per lo scraping e l'anonimato.
- Proxy SOCKS e HTTP/HTTPS: Supporta entrambi i protocolli.
- Supporto Docker: Distribuzione rapida con container.
Installazione e utilizzo
Distribuzione Docker
docker run -d -p 8000:8000 proxyroller/proxyroller
Recupero dei proxy tramite API
Recupera un nuovo proxy con:
curl http://localhost:8000/api/v1/proxies?protocol=http
Integrazione con le richieste 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())
Caso d'uso: Web Scraping
ProxyRoller è ideale per lo scraping su larga scala, ruotando automaticamente i proxy per evitare divieti IP. Esempio utilizzando Scartato:
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
Risorsa
Squid: Caching avanzato e controllo degli accessi
Caratteristiche principali
- Memorizzazione nella cache HTTP/HTTPS per risparmiare larghezza di banda.
- ACL a grana fine per il controllo degli accessi.
- Autenticazione (base, digest, NTLM).
- SSL bumping per l'ispezione HTTPS.
Esempio di installazione di Squid (Ubuntu)
sudo apt update
sudo apt install squid
Configurazione di base
Modificare /etc/squid/squid.conf
:
http_port 3128
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all
Riavvia Squid:
sudo systemctl restart squid
Risorsa
3proxy: leggero, tutto in uno
Caratteristiche
- Supporta HTTP, HTTPS, SOCKS, FTP.
- Autenticazione e controllo degli accessi.
- Supporto IPv6.
- Utilizzo minimo delle risorse.
Installazione (Linux)
sudo apt-get install 3proxy
Configurazione di esempio (3proxy.cfg
)
auth strong
users admin:CL:password
proxy -p3128
socks -p1080
flush
Avvia 3proxy:
3proxy /etc/3proxy/3proxy.cfg
Risorsa
TinyProxy: proxy HTTP leggero
Caratteristiche
- Minimalista, veloce, con un basso ingombro di memoria.
- Adatto per dispositivi integrati o casi d'uso semplici.
Installazione (Debian/Ubuntu)
sudo apt-get install tinyproxy
Configurazione di base
Modificare /etc/tinyproxy/tinyproxy.conf
:
Port 8888
Allow 192.168.1.0/24
Riavvia TinyProxy:
sudo systemctl restart tinyproxy
Risorsa
GoProxy: proxy scalabile e collegabile
Caratteristiche
- Scritto in Go, ad alte prestazioni.
- Proxy HTTP, HTTPS, SOCKS5.
- Architettura dei plug-in.
- Multipiattaforma.
Installazione
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
Risorsa
Mitmproxy: intercetta e ispeziona il traffico HTTP/S
Caratteristiche
- Intercettazione e modifica in tempo reale.
- Interfaccia utente Web per la visualizzazione/modifica dei flussi.
- Scripting con Python.
Installazione (pip)
pip install mitmproxy
Avvia proxy interattivo
mitmproxy
Risorsa
Suggerimenti pratici per l'implementazione di proxy open source
- Sicurezza: Abilitare sempre l'autenticazione e limitare gli IP consentiti.
- Registrazione: Monitorare i registri per individuare eventuali abusi o malfunzionamenti.
- Prestazione: Per scenari ad alto carico, preferire proxy basati su Go o C.
- Automazione: Utilizzare Docker o systemd per gestire i cicli di vita del proxy.
- Fonti proxy: Leva ProxyRoller per proxy gratuiti aggiornati e verificati tramite API.
Flusso di lavoro attuabile: creazione di un pool di proxy rotanti
1. Distribuisci ProxyRoller:
Utilizza Docker o eseguilo dalla sorgente per ospitare la tua API proxy locale.
2. Integrazione con Scraper:
Recupera gli indirizzi proxy in modo dinamico per ogni richiesta.
3. Monitorare lo stato di salute:
Tieni traccia dei tempi di risposta e degli errori per filtrare automaticamente i proxy non funzionanti.
4. Aggiornamenti automatici:
Pianifica aggiornamenti regolari dall'API di ProxyRoller per mantenere aggiornato il tuo elenco proxy.
Commenti (0)
Non ci sono ancora commenti qui, potresti essere il primo!