3Proxy; yüksek performans ve minimum kaynak tüketimi için tasarlanmış, HTTP/HTTPS, SOCKS4/5 ve POP3 gibi protokolleri destekleyen hafif ve çoklu platform destekli bir proxy sunucu paketidir. Kullanıcının yerel trafiği yönetmesi, birden fazla upstream sağlayıcıyı zincirlemesi veya çoğu zaman 5MB'ın altında bellek kullanan güvenli bir ağ geçidi kurması gereken kişisel kullanım senaryoları için ideal bir çözümdür.
3Proxy'nin mimarisi ve felsefesi
Devasa kurumsal önbellekleme ve karmaşık içerik filtreleme için tasarlanmış Squid gibi monolitik proxy sunucularının aksine, 3Proxy "tek bir işi iyi yapma" şeklindeki Unix felsefesini izler. C dilinde yazılmıştır ve küçük bir çalıştırılabilir dosya kümesi olarak dağıtılır. Bu tasarım, her megabayt RAM'in kritik olduğu $5/month'lık bir VPS veya Raspberry Pi gibi düşük kaynaklı ortamlar için onu benzersiz biçimde uygun kılar.
Paket modülerdir. Çoğu kullanıcı onu bir yapılandırma dosyasını okuyan tek bir "3proxy" çalıştırılabiliri olarak çalıştırsa da, paket proxy (HTTP), socks (SOCKS4/5) ve ftppr (FTP) gibi bağımsız mini sunucular da içerir. Bu modülerlik, hangi servislerin aktif olacağı üzerinde ayrıntılı denetim sağlar; saldırı yüzeyini ve ek yükü azaltır. Kişisel kullanıcılar için bu, kurumsal seviyedeki bir web önbelleğinin şişkinliği olmadan tarayıcınız veya bir scraping betiğiniz için saniyeler içinde bir SOCKS5 ağ geçidi kurabilmeniz anlamına gelir.
3Proxy'nin öne çıkan özelliklerinden biri taşınabilirliğidir. Windows, Linux ve çeşitli BSD türevlerinde yerel olarak çalışır. Farklı ortamlarda çalışan geliştiriciler için işletim sistemi sınırlarını aşan tutarlı bir yapılandırma söz dizimine sahip olmak, yerel geliştirme proxy'lerinin veya test ortamlarının kurulumunu basitleştirir.

