İçeriğe geç

3Proxy: Ev Kullanımı İçin Basit ve Etkili Bir Proxy Sunucusu

Инструменты
3Proxy: Ev Kullanımı İçin Basit ve Etkili Bir Proxy Sunucusu

3Proxy, minimum donanım yüküyle yüksek performanslı yönlendirme için tasarlanmış, hafif ve çok işlevli bir proxy sunucu paketidir. Yerel ağ trafiğini yönetmek, güvenlik kuralları uygulamak veya GProxy gibi harici sağlayıcılar üzerinden bağlantı zincirlemek için özelleştirilebilir bir ağ geçidine ihtiyaç duyan ev kullanıcıları ve küçük ölçekli geliştiriciler için ideal bir çözümdür.

3Proxy mimarisi: ev kullanımında neden öne çıkıyor

Yüzlerce megabayt RAM tüketebilen ve karmaşık dizin yapıları gerektiren Squid gibi kurumsal proxy çözümlerinin aksine, 3Proxy C ile yazılmıştır ve çoğu zaman 1MB'tan küçük bir ikili dosyaya sığar. Bu verimlilik, sunucunun bir Raspberry Pi, eski bir dizüstü bilgisayar ya da Windows tabanlı bir medya merkezi olabileceği ev ortamları için onu mükemmel kılar. 3Proxy'deki "3", temel felsefesini temsil eder: başlangıçta bir "üçlü proxy" (HTTP, SOCKS ve DNS) olarak tasarlanmıştı, ancak o zamandan beri çok daha geniş bir protokol yelpazesini destekleyecek şekilde gelişti.

Ev kullanıcısı için en büyük avantaj modülerliktir. Her şeyi yapan devasa bir servis çalıştırmanız gerekmez; yalnızca ihtiyaç duyduğunuz modülleri etkinleştirirsiniz. Smart TV trafiğinizi bir GProxy residential düğümü üzerinden yönlendirmek için yalnızca bir SOCKS5 ağ geçidine ihtiyacınız varsa, bunu üç satırlık bir yapılandırma dosyasıyla yapabilirsiniz. Bu "az çoktur" yaklaşımı, ev ağınızın saldırı yüzeyini azaltır ve internet hızınızın proxy'nin işlem yükü nedeniyle darboğaza girmemesini sağlar.

3Proxy'yi ayıran başlıca özellikler şunlardır:

  • Platformlar arası uyumluluk: Windows, Linux ve FreeBSD üzerinde yerel olarak çalışır.
  • Protokol çeşitliliği: HTTP, HTTPS, SOCKSv4/v4.5/v5, FTP, POP3, SMTP ve DNS destekler.
  • Düşük gecikme: Bloklamayan I/O modeli, yük altında bile proxy'nin isteklerinize milisaniye düzeyinde ihmal edilebilir bir gecikme eklemesini sağlar.
  • Proxy zincirleme: İstekleri başka bir proxy'ye (üst proxy) iletme yeteneği; profesyonel proxy ağlarıyla entegrasyon için şarttır.
3Proxy: ev kullanımı için basit ve etkili bir proxy sunucusu

Kurulum ve ilk yapılandırma

3Proxy kurulumu işletim sistemine göre biraz değişir, ancak mantık aynı kalır. Ubuntu veya Debian gibi Linux dağıtımlarında kurulum paket yöneticisiyle doğrudan yapılır; yine de en yeni özellikler için kaynaktan derlemek çoğu zaman tercih edilir.

Linux üzerine kurulum

3Proxy'yi Debian tabanlı bir sisteme kurmak için şu komutları çalıştırın:

sudo apt update
sudo apt install 3proxy

En güncel güvenlik yamalarına sahip olmak için kaynaktan derlemeyi tercih ediyorsanız, GitHub deposunu klonlayıp make komutunu kullanabilirsiniz. Bu, /usr/local/bin/ dizinine taşıyabileceğiniz bağımsız bir ikili dosya üretir.

Windows üzerine kurulum

