İçeriğe geç

Uygulama5 dk okuma

Çalışan Proxy Nasıl Bulunur?

Herkese açık bir proxy listesinden aldığınız adreslerin büyük kısmı denediğiniz anda çalışmayabilir. Bunun nedeni listelerin kötü olması değil, ücretsiz proxy’lerin doğası gereği kısa ömürlü, kararsız ve sürekli el değiştiren kaynaklar olmasıdır. Çalışan proxy bulmak bu yüzden bir “liste bulma” işi olmaktan çok, bir ayıklama ve doğrulama işidir. Bu rehberde bunun nasıl sistemli yapılacağını anlatıyoruz.

Kategori
Uygulama
Yayın
Güncelleme
Okuma süresi
5 dakika

Neden çoğu proxy çalışmaz?#

Ücretsiz bir proxy; yanlış yapılandırılmış bir sunucu, sahibinin haberi olmayan açık bir port ya da kısa süreliğine paylaşılan bir kaynak olabilir. Sahibi sunucuyu kapattığında, güvenlik duvarını düzelttiğinde ya da yoğunluk arttığında adres sessizce devre dışı kalır. Bir kaydın listede görünmesi, o anda çalıştığının kanıtı değildir; yalnızca bir kaynağın bir zamanlar o adresi bildirdiği anlamına gelir.

Bu yüzden iki kavramı ayırmak gerekir. Erişilebilirlik, adresin ve portun bağlantıya yanıt vermesidir. Kullanılabilirlik ise bu proxy üzerinden gerçekten bir web sayfasını makul sürede çekebilmenizdir. İkincisi birincisinden daha dar bir kümedir ve asıl aradığınız odur.

Çalışan proxy bulma akışı#

Proxy kontrol akışıKontrol önce adresin genel olup olmadığına bakar, sonra TCP bağlantısı ve protokol el sıkışması dener, hedefe test isteği gönderir ve yanıtı doğrular. Herhangi bir adım başarısız olursa sonuç Çalışmıyor olur; hepsi geçilirse Çalışıyor olur.özel/yereladres reddi01Adresdenetimizaman aşımıveya ret02TCPbağlantısıHTTP/CONNECTveya SOCKS03Protokolel sıkışmasıhedefeörnek istek04Testisteğibeklenenyanıt mı?05YanıtdoğrulamaÇalışıyortüm adımlargeçildiyseÇalışmıyor — hangi adımda koptuğu kayda geçerBu zincir yalnızca ulaşılabilirliği ölçer; proxy'nin güvenli olduğunu göstermez.ÇALIŞIYOR = TÜM ADIMLAR BAŞARILI
Şekil 1Kaynaktan çalışan listeye: toplama, tekilleştirme, protokol tespiti, bağlantı testi ve hedef testi.
  1. Kaynak seçimi: Kaynağın nereden ve hangi sıklıkla güncellendiğini bilin.
  2. Tekilleştirme: Aynı adresi farklı kaynaklardan alıyorsanız tek kayda indirin.
  3. Protokol tespiti: Aynı port HTTP, HTTPS ya da SOCKS olabilir; doğru protokolle deneyin.
  4. Bağlantı ve yanıt testi: Proxy üzerinden gerçek bir istek gönderin, sürenin ve yanıt kodunun makul olup olmadığına bakın.
  5. Hedef testi: Kullanacağınız siteye özgü bir istekle son kez sınayın.

1. Kaynağı ve tazeliği değerlendirin#

Güncellenme zamanı belirtilmeyen ya da çok eski kayıtlar içeren listeler zaman kaybettirir. Mümkünse son kontrol zamanını gösteren bir kaynak seçin ve en taze kayıtlardan başlayın. Ücretsiz Proxy Listesi sayfamızda her kayıt için son kontrol bilgisi, kaynak adı ve durum etiketi gösterilir; hangi kaynaklardan ve hangi yöntemle derleme yapıldığını Veri Kaynakları ve Yöntem sayfasında okuyabilirsiniz.

2. Filtreleri akıllıca kullanın#

Gereksiz kaydı baştan elemek zamandan kazandırır. Hedefiniz bir web sitesiyse HTTP ve HTTPS kayıtlarına odaklanın; web dışı bir uygulama için SOCKS5 gerekebilir. Konum önemliyse ülkeye göre süzün, örneğin Türkiye proxy listesi sayfasına bakın. Gecikme sınırı koymak ve son kontrol aralığını daraltmak, test edeceğiniz kayıt sayısını azaltır. Protokol bazlı sayfalardan HTTP ve SOCKS5 listelerine doğrudan ulaşabilirsiniz.

3. Tek tek hızlıca sınayın#

Birkaç adresi elle denemek için Proxy Kontrol aracını kullanabilirsiniz. Komut satırında ise curl, sonucu hem durum kodu hem süre olarak verir:

Bash
curl -x "http://proxy.example.com:PORT" \
  --max-time 10 \
  -s -o /dev/null \
  -w "kod=%{http_code} sure=%{time_total}s\n" \
  https://example.com/
Tek bir proxy’yi durum kodu ve toplam süreyle sınama

4. Toplu doğrulama#

Yüzlerce adresi elle denemek mümkün değildir. Aşağıdaki Python betiği, her satırı ip:port biçiminde yazdığınız bir dosyayı eşzamanlı olarak sınar ve çalışanları ayrı bir dosyaya yazar. Eşzamanlılığı düşük tutun; hem kendi ağınızı yormamış olursunuz hem de hedef siteye gereksiz yük bindirmezsiniz.

Python
import requests
from concurrent.futures import ThreadPoolExecutor

TARGET = "https://example.com/"

def check(address):
    proxy = f"http://{address}"
    try:
        r = requests.get(
            TARGET,
            proxies={"http": proxy, "https": proxy},
            timeout=8,
        )
        return address if r.status_code == 200 else None
    except requests.RequestException:
        return None

with open("proxies.txt", encoding="utf-8") as f:
    addresses = [line.strip() for line in f if line.strip()]

with ThreadPoolExecutor(max_workers=10) as pool:
    results = pool.map(check, addresses)

working = [a for a in results if a]
with open("working.txt", "w", encoding="utf-8") as f:
    f.write("\n".join(working))

print(f"{len(working)} / {len(addresses)} proxy çalışıyor")
proxies.txt içindeki HTTP proxy’leri sınayıp çalışanları working.txt dosyasına yazma

Betik yalnızca HTTP proxy’leri sınar. SOCKS5 kayıtları için proxy URL’sini socks5h:// ile başlatın ve requests[socks] bileşenini kurun. Protokolü bilmediğiniz bir kayıtta, sırayla HTTP, SOCKS5 ve SOCKS4 ile denemek gerekir; bir proxy’nin doğru protokolle sınanmaması, çalışan kaydı çalışmıyor göstermenin sık nedenlerinden biridir.

5. Hedefe özgü test yapın#

Genel bir adreste çalışan proxy, sizin kullanacağınız sitede çalışmayabilir. Bazı hizmetler ücretsiz proxy adreslerinin bilinen aralıklarını baştan reddeder; bazıları ise yanıtı yavaşlatır. Gerçek hedef için kısa bir deneme yapmadan listeyi “çalışan” saymayın. Ayrıca bir proxy’nin hangi anonimlik seviyesinde olduğu da ayrı bir konudur; ayrıntı için Proxy Anonimlik Seviyeleri rehberine bakın.

Sonuçları kaydederken yalnızca çalışan adresleri değil, ölçtüğünüz süreyi ve test zamanını da saklayın. Böylece en hızlı yanıt veren kayıtları öne alabilir, belirli bir süreden eski sonuçları da otomatik olarak geçersiz sayabilirsiniz. Küçük ama düzenli bir kayıt tutmak, listenin kalitesini zaman içinde izlemenizi sağlar.

Doğrulamada sık yapılan hatalar#

  • Çok kısa zaman aşımı: Ücretsiz proxy’ler çoğunlukla yavaştır. Süreyi iki saniyeye indirmek, çalışan kayıtları da elemenize yol açar; sekiz ile on saniye arası makul bir başlangıçtır.
  • Tek bir deneme: Geçici bir yoğunluk, çalışan bir proxy’yi bir kez başarısız gösterebilir. Önemli adaylar için ikinci bir deneme yapın.
  • Yanlış hedef: Yalnızca HTTP sitesiyle denenen bir proxy, HTTPS bağlantı kurma yeteneğini (CONNECT) kanıtlamaz. Hem HTTP hem HTTPS hedefiyle sınayın.
  • Yerel güvenlik duvarını unutmak: Kendi ağınız ya da güvenlik yazılımınız giden bağlantıların bir kısmını engelliyor olabilir; sonuçları yorumlamadan önce tek bir bilinen proxy ile ortamı doğrulayın.
  • Sonucu saklayıp unutmak: Doğrulama zamanını kayda geçirmediğinizde listenin ne kadar taze olduğunu bilemezsiniz.

Çalışan listeyi ne kadar süre kullanabilirsiniz?#

Çalışan listenin ömrü genellikle kısadır; bugün çalışan bir kayıt yarın çalışmayabilir. Bu yüzden bir kez derlenen listeyi uzun süre saklamak yerine, işten hemen önce yeniden doğrulamak daha verimlidir. Düzenli ve kararlı bir bağlantıya ihtiyacınız varsa, sürekli yeniden doğrulama yükünü üstlenmek yerine ücretli bir hizmeti değerlendirmek daha ekonomik olabilir; bu karşılaştırmayı Ücretsiz Proxy ve Ücretli Proxy Farkları rehberinde ele alıyoruz.

Sık sorulan sorular

01Çalışan proxy listesi ne sıklıkla değişir?
Ücretsiz kaynaklarda kayıtlar sık eskir; bir kaydın ömrü saatlerle ölçülebilir. Kesin bir süre vermek mümkün değildir, bu yüzden kullanmadan hemen önce yeniden doğrulama yapmanız önerilir.
02Listedeki bir proxy neden bazen çalışıp bazen çalışmıyor?
Proxy’yi sunan makine kesintiye uğramış, yoğunluktan yanıt veremez hale gelmiş ya da bağlantı sınırına ulaşmış olabilir. Bunlar geçici olabileceği gibi kalıcı da olabilir.
03Doğrulayıcı ‘Çalışıyor’ dediyse güvenle kullanabilir miyim?
Hayır. Bu etiket yalnızca proxy’nin yakın zamanda bağlantıya yanıt verdiğini söyler. Güvenlik, hız ya da kalıcılık hakkında bir güvence vermez.
04Hangi protokolü seçmeliyim?
Web sayfaları için HTTP ve HTTPS yeterlidir. Web dışı uygulamalar ya da daha geniş protokol desteği için SOCKS5 gerekebilir. Emin değilseniz SOCKS5 ve HTTP ile ayrı ayrı deneyin.
05Toplu doğrulamada kaç eşzamanlı bağlantı kullanmalıyım?
Küçük bir değerle, örneğin on civarında başlayın. Çok yüksek eşzamanlılık kendi bağlantınızı yorabilir ve hedef siteye gereksiz yük bindirir.

Bilgiyi listede deneyin

Ücretsiz listedeki kayıtları protokole ve ülkeye göre süzebilirsiniz. Bu kayıtların güvenli ya da kalıcı olduğu garanti edilmez; hassas hesaplarınızda kullanmayın.