Torna al blog

Proxy per GitHub dall'Iran: come uno sviluppatore sotto sanzioni può mantenere l'accesso al codice

GitHub blocca l'accesso dall'Iran a causa delle sanzioni statunitensi, ma gli sviluppatori trovano soluzioni funzionanti. Analizziamo quali proxy funzionano realmente e come configurarli in Git, VS Code e nel terminale.

📅19 agosto 2026
```html

GitHub ha bloccato l'accesso per gli utenti dall'Iran nel 2019 su richiesta dell'OFAC — l'agenzia statunitense che controlla l'applicazione delle sanzioni. Da allora, gli sviluppatori iraniani si trovano di fronte alla stessa situazione: i repository non sono accessibili, push e pull non vanno a buon fine, e l'account può essere congelato in qualsiasi momento. Tuttavia, il lavoro non si ferma: i team continuano a fare commit, deploy e partecipare a progetti open-source. In questo articolo analizziamo cosa funziona realmente nel 2024-2025, quali proxy sono adatti per GitHub e come configurarli correttamente senza perdere velocità.

Perché GitHub blocca l'Iran: sanzioni e implementazione tecnica

Nel luglio 2019, GitHub ha iniziato a limitare l'accesso per gli utenti dall'Iran, Crimea, Cuba, Siria e Corea del Nord. La ragione sono le richieste dell'OFAC (Office of Foreign Assets Control) nell'ambito della legislazione sulle sanzioni statunitensi. Microsoft, che possiede GitHub dal 2018, è obbligata a rispettare queste restrizioni come azienda americana.

Tecnologicamente, il blocco funziona su diversi livelli:

  • Geoblocking per IP: GitHub determina il paese dall'indirizzo IP e blocca le richieste dall'intervallo di indirizzi iraniani (blocchi AS appartenenti a fornitori iraniani).
  • Congelamento degli account: Gli account registrati con IP iraniani o con l'Iran indicato nel profilo possono essere messi in modalità di sola lettura o completamente congelati.
  • Blocco dei repository privati: I repository pubblici sono parzialmente accessibili in lettura, ma i privati sono completamente chiusi.
  • Restrizioni su GitHub Actions e Packages: I pipeline CI/CD e i registri dei pacchetti non sono disponibili dalle regioni bloccate.

Tuttavia, GitHub ha ripetutamente dichiarato di essere contrario a queste restrizioni e di fare pressione per allentamenti presso i regolatori. Nel 2019, l'azienda ha ottenuto il permesso di fornire accesso gratuito ai repository pubblici per gli sviluppatori iraniani, ma non è mai avvenuta una rimozione totale del blocco.

⚠️ È importante capire: Il blocco è rivolto contro organizzazioni e strutture governative soggette a sanzioni, non contro singoli sviluppatori. La maggior parte dei programmatori iraniani lavora in team internazionali e non è soggetta a sanzioni personalmente — ma tecnicamente il sistema blocca tutti per IP.

È proprio per questo che la soluzione al problema risiede nel cambio dell'indirizzo IP — questo è l'unico modo per aggirare tecnicamente il geoblocking. Vediamo quali strumenti sono adatti per questo.

Cosa funziona realmente: proxy, VPN e soluzioni alternative

Gli sviluppatori iraniani utilizzano diversi approcci. Ognuno ha vantaggi e svantaggi — analizziamoli onestamente, senza marketing.

1. Proxy residenziali

I proxy residenziali utilizzano indirizzi IP reali di utenti domestici di altri paesi — Germania, Paesi Bassi, Stati Uniti, Turchia. Dal punto di vista di GitHub, tale richiesta appare come proveniente da un normale utente di un paese autorizzato. Questa è l'opzione più affidabile per un lavoro continuativo: rischio minimo di blocco del proxy stesso, alta stabilità.

Lo svantaggio è che la velocità è inferiore a quella dei proxy dei data center e il costo è più elevato. Per le operazioni Git (push/pull/clone) questo di solito non è critico: i repository pesano megabyte, non gigabyte.

2. Proxy dei data center

I proxy dei data center funzionano più velocemente e costano meno. Sono adatti per clonare grandi repository, scaricare artefatti, lavorare con l'API di GitHub. Tuttavia, gli IP dei data center sono più facili da identificare come proxy — alcuni intervalli sono già stati inseriti nelle blacklist di GitHub. Si consiglia di utilizzare proxy dei data center da località europee (DE, NL, FR) — sono meno soggetti a filtri.

3. VPN

La VPN è lo strumento più popolare tra gli utenti iraniani. Funziona a livello di sistema operativo, non richiede configurazione in ogni singola applicazione. Svantaggi: molti server VPN sono già bloccati da GitHub (soprattutto quelli gratuiti e popolari), la velocità è instabile e in caso di interruzione della connessione, il traffico può fuoriuscire tramite l'IP iraniano.

4. Tor

Tor funziona tecnicamente, ma GitHub blocca attivamente i nodi di uscita di Tor. La velocità è estremamente bassa — clonare anche un piccolo repository può richiedere ore. È utile per un accesso occasionale all'interfaccia web, ma non per uno sviluppo regolare.

5. Tunnel SSH tramite server in un altro paese

Se hai un VPS in Europa o negli Stati Uniti, puoi attivare un proxy SOCKS5 tramite tunnel SSH. Questo è tecnicamente affidabile e gratuito (se hai un server), ma richiede conoscenze di base di Linux. Maggiori dettagli sulla configurazione — nella sezione su Git.

Conclusione sugli strumenti:

Per il lavoro quotidiano con GitHub, la combinazione ottimale è: proxy residenziale o dei data center + configurazione in Git a livello di configurazione. Questo offre stabilità senza influenzare tutto il traffico del sistema.

Quali tipi di proxy sono adatti per GitHub: tabella comparativa

Analizziamo tutte le opzioni in una tabella, per facilitare la scelta in base alla propria situazione:

Tipo Velocità Affidabilità Rischio di blocco GitHub Migliore per
Proxy residenziali Media Alta Minima Lavoro quotidiano, push/pull, interfaccia web
Proxy dei data center Alta Media Media Clonazione di grandi repo, API di GitHub, CI/CD
Proxy mobili Media Molto alta Molto bassa Lavoro con l'account, se è già sotto sospetto
VPN (a pagamento) Media Media Media Accesso generale a Internet + GitHub
Tunnel SSH (proprio VPS) Alta Alta Basso Sviluppatori con VPS in Europa/USA
Tor Molto bassa Bassa Alta Non raccomandato per lavorare con Git

Se il tuo account ha già ricevuto avvisi o è stato temporaneamente congelato, considera di utilizzare proxy mobili — utilizzano IP di operatori mobili, che GitHub praticamente non blocca mai, poiché dietro un singolo IP mobile ci sono migliaia di utenti.

Come configurare il proxy in Git, terminale e IDE: guida passo passo

Il principale vantaggio della configurazione del proxy direttamente in Git (e non a livello di sistema o VPN) è che controlli quale traffico passa attraverso il proxy. Le richieste locali rimangono dirette, solo il traffico di GitHub viene instradato attraverso un IP esterno.

Configurazione del proxy HTTPS in Git (globale)

Apri il terminale ed esegui i seguenti comandi, sostituendo HOST e PORT con i dati del tuo proxy:

# Per proxy HTTP/HTTPS:
git config --global http.proxy http://HOST:PORT

# Per proxy SOCKS5 (raccomandato):
git config --global http.proxy socks5://HOST:PORT

# Se il proxy richiede autenticazione (username + password):
git config --global http.proxy socks5://USERNAME:PASSWORD@HOST:PORT

# Applicare solo per github.com (non toccare altri repository):
git config --global http.https://github.com.proxy socks5://HOST:PORT

L'ultimo comando è il più utile: applica il proxy solo per le richieste a github.com, senza influenzare GitLab, Bitbucket o i repository interni dell'azienda.

Verifica della configurazione

# Visualizza le impostazioni correnti del proxy in Git:
git config --global --list | grep proxy

# Testa la connessione con GitHub tramite proxy:
git ls-remote https://github.com/github/gitignore HEAD

Se il comando ls-remote restituisce l'hash del commit — il proxy funziona. Se ricevi un errore Connection refused o Could not resolve host — controlla la correttezza di HOST e PORT.

Disabilitare il proxy (quando non è necessario)

# Rimuovere il proxy globale:
git config --global --unset http.proxy

# Rimuovere il proxy solo per github.com:
git config --global --unset http.https://github.com.proxy

Configurazione in VS Code

VS Code utilizza le impostazioni di sistema per il proxy nel terminale integrato e nelle estensioni. Se hai configurato il proxy in Git tramite terminale, il terminale integrato di VS Code prenderà automaticamente queste impostazioni. Per il proxy HTTP nell'editor stesso (ad esempio, per installare estensioni) apri:

File → Preferenze → Impostazioni → cerca "proxy" → specifica l'indirizzo del proxy nel campo http.proxy.

Configurazione tramite tunnel SSH (se hai un VPS)

Se hai un VPS in Europa o negli Stati Uniti, puoi attivare un proxy SOCKS5 locale tramite SSH con un solo comando:

# Creare un proxy SOCKS5 sulla porta locale 1080 tramite SSH:
ssh -D 1080 -C -N user@your-vps-ip

# Poi in Git specificare questo proxy locale:
git config --global http.proxy socks5://127.0.0.1:1080

Il flag -D 1080 apre un proxy SOCKS5 sulla porta 1080, -C attiva la compressione, -N dice a SSH di non eseguire comandi — solo mantenere il tunnel.

SSH vs HTTPS: quale funziona meglio attraverso il proxy per GitHub

Questa è una delle domande più frequenti: quale protocollo utilizzare per lavorare con GitHub tramite proxy — SSH (porta 22 o 443) o HTTPS (porta 443)?

HTTPS tramite proxy

Le connessioni HTTPS sono facili da proxy — i comandi git config http.proxy, che abbiamo analizzato sopra, funzionano proprio per HTTPS. Svantaggio: ad ogni push/pull Git richiede username e password (o Personal Access Token). Soluzione: salva il token nel credential store:

# Attivare il salvataggio del token nel keychain di sistema:
git config --global credential.helper store

# Dopo il primo push riuscito, il token verrà salvato automaticamente

SSH tramite proxy (ProxyCommand)

Le connessioni SSH non possono essere proxy tramite il standard http.proxy in Git — è necessaria una configurazione separata in ~/.ssh/config. Aggiungi il seguente blocco:

Host github.com
    HostName ssh.github.com
    User git
    Port 443
    ProxyCommand nc -X 5 -x HOST:PORT %h %p

Qui ssh.github.com:443 è un endpoint SSH speciale di GitHub, che funziona sulla porta 443 (HTTPS), il che aiuta ad aggirare i blocchi sulla porta 22. nc -X 5 utilizza un proxy SOCKS5.

Puoi controllare la connessione SSH con il comando:

ssh -T [email protected]
# Risposta attesa: Hi username! You've successfully authenticated...

Raccomandazione:

Per la maggior parte degli sviluppatori, è più semplice configurare HTTPS + proxy SOCKS5 nella configurazione di Git. SSH tramite ProxyCommand richiede l'installazione dell'utilità netcat e una configurazione leggermente più complessa, ma offre comodità nel lavoro con le chiavi SSH senza dover inserire il token.

Rischi per l'account e come minimizzarli

L'uso di proxy per GitHub non è solo una questione tecnica, ma anche una questione di sicurezza dell'account. Una configurazione errata può attirare l'attenzione sull'account o creare nuovi problemi.

Rischio 1: Cambio costante di IP

Se utilizzi proxy rotativi (l'IP cambia ad ogni richiesta o ogni pochi minuti), GitHub potrebbe registrare attività sospette: un account accede da decine di IP diversi in breve tempo. Questo è un trigger per un controllo di sicurezza e potenziale blocco.

Soluzione: Utilizza proxy statici (sticky) con IP fisso o proxy sessionali con lungo tempo di sessione (da 24 ore). Per GitHub non è necessaria la rotazione — è necessaria stabilità.

Rischio 2: Utilizzo di IP bloccati dei data center

Alcuni intervalli di IP di hosting popolari (AWS, DigitalOcean, Vultr) sono già stati inseriti nelle blacklist o attirano maggiore attenzione. GitHub non li blocca direttamente, ma può richiedere una verifica aggiuntiva.

Soluzione: Scegli data center europei (DE, NL, CH) — sono meno soggetti a finire nelle blacklist. Prima di un utilizzo costante, controlla l'IP tramite ipinfo.io o scamalytics.com.

Rischio 3: Dati iraniani nel profilo

Se nel tuo profilo GitHub è indicato l'Iran (nel campo Località), l'account ha maggiori probabilità di essere soggetto a restrizioni indipendentemente dall'IP. Questo non significa che sia necessario nascondere l'origine — ma è importante capire che questo è un fattore aggiuntivo.

Rischio 4: Lavorare con repository organizzativi

Se la tua organizzazione su GitHub è registrata come azienda iraniana o ha amministratori iraniani, le restrizioni possono essere più severe — fino al congelamento dell'intera organizzazione. In questo caso, il proxy aiuta per l'account personale, ma non risolve il problema a livello organizzativo.

Cosa fare se l'account è già congelato

GitHub fornisce un processo ufficiale di sblocco dell'account per sviluppatori privati. Scrivi a [email protected] spiegando la situazione. Nella lettera indica:

  • Che sei uno sviluppatore individuale, non associato a organizzazioni soggette a sanzioni
  • Che la tua attività è open-source o sviluppo software commerciale
  • Link ai tuoi repository pubblici e attività

Dall'esperienza della comunità, GitHub ripristina l'accesso per la maggior parte degli sviluppatori individuali entro 1-4 settimane.

Checklist: verifica rapida della configurazione del proxy per GitHub

Utilizza questa checklist per assicurarti che tutto sia configurato correttamente prima di iniziare a lavorare:

✅ Prima della configurazione

  • Ottieni i dati del proxy: HOST, PORT, tipo (HTTP/SOCKS5), username/password
  • Controlla l'IP del proxy su ipinfo.io — il paese non deve essere l'Iran
  • Assicurati che l'IP non sia nella blacklist: controlla su scamalytics.com
  • Scegli un IP statico (non rotativo) per un lavoro costante

✅ Configurazione di Git

  • Il comando git config --global http.proxy è stato eseguito
  • Il proxy è applicato solo per github.com (non globalmente) — se è necessaria una configurazione mirata
  • Il credential.helper è configurato per memorizzare il token (per HTTPS)
  • Per SSH: è stato aggiunto un blocco in ~/.ssh/config con ProxyCommand

✅ Verifica del funzionamento

  • Il comando git ls-remote https://github.com/github/gitignore HEAD restituisce un hash
  • Il comando ssh -T [email protected] restituisce un saluto (per SSH)
  • Il push in un repository di test è andato a buon fine
  • Non ci sono errori 403 Forbidden o Repository access blocked

✅ Sicurezza dell'account

  • Viene utilizzato un IP statico (non rotativo)
  • È attivata l'autenticazione a due fattori sull'account GitHub
  • Il Personal Access Token è configurato con i diritti minimi necessari (solo repo)
  • Il token ha una scadenza (non è illimitato)

Conclusione

Le restrizioni sanzionatorie di GitHub sono una realtà scomoda per gli sviluppatori iraniani, ma non sono un vicolo cieco. Esiste e funziona una soluzione tecnica: un proxy con IP estero in combinazione con una corretta configurazione di Git consente di svolgere un lavoro di sviluppo completo — fare push di commit, clonare repository, lavorare con GitHub Actions e partecipare a progetti open-source.

I punti chiave dell'articolo sono:

  • Per il lavoro quotidiano scegli proxy residenziali o dei data center statici dall'Europa — un IP stabile senza rotazione.
  • Configura i proxy nella configurazione di Git, e non a livello di sistema — questo offre un controllo mirato senza influenzare tutto il traffico.
  • Se l'account è già sotto sospetto — utilizza IP mobili, che praticamente non vengono mai bloccati.
  • Se l'account è congelato — scrivi a [email protected], GitHub ripristina l'accesso per gli sviluppatori individuali.
  • Utilizza SSH tramite porta 443 (ssh.github.com) — questo aggira la maggior parte dei blocchi a livello di provider.

Se stai cercando una soluzione affidabile per un lavoro costante con GitHub, ti consigliamo di considerare proxy residenziali — utilizzano IP reali di utenti domestici di paesi autorizzati, attirano minimamente l'attenzione dei sistemi di protezione e garantiscono una connessione stabile per le operazioni Git. Per compiti ad alta intensità (clonazione di grandi repository, pipeline CI/CD) una buona alternativa sono i proxy dei data center — sono più veloci ed economici quando si lavora con grandi volumi di dati.

```