Windows kullanıcıları için 3Proxy taşınabilirdir. ZIP dosyasını indirir, bin klasörünü çıkarır ve bir servis olarak veya bağımsız çalıştırılabilir dosya olarak çalıştırırsınız. Çoğu ev kullanıcısı, bilgisayar yeniden başladığında proxy'nin otomatik olarak açılması için servis olarak çalıştırmayı tercih eder. Bu, çalıştırılabilir dosyada --install bayrağı kullanılarak yapılır.

3proxy.cfg dosyasını yapılandırma

3Proxy'de her şey, genellikle 3proxy.cfg adını taşıyan tek bir yapılandırma dosyasıyla kontrol edilir. Bu dosya yukarıdan aşağıya okunur. Komutların sırasının önemli olduğunu anlamak gerekir: kimlik doğrulamayı ve erişim kontrol listelerini (ACL) proxy servislerinin kendisinden önce tanımlamalısınız.

8080 portunda bir HTTP proxy ve 1080 portunda bir SOCKS5 proxy kuran temel bir ev yapılandırması şöyle görünür:

# DNS sunucularını belirtin
nserver 8.8.8.8
nserver 1.1.1.1
nscache 65536

# Kimlik doğrulama yapılandırması
auth iponly

# Erişim kontrol listesi: yalnızca yerel ağa izin ver
allow * 192.168.1.0/24
allow * 127.0.0.1

# Servisleri başlat
proxy -p8080
socks -p1080

Bu örnekte nserver, proxy'nin kullanacağı DNS çözümleyicileri tanımlar. auth iponly, sunucuya kullanıcı adı ve parola istemek yerine isteklere kaynak IP adresine göre güvenmesini söyler. allow satırları erişimi kısıtlar; böylece proxy'yi yalnızca yerel ev ağınızdaki (192.168.1.x) cihazlar kullanabilir. Bu, proxy'nizin internetteki yabancıların istismar edebileceği bir "açık röle" hâline gelmesini önleyen kritik bir güvenlik adımıdır.

3Proxy: ev kullanımı için basit ve etkili bir proxy sunucusu

Gelişmiş erişim kontrolü ve güvenlik

IP tabanlı kimlik doğrulama ev kullanımı için pratik olsa da, özellikle seyahat ederken ev proxy'nize erişmeyi planlıyorsanız daha güçlü güvenlik isteyeceğiniz senaryolar vardır. 3Proxy, şifrelenmiş parolalarla dahili kullanıcı veritabanlarını destekler.

Kullanıcı kimlik doğrulamasını ayarlama

IP tabanlı doğrulamadan parola tabanlı doğrulamaya geçmek için yapılandırmanızı şöyle değiştirin:

users admin:CL:SecretPassword123
auth strong
allow admin
proxy -p8080

CL, yapılandırma dosyasındaki düz metin parolayı belirtir; 3Proxy şifrelenmiş dizeler için CR seçeneğini de destekler. auth strong kullandığınızda, proxy'nize bağlanmaya çalışan her cihazdan "admin" kimlik bilgileri istenir. Bu, mobil cihaz trafiğinizi güvenli ve ev benzeri bir ortam üzerinden tünellemek için 3Proxy'yi bir VPS üzerinde kullanırken özellikle işe yarar.

Trafik şekillendirme ve limitler

Proxy'yi kullanan birden fazla aile üyesi veya cihaz varsa, tek bir cihazın ev yükleme hızınızı doldurmasını engellemek için bant genişliğini sınırlamak isteyebilirsiniz. 3Proxy "shaper" kullanımına izin verir. Örneğin belirli bir kullanıcıyı 1024 Kbps ile sınırlamak için shaper komutunu bir ACL kuralıyla birlikte kullanırsınız. Bu ayrıntılı kontrol, diğer hafif proxy sunucularında nadiren bulunur.

Daha fazla gizlilik için GProxy ile entegrasyon

