JetBrains IDE'lerinde eklentiler yüklenmiyorsa, Maven veya pip bağımlılıkları indiremezse ve Marketplace açılmıyorsa — muhtemelen sorun ağ kısıtlamalarındadır. Proxy, bunu birkaç dakikada çözer. Bu makalede, PyCharm, IntelliJ IDEA, WebStorm, GoLand ve diğer JetBrains ürünleri için IDE'nin yerleşik arayüzü, sistem değişkenleri ve yapılandırma dosyaları aracılığıyla ayarlama yöntemlerini inceleyeceğiz.
Geliştiricinin IDE'de Proxyye İhtiyacı Neden Var
JetBrains IDE'leri aktif olarak ağa erişim sağlar: Marketplace'den eklentiler indirir, indeksleri günceller, Maven Central, PyPI, npm ve diğer depolar aracılığıyla bağımlılıkları çeker, lisansı kontrol eder, JetBrains Hesabı üzerinden ayarları senkronize eder. Bu isteklerden biri bile engellenirse — çalışma yavaşlar veya tamamen durur.
İşte proxy olmadan geçemeyeceğiniz belirli durumlar:
- Firewall ile Kurumsal Ağ. Birçok şirket, dış trafiği yalnızca kurumsal proxy sunucusu üzerinden geçirir. IDE'de ayarlama yapılmadan eklentiler yüklenemez ve bağımlılıklar indirilemez.
- Coğrafi Engeller. Bazı depolar ve CDN'ler coğrafi olarak kısıtlanmıştır. İstenilen konumda bir proxy bu kısıtlamayı kaldırır.
- Sınırlı İnternet Olan Bir Ülkeden Çalışma. JetBrains Marketplace, GitHub Packages, Maven Central doğrudan erişilemeyebilir.
- Ağ Uygulamaları Geliştirme ve Test Etme. IDE'nin trafiğini belirli bir düğüm üzerinden yönlendirmek, uygulamanın başka bir bölgedeki davranışını test etmek için gereklidir.
- Halka Açık Ağlarda Güvenlik. Kafede veya ortak çalışma alanında çalışırken, proxy IDE'nin trafiğini şifreler ve token'ları ile anahtarları ele geçirilmekten korur.
- Sanksiyon Kısıtlamalarını Aşma. 2022'den sonra, bazı dış depolar ve hizmetler IP bazında kısıtlamalar getirdi — proxy, araçları değiştirmeden çalışmaya devam etmenizi sağlar.
Tarayıcıdan farklı olarak, proxy bir kez ayarlandığında ve global olarak çalıştığında, JetBrains IDE'de proxy'yi ayrı ayrı ayarlamak gerekir — bazen birkaç yerde birden: IDE'de, bağımlılık yöneticisinde ve dil yorumlayıcısında. Her bir seviyeyi sırayla inceleyelim.
JetBrains için Hangi Proxy Türünü Seçmeliyim
JetBrains IDE'leri üç tür proxy'yi destekler: HTTP, HTTPS ve SOCKS5. Geliştiricinin çoğu görevi için HTTP/HTTPS proxy'leri uygundur — bunlar IDE, Maven, Gradle ve pip ile tüm isteklerde şeffaf bir şekilde çalışır. SOCKS5 daha fazla esneklik sağlar ve TCP seviyesinde çalışır, bu da standart dışı protokoller için faydalıdır.
| Proxy Türü | IDE'de Destek | Uygun Olduğu Durumlar | Özellikler |
|---|---|---|---|
| HTTP/HTTPS | ✅ Yerel | Eklentiler, bağımlılıklar, lisans | En kolay ayarlanan |
| SOCKS5 | ✅ Yerel | Herhangi bir TCP bağlantısı | Kimlik doğrulamayı destekler |
| PAC Dosyası | ✅ Sistem ayarları üzerinden | Kurumsal ağlar | Esnek yönlendirme |
| Sistem Proxy'si | ✅ Otomatik Tanıma | Zaten işletim sisteminde ayarlanmışsa | Ek ayar gerektirmez |
Kurumsal bir proxy ile çalışıyorsanız — muhtemelen kimlik doğrulama için kullanıcı adı ve şifre ile birlikte HTTP/HTTPS'dir. Engelleri aşmak için harici bir proxy hizmeti kullanıyorsanız, veri merkezi proxy'lerine dikkat edin — bunlar yüksek hız ve bağlantı istikrarı sağlar, bu da büyük bağımlılıkların ve indekslerin indirilmesi sırasında kritik öneme sahiptir.
IDE Arayüzü Üzerinden Proxy Ayarlama (HTTP/HTTPS)
Bu en basit ve önerilen yöntemdir. Ayarlar, IDE'nin tüm ağ isteklerine uygulanır: Marketplace, güncellemeler, lisans kontrolü, eklentilerin senkronizasyonu. Talimatlar, PyCharm, IntelliJ IDEA, WebStorm, GoLand, Rider, CLion ve diğer ürünler için aynıdır.
Adım 1. IDE Ayarlarını Açın
Windows ve Linux'ta: File → Settings (veya Ctrl+Alt+S).
macOS'ta: PyCharm → Preferences (veya Cmd+,).
Adım 2. Proxy Bölümünü Bulun
Sol ayarlar panelinde şu yoldan gidin: Appearance & Behavior → System Settings → HTTP Proxy.
Ya da ayarlar arama çubuğuna proxy kelimesini yazmaya başlayın — IDE hemen gerekli bölümü gösterecektir.
Adım 3. Proxy Türünü Seçin ve Bilgileri Doldurun
HTTP Proxy bölümünde üç seçenek göreceksiniz:
- No proxy — doğrudan bağlantı (varsayılan).
- Auto-detect proxy settings — IDE, ayarları işletim sisteminden alacaktır.
- Manual proxy configuration — manuel ayar. Bu seçeneği seçin.
Eğer Manual proxy configuration seçeneğini seçerseniz, alanları doldurun:
- Host name — proxy sunucusunun IP adresi veya alan adı. Örneğin:
proxy.example.comveya192.168.1.100. - Port number — proxy portu. Varsayılan değerler:
8080,3128,8888. - No proxy for — doğrudan gitmesi gereken (proxy olmadan) hostlar. Genellikle
localhost,127.0.0.1, şirketin iç alan adları eklenir. - Proxy authentication — proxy kullanıcı adı ve şifre gerektiriyorsa, onay kutusunu işaretleyin ve kimlik bilgilerini girin.
Adım 4. Bağlantıyı Kontrol Edin
Check connection butonuna tıklayın ve herhangi bir URL girin — örneğin, https://plugins.jetbrains.com. Her şey doğru ayarlandıysa, IDE Connection successful durumunu gösterecektir. Ardından OK butonuna tıklayın ve IDE'yi yeniden başlatın.
💡 İpucu
JetBrains IDE'deki HTTP Proxy ayarları global olarak saklanır — tüm projelere uygulanır ve yeniden başlatmalar arasında korunur. Farklı görevler için farklı proxy'ler arasında geçiş yapmanız gerekiyorsa, daha uygun olan sistem ortam değişkenlerini kullanmaktır (aşağıda açıklanmıştır).
JetBrains IDE'de SOCKS5 Proxy Ayarlama
SOCKS5, yalnızca HTTP/HTTPS ile değil, aynı zamanda her türlü TCP bağlantısıyla çalışan daha esnek bir protokoldür. Bu, proxy sağlayıcınızın SOCKS5 sunması durumunda veya SSH tüneli kullanıyorsanız faydalıdır.
JetBrains IDE arayüzünde SOCKS bölümü de aynı yerdedir: Appearance & Behavior → System Settings → HTTP Proxy. Manual proxy configuration bloğunda, radyo düğmesini HTTP'den SOCKS'a değiştirin.
Alanları HTTP proxy'sine benzer şekilde doldurun:
- Host name — SOCKS5 sunucusunun adresi.
- Port number — port (genellikle
1080veya1081). - Proxy authentication — gerekiyorsa kullanıcı adı ve şifre.
Önemli bir nokta: JetBrains IDE'nin yerleşik SOCKS istemcisi JVM seviyesinde çalışır ve yalnızca IDE'nin doğrudan Java üzerinden kurduğu bağlantıları yakalar. Harici süreçler — Maven Wrapper, Gradle Daemon, pip, npm — ayrı süreçler olarak başlatılır ve proxy ayarlarını IDE arayüzünden devralmazlar. Onlar için ayrı bir ayar gereklidir (aşağıdaki bölümlere bakınız).
JVM Parametreleri Üzerinden Ayarlama (vmoptions)
Arayüz üzerinden ayarlar çalışmıyorsa (örneğin, bazı IDE sürümlerinde veya standart dışı eklentiler kullanırken), proxy'yi doğrudan JVM parametreleri aracılığıyla ayarlayabilirsiniz. Bu, tüm JVM bağlantılarına garantili olarak uygulanacak güvenilir bir düşük seviyeli yöntemdir.
vmoptions Dosyasını Nasıl Açarsınız
IDE menüsünde şu yoldan gidin: Help → Edit Custom VM Options.... pycharm64.vmoptions (veya IntelliJ IDEA için idea64.vmoptions) dosyası kullanıcı ayarları dizininde açılacaktır.
Dosyanın sonuna HTTP proxy'si için aşağıdaki satırları ekleyin:
-Dhttp.proxyHost=your.proxy.host -Dhttp.proxyPort=8080 -Dhttps.proxyHost=your.proxy.host -Dhttps.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password -Dhttps.proxyUser=username -Dhttps.proxyPassword=password -Dhttp.nonProxyHosts=localhost|127.0.0.1|*.local
SOCKS5 proxy'si için diğer parametreleri kullanın:
-DsocksProxyHost=your.socks.host -DsocksProxyPort=1080 -DsocksProxyVersion=5
Dosyayı kaydettikten sonra IDE'yi yeniden başlatın. Parametreler, indekslerin yüklenmesi, eklentilerle çalışma ve yerleşik Git istemcisi dahil olmak üzere tüm JVM bağlantılarına uygulanacaktır.
⚠️ Önemli
Eğer şifrede özel karakterler varsa (@, #, %), bunları URL kodlamasında kaçırmalısınız. Örneğin, @ → %40. Aksi takdirde JVM parametreleri yanlış ayrıştırır ve proxy çalışmaz.
Sistem Ortam Değişkenleri Üzerinden Proxy
Bu yöntem özellikle Linux ve macOS'ta, ayrıca CI/CD ortamlarında kullanışlıdır. Ortam değişkenleri yalnızca JVM tarafından değil, aynı zamanda alt süreçler tarafından da devralınır — yani Maven, Gradle, pip, npm de bunları otomatik olarak alacaktır.
HTTP proxy'si için standart değişkenler:
export HTTP_PROXY=http://username:[email protected]:8080 export HTTPS_PROXY=http://username:[email protected]:8080 export NO_PROXY=localhost,127.0.0.1,::1
Bu satırları ~/.bashrc, ~/.zshrc veya ~/.profile dosyasına ekleyin, hangi kabuğu kullandığınıza bağlı olarak. Ardından terminali yeniden başlatın ve IDE'yi oradan başlatın — ortam değişkenlerini alacaktır.
Windows'ta değişkenler sistem arayüzü aracılığıyla ayarlanır:
- Denetim Masası → Sistem → Gelişmiş sistem ayarları → Ortam Değişkenlerini açın.
- Kullanıcı Değişkenleri bölümünde Yeni butonuna tıklayın.
- HTTP_PROXY ve HTTPS_PROXY değişkenlerini
http://username:[email protected]:8080değeriyle ekleyin. - IDE'yi yeniden başlatın.
Dikkat: JetBrains IDE Windows'ta bir başlatıcı aracılığıyla ayrı bir süreç olarak başlatılır ve mevcut terminal oturumunda ayarlanan ortam değişkenleri IDE'ye geçmeyebilir. Daha güvenilir olan, bunları sistem arayüzü aracılığıyla veya vmoptions dosyası aracılığıyla ayarlamaktır.
IntelliJ IDEA İçinde Maven ve Gradle için Proxy
Maven ve Gradle, kendi yapılandırma dosyalarına sahip ayrı araçlardır. Proxy ayarı IDE arayüzünde yapılandırılmış olsa bile, Maven Wrapper ve Gradle Daemon bu ayarları göz ardı edebilir, çünkü bağımsız JVM süreçleri olarak başlatılırlar.
Maven için Proxy
~/.m2/settings.xml dosyasını açın (varsa oluşturun) ve <proxies> bölümünü ekleyin:
<settings>
<proxies>
<proxy>
<id>main-proxy</id>
<active>true</active>
<protocol>https</protocol>
<host>proxy.example.com</host>
<port>8080</port>
<username>your_username</username>
<password>your_password</password>
<nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
</proxy>
</proxies>
</settings>
Eğer HTTP ve HTTPS için ayrı proxy ayarlamanız gerekiyorsa, farklı <proxy> blokları ekleyin ve farklı id ve protocol kullanın.
Gradle için Proxy
Gradle için proxy ayarları ~/.gradle/gradle.properties dosyasında (global olarak) veya proje kökündeki gradle.properties dosyasında (belirli bir proje için) belirtilir:
systemProp.http.proxyHost=proxy.example.com systemProp.http.proxyPort=8080 systemProp.http.proxyUser=your_username systemProp.http.proxyPassword=your_password systemProp.http.nonProxyHosts=localhost|127.0.0.1 systemProp.https.proxyHost=proxy.example.com systemProp.https.proxyPort=8080 systemProp.https.proxyUser=your_username systemProp.https.proxyPassword=your_password
Dosyayı kaydettikten sonra IntelliJ IDEA, Gradle projesinin bir sonraki senkronizasyonunda yeni ayarları otomatik olarak alacaktır. Reload All Gradle Projects butonuna tıklayın (sağdaki Gradle panelinde güncelleme simgesi) — ve bağımlılıklar proxy üzerinden indirilmeye başlayacaktır.
PyCharm'da pip ve conda için Proxy
PyCharm, Python geliştiricileri için ana IDE'dir. pip ve conda aracılığıyla paket yükleme, PyCharm arayüzündeki proxy ayarlarını okumayan ayrı süreçler aracılığıyla gerçekleşir. Her paket yöneticisi için proxy ayarlamanın yolları şunlardır:
pip için Proxy
Yöntem 1 — paketi yüklerken komut satırı argümanı aracılığıyla:
pip install requests --proxy http://username:[email protected]:8080
Yöntem 2 — pip yapılandırma dosyası aracılığıyla (kalıcı olarak uygulanır). Aşağıdaki dosyayı açın veya oluşturun:
- Linux/macOS:
~/.config/pip/pip.conf - Windows:
%APPDATA%\pip\pip.ini
[global] proxy = http://username:[email protected]:8080
Yöntem 3 — ortam değişkenleri aracılığıyla (hem pip hem de diğer Python araçları için çalışır):
export HTTP_PROXY=http://username:[email protected]:8080 export HTTPS_PROXY=http://username:[email protected]:8080
conda için Proxy
Conda, kendi yapılandırma dosyasını .condarc kullanır. Bunu ana dizinde açın ve ekleyin:
proxy_servers: http: http://username:[email protected]:8080 https: http://username:[email protected]:8080
Ya da PyCharm terminalinde şu komutu çalıştırın:
conda config --set proxy_servers.http http://proxy.host:8080 conda config --set proxy_servers.https http://proxy.host:8080
Eğer PyPI aynaları (örneğin, Yandex aynası veya kurumsal Nexus) ile çalışıyorsanız, proxy yerine pip'i alternatif bir indekse geçirebilirsiniz. Ancak eğer ayna da erişilemezse — proxy tek çözüm olarak kalır. PyPI ile istikrarlı bir şekilde çalışmak için rezidans proxy'leri iyi bir seçenektir — bunlar normal kullanıcı istekleri gibi görünür ve PyPI CDN sağlayıcıları tarafından engellenmez.
Sık Karşılaşılan Problemler ve Çözümleri
Doğru ayarlarla bile bazen bir şeyler yolunda gitmeyebilir. En yaygın sorunları ve bunların çözümlerini inceleyelim.
Sorun 1: "Connection refused" veya "Unable to connect to proxy"
Neden: yanlış host, port veya proxy erişilemez.
Çözüm: proxy adresini ve portunu kontrol edin. Terminalde curl ile proxy'ye bağlanmayı deneyin:
curl -x http://proxy.host:8080 https://plugins.jetbrains.com
Eğer curl da bağlanamıyorsa — sorun proxy'de, IDE ayarlarında değil.
Sorun 2: Proxy ayarlı ama eklentiler yine de yüklenmiyor
Neden: IDE eski ayarları önbelleğe almış veya ayarlar tüm bileşenlere uygulanmamış.
Çözüm:
- IDE'yi tamamen kapatın (arka planda işlem olmadığından emin olun).
- Önbelleği temizleyin:
File → Invalidate Caches → Invalidate and Restart. vmoptionsdosyasında çelişen parametreler olmadığını kontrol edin.
Sorun 3: Proxy üzerinden çalışırken SSL/TLS hatası
Neden: kurumsal proxy SSL denetimi (MITM) yapıyor ve sertifikaları değiştiriyor. JVM değiştirilmiş sertifikaya güvenmiyor.
Çözüm: sistem yöneticisinden kurumsal CA'nın kök sertifikasını istemek ve bunu Java KeyStore'a içe aktarmak:
keytool -import -alias corporate-ca -keystore $JAVA_HOME/lib/security/cacerts \ -file corporate-ca.crt -storepass changeit
JetBrains IDE'de yerleşik bir araç vardır: Settings → Tools → Server Certificates — burada GUI aracılığıyla güvenilir sertifika ekleyebilirsiniz.
Sorun 4: Kimlik doğrulama gerektiren proxy şifreyi kabul etmiyor
Neden: şifredeki özel karakterler kaçırılmamış veya proxy NTLM/Kerberos kimlik doğrulaması kullanıyor (Microsoft kurumsal proxy'leri).
Çözüm: NTLM proxy'leri için JVM bunu yerel olarak destekler, ancak ek parametreler ayarlamak gerekir:
-Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.http.auth.proxying.disabledSchemes=""
Sorun 5: IDE içindeki Git proxy üzerinden çalışmıyor
Neden: JetBrains'in yerleşik Git istemcisi sistem Git'ini kullanıyor, JVM bağlantılarını değil. IDE'deki proxy ayarları buna etki etmez.
Çözüm: proxy'yi doğrudan Git içinde ayarlayın:
git config --global http.proxy http://username:[email protected]:8080 git config --global https.proxy http://username:[email protected]:8080
| Belirti | Olası Neden | Çözüm Yöntemi |
|---|---|---|
| Eklentiler yüklenmiyor | IDE'de proxy ayarlanmamış | Settings → HTTP Proxy |
| Maven bağımlılıkları indirmiyor | settings.xml'da ayar yok | ~/.m2/settings.xml → proxies |
| pip paketleri yüklemiyor | pip IDE ayarlarını okumuyor | pip.conf veya ENV değişkenleri |
| SSL hataları | Proxy'de MITM denetimi | Kurumsal sertifikayı içe aktarın |
| Git proxy üzerinden çalışmıyor | Git JVM ayarlarını okumuyor | git config --global http.proxy |
| Gradle senkronize olmuyor | gradle.properties'da ayar yok | ~/.gradle/gradle.properties |
Sonuç
JetBrains IDE'de proxy ayarlamak tek bir buton değil, birkaç yapılandırma seviyesidir. Hatırlamanız gereken en önemli şey: IDE'nin kendisi (eklentiler, lisans, Marketplace) Settings → HTTP Proxy veya vmoptions içindeki JVM parametreleri aracılığıyla ayarlanır. Bağımlılık yöneticileri — Maven, Gradle, pip, conda — kendi yapılandırma dosyalarında ayrı ayar gerektirir. IDE içindeki Git, global git config aracılığıyla ayarlanır.
Eğer coğrafi engelleri aşmak veya kurumsal ağ kısıtlamalarını aşmak için proxy kullanıyorsanız, istikrarlı ve hızlı bir proxy sunucusu seçmek önemlidir. Depolarla, Marketplace ile çalışmak ve bağımlılıkları indirmek için veri merkezi proxy'leri iyi bir seçimdir — bunlar yüksek hız ve minimum gecikme sağlar, bu da yüzlerce bağımlılığı olan büyük projelerin senkronizasyonunda kritik öneme sahiptir. Eğer sunucu IP'lerini engelleyen hizmetlerle maksimum uyumluluk gerekiyorsa, rezidans proxy'leri düşünün — bunlar gerçek kullanıcı adreslerini kullanır ve CDN ve depo koruma sistemleri tarafından neredeyse hiç şüphe uyandırmaz.
```