Sipariş sonrası panelde gördüğünüz adres, port, kullanıcı adı ve parola yeterli. Bu sayfada bağlantının mantığını, on dil ve araç için HTTP ile SOCKS5 kod örneklerini, uygulama ayarlarını ve sık görülen hataların çözümünü bulursunuz.
http:// ile başlar; tarayıcı, betik ve çoğu araçta yeterlidir.
SOCKS5 proxy
socks5h:// ile başlar; “h” harfi alan adının proxy’de çözülmesini sağlar.
Yer tutucular örnektir; sipariş sonrası panelde gördüğünüz değerlerle değiştirin.
Önce bağlantıyı anlayın
Her bağlantı üç bilgiden oluşur
Hangi dilde ya da programda çalışırsanız çalışın aynı üç soruyu yanıtlarsınız: nereye bağlanıyorum, kim olduğumu nasıl kanıtlıyorum, hangi dille konuşuyorum? Panelde gördüğünüz bilgiler bu soruların yanıtıdır.
Uygulamanız proxy’ye adres ve port üzerinden, seçtiğiniz protokolle ve kimlik bilgisiyle bağlanır. Proxy isteği kendi IP adresiyle hedefe iletir ve yanıtı aynı yoldan size döndürür. Çizimdeki adres, dokümantasyon için ayrılmış bir örnek adrestir.
1
Nereye bağlanıyorum?
Adres ve port
Proxy sunucusunun adresi (host) ve bağlantı noktası (port). Sipariş tamamlanınca panelde görünür. Port yanlışsa bağlantı hiç kurulmaz: zaman aşımı ya da “bağlantı reddedildi” hatası görürsünüz.
proxy.example.comPORT
2
Kim olduğumu nasıl kanıtlıyorum?
Kimlik doğrulama
Kullanıcı adı ve parola. İstemciniz bunları adresin içinde ya da ayrı alanlarda gönderir. IP izni sunan paketlerde parola yerine kayıtlı IP adresiniz yetki verir. Hatalı kimlik, HTTP proxy’de 407 yanıtı olarak görünür.
KULLANICIPAROLA
3
Hangi dille konuşuyoruz?
Protokol
İstemci ile proxy arasındaki bağlantı dili: HTTP(S) ya da SOCKS5. Paketinizin protokolü hangisiyse (Türkiye ISP paketlerinde ve haftalık ile aylık Türkiye mobil paketlerinde siparişte seçersiniz) istemcide de onu seçin; HTTP portuna SOCKS5 ile (veya tersi) bağlanmak zaman aşımına yol açar. Adreste http:// ya da socks5h:// olarak yazılır; farkın ayrıntısı için HTTP & SOCKS5 Proxy sayfasına bakın.
http://socks5h://
Kod kütüphanesi
On dilde, kopyalamaya hazır örnekler
Her örnek aynı işi yapar: proxy üzerinden bir IP sorgusu gönderir ve çıkış IP’nizi yazdırır. Resmî bir SDK ya da API gerekmez; standart HTTP ve SOCKS5 istemcileri yeterlidir.
Terminal
# HTTP proxy ile çıkış IP’nizi sorgulayıncurl --proxy"http://proxy.example.com:PORT" \--proxy-user"KULLANICI:PAROLA" \ https://api.ipify.org
# SOCKS5 proxy ile (alan adını proxy çözer)curl --proxy"socks5h://proxy.example.com:PORT" \--proxy-user"KULLANICI:PAROLA" \ https://api.ipify.org
Kullanıcı adı ve parolayı --proxy-user ile ayırmak, parolada özel karakter olduğunda adres içinde kodlama yapma derdini ortadan kaldırır.
socks5h alan adı çözümlemesini proxy’ye bırakır; yerel çözümleme istiyorsanız socks5 yazın.
import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.Authenticator;import java.net.HttpURLConnection;import java.net.InetSocketAddress;import java.net.PasswordAuthentication;import java.net.Proxy;import java.net.URI;publicclass IpKontrol {publicstaticvoid main(String[] args) throws Exception {// SOCKS5 kullanıcı adı ve parolası Authenticator üzerinden istenir Authenticator.setDefault(new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() {returnnew PasswordAuthentication("KULLANICI", "PAROLA".toCharArray()); } }); Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("proxy.example.com", PORT)); HttpURLConnection conn = (HttpURLConnection) URI.create("https://api.ipify.org").toURL().openConnection(proxy); conn.setConnectTimeout(15000); conn.setReadTimeout(15000);try (BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()))) { System.out.println(in.readLine()); // proxy’nin çıkış IP’si } }}
Java 11 veya üzeri gerekir. İlk satırdaki sistem özelliği, HTTPS hedeflerde Basic kimlik doğrulamasının proxy tüneli isteğinde de gönderilmesi içindir.
HttpClient, ProxySelector içinden yalnızca HTTP proxy’leri kullanır; bu yüzden bu örnekte HttpURLConnection ve Proxy.Type.SOCKS kullanılır. Kullanıcı adı ve parola Authenticator üzerinden iletilir.
using System.Net;var proxy = new WebProxy("http://proxy.example.com:PORT"){ Credentials = new NetworkCredential("KULLANICI", "PAROLA"),};usingvar handler = new HttpClientHandler { Proxy = proxy, UseProxy = true };usingvar client = new HttpClient(handler) { Timeout = TimeSpan.FromSeconds(15) };var ip = await client.GetStringAsync("https://api.ipify.org");Console.WriteLine(ip); // proxy’nin çıkış IP’si
using System.Net;var proxy = new WebProxy("socks5://proxy.example.com:PORT"){ Credentials = new NetworkCredential("KULLANICI", "PAROLA"),};usingvar handler = new HttpClientHandler { Proxy = proxy, UseProxy = true };usingvar client = new HttpClient(handler) { Timeout = TimeSpan.FromSeconds(15) };var ip = await client.GetStringAsync("https://api.ipify.org");Console.WriteLine(ip); // proxy’nin çıkış IP’si
.NET 6 ve üzeri için yazıldı. HttpClientHandler ve WebProxy ek paket gerektirmez.
.NET 6’dan itibaren HttpClientsocks5:// adreslerini destekler; kullanıcı adı ve parola WebProxy.Credentials ile verilir.
Net::HTTP.new metodunun son dört parametresi proxy adresi, portu, kullanıcı adı ve paroladır.
Net::HTTP SOCKS5’i kendi başına bilmez; önce gem install socksify ile eklentiyi kurun. Net::HTTP.socks_proxy kullanıcı adı ve parolayı username: ile password: parametrelerinden alır.
// Cargo.toml: reqwest = { version = "0.13", features = ["blocking"] }fn main() -> Result<(), Box<dyn std::error::Error>> {let proxy = reqwest::Proxy::all("http://proxy.example.com:PORT")? .basic_auth("KULLANICI", "PAROLA");let client = reqwest::blocking::Client::builder() .proxy(proxy) .timeout(std::time::Duration::from_secs(15)) .build()?;let ip = client.get("https://api.ipify.org").send()?.text()?; println!("{ip}"); // proxy’nin çıkış IP’siOk(())}
// Cargo.toml: reqwest = { version = "0.13", features = ["blocking", "socks"] }fn main() -> Result<(), Box<dyn std::error::Error>> {let proxy = reqwest::Proxy::all("socks5h://KULLANICI:PAROLA@proxy.example.com:PORT")?;let client = reqwest::blocking::Client::builder() .proxy(proxy) .timeout(std::time::Duration::from_secs(15)) .build()?;let ip = client.get("https://api.ipify.org").send()?.text()?; println!("{ip}"); // proxy’nin çıkış IP’siOk(())}
SOCKS5 için reqwest bağımlılığında socks özelliği açık olmalıdır; socks5h alan adını proxy’de çözer.
#!/usr/bin/env bash# proxyler.txt: her satırda host:port:kullanıcı:parola# (parola son alan olduğu için içinde ":" olabilir)while IFS=: read-r host port user pass; do [ -z"$host" ] && continue ip=$(curl -s--max-time 15 \--proxy"http://$host:$port" \--proxy-user"$user:$pass" \ https://api.ipify.org) [ -z"$ip" ] && ip="ulaşılamadı" echo "$host:$port -> $ip"done < proxyler.txt
#!/usr/bin/env bash# proxyler.txt: her satırda host:port:kullanıcı:parola# (parola son alan olduğu için içinde ":" olabilir)while IFS=: read-r host port user pass; do [ -z"$host" ] && continue ip=$(curl -s--max-time 15 \--proxy"socks5h://$host:$port" \--proxy-user"$user:$pass" \ https://api.ipify.org) [ -z"$ip" ] && ip="ulaşılamadı" echo "$host:$port -> $ip"done < proxyler.txt
Dosyadaki her satır bir proxy’dir; çıkış IP’si alınamayan satırlar “ulaşılamadı” olarak görünür. Parola son alan olduğu için içinde : bulunabilir.
HTTP örneğiyle aynı döngü; yalnızca adres şeması socks5h:// olur.
Koddaki KULLANICI, PAROLA, proxy.example.com ve PORT alanları yer tutucudur. IPv6 paketleri yalnızca HTTP(S) çalışır; bu pakette SOCKS5 sekmesini kullanmayın.Logo kaynakları ve lisanslar
KULLANICI, PAROLA, proxy.example.com ve PORT yer tutucudur; sipariş sonrası panelde gördüğünüz değerlerle değiştirin.
Parolada @ : / # % gibi karakterler varsa adres içinde yüzde kodlayın (@ yerine %40) ya da kullanıcı adı ile parolayı ayrı alanlara yazın.
HTTP portuna SOCKS5, SOCKS5 portuna HTTP ile bağlanmayın: paketinizin protokolünü kullanın. IPv6 paketleri yalnızca HTTP(S) ile çalışır.
Sertifika doğrulamasını (-k, verify=False) kapatmayın. TLS hatası çoğunlukla proxy adresinin https:// ile başlamasından gelir: Sık görülen hatalar tablosuna bakın.
Uygulama ayarları
Kod yazmadan, programın ayarından
Kod yazmadan kullanacaksanız aynı üç bilgiyi uygulamanın proxy ayarına girersiniz. En yaygın üç yer Windows, tarayıcı ve komut satırıdır.
01
Windows
Sistem proxy ayarı
1Ayarlar → Ağ ve İnternet → Proxy sayfasını açın. Menü adları Windows sürümüne göre biraz değişir; bazı sürümlerde “Ara sunucu” yazar.
2“El ile proxy kurulumu” bölümünde proxy sunucusunu etkinleştirin; adres alanına proxy.example.com, port (bağlantı noktası) alanına panelde gördüğünüz portu yazıp kaydedin.
3Chrome ve Edge gibi sistem ayarını kullanan programlarda ilk istekte kullanıcı adı ve parola penceresi açılır; paneldeki bilgileri girin.
4İşiniz bitince aynı sayfadan proxy’yi kapatın: bu ayar, sistem proxy’sini kullanan bütün programları etkiler.
Windows’un sistem ayarı HTTP proxy içindir. SOCKS5 için uygulamanın kendi ayarı ya da bir yönlendirme aracı gerekir; ayrıntılar Windows’ta SOCKS5 Proxy Kurulumu yazısında.
02
Tarayıcılar
Chrome, Edge ve Firefox
Chrome ve Edge
1Bu tarayıcıların ayrı bir proxy ekranı yoktur; Windows sistem ayarını kullanırlar. Tarayıcı ayarlarının Sistem bölümünde bilgisayarın proxy ayarlarını açan bir bağlantı vardır; sizi doğrudan o sayfaya götürür.
2Adresi ve portu yukarıdaki gibi girin; ilk sayfa açılışında çıkan kimlik penceresine kullanıcı adı ve parolayı yazın.
Firefox
1Ayarlar → Genel bölümünde Ağ Ayarları’nın yanındaki Ayarlar düğmesine basın.
2“Elle proxy yapılandırması”nı seçin; HTTP proxy alanına adresi ve portu yazın. Aynı proxy’yi HTTPS siteler için de kullanmak isterseniz ilgili kutuyu işaretleyin.
3İlk sayfa açılışında çıkan kimlik penceresine kullanıcı adı ve parolayı girin.
Tarayıcıların kendi ayar ekranları kimlik doğrulamalı SOCKS5 için çoğu zaman yetersiz kalır. SOCKS5 gerekiyorsa uygulama bazlı bir yönlendirme aracı kullanın ya da paketinizde HTTP seçeneği varsa onu tercih edin. Menü adları tarayıcı sürümüne göre değişebilir.
03
Komut satırı
Ortam değişkenleri
1Aşağıdaki değişkenleri tanımlayın; curl, wget, pip ve birçok komut satırı aracı bunları kendiliğinden okur.
2Aynı oturumda curl https://api.ipify.org çalıştırın; dönen adres proxy’nin çıkış IP’si olmalıdır.
3Bazı araçların kendi ayarı vardır: örneğin Git için git config --global http.proxy komutu kullanılır.
ortam-degiskenleri.sh
# Linux ve macOSexport https_proxy="http://KULLANICI:PAROLA@proxy.example.com:PORT"export http_proxy="$https_proxy"curl https://api.ipify.org# SOCKS5 için (cURL)export all_proxy="socks5h://KULLANICI:PAROLA@proxy.example.com:PORT"# Windows PowerShell$env:https_proxy = "http://KULLANICI:PAROLA@proxy.example.com:PORT"curl.exe https://api.ipify.org
Ortam değişkenleri ve komut geçmişi parolanızı düz metin olarak saklayabilir. Ortak bilgisayarlarda kullanmayın ve işiniz bitince unset https_proxy http_proxy all_proxy (PowerShell’de Remove-Item Env:https_proxy) ile temizleyin.
Bağlantıyı doğrulayın
Çalıştığını çıkış IP’sine bakarak görün
Doğrulamanın en basit ölçütü çıkış IP’sidir: proxy üzerinden sorguladığınız adres kendi adresinizden farklıysa trafiğiniz proxy’den çıkıyordur. Aynı kontrolü üç araçla yapabilirsiniz.
Proxy’siz
198.51.100.7
kendi bağlantınızın adresi
Proxy ile
203.0.113.24
proxy’nin çıkış IP’si
Adresler, dokümantasyon için ayrılmış aralıklardan alınmış örneklerdir. Uygulamanız proxy ayarını yok sayarsa iki adres aynı çıkar.
Araçlar bu sitenin sunucusundan çalışır. IP izniyle çalışan bir pakette sunucumuzun adresi yetkili olmadığı için sonuç “çalışmıyor” çıkabilir; böyle bir pakette doğrulamayı kendi bilgisayarınızdaki cURL ya da kod örneğiyle yapın.
Okumaya devam edin
Kurulumu derinleştiren yazılar
Protokol farkını, Windows’taki uygulama bazlı kurulumu ve cURL ile Python örneklerini blogda ayrıntısıyla anlattık.
Hata mesajı çoğu zaman sorunun hangi adımda olduğunu söyler: ağ (zaman aşımı), kimlik (407), hedef (502, 403, 429), ad çözümleme (DNS) ya da şifreleme (TLS).
Sık görülen proxy hataları, anlamları ve çözümleri
Belirti
Ne anlama gelir
Ne yapmalı
407Proxy Authentication Required
Proxy kimlik bilgilerinizi almadı ya da kabul etmedi.
Kullanıcı adı ve parolayı panelden yeniden kopyalayın. Parolada @ : / # % varsa adres içinde yüzde kodlayın (@ yerine %40) ya da ayrı alana yazın. IP izniyle çalışan pakette isteğin kayıtlı IP adresinizden geldiğini kontrol edin.
502Bad Gateway
Proxy hedefe ulaşamadı ya da hedeften geçerli bir yanıt alamadı. 503 ve 504 de benzer bir sorunu işaret eder.
Hedefi proxy’siz bir tarayıcıda açıp erişilebilir olduğunu doğrulayın, ardından başka bir adresle (örneğin https://api.ipify.org) deneyin. Türkiye mobil proxy paketlerinde IP değiştirme bağlantısıyla yeni bir IP alıp yeniden deneyin. Sürerse hata metniyle birlikte destekle paylaşın.
Zaman aşımıtimeout, connection refused
Bağlantı kurulamadı ya da yanıt zamanında gelmedi.
Port ile protokolün panelle aynı olduğunu doğrulayın; HTTP portuna SOCKS5 ile (veya tersi) bağlanmak tipik nedendir. Güvenlik duvarı ya da kurumsal ağ çıkışı engelliyor olabilir; portu Port Kontrol aracıyla sınayın. Ağır sayfalarda zaman aşımı süresini birkaç saniye artırın.
DNS hatasıCould not resolve host, ENOTFOUND
Bir ad IP adresine çevrilemedi.
Proxy adresinin yazımını kontrol edin: fazladan boşluk, kopyalanmış http:// öneki ya da ada karışmış port olabilir. SOCKS5’te hedef adın proxy tarafından çözülmesi için socks5h kullanın. Proxy adresindeki alan adının herkese açık DNS’te çözülüp çözülmediğini DNS Sorgulama aracıyla kontrol edin; çözülüyorsa sorun büyük olasılıkla kendi ağınızdaki ad çözümlemesindedir.
Paket bilgisinde başka bir şey yazmıyorsa proxy adresini https:// yerine http:// ile başlatın: istemci proxy’ye düz bağlanır, hedefle şifreli tüneli kendisi kurar. Saatinizi, tarihinizi ve sertifika deponuzu kontrol edin. Doğrulamayı kapatmak (-k, verify=False) kalıcı çözüm değildir; şifreli bağlantının güvenliğini zayıflatır.
403 · 429hedef sitenin yanıtı
Çoğu zaman proxy çalışıyordur; isteği reddeden ya da sınırlayan hedef sitedir.
İstek hızını düşürün, isteklerin arasına bekleme koyun, hedefin kullanım şartlarını ve robots.txt kurallarını gözden geçirin. Sorun sürerse farklı bir IP türü işe yarayabilir; ancak hiçbir platform için sonuç taahhüt edilmez.
407
Proxy Authentication Required
Ne anlama gelir
Proxy kimlik bilgilerinizi almadı ya da kabul etmedi.
Ne yapmalı
Kullanıcı adı ve parolayı panelden yeniden kopyalayın. Parolada @ : / # % varsa adres içinde yüzde kodlayın (@ yerine %40) ya da ayrı alana yazın. IP izniyle çalışan pakette isteğin kayıtlı IP adresinizden geldiğini kontrol edin.
502
Bad Gateway
Ne anlama gelir
Proxy hedefe ulaşamadı ya da hedeften geçerli bir yanıt alamadı. 503 ve 504 de benzer bir sorunu işaret eder.
Ne yapmalı
Hedefi proxy’siz bir tarayıcıda açıp erişilebilir olduğunu doğrulayın, ardından başka bir adresle (örneğin https://api.ipify.org) deneyin. Türkiye mobil proxy paketlerinde IP değiştirme bağlantısıyla yeni bir IP alıp yeniden deneyin. Sürerse hata metniyle birlikte destekle paylaşın.
Zaman aşımı
timeout, connection refused
Ne anlama gelir
Bağlantı kurulamadı ya da yanıt zamanında gelmedi.
Ne yapmalı
Port ile protokolün panelle aynı olduğunu doğrulayın; HTTP portuna SOCKS5 ile (veya tersi) bağlanmak tipik nedendir. Güvenlik duvarı ya da kurumsal ağ çıkışı engelliyor olabilir; portu Port Kontrol aracıyla sınayın. Ağır sayfalarda zaman aşımı süresini birkaç saniye artırın.
DNS hatası
Could not resolve host, ENOTFOUND
Ne anlama gelir
Bir ad IP adresine çevrilemedi.
Ne yapmalı
Proxy adresinin yazımını kontrol edin: fazladan boşluk, kopyalanmış http:// öneki ya da ada karışmış port olabilir. SOCKS5’te hedef adın proxy tarafından çözülmesi için socks5h kullanın. Proxy adresindeki alan adının herkese açık DNS’te çözülüp çözülmediğini DNS Sorgulama aracıyla kontrol edin; çözülüyorsa sorun büyük olasılıkla kendi ağınızdaki ad çözümlemesindedir.
TLS hatası
WRONG_VERSION_NUMBER, certificate verify failed
Ne anlama gelir
Şifreli bağlantı kurulamadı.
Ne yapmalı
Paket bilgisinde başka bir şey yazmıyorsa proxy adresini https:// yerine http:// ile başlatın: istemci proxy’ye düz bağlanır, hedefle şifreli tüneli kendisi kurar. Saatinizi, tarihinizi ve sertifika deponuzu kontrol edin. Doğrulamayı kapatmak (-k, verify=False) kalıcı çözüm değildir; şifreli bağlantının güvenliğini zayıflatır.
403 · 429
hedef sitenin yanıtı
Ne anlama gelir
Çoğu zaman proxy çalışıyordur; isteği reddeden ya da sınırlayan hedef sitedir.
Ne yapmalı
İstek hızını düşürün, isteklerin arasına bekleme koyun, hedefin kullanım şartlarını ve robots.txt kurallarını gözden geçirin. Sorun sürerse farklı bir IP türü işe yarayabilir; ancak hiçbir platform için sonuç taahhüt edilmez.
Sıradaki adım
Kodlar hazır, paketi seçmek kaldı
Örnekler paket türünden bağımsızdır; yalnızca paketinizin sunduğu protokolü seçin (IPv6 paketleri yalnızca HTTP(S)). İhtiyacınıza uygun IP türünü ve süreyi fiyatlandırma sayfasında yan yana görün; takıldığınız yerde WhatsApp’tan yazın.