3Proxy'nin en güçlü özelliklerinden biri "Parent Proxying"dir. Bu, ev ağınızda tüm trafiği otomatik olarak GProxy gibi yüksek kaliteli bir harici sağlayıcıya ileten yerel bir giriş noktası kurmanızı sağlar. Doğrudan GProxy'ye bağlanmak yerine neden bunu yapasınız?

  1. Merkezî yönetim: GProxy kimlik bilgilerini yalnızca bir kez, 3Proxy içinde yapılandırmanız yeterlidir. Diğer tüm cihazlarınız (telefonlar, televizyonlar, dizüstü bilgisayarlar) ayrı ayrı kuruluma gerek kalmadan yerel 3Proxy örneğine bağlanır.
  2. Protokol dönüşümü: Yerel 3Proxy'nize HTTP ile bağlanıp, 3Proxy'nin bu trafiği GProxy'ye SOCKS5 üzerinden iletmesini sağlayabilirsiniz veya tam tersini yapabilirsiniz.
  3. Yedekleme (failover): 3Proxy'yi, GProxy'yi birincil rota olarak kullanacak ve proxy havuzu tükendiğinde standart ISP bağlantınıza geri dönecek şekilde yapılandırabilirsiniz.

3Proxy'yi bir GProxy residential sunucusuna zincirlemek için parent komutunu kullanın:

# Sözdizimi: parent [Ağırlık] [Tür] [IP] [Port] [Kullanıcı] [Parola]
parent 1000 socks5 proxy.gproxy.com 10000 username password
allow *
proxy -p8080

Bu yapılandırmada, yerel makinenize 8080 portundan gönderilen her istek şeffaf biçimde sarmalanır ve GProxy altyapısı üzerinden iletilir. Bu, ev IP adresinizi GProxy havuzundaki bir residential IP ile maskeler; üst düzey bir gizlilik ve tüm ev cihazlarında aynı anda coğrafi kısıtlamaları aşma imkânı sunar.

Performans karşılaştırması: 3Proxy ve rakipleri

Ev kullanımı için bir proxy sunucusu seçerken, 3Proxy'nin Squid ve Dante gibi diğer popüler seçeneklerle nasıl karşılaştırıldığını görmek faydalıdır. Aşağıdaki tablo, tipik ev kurulum senaryolarına göre temel farkları özetler.

Özellik 3Proxy Squid Dante
Bellek kullanımı Çok düşük (~2-5MB) Yüksek (50MB - 500MB+) Orta (~10-20MB)
Yapılandırma karmaşıklığı Orta (tek dosya) Yüksek (birden çok dosya/etiket) Orta (katı sözdizimi)
SOCKS5 desteği Yerel (mükemmel) Sınırlı/eklenti tabanlı Yerel (birincil odak)
Dahili DNS sunucusu Evet Hayır Hayır
Platform desteği Win/Linux/BSD Çoğunlukla Unix/Linux Unix/Linux

Tablodan da görüldüğü gibi 3Proxy, bu grubun "İsviçre çakısı"dır. Squid kurumsal ortamlarda büyük ölçekli önbellekleme için üstünken ve Dante uzmanlaşmış bir SOCKS uzmanıyken, 3Proxy ev kullanıcısı veya bir geliştiricinin iş istasyonu için özellikler ile kaynak verimliliği arasındaki en iyi dengeyi sunar.

3Proxy'yi Python ile otomatikleştirme

İleri düzey kullanıcılar 3Proxy'yi Python ile yönetebilir veya izleyebilir. Yapılandırma basit bir metin dosyası olduğundan ve loglar standart bir formatta yazılabildiğinden, yapılandırmaları döndürmek veya trafik desenlerini analiz etmek için betikler yazabilirsiniz. Aşağıda, ağınızda en çok ziyaret edilen alan adlarını belirlemek için 3Proxy loglarını ayrıştıran pratik bir Python betiği örneği var.

import re
from collections import Counter

