Se lavori su Linux e hai bisogno di instradare il traffico attraverso un proxy — per scraping, monitoraggio dei prezzi sui marketplace o gestione di più account — le istruzioni standard trovate online spesso non funzionano. Alcuni descrivono solo il browser, altri solo il terminale, e non c'è mai un quadro completo. In questa guida esploreremo tutti i metodi: da un singolo comando nel terminale a impostazioni di sistema che coprono tutto il traffico di Ubuntu e Debian.
Quale tipo di proxy scegliere per Linux
Prima di procedere con la configurazione, è importante capire: non tutti i proxy sono adatti per le diverse attività. Le macchine Linux vengono spesso utilizzate per compiti automatizzati — scraping, monitoraggio, richieste massicce — e la scelta del tipo di proxy è qui critica.
| Tipo di proxy | Protocolli | Adatto per | Rischio di blocco |
|---|---|---|---|
| Proxy data center | HTTP, HTTPS, SOCKS5 | Scraping, curl, script | Medio |
| Proxy residenziali | HTTP, HTTPS, SOCKS5 | Marketplace, social media, account | Basso |
| Proxy mobili | HTTP, SOCKS5 | Facebook, Instagram, TikTok | Minimo |
Per la maggior parte delle attività su Linux, sono adatti i proxy HTTP/HTTPS o SOCKS5. SOCKS5 è preferibile — funziona a livello TCP ed è supportato dalla maggior parte degli strumenti, inclusi curl, wget e proxychains. Nei prossimi esempi utilizzeremo entrambe le opzioni.
Formato dei dati del proxy
Per tutte le impostazioni qui sotto avrai bisogno dei dati nel formato:
host:port o host:port:login:password
Questi dati li ricevi dal provider di proxy nel tuo pannello personale.
Configurazione tramite variabili d'ambiente nel terminale
Il modo più veloce per instradare il traffico attraverso un proxy in Linux è impostare le variabili d'ambiente. La maggior parte delle utility da console (curl, wget, pip, apt e altre) legge automaticamente queste variabili e utilizza il proxy specificato senza ulteriori configurazioni.
Impostazione temporanea (solo per la sessione corrente)
Apri il terminale ed esegui i seguenti comandi. Sostituisci i valori con i dati del tuo proxy:
# Per proxy HTTP senza autorizzazione export http_proxy="http://192.168.1.1:3128" export https_proxy="http://192.168.1.1:3128" # Per proxy HTTP con login e password export http_proxy="http://login:[email protected]:3128" export https_proxy="http://login:[email protected]:3128" # Per proxy SOCKS5 export http_proxy="socks5://login:[email protected]:1080" export https_proxy="socks5://login:[email protected]:1080" # Eccezioni — indirizzi senza proxy (localhost e rete locale) export no_proxy="localhost,127.0.0.1,::1,192.168.0.0/16"
Dopo questi comandi, tutte le utility nel terminale corrente utilizzeranno il proxy. Un aspetto importante: alcune applicazioni leggono le variabili solo in maiuscolo. Per sicurezza, ripeti i comandi con lettere maiuscole:
export HTTP_PROXY="http://login:[email protected]:3128" export HTTPS_PROXY="http://login:[email protected]:3128" export NO_PROXY="localhost,127.0.0.1"
Impostazione permanente per il tuo utente
Affinché il proxy venga applicato automaticamente ad ogni accesso al terminale, aggiungi le variabili al file ~/.bashrc (per bash) o ~/.zshrc (per zsh):
# Apriamo il file nell'editor nano nano ~/.bashrc # Aggiungiamo alla fine del file le seguenti righe: export http_proxy="http://login:password@host:port" export https_proxy="http://login:password@host:port" export HTTP_PROXY="http://login:password@host:port" export HTTPS_PROXY="http://login:password@host:port" export no_proxy="localhost,127.0.0.1" # Salviamo: Ctrl+O, Enter, Ctrl+X # Applichiamo le modifiche senza riavviare il terminale: source ~/.bashrc
Impostazione di sistema per tutti gli utenti
Se Linux viene utilizzato come server o se desideri applicare il proxy per tutti gli utenti del sistema, aggiungi le variabili al file /etc/environment:
sudo nano /etc/environment # Aggiungi le righe (senza il comando export!): http_proxy="http://login:password@host:port" https_proxy="http://login:password@host:port" HTTP_PROXY="http://login:password@host:port" HTTPS_PROXY="http://login:password@host:port" no_proxy="localhost,127.0.0.1,::1"
Dopo aver salvato il file, le modifiche entreranno in vigore al prossimo accesso al sistema. Per applicare senza riavvio, esegui source /etc/environment.
Impostazioni di sistema del proxy tramite interfaccia grafica (GNOME)
Se utilizzi Ubuntu con desktop GNOME (installazione standard di Ubuntu Desktop), puoi configurare il proxy tramite interfaccia grafica senza dover digitare alcun comando. Questo è comodo per chi inizia a lavorare con Linux.
Istruzioni passo passo per Ubuntu GNOME
- Fai clic sull'icona nell'angolo in alto a destra dello schermo → seleziona «Impostazioni» (Settings)
- Nel menu a sinistra scorri verso il basso e seleziona «Rete» (Network)
- Nella sezione «Proxy di rete» fai clic sul pulsante con la freccia (icona delle impostazioni)
- Seleziona la modalità proxy:
- Disattivato — il proxy non viene utilizzato
- Manuale — inserisci i dati del proxy manualmente (raccomandato)
- Automaticamente — viene utilizzato un file PAC dal provider
- Seleziona «Manuale» e compila i campi:
- Proxy HTTP: inserisci l'indirizzo host e la porta
- Proxy HTTPS: gli stessi dati
- Host SOCKS: indirizzo e porta (se utilizzi SOCKS5)
- Ignora host:
localhost, 127.0.0.0/8
- Chiudi la finestra — le impostazioni vengono applicate automaticamente
⚠️ È importante sapere
Le impostazioni del proxy tramite GNOME vengono applicate solo alle applicazioni che leggono le impostazioni di sistema: browser GNOME Web, alcune applicazioni GNOME. Le utility da terminale (curl, wget, apt) non utilizzano queste impostazioni — per loro sono necessarie le variabili d'ambiente della sezione precedente. Firefox e Chromium hanno le proprie impostazioni del proxy.
Configurazione tramite gsettings (terminal + GUI)
Se desideri gestire le impostazioni di sistema del proxy GNOME tramite terminale (ad esempio, per automazione), utilizza il comando gsettings:
# Abilitare la modalità proxy manuale gsettings set org.gnome.system.proxy mode 'manual' # Impostare il proxy HTTP gsettings set org.gnome.system.proxy.http host 'host' gsettings set org.gnome.system.proxy.http port 3128 # Impostare il proxy HTTPS gsettings set org.gnome.system.proxy.https host 'host' gsettings set org.gnome.system.proxy.https port 3128 # Impostare il proxy SOCKS5 gsettings set org.gnome.system.proxy.socks host 'host' gsettings set org.gnome.system.proxy.socks port 1080 # Disattivare il proxy gsettings set org.gnome.system.proxy mode 'none'
Proxy per APT — installazione di pacchetti tramite proxy
Il gestore di pacchetti APT (utilizzato in Ubuntu e Debian) ha un proprio sistema di configurazione del proxy, che non dipende dalle variabili d'ambiente. Questo è particolarmente rilevante per i server senza accesso diretto a Internet o per reti aziendali.
Metodo 1: Proxy temporaneo per un singolo comando
# Utilizzare il proxy per un singolo comando apt sudo apt-get -o Acquire::http::Proxy="http://login:password@host:port" update # Oppure tramite variabile d'ambiente sudo http_proxy="http://login:password@host:port" apt-get update
Metodo 2: Proxy permanente per APT
Crea un file di configurazione per APT. Questo metodo è raccomandato per i server dove il proxy è necessario in modo permanente:
# Creiamo il file di configurazione sudo nano /etc/apt/apt.conf.d/95proxies # Aggiungiamo il contenuto: Acquire::http::Proxy "http://login:password@host:port"; Acquire::https::Proxy "http://login:password@host:port"; Acquire::ftp::Proxy "ftp://login:password@host:port"; # Salviamo e verifichiamo: sudo apt-get update
Se il proxy è senza autorizzazione, le righe sono più semplici: Acquire::http::Proxy "http://host:port";. Per disattivare il proxy per APT, basta eliminare il file creato con il comando sudo rm /etc/apt/apt.conf.d/95proxies.
Proxy per curl e wget
Curl e wget sono gli strumenti principali per lavorare con le richieste HTTP in Linux. Vengono utilizzati per scraping, testare API, scaricare file. Entrambi gli strumenti supportano i proxy direttamente tramite i parametri della riga di comando.
Curl con proxy
# Proxy HTTP curl -x http://login:password@host:port https://example.com # Proxy SOCKS5 curl --socks5 host:port --proxy-user login:password https://example.com # Verifica il tuo IP tramite proxy curl -x http://login:password@host:port https://api.ipify.org # Ignora gli errori SSL (se necessario) curl -x http://login:password@host:port -k https://example.com
Per non dover specificare il proxy ogni volta, aggiungi la configurazione nel file ~/.curlrc:
nano ~/.curlrc # Aggiungi la riga: proxy = "http://login:password@host:port" # Ora curl utilizza sempre questo proxy: curl https://api.ipify.org
Wget con proxy
# Tramite parametro della riga di comando wget -e "http_proxy=http://login:password@host:port" https://example.com # Impostazione permanente in ~/.wgetrc nano ~/.wgetrc # Aggiungi le righe: http_proxy = http://login:password@host:port https_proxy = http://login:password@host:port use_proxy = on
Proxy per Firefox e Chromium su Linux
I browser su Linux hanno le proprie impostazioni proxy, che funzionano indipendentemente da quelle di sistema. Questo è comodo se desideri utilizzare un proxy solo nel browser, senza influenzare il resto del traffico.
Firefox: configurazione manuale
- Apri Firefox → fai clic sulle tre linee nell'angolo in alto a destra → «Impostazioni»
- Scorri verso il basso fino alla sezione «Server proxy» → fai clic su «Impostazione»
- Seleziona «Impostazione manuale del proxy»
- Compila i campi:
- Proxy HTTP: indirizzo host, porta
- Seleziona la casella «Utilizza questo server proxy per tutti i protocolli»
- Oppure specifica separatamente SOCKS: indirizzo, porta, seleziona SOCKS v5
- Fai clic su OK
Se il proxy richiede autorizzazione, Firefox richiederà il login e la password al primo accesso e li ricorderà. Per passare rapidamente tra più proxy, installa l'estensione FoxyProxy — consente di creare profili e passare con un clic.
Chromium / Google Chrome: avvio con proxy
Chromium su Linux non ha impostazioni proxy integrate nell'interfaccia — utilizza le impostazioni di sistema. Ma puoi avviare il browser con un proxy specifico tramite parametro della riga di comando:
# Avvio di Chromium con proxy HTTP chromium-browser --proxy-server="http://host:port" # Avvio con proxy SOCKS5 chromium-browser --proxy-server="socks5://host:port" # Avvio con proxy e ignorando localhost chromium-browser --proxy-server="http://host:port" \ --proxy-bypass-list="localhost;127.0.0.1" # Per Google Chrome sostituisci chromium-browser con google-chrome google-chrome --proxy-server="socks5://host:port"
💡 Consiglio per multi-accounting
Se gestisci più account tramite browser su Linux, utilizzare un normale browser con proxy non è sufficiente — i siti tracciano il fingerprint del browser, i cookie e altri parametri. Per un vero multi-accounting, utilizza browser anti-detect: Dolphin Anty, AdsPower o GoLogin — creano profili isolati con proxy separati per ogni account.
Proxychains — proxy per qualsiasi applicazione senza supporto
Alcune applicazioni non supportano la configurazione del proxy né tramite variabili d'ambiente né tramite propri parametri. In questo caso, entra in gioco proxychains — uno strumento che intercetta le chiamate di rete di qualsiasi programma e le instrada attraverso un proxy. Questo è particolarmente utile per gli scraper scritti in Python o per utility specializzate.
Installazione di proxychains
# Ubuntu / Debian sudo apt-get update sudo apt-get install proxychains4 # Verifica dell'installazione proxychains4 --version
Configurazione del file di configurazione
# Apriamo il config sudo nano /etc/proxychains4.conf # Troviamo la riga "dynamic_chain" — decommentiamola (rimuoviamo #): dynamic_chain # Commentiamo "strict_chain" (aggiungiamo # all'inizio): # strict_chain # Alla fine del file, nella sezione [ProxyList], aggiungiamo il nostro proxy: # Formato: tipo host porta [login] [password] # Proxy HTTP senza autorizzazione: http 192.168.1.1 3128 # SOCKS5 con autorizzazione: socks5 host 1080 login password
Utilizzo di proxychains
Dopo la configurazione, basta aggiungere proxychains4 prima di qualsiasi comando:
# Avviare curl tramite proxy proxychains4 curl https://api.ipify.org # Avviare uno script Python tramite proxy proxychains4 python3 parser.py # Avviare nmap tramite proxy proxychains4 nmap -sT target.com # Aprire Firefox tramite proxy proxychains4 firefox
La modalità dynamic_chain significa che se un proxy non è disponibile, proxychains proverà il successivo nella lista. Questo è comodo se hai più proxy — aggiungili tutti in [ProxyList] e otterrai una rotazione automatica.
Come verificare che il proxy funzioni
Dopo la configurazione, assicurati di controllare che il traffico stia effettivamente passando attraverso il proxy e non direttamente. Ecco alcuni modi rapidi:
Verifica tramite curl
# Scoprire l'IP attuale senza proxy curl https://api.ipify.org # Risultato: il tuo IP reale, ad esempio 85.12.34.56 # Scoprire l'IP tramite proxy curl -x http://login:password@host:port https://api.ipify.org # Il risultato dovrebbe differire — questo è l'IP del server proxy # Informazioni dettagliate sull'IP curl -x http://login:password@host:port https://ipinfo.io/json
Verifica delle variabili d'ambiente
# Visualizza le variabili proxy impostate env | grep -i proxy # Risultato atteso: # http_proxy=http://login:password@host:port # https_proxy=http://login:password@host:port
Verifica della disponibilità del server proxy
# Controlla che la porta del proxy sia aperta e risponda nc -zv host port # Ad esempio: nc -zv 192.168.1.1 3128 # Se nc non è installato: telnet host port
✅ Checklist di verifica del proxy
- L'IP nella risposta curl differisce dal tuo IP reale
- Il paese e la città in ipinfo.io corrispondono al proxy selezionato
- Nessun errore
Connection refusedo407 Proxy Authentication Required - La velocità di connessione è accettabile (controlla tramite curl con il flag
-w "%{time_total}")
Scenari pratici: scraping, monitoraggio, multi-accounting
Esaminiamo compiti specifici con cui gli utenti si trovano più spesso ad affrontare quando configurano proxy su Linux.
Scenario 1: Scraping di Wildberries e Ozon da un server Linux
I venditori sui marketplace spesso avviano scraper di prezzi su VPS con Ubuntu. Wildberries e Ozon bloccano attivamente le richieste dagli indirizzi IP dei server. Per aggirare questa protezione sono necessari proxy residenziali — sembrano utenti domestici normali.
Lo schema di configurazione raccomandato per lo scraping dei marketplace:
- Imposta le variabili d'ambiente con i dati dei proxy residenziali nel file
~/.bashrc - Se utilizzi uno script Python — assicurati che la libreria
requestslegga le variabili d'ambiente (di default lo fa) - Per la rotazione degli IP, configura più proxy in proxychains con la modalità
dynamic_chain - Aggiungi ritardi tra le richieste (1-3 secondi) — questo riduce il rischio di blocco
- Controlla l'IP dopo ogni 50-100 richieste tramite
curl https://api.ipify.org
Scenario 2: Monitoraggio dei prezzi dei concorrenti su Avito
Avito blocca le richieste in base a diversi criteri: frequenza delle richieste, tipo di User-Agent, indirizzo IP. Per monitorare gli annunci da un server Linux, utilizza il seguente approccio:
# Esempio di richiesta ad Avito tramite proxy con intestazioni corrette curl -x http://login:password@host:port \ -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" \ -H "Accept-Language: ru-RU,ru;q=0.9" \ -H "Accept: text/html,application/xhtml+xml" \ "https://www.avito.ru/moskva/nedvizhimost"
Per Avito è particolarmente importante utilizzare proxy con indirizzi IP russi. I proxy residenziali con geolocalizzazione nella città desiderata consentono di visualizzare gli annunci legati a una specifica regione.
Scenario 3: Lavorare con Facebook Ads e Instagram tramite Linux
Gli arbitraggisti che lavorano su Linux (spesso tramite VPS) utilizzano browser anti-detect per gestire gli account pubblicitari. Schema di lavoro:
- Installa Dolphin Anty o AdsPower su Linux (entrambi hanno versioni per Linux)
- Crea un profilo del browser separato per ogni account Facebook Ads
- Nei parametri di ogni profilo, specifica un proxy separato
- Per Facebook e Instagram sono raccomandati i proxy mobili — hanno indirizzi IP reali degli operatori mobili e un rischio minimo di blocchi
- Il proxy di sistema Linux non è necessario — il browser anti-detect gestisce il proxy a livello di ogni profilo
Confronto dei metodi di configurazione del proxy su Linux
| Metodo | Copertura | Difficoltà | Meglio per |
|---|---|---|---|
| Variabili d'ambiente | La maggior parte delle utility CLI | Bassa | Script, curl, pip |
| GUI GNOME | Applicazioni GNOME | Bassa | Desktop senza terminale |
| Configurazione APT | Solo APT | Bassa | Server dietro NAT |
| Proxychains | Qualsiasi applicazione | Media | Scraper, utility di terze parti |
| Impostazioni del browser | Solo browser | Bassa | Lavoro manuale nel browser |
Errori tipici nella configurazione del proxy su Linux
- Solo variabili minuscole — alcune applicazioni leggono solo
HTTP_PROXY(maiuscole), altre solohttp_proxy. Imposta entrambe le varianti. - Dimenticato il source — dopo aver modificato
.bashrcè necessario eseguiresource ~/.bashrc, altrimenti le modifiche non verranno applicate. - Il proxy non funziona con sudo — quando utilizzi sudo, le variabili d'ambiente dell'utente non vengono trasferite. Usa
sudo -Eper trasferire le variabili. - localhost passa attraverso il proxy — aggiungi sempre in
no_proxyi valorilocalhost,127.0.0.1. - Formato URL errato — per i proxy HTTP è obbligatorio specificare lo schema:
http://osocks5://.
Conclusione
Configurare un proxy su Linux Ubuntu e Debian è un compito che può essere affrontato in diversi modi a seconda del tuo obiettivo. Per la maggior parte delle attività, sono sufficienti le variabili d'ambiente: coprono curl, wget, pip e la maggior parte degli script. Per una copertura completa del traffico di qualsiasi applicazione, utilizza proxychains. Per il browser — impostazioni integrate o avvio con il parametro --proxy-server. Per APT — un file di configurazione separato.
Il principio principale: scegli il metodo in base al compito specifico. Non è necessario configurare un proxy di sistema se hai bisogno di un proxy solo per uno script. E viceversa — se tutto il traffico del server deve passare attraverso un proxy, imposta le variabili in /etc/environment una volta e dimentica di farlo.
Se utilizzi Linux per scraping di marketplace, monitoraggio dei prezzi o richieste automatizzate, presta attenzione ai proxy residenziali — hanno IP reali di utenti domestici, che praticamente non vengono bloccati su Wildberries, Ozon e Avito. Per lavorare con i pannelli pubblicitari di Facebook Ads e Instagram tramite browser anti-detect su Linux, sono adatti i proxy mobili — rischio minimo di blocchi e massima fiducia da parte delle piattaforme.