← Kembali ke blog

Proxy untuk GitHub dari Iran: cara pengembang yang terkena sanksi menjaga akses ke kode

GitHub memblokir akses dari Iran karena sanksi AS — tetapi pengembang menemukan solusi yang efektif. Kami membahas proxy mana yang benar-benar berfungsi dan bagaimana cara mengaturnya di Git, VS Code, dan terminal.

šŸ“…19 Agustus 2026
```html

GitHub memblokir akses untuk pengguna dari Iran pada tahun 2019 atas permintaan OFAC — regulator AS yang mengawasi kepatuhan terhadap sanksi. Sejak saat itu, pengembang Iran menghadapi situasi yang sama: repositori tidak dapat diakses, push dan pull tidak berhasil, dan akun dapat dibekukan kapan saja. Namun, pekerjaan tidak berhenti — tim terus melakukan commit, deploy, dan berpartisipasi dalam proyek open-source. Dalam artikel ini, kita akan membahas apa yang benar-benar berfungsi pada tahun 2024–2025, jenis proksi mana yang cocok untuk GitHub, dan bagaimana cara mengaturnya dengan benar tanpa kehilangan kecepatan.

Mengapa GitHub memblokir Iran: sanksi dan implementasi teknis

Pada bulan Juli 2019, GitHub mulai membatasi akses untuk pengguna dari Iran, Krimea, Kuba, Suriah, dan Korea Utara. Alasannya adalah permintaan dari OFAC (Office of Foreign Assets Control) dalam kerangka hukum sanksi AS. Microsoft, yang memiliki GitHub sejak tahun 2018, wajib mematuhi batasan ini sebagai perusahaan AS.

Secara teknis, pemblokiran bekerja pada beberapa tingkat:

  • Pemblokiran geografis berdasarkan IP: GitHub menentukan negara berdasarkan alamat IP dan memblokir permintaan dari rentang alamat Iran (blok AS yang dimiliki oleh penyedia Iran).
  • Pembekuan akun: Akun yang terdaftar dengan IP Iran atau yang menyebutkan Iran dalam profil dapat dialihkan ke mode baca-saja atau sepenuhnya dibekukan.
  • Pemblokiran repositori pribadi: Repositori publik sebagian tersedia untuk dibaca, tetapi repositori pribadi sepenuhnya ditutup.
  • Restriksi GitHub Actions dan Packages: Pipeline CI/CD dan registri paket juga tidak tersedia dari wilayah yang diblokir.

Meskipun demikian, GitHub telah berulang kali menyatakan bahwa mereka menentang pembatasan ini dan melobi untuk pelonggaran kepada regulator. Pada tahun 2019, perusahaan berhasil mendapatkan izin untuk memberikan akses gratis ke repositori publik untuk pengembang Iran, namun pemblokiran total belum terjadi.

āš ļø Penting untuk dipahami: Pemblokiran ditujukan terhadap organisasi dan struktur pemerintah yang terkena sanksi, bukan terhadap pengembang individu. Sebagian besar programmer Iran bekerja dalam tim internasional dan tidak terkena sanksi secara pribadi — tetapi secara teknis sistem memblokir semua berdasarkan IP.

Itulah sebabnya solusi untuk masalah ini terletak pada penggantian alamat IP — ini adalah satu-satunya cara untuk menghindari pemblokiran geografis secara teknis. Mari kita bahas alat apa yang cocok untuk ini.

Apa yang benar-benar berfungsi: proksi, VPN, dan solusi alternatif

Pengembang Iran menggunakan beberapa pendekatan. Masing-masing memiliki kelebihan dan kekurangan — mari kita bahas secara jujur, tanpa pemasaran.

1. Proksi Residensial

Proksi residensial menggunakan alamat IP nyata dari pengguna rumah di negara lain — Jerman, Belanda, AS, Turki. Dari sudut pandang GitHub, permintaan seperti itu terlihat seperti permintaan dari pengguna biasa dari negara yang diizinkan. Ini adalah opsi paling andal untuk pekerjaan yang berkelanjutan: risiko pemblokiran proksi itu sendiri minimal, stabilitas tinggi.

Kekurangannya — kecepatan lebih rendah dibandingkan dengan proksi pusat data, dan biayanya lebih tinggi. Untuk operasi Git (push/pull/clone), ini biasanya tidak kritis: repositori memiliki ukuran megabyte, bukan gigabyte.

2. Proksi Pusat Data

Proksi dari pusat data bekerja lebih cepat dan lebih murah. Cocok untuk mengkloning repositori besar, mengunduh artefak, bekerja dengan API GitHub. Namun, IP pusat data lebih mudah diidentifikasi sebagai proksi — beberapa rentang sudah dimasukkan dalam daftar hitam GitHub. Kami merekomendasikan untuk menggunakan proksi pusat data dari lokasi Eropa (DE, NL, FR) — mereka lebih jarang terjebak dalam filter.

3. VPN

VPN adalah alat paling populer di kalangan pengguna Iran. Bekerja di tingkat seluruh sistem operasi, tidak memerlukan pengaturan di setiap aplikasi secara terpisah. Kekurangan: banyak server VPN sudah diblokir oleh GitHub (terutama yang gratis), kecepatan tidak stabil, dan saat koneksi terputus, lalu lintas dapat bocor melalui IP Iran.

4. Tor

Tor secara teknis berfungsi, tetapi GitHub secara aktif memblokir node keluar Tor. Kecepatan sangat rendah — mengkloning repositori kecil dapat memakan waktu berjam-jam. Untuk akses episodik ke antarmuka web, ini cocok, tetapi untuk pengembangan reguler — tidak.

5. Terowongan SSH melalui server di negara lain

Jika Anda memiliki VPS di Eropa atau AS, Anda dapat mengatur proksi SOCKS5 melalui terowongan SSH. Ini secara teknis andal dan gratis (jika Anda memiliki server), tetapi memerlukan pengetahuan dasar tentang Linux. Lebih lanjut tentang pengaturan — di bagian tentang Git.

Kesimpulan tentang alat:

Untuk pekerjaan sehari-hari dengan GitHub, kombinasi yang optimal adalah: proksi residensial atau pusat data + pengaturan di Git pada tingkat konfigurasi. Ini memberikan stabilitas tanpa mempengaruhi seluruh lalu lintas sistem.

Jenis proksi mana yang cocok untuk GitHub: tabel perbandingan

Mari kita bahas semua opsi dalam satu tabel, agar mudah memilih sesuai situasi Anda:

Tipe Kecepatan Keandalan Risiko pemblokiran GitHub Terbaik untuk
Proksi Residensial Sedang Tinggi Minimal Pekerjaan sehari-hari, push/pull, antarmuka web
Proksi Pusat Data Tinggi Sedang Sedang Mengkloning repositori besar, API GitHub, CI/CD
Proksi Seluler Sedang Sangat Tinggi Sangat Rendah Bekerja dengan akun jika sudah dicurigai
VPN (berbayar) Sedang Sedang Sedang Akses umum ke internet + GitHub
Terowongan SSH (VPS sendiri) Tinggi Tinggi Rendah Pengembang dengan VPS di Eropa/AS
Tor Sangat Rendah Rendah Tinggi Tidak direkomendasikan untuk bekerja dengan Git

Jika akun Anda sudah menerima peringatan atau dibekukan sementara, pertimbangkan untuk menggunakan proksi seluler — mereka menggunakan IP dari operator seluler, yang hampir tidak pernah diblokir oleh GitHub, karena satu IP seluler melayani ribuan pengguna.

Cara mengatur proksi di Git, terminal, dan IDE: panduan langkah demi langkah

Keuntungan utama mengatur proksi di Git (bukan di tingkat sistem atau VPN) adalah Anda mengontrol lalu lintas mana yang melalui proksi. Permintaan lokal tetap langsung, hanya lalu lintas GitHub yang diarahkan melalui IP eksternal.

Pengaturan proksi HTTPS di Git (secara global)

Buka terminal dan jalankan perintah berikut, mengganti HOST dan PORT dengan data proksi Anda:

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

# Untuk proksi SOCKS5 (direkomendasikan):
git config --global http.proxy socks5://HOST:PORT

# Jika proksi memerlukan otorisasi (username + password):
git config --global http.proxy socks5://USERNAME:PASSWORD@HOST:PORT

# Terapkan hanya untuk github.com (jangan mengubah repositori lain):
git config --global http.https://github.com.proxy socks5://HOST:PORT

Perintah terakhir — yang paling berguna: ini menerapkan proksi hanya untuk permintaan ke github.com, tanpa mempengaruhi GitLab, Bitbucket, atau repositori internal perusahaan.

Pemeriksaan pengaturan

# Lihat pengaturan proksi saat ini di Git:
git config --global --list | grep proxy

# Uji koneksi ke GitHub melalui proksi:
git ls-remote https://github.com/github/gitignore HEAD

Jika perintah ls-remote mengembalikan hash commit — proksi berfungsi. Jika ada kesalahan Connection refused atau Could not resolve host — periksa kebenaran HOST dan PORT.

Menonaktifkan proksi (ketika tidak diperlukan)

# Hapus proksi global:
git config --global --unset http.proxy

# Hapus proksi hanya untuk github.com:
git config --global --unset http.https://github.com.proxy

Pengaturan di VS Code

VS Code menggunakan pengaturan proksi sistem untuk terminal bawaan dan ekstensi. Jika Anda telah mengatur proksi di Git melalui terminal, terminal bawaan VS Code akan secara otomatis mengambil pengaturan ini. Untuk proksi HTTP di editor itu sendiri (misalnya, untuk menginstal ekstensi), buka:

File → Preferensi → Pengaturan → cari "proxy" → masukkan alamat proksi di kolom http.proxy.

Pengaturan melalui terowongan SSH (jika memiliki VPS sendiri)

Jika Anda memiliki VPS di Eropa atau AS, Anda dapat mengatur proksi SOCKS5 lokal melalui SSH dengan satu perintah:

# Buat proksi SOCKS5 di port lokal 1080 melalui SSH:
ssh -D 1080 -C -N user@your-vps-ip

# Kemudian di Git, tentukan proksi lokal ini:
git config --global http.proxy socks5://127.0.0.1:1080

Flag -D 1080 membuka proksi SOCKS5 di port 1080, -C mengaktifkan kompresi, -N memberi tahu SSH untuk tidak menjalankan perintah — hanya menjaga terowongan.

SSH vs HTTPS: mana yang lebih baik berfungsi melalui proksi untuk GitHub

Ini adalah salah satu pertanyaan yang paling sering diajukan: protokol mana yang harus digunakan untuk bekerja dengan GitHub melalui proksi — SSH (port 22 atau 443) atau HTTPS (port 443)?

HTTPS melalui proksi

Koneksi HTTPS mudah diproksi — perintah git config http.proxy, yang telah kita bahas di atas, bekerja khusus untuk HTTPS. Kekurangan: pada setiap push/pull, Git meminta username dan password (atau Personal Access Token). Solusinya — simpan token di credential store:

# Aktifkan penyimpanan token di keychain sistem:
git config --global credential.helper store

# Setelah push pertama yang berhasil, token akan disimpan secara otomatis

SSH melalui proksi (ProxyCommand)

Koneksi SSH tidak dapat diproksi melalui http.proxy standar di Git — diperlukan pengaturan terpisah di ~/.ssh/config. Tambahkan blok berikut:

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

Di sini ssh.github.com:443 adalah endpoint SSH khusus GitHub yang berfungsi di port 443 (HTTPS), yang membantu menghindari pemblokiran di port 22. nc -X 5 menggunakan proksi SOCKS5.

Untuk memeriksa koneksi SSH, Anda dapat menggunakan perintah:

ssh -T [email protected]
# Jawaban yang diharapkan: Hi username! You've successfully authenticated...

Rekomendasi:

Untuk sebagian besar pengembang, lebih mudah untuk mengatur HTTPS + proksi SOCKS5 di konfigurasi Git. SSH melalui ProxyCommand memerlukan instalasi utilitas netcat dan konfigurasi yang sedikit lebih rumit, tetapi memberikan kenyamanan dalam bekerja dengan kunci SSH tanpa memasukkan token.

Risiko untuk akun dan cara meminimalkannya

Menggunakan proksi untuk GitHub bukan hanya masalah teknis, tetapi juga masalah keamanan akun. Pengaturan yang salah dapat menarik perhatian pada akun atau menciptakan masalah baru.

Risiko 1: Perubahan IP yang Konstan

Jika Anda menggunakan proksi yang berputar (IP berubah dengan setiap permintaan atau setiap beberapa menit), GitHub dapat mencatat aktivitas mencurigakan: satu akun masuk dari puluhan IP yang berbeda dalam waktu singkat. Ini adalah pemicu untuk pemeriksaan keamanan dan potensi pemblokiran.

Solusi: Gunakan proksi statis (sticky) dengan IP tetap atau proksi sesi dengan waktu sesi yang lama (dari 24 jam). Untuk GitHub, rotasi tidak diperlukan — yang dibutuhkan adalah stabilitas.

Risiko 2: Menggunakan IP Pusat Data yang Diblokir

Beberapa rentang IP dari penyedia hosting populer (AWS, DigitalOcean, Vultr) sudah dimasukkan dalam daftar hitam atau menarik perhatian lebih. GitHub tidak memblokirnya secara langsung, tetapi dapat meminta verifikasi tambahan.

Solusi: Pilih pusat data Eropa (DE, NL, CH) — mereka lebih jarang masuk dalam daftar hitam. Sebelum penggunaan tetap, periksa IP melalui ipinfo.io atau scamalytics.com.

Risiko 3: Data Iran di Profil

Jika profil GitHub Anda menyebutkan Iran (di kolom Lokasi), akun kemungkinan besar akan terkena pembatasan terlepas dari IP. Ini tidak berarti Anda harus menyembunyikan asal — tetapi penting untuk memahami bahwa ini adalah faktor tambahan.

Risiko 4: Bekerja dengan Repositori Organisasi

Jika organisasi Anda di GitHub terdaftar sebagai perusahaan Iran atau memiliki administrator Iran, pembatasan dapat lebih ketat — hingga pembekuan seluruh organisasi. Dalam hal ini, proksi membantu untuk akun pribadi, tetapi tidak menyelesaikan masalah di tingkat organisasi.

Apa yang Harus Dilakukan Jika Akun Sudah Diblokir

GitHub menyediakan proses resmi untuk membuka blokir akun bagi pengembang pribadi. Kirim email ke [email protected] dengan penjelasan situasi. Dalam email, sebutkan:

  • Bahwa Anda adalah pengembang individu, tidak terkait dengan organisasi yang terkena sanksi
  • Bahwa aktivitas Anda adalah open-source atau pengembangan perangkat lunak komersial
  • Link ke repositori publik Anda dan aktivitas

Berdasarkan pengalaman komunitas, GitHub memulihkan akses untuk sebagian besar pengembang individu dalam waktu 1–4 minggu.

Checklist: pemeriksaan cepat pengaturan proksi untuk GitHub

Gunakan checklist ini untuk memastikan semuanya diatur dengan benar sebelum memulai pekerjaan:

āœ… Sebelum pengaturan

  • Dapatkan data proksi: HOST, PORT, tipe (HTTP/SOCKS5), username/password
  • Periksa IP proksi di ipinfo.io — negara tidak boleh Iran
  • Pastikan IP tidak dalam daftar hitam: periksa di scamalytics.com
  • Pilih IP statis (tidak berputar) untuk pekerjaan tetap

āœ… Pengaturan Git

  • Perintah git config --global http.proxy telah dijalankan
  • Proksi diterapkan hanya untuk github.com (tidak secara global) — jika perlu pengaturan titik
  • Credential.helper diatur untuk menyimpan token (untuk HTTPS)
  • Untuk SSH: blok ditambahkan di ~/.ssh/config dengan ProxyCommand

āœ… Pemeriksaan kerja

  • Perintah git ls-remote https://github.com/github/gitignore HEAD mengembalikan hash
  • Perintah ssh -T [email protected] mengembalikan sambutan (untuk SSH)
  • Push ke repositori uji berhasil
  • Tidak ada kesalahan 403 Forbidden atau Repository access blocked

āœ… Keamanan akun

  • IP statis digunakan (tidak berputar)
  • Autentikasi dua faktor diaktifkan pada akun GitHub
  • Personal Access Token diatur dengan hak minimum yang diperlukan (hanya repo)
  • Token memiliki masa berlaku (tidak seumur hidup)

Kesimpulan

Pembatasan sanksi GitHub adalah kenyataan yang tidak menyenangkan bagi pengembang Iran, tetapi bukan jalan buntu. Solusi teknis ada dan berfungsi: proksi dengan IP luar negeri yang dikombinasikan dengan pengaturan Git yang benar memungkinkan pengembangan penuh — melakukan push commit, mengkloning repositori, bekerja dengan GitHub Actions, dan berpartisipasi dalam proyek open-source.

Kesimpulan kunci dari artikel ini:

  • Untuk pekerjaan sehari-hari pilih proksi residensial atau pusat data statis dari Eropa — IP stabil tanpa rotasi.
  • Atur proksi di konfigurasi Git, bukan di tingkat sistem — ini memberikan kontrol titik tanpa mempengaruhi seluruh lalu lintas.
  • Jika akun sudah dicurigai — gunakan IP seluler, mereka hampir tidak pernah terjebak dalam pemblokiran.
  • Jika akun dibekukan — kirim email ke [email protected], GitHub memulihkan akses untuk pengembang individu.
  • Gunakan SSH melalui port 443 (ssh.github.com) — ini menghindari sebagian besar pemblokiran di tingkat penyedia.

Jika Anda mencari solusi yang dapat diandalkan untuk pekerjaan berkelanjutan dengan GitHub, kami merekomendasikan untuk mempertimbangkan proksi residensial — mereka menggunakan IP nyata dari pengguna rumah di negara yang diizinkan, meminimalkan perhatian sistem perlindungan dan menyediakan koneksi yang stabil untuk operasi Git. Untuk tugas dengan beban tinggi (mengkloning repositori besar, pipeline CI/CD) alternatif yang baik adalah proksi pusat data — mereka lebih cepat dan lebih ekonomis saat bekerja dengan volume data besar.

```