def analyze_3proxy_logs(log_file_path):
    domain_pattern = re.compile(r' (\S+):443| (\S+):80')
    domains = []

    try:
        with open(log_file_path, 'r') as f:
            for line in f:
                match = domain_pattern.search(line)
                if match:
                    # None olmayan grubu al
                    domain = match.group(1) or match.group(2)
                    domains.append(domain)

        counts = Counter(domains).most_common(10)
        print("Top 10 Visited Domains via Proxy:")
        for domain, count in counts:
            print(f"{domain}: {count} requests")

    except FileNotFoundError:
        print("Log file not found. Ensure logging is enabled in 3proxy.cfg.")

# Örnek kullanım
# analyze_3proxy_logs('/var/log/3proxy/3proxy.log')

Bu betik, IoT cihazlarının hangi sitelere eriştiğini izlemek isteyen ebeveynler veya API çağrılarını ayıklayan geliştiriciler için kullanışlıdır. Çalışması için 3proxy.cfg dosyanızda günlük log dosyaları oluşturan log /var/log/3proxy/3proxy.log D gibi bir log yönergesi bulunduğundan emin olun.

Sık karşılaşılan 3Proxy sorunlarını giderme

Basitliğine rağmen, katı yapılandırma mantığı nedeniyle 3Proxy bazen huysuz olabilir. En sık görülen sorun "Access Denied" hatasıdır. Bu genellikle bir allow veya deny kuralının proxy komutundan sonra yerleştirilmesinden kaynaklanır. 3Proxy'de bir servis başladığında, kendisinden önce tanımlanmış ACL'leri devralır. Dosyanın sonundaki izin listesine yeni bir kullanıcı veya IP eklerseniz, bu daha önce tanımlanmış servisler için geçerli olmaz.

Bir diğer sık sorun port çakışmalarıdır. Ev makinenizde bir web sunucusu çalıştırıyorsanız, 80 veya 8080 portu zaten kullanılıyor olabilir. 3Proxy için seçtiğiniz portun boş olduğunu doğrulamak için Linux'ta netstat -tuln, Windows'ta netstat -ano komutunu kullanın. Servis başlatılamıyorsa konsol çıktısını kontrol edin; 3Proxy, yapılandırma dosyasındaki hangi satırın sözdizimi hatası içerdiğini oldukça açık şekilde belirtir.

Son olarak, güvenlik duvarınızın (Linux'ta ufw veya Windows Güvenlik Duvarı) 3Proxy'ye atadığınız portlarda trafiğe izin verecek şekilde yapılandırıldığından emin olun. Proxy mükemmel çalışsa bile, işletim sistemi bu portlardaki gelen paketleri engelliyorsa harici bir cihaz bağlanamaz.

Önemli çıkarımlar

3Proxy, güç ve minimalizmi benzersiz biçimde birleştirerek ev ağı yönetimi için mükemmel bir ağ geçidi olur. Yapılandırmasında ustalaşarak cihazlarınızı koruyabilir, trafiğinizi optimize edebilir ve GProxy gibi profesyonel hizmetlerden kolayca yararlanabilirsiniz.

  • Verimlilik esastır: 3Proxy, Squid veya Dante'den belirgin biçimde daha az kaynak kullanır; bu da onu Raspberry Pi gibi düşük güçlü donanımlar için ideal kılar.
  • Sıra önemlidir: Yapılandırma dosyanızda DNS, kimlik doğrulama ve ACL'leri her zaman servis komutlarından (proxy, socks vb.) önce tanımlayın.
  • Üst proxy'lerden yararlanın: Daha iyi anonimlik ve tüm ev cihazlarınızda bölgesel engelleri aşmak için 3Proxy'yi trafiğinizi GProxy'ye zincirleyen yerel bir merkez olarak kullanın.

Pratik ipucu 1: Proxy portunuz açık internete yönlendirilmişse mutlaka auth strong kullanın. Bir proxy'yi en azından IP tabanlı kısıtlamalar olmadan asla açık bırakmayın.

Pratik ipucu 2: Web'de gezinmeyi hızlandırmak için nscache yönergesini kullanın. DNS sorgularını yerel olarak önbelleğe alan 3Proxy, her yeni bağlantı isteğinden birkaç milisaniye kazandırabilir.

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.