Kurulum ve ilk ayarlar
3Proxy'yi bir Linux dağıtımına (Ubuntu veya Debian gibi) kurmak, en yeni özelliklere ve güvenlik yamalarına sahip olduğunuzdan emin olmak için genellikle kaynaktan derleyerek yapılır. Süreç basittir ve kapsamlı bağımlılıklar gerektirmez.
- Sisteminizi güncelleyin:
sudo apt update && sudo apt install build-essential git -y - Depoyu klonlayın:
git clone https://github.com/3proxy/3proxy.git - Kaynağı derleyin: dizine girin ve
make -f Makefile.Linuxkomutunu çalıştırın. - Kurun:
sudo make -f Makefile.Linux install.
Windows'ta süreç, önceden derlenmiş ikili dosyaları indirip bunları bir servis olarak çalıştırmaktan ibarettir. İşletim sistemi ne olursa olsun, işin kalbi 3proxy.cfg dosyasındadır. Bu dosya sunucunun bağlantıları nasıl dinleyeceğini, kimin erişebileceğini ve trafiğin nereye yönlendirileceğini belirler.
Temel yapılandırma yapısı
Minimal bir yapılandırma dosyası birkaç genel direktif ve ardından belirli proxy servis tanımlarını gerektirir. Aşağıda basit kimlik doğrulamalı temel bir SOCKS5 ve HTTP proxy yapılandırması örneği yer alıyor.
# Genel ayarlar
daemon
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
# Kimlik doğrulama
users gproxy_user:CL:my_secure_password
auth strong
# Servis tanımları
proxy -p8080 -n -a
socks -p1080 -n -a
Bu örnekte daemon komutu 3Proxy'ye arka planda çalışmasını söyler. users satırı, "Cleartext" (CL) depolamayı kullanarak bir kullanıcı adı ve parola tanımlar. proxy ve socks komutları sırasıyla 8080 portunda bir HTTP proxy ve 1080 portunda bir SOCKS5 proxy başlatır. -n bayrağı 3Proxy'nin dahili hostname çözümlemesini devre dışı bırakır (bunun yerine işletim sistemininki kullanılır), -a ise istemcinin gerçek IP'sini hedef sunucudan gizlemek için anonim modu etkinleştirir.
Gelişmiş yönlendirme ve üst (parent) proxy'ler
GProxy gibi servislerden yüksek kaliteli residential proxy'ler kullanan kişisel kullanıcılar için 3Proxy'nin "parent" direktifi oyunu değiştirir. Bu özellik, 3Proxy'yi tüm istekleri uzaktaki bir upstream sağlayıcıya ileten yerel bir giriş noktası olarak kullanmanızı sağlar. Bu, SOCKS5 kimlik doğrulamasını doğal olarak desteklemeyen uygulamalar için veya proxy yönetimini merkezileştirmek isteyenler için özellikle kullanışlıdır.
3Proxy'yi GProxy ile zincirlediğinizde, trafik ağınızdan çıkmadan önce yerel erişim kontrol listeleri (ACL) uygulama ve log tutma imkânı kazanırsınız. Bu, web scraping veya gezinme faaliyetlerinize ek bir güvenlik ve şeffaflık katmanı ekler.
Upstream zincirlemeyi yapılandırma
Trafiği harici bir sağlayıcıya iletmek için parent komutunu kullanırsınız. Bu komut ağırlığı (yük dengeleme için), protokolü, uzak IP'yi, portu ve kimlik bilgilerini belirtir.
# Üst proxy'yi tanımla (örneğin GProxy residential endpoint)
# Biçim: parent [weight] [type] [ip] [port] [user] [password]
parent 1000 socks5 1.2.3.4 5678 gproxy_id gproxy_pass
# Üst proxy'yi kullanan yerel SOCKS5 sunucusunu başlat
socks -p1080
Bu kurulumla localhost:1080 adresine bağlanan her uygulamanın trafiği GProxy'nin residential ağı üzerinden yönlendirilir. Bu, özellikle kimlik bilgileri veya uç noktalar sık değiştiğinde, her uygulamayı tek tek uzak kimlik bilgileriyle yapılandırmaktan çok daha verimlidir.
3Proxy'yi alternatiflerle karşılaştırma
3Proxy'nin ekosistemde nereye oturduğunu anlamak için onu Squid ve Dante gibi diğer popüler proxy çözümleriyle karşılaştırmak faydalıdır. Squid önbellekleme konusunda sektör standardı, Dante ise sağlam SOCKS uygulamasıyla tanınırken, 3Proxy "minimalist esneklik" adlı kendine özgü bir nişi doldurur.
| Özellik | 3Proxy | Squid | Dante |
|---|---|---|---|
| Bellek kullanımı | < 5MB | 100MB+ | 20MB - 50MB |
| Protokoller | HTTP, SOCKS4/5, POP3, FTP | HTTP, HTTPS, FTP | SOCKS4/5 |
| Kurulum kolaylığı | Yüksek (tek yapılandırma dosyası) | Düşük (karmaşık söz dizimi) | Orta |
| Zincirleme | Mükemmel (üst proxy'ler) | Orta (cache peers) | Sınırlı |
| İşletim sistemi desteği | Windows, Linux, BSD | Ağırlıklı olarak Linux/Unix | Linux/Unix |

Erişim denetimi ve güvenlik
Bir proxy sunucusunu internete açan herkes için güvenlik birincil endişedir. 3Proxy, erişimi kaynak IP'ye, hedef IP'ye veya günün saatine göre kısıtlamanıza olanak tanıyan sağlam bir ACL kümesi sunar. GProxy aboneliğinize uzaktan erişmek için 3Proxy'yi genel bir VPS üzerinde çalıştırıyorsanız bu hayati önemdedir.
allow ve deny direktifleri sırayla işlenir. Yani kurallarınızın sırası kritiktir. Sık yapılan bir hata, geniş kapsamlı bir "allow" kuralını belirli bir "deny" kuralından önce koymaktır; bu, kısıtlamayı işlevsiz bırakır.
IP tabanlı filtreleme örneği
3Proxy örneğinizi yalnızca ev IP adresinizin kullanabilmesini istiyorsanız yapılandırmanızı şöyle kurgularsınız:
# Kullanıcıları tanımla
users admin:CL:secret123
# Erişim kontrol listesi
auth strong
allow admin 1.2.3.4 * * *
deny * * * * *
# Proxy'yi başlat
proxy -p8888
Bu senaryoda yalnızca 1.2.3.4 IP'sinden bağlanan "admin" kullanıcısı, herhangi bir zamanda (*) herhangi bir portta (*) herhangi bir hedefe (*) erişebilir. Diğer tüm bağlantı denemeleri açıkça reddedilir. Bu "varsayılan olarak reddet" duruşu, kişisel proxy sunucularını güvenceye almanın altın standardıdır.
Pratik kullanım örneği: kurulumunuzu Python ile test etmek
3Proxy sunucunuz çalışmaya başladığında, özellikle GProxy gibi bir upstream sağlayıcıya zincirlenmişse, IP'nizi doğru şekilde maskelediğini ve kimlik doğrulamayı doğru işlediğini doğrulamalısınız. Python'un requests kütüphanesi bu doğrulama için mükemmel bir araçtır.
import requests
# Yerel 3Proxy adresinizi tanımlayın
proxy_url = "http://admin:[email protected]:8888"
proxies = {
"http": proxy_url,
"https": proxy_url,
}
try:
# Hedefin gördüğü IP'yi kontrol et
response = requests.get("https://api.ipify.org?format=json", proxies=proxies, timeout=10)
data = response.json()
print(f"Proxy Connection Successful!")
print(f"Detected IP: {data['ip']}")
except Exception as e:
print(f"Connection Failed: {e}")
Bu betik, 3Proxy örneğiniz üzerinden herkese açık bir IP tespit API'sine bağlanmaya çalışır. Bir GProxy residential parent yapılandırdıysanız, "Detected IP" yerel veya VPS IP'niz yerine bir residential adresi göstermelidir. Bu, betiğinizden 3Proxy'ye ve son olarak GProxy üzerinden geçen tüm zincirin doğru çalıştığını doğrular.
Loglama ve trafik izleme
Uzun vadeli kişisel kullanımda trafiğinizi izlemek, sorun gidermek ve yetkisiz erişim denemelerini tespit etmek için şarttır. 3Proxy, dosyalara veya bir syslog sunucusuna çıktı verebilen esnek bir loglama sistemi sunar. Log biçimini bayt sayıları, bağlantı süresi ve hedef hostname'ler gibi belirli veri noktalarını içerecek şekilde özelleştirebilirsiniz.
Tipik bir loglama yapılandırması şöyle görünebilir:
log /var/log/3proxy/3proxy.log D
logformat "L%Y-%m-%d %H:%M:%S %U %C:%c %R:%r %O %I %h %T"
D bayrağı 3Proxy'ye logları günlük olarak döndürmesini söyler ve tek bir dosyanın tüm disk alanını tüketmesini önler. logformat dizesi; zaman damgasını, kullanıcı adını (%U), istemci IP/port bilgisini (%C:%c), uzak IP/port bilgisini (%R:%r) ve trafik hacmini (giden için %O, gelen için %I) kaydetmek üzere placeholder'lar kullanır. Bu logları analiz etmek, hangi uygulamaların en çok veri tükettiğini belirleyerek GProxy kullanımınızı optimize etmenize yardımcı olur.
Önemli çıkarımlar
- 3Proxy verimlilik kralıdır: sistem kaynaklarından ödün vermeden işlevsel bir proxy sunucusuna ihtiyaç duyanlar için en iyi seçimdir. 5MB'ın altındaki RAM kullanımı Squid veya Dante tarafından yakalanamaz.
- Zincirleme güçlüdür: 3Proxy'yi GProxy residential proxy'leri için yerel bir ağ geçidi olarak kullanın. Bu, kimlik doğrulamayı merkezileştirmenizi ve trafik residential ağa ulaşmadan önce yerel güvenlik kuralları uygulamanızı sağlar.
- ACL'lerde sıra önemlidir: her zaman "varsayılan olarak reddet" stratejisini izleyin. Belirli IP ve kullanıcılar için
allowkurallarını en üste koyun ve sunucuyu kilitlemek içindeny * * * * *ile bitirin. - Platformlar arası tutarlılık: yapılandırma söz dizimi Windows ve Linux'ta aynı olduğundan, betiklerinizi yerelde Windows'ta geliştirip 3Proxy kurulumunuzda sıfır değişiklikle bir Linux VPS'e dağıtabilirsiniz.
Pratik ipucu 1: 3Proxy'yi Linux'ta çalıştırırken hızlı bir DNS sağlayıcısı (1.1.1.1 veya 8.8.8.8 gibi) belirtmek için mutlaka nserver direktifini kullanın. Bu, DNS darboğazlarının proxy isteklerinizi yavaşlatmasını önler.
Pratik ipucu 2: 3Proxy'yi son derece kısıtlı bir ortamda (128MB RAM'li bir VPS gibi) çalıştırıyorsanız, iş parçacığı başına bellek yükünü daha da sınırlamak için yapılandırmanızda stacksize komutunu kullanın.
Bunları da okuyun
A-Parser için Proxy'ler: Arama Motoru Parsing Kurulumu
Xrumer İçin Proxy'ler: Hangisini Seçmeli ve Nasıl Kurmalı
Key Collector için proxy'ler: kurulum ve rotasyon
Binom Tracker: Trafik arbitrajı için proxy kurulumu
VKDog Pro: VK Content Auto-posting and Grabbing
