Bağlantı ve kurulum rehberleri

Proxy kurulum rehberi: kopyalayın, bağlanın, doğrulayın.

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.

Bağlantı adresinin anatomisi

http://protokolKULLANICIkullanıcı adıPAROLAparola
proxy.example.comadresPORTport
HTTP proxy
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.

  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
Proxy protokolü
# HTTP proxy ile çıkış IP’nizi sorgulayıncurl --proxy "http://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.
import requestsproxy = "http://KULLANICI:PAROLA@proxy.example.com:PORT"proxies = {"http": proxy, "https": proxy}response = requests.get("https://api.ipify.org", proxies=proxies, timeout=15)print(response.text)  # proxy’nin çıkış IP’si
Parolada @, :, /, # veya % varsa urllib.parse.quote(parola, safe="") ile kodlayın ve kodlanmış hâliyle adrese yazın.
// npm install undiciimport { ProxyAgent, fetch } from 'undici';const dispatcher = new ProxyAgent('http://KULLANICI:PAROLA@proxy.example.com:PORT');const response = await fetch('https://api.ipify.org', { dispatcher });console.log(await response.text()); // proxy’nin çıkış IP’si
Önce npm install undici ile paketi kurun. ProxyAgent, adresteki kullanıcı adı ve parolayı proxy kimlik doğrulaması olarak gönderir.
package mainimport (    "fmt"    "io"    "net/http"    "net/url"    "time")func main() {    proxyURL, err := url.Parse("http://KULLANICI:PAROLA@proxy.example.com:PORT")    if err != nil {        panic(err)    }    client := &http.Client{        Transport: &http.Transport{Proxy: http.ProxyURL(proxyURL)},        Timeout:   15 * time.Second,    }    resp, err := client.Get("https://api.ipify.org")    if err != nil {        panic(err)    }    defer resp.Body.Close()    ip, _ := io.ReadAll(resp.Body)    fmt.Println(string(ip)) // proxy’nin çıkış IP’si}
Ek paket gerekmez. Parolada özel karakter varsa adresi url.UserPassword ile kendiniz oluşturabilirsiniz.
<?php$ch = curl_init('https://api.ipify.org');curl_setopt_array($ch, [    CURLOPT_PROXY          => 'proxy.example.com:PORT',    CURLOPT_PROXYTYPE      => CURLPROXY_HTTP,    CURLOPT_PROXYUSERPWD   => 'KULLANICI:PAROLA',    CURLOPT_RETURNTRANSFER => true,    CURLOPT_TIMEOUT        => 15,]);$ip = curl_exec($ch);if ($ip === false) {    echo 'Hata: ' . curl_error($ch);} else {    echo $ip; // proxy’nin çıkış IP’si}
PHP’nin cURL eklentisi etkin olmalıdır; php -m çıktısında curl görünür.
import java.net.Authenticator;import java.net.InetSocketAddress;import java.net.PasswordAuthentication;import java.net.ProxySelector;import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;import java.time.Duration;public class IpKontrol {    public static void main(String[] args) throws Exception {        // HTTPS hedeflerde Basic kimlik doğrulamasının tünel isteğinde de gönderilmesi için        System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");        HttpClient client = HttpClient.newBuilder()                .proxy(ProxySelector.of(new InetSocketAddress("proxy.example.com", PORT)))                .authenticator(new Authenticator() {                    @Override                    protected PasswordAuthentication getPasswordAuthentication() {                        return new PasswordAuthentication("KULLANICI", "PAROLA".toCharArray());                    }                })                .connectTimeout(Duration.ofSeconds(15))                .build();        HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.ipify.org")).build();        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());        System.out.println(response.body()); // 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.
using System.Net;var proxy = new WebProxy("http://proxy.example.com:PORT"){    Credentials = new NetworkCredential("KULLANICI", "PAROLA"),};using var handler = new HttpClientHandler { Proxy = proxy, UseProxy = true };using var 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.
require 'net/http'require 'uri'uri = URI('https://api.ipify.org')http = Net::HTTP.new(uri.host, uri.port, 'proxy.example.com', PORT, 'KULLANICI', 'PAROLA')http.use_ssl = truehttp.open_timeout = 15http.read_timeout = 15puts http.get(uri.request_uri).body # proxy’nin çıkış IP’si
Net::HTTP.new metodunun son dört parametresi proxy adresi, portu, kullanıcı adı ve paroladı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’si    Ok(())}
Cargo.toml dosyasına reqwest bağımlılığını ekleyin; blocking özelliği örneği sade tutmak içindir.
#!/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
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.
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

Dil logoları: Go gopher, Renee French (CC BY 4.0); PHP logosu, Colin Viebrock (CC BY-SA 4.0); Ruby logosu, Yukihiro Matsumoto (CC BY-SA 2.5); Rust logosu, Rust Foundation (CC BY 4.0); GNU Bash logosu, © Free Software Foundation (Free Art License); Java için OpenJDK Duke projesinden Duke (BSD türü lisans). Diğer simgeler Devicon’dan alınmıştır (MIT). Tüm ad ve logolar sahiplerinin ticari markasıdır; yalnızca örneklerin hangi dillerle yazıldığını göstermek için yer alır, herhangi bir ortaklık veya onay ima etmez.

Kopyalamadan önce

  • 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.

Windows

Sistem proxy ayarı

  1. Ayarlar → 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.
  3. Chrome 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.

Tarayıcılar

Chrome, Edge ve Firefox

Chrome ve Edge

  1. Bu 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.
  2. Adresi ve portu yukarıdaki gibi girin; ilk sayfa açılışında çıkan kimlik penceresine kullanıcı adı ve parolayı yazın.

Firefox

  1. Ayarlar → 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.

Komut satırı

Ortam değişkenleri

  1. Aşağıdaki değişkenleri tanımlayın; curl, wget, pip ve birçok komut satırı aracı bunları kendiliğinden okur.
  2. Aynı oturumda curl https://api.ipify.org çalıştırın; dönen adres proxy’nin çıkış IP’si olmalıdır.
  3. Bazı 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.

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.

  • SOCKS5

    SOCKS5 ile HTTP Proxy Farkı Nedir?

    İki protokol de trafiği aktarır ama farklı katmanlarda çalışır. Tarayıcı, oyun ve betikler için doğru seçimi anlatıyoruz.

  • Kurulum Rehberleri

    cURL ve Python ile Proxy Kullanımı

    Birkaç satırla proxy üzerinden istek atın, çıkış IP’nizi doğrulayın ve yaygın hataları (407, zaman aşımı) çözün.

Tüm blog yazıları

Hata ayıklama

Sık görülen hatalar ve çözümleri

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).

  • 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.

Fiyatlar TRY olup vergiler hariçtir. Sipariş ve ödeme adımları saglamproxy.com üzerinde tamamlanır.