Linux'ta çalışıyorsanız ve trafiği proxy üzerinden yönlendirmek istiyorsanız - parselleme, pazaryerlerinde fiyat izleme veya birden fazla hesapla çalışma için - internetteki standart talimatlar genellikle işe yaramaz. Bazıları sadece tarayıcıyı, diğerleri sadece terminali açıklar ve hiçbir yerde tam bir resim yoktur. Bu kılavuzda, terminalde tek bir komuttan Ubuntu ve Debian'daki tüm trafiği kapsayan sistem ayarlarına kadar tüm yöntemleri inceleyeceğiz.
Linux için hangi proxy türünü seçmelisiniz
Ayarlara geçmeden önce, önemli bir nokta var: tüm proxy'ler farklı görevler için aynı şekilde uygun değildir. Linux makineleri genellikle otomatik görevler için kullanılır - parselleme, izleme, toplu istekler - ve burada proxy türünün seçimi kritik öneme sahiptir.
| Proxy Türü | Protokoller | Uygun olduğu yerler | Engellenme Riski |
|---|---|---|---|
| Veri merkezi proxy'leri | HTTP, HTTPS, SOCKS5 | Parselleme, curl, betikler | Orta |
| Konut proxy'leri | HTTP, HTTPS, SOCKS5 | Pazaryerleri, sosyal medya, hesaplar | Düşük |
| Mobil proxy'ler | HTTP, SOCKS5 | Facebook, Instagram, TikTok | Minimum |
Çoğu görev için Linux'ta HTTP/HTTPS veya SOCKS5 proxy'leri uygundur. SOCKS5 tercih edilir - TCP seviyesinde çalışır ve curl, wget ve proxychains dahil olmak üzere çoğu araç tarafından desteklenir. Aşağıdaki tüm örneklerde her iki seçeneği de kullanacağız.
Proxy veri formatı
Aşağıdaki tüm ayarlar için şu formatta verilere ihtiyacınız olacak:
host:port veya host:port:login:password
Bu verileri proxy sağlayıcınızdan kişisel panelinizde alırsınız.
Terminalde ortam değişkenleri ile ayarlama
Linux'ta trafiği proxy üzerinden yönlendirmenin en hızlı yolu ortam değişkenlerini ayarlamaktır. Çoğu konsol aracı (curl, wget, pip, apt ve diğerleri) bu değişkenleri otomatik olarak okur ve belirtilen proxy'yi ek bir ayar yapmadan kullanır.
Geçici ayarlama (sadece mevcut oturum için)
Terminali açın ve aşağıdaki komutları çalıştırın. Değerleri proxy verilerinize göre değiştirin:
# Yetkilendirme gerektirmeyen HTTP proxy için export http_proxy="http://192.168.1.1:3128" export https_proxy="http://192.168.1.1:3128" # Kullanıcı adı ve şifre ile HTTP proxy için export http_proxy="http://login:[email protected]:3128" export https_proxy="http://login:[email protected]:3128" # SOCKS5 proxy için export http_proxy="socks5://login:[email protected]:1080" export https_proxy="socks5://login:[email protected]:1080" # Proxy olmadan adresler için istisnalar (localhost ve yerel ağ) export no_proxy="localhost,127.0.0.1,::1,192.168.0.0/16"
Bu komutlardan sonra mevcut terminaldeki tüm araçlar proxy'yi kullanacaktır. Önemli bir nokta: bazı programlar değişkenleri yalnızca büyük harfle okur. Güvenlik için, komutları büyük harflerle tekrar edin:
export HTTP_PROXY="http://login:[email protected]:3128" export HTTPS_PROXY="http://login:[email protected]:3128" export NO_PROXY="localhost,127.0.0.1"
Kullanıcı için kalıcı ayarlama
Proxy'nin her terminal oturumunda otomatik olarak uygulanması için değişkenleri ~/.bashrc (bash için) veya ~/.zshrc (zsh için) dosyasına ekleyin:
# Nano editöründe dosyayı açıyoruz nano ~/.bashrc # Dosyanın sonuna şu satırları ekleyin: export http_proxy="http://login:password@host:port" export https_proxy="http://login:password@host:port" export HTTP_PROXY="http://login:password@host:port" export HTTPS_PROXY="http://login:password@host:port" export no_proxy="localhost,127.0.0.1" # Kaydedin: Ctrl+O, Enter, Ctrl+X # Terminali yeniden başlatmadan değişiklikleri uygulamak için: source ~/.bashrc
Tüm kullanıcılar için sistem ayarı
Linux bir sunucu olarak kullanılıyorsa veya proxy'yi sistemdeki tüm kullanıcılar için uygulamak istiyorsanız, değişkenleri /etc/environment dosyasına ekleyin:
sudo nano /etc/environment # Satırları ekleyin (export komutu olmadan!): http_proxy="http://login:password@host:port" https_proxy="http://login:password@host:port" HTTP_PROXY="http://login:password@host:port" HTTPS_PROXY="http://login:password@host:port" no_proxy="localhost,127.0.0.1,::1"
Dosyayı kaydettikten sonra değişiklikler bir sonraki sistem girişinde geçerli olacaktır. Yeniden başlatmadan uygulamak için source /etc/environment komutunu çalıştırın.
Grafik arayüz (GNOME) üzerinden sistem proxy ayarları
Eğer GNOME masaüstü ile Ubuntu kullanıyorsanız (standart Ubuntu Desktop kurulumu), proxy'yi tek bir komut olmadan grafik arayüz üzerinden ayarlayabilirsiniz. Bu, Linux ile yeni başlayanlar için oldukça kullanışlıdır.
Ubuntu GNOME için adım adım talimat
- Sağ üst köşedeki simgeye tıklayın → Ayarlar (Settings) seçeneğini seçin
- Sol menüde aşağı kaydırın ve Ağ (Network) seçeneğini seçin
- Ağ proxy bölümünde ayar simgesi olan butona tıklayın
- Proxy modunu seçin:
- Kapalı - proxy kullanılmaz
- Manuel - proxy verilerini kendiniz girersiniz (tavsiye edilir)
- Otomatik - sağlayıcıdan PAC dosyası kullanılır
- Manuel seçeneğini seçin ve alanları doldurun:
- HTTP Proxy: host adresini ve portu girin
- HTTPS Proxy: aynı verileri girin
- SOCKS Host: adres ve port (SOCKS5 kullanıyorsanız)
- Yoksayılacak hostlar:
localhost, 127.0.0.0/8
- Pencereyi kapatın - ayarlar otomatik olarak uygulanır
⚠️ Bilmeniz gerekenler
GNOME üzerinden yapılan proxy ayarları, yalnızca sistem ayarlarını okuyan uygulamalar için geçerlidir: GNOME Web tarayıcısı, bazı GNOME uygulamaları. Terminal araçları (curl, wget, apt) bu ayarları kullanmaz - bunlar için önceki bölümdeki ortam değişkenlerine ihtiyaç vardır. Firefox ve Chromium'un kendi proxy ayarları vardır.
gsettings ile ayarlama (terminal + GUI)
Eğer GNOME sistem proxy ayarlarını terminal üzerinden yönetmek istiyorsanız (örneğin otomasyon için), gsettings komutunu kullanın:
# Manuel proxy modunu etkinleştirin gsettings set org.gnome.system.proxy mode 'manual' # HTTP proxy'yi ayarlayın gsettings set org.gnome.system.proxy.http host 'host' gsettings set org.gnome.system.proxy.http port 3128 # HTTPS proxy'yi ayarlayın gsettings set org.gnome.system.proxy.https host 'host' gsettings set org.gnome.system.proxy.https port 3128 # SOCKS5 proxy'yi ayarlayın gsettings set org.gnome.system.proxy.socks host 'host' gsettings set org.gnome.system.proxy.socks port 1080 # Proxy'yi kapatın gsettings set org.gnome.system.proxy mode 'none'
APT için proxy - proxy üzerinden paket yükleme
APT paket yöneticisi (Ubuntu ve Debian'da kullanılır) kendi proxy ayar sistemine sahiptir ve bu, ortam değişkenlerinden bağımsızdır. Bu, doğrudan internete erişimi olmayan sunucular veya kurumsal ağlar için özellikle önemlidir.
Yöntem 1: Tek bir komut için geçici proxy
# Tek bir apt komutu için proxy kullan sudo apt-get -o Acquire::http::Proxy="http://login:password@host:port" update # Ya da ortam değişkeni üzerinden sudo http_proxy="http://login:password@host:port" apt-get update
Yöntem 2: APT için kalıcı proxy
APT için bir yapılandırma dosyası oluşturun. Bu yöntem, proxy'nin sürekli olarak gerekli olduğu sunucular için tavsiye edilir:
# Yapılandırma dosyasını oluştur sudo nano /etc/apt/apt.conf.d/95proxies # İçeriği ekleyin: Acquire::http::Proxy "http://login:password@host:port"; Acquire::https::Proxy "http://login:password@host:port"; Acquire::ftp::Proxy "ftp://login:password@host:port"; # Kaydedin ve kontrol edin: sudo apt-get update
Eğer proxy yetkilendirme gerektirmiyorsa, satırlar daha basit görünür: Acquire::http::Proxy "http://host:port";. APT için proxy'yi devre dışı bırakmak için oluşturduğunuz dosyayı sudo rm /etc/apt/apt.conf.d/95proxies komutuyla silin.
curl ve wget için proxy
Curl ve wget, Linux'ta HTTP istekleri ile çalışmak için temel araçlardır. Bunlar, parselleme, API test etme, dosya indirme için kullanılır. Her iki araç da komut satırı parametreleri aracılığıyla doğrudan proxy'yi destekler.
Curl ile proxy
# HTTP proxy curl -x http://login:password@host:port https://example.com # SOCKS5 proxy curl --socks5 host:port --proxy-user login:password https://example.com # Proxy üzerinden kendi IP'nizi kontrol edin curl -x http://login:password@host:port https://api.ipify.org # SSL hatalarını yoksaymak için (gerekirse) curl -x http://login:password@host:port -k https://example.com
Her seferinde proxy'yi belirtmemek için ayarı ~/.curlrc dosyasına ekleyin:
nano ~/.curlrc # Şu satırı ekleyin: proxy = "http://login:password@host:port" # Artık curl her zaman bu proxy'yi kullanır: curl https://api.ipify.org
Wget ile proxy
# Komut satırı parametresi ile wget -e "http_proxy=http://login:password@host:port" https://example.com # Kalıcı ayar ~/.wgetrc dosyasında nano ~/.wgetrc # Şu satırları ekleyin: http_proxy = http://login:password@host:port https_proxy = http://login:password@host:port use_proxy = on
Linux'ta Firefox ve Chromium için proxy
Linux'taki tarayıcılar, sistem ayarlarından bağımsız olarak çalışan kendi proxy ayarlarına sahiptir. Bu, yalnızca tarayıcıda proxy kullanmak istiyorsanız ve diğer trafiği etkilemek istemiyorsanız kullanışlıdır.
Firefox: manuel ayarlama
- Firefox'u açın → sağ üst köşedeki üç çizgiye tıklayın → Ayarlar seçeneğine tıklayın
- Aşağı kaydırın ve Proxy Sunucusu bölümüne gidin → Ayarla butonuna tıklayın
- Manuel proxy ayarı seçeneğini seçin
- Alanları doldurun:
- HTTP proxy: host adresi, port
- Tüm protokoller için bu proxy sunucusunu kullan seçeneğini işaretleyin
- Veya ayrı olarak SOCKS belirtin: adres, port, SOCKS v5'i seçin
- OK butonuna tıklayın
Eğer proxy yetkilendirme gerektiriyorsa, Firefox ilk erişimde kullanıcı adı ve şifre isteyecektir ve bunları hatırlayacaktır. Birden fazla proxy arasında hızlı geçiş yapmak için FoxyProxy eklentisini yükleyin - bu, profiller oluşturmanıza ve tek tıklamayla geçiş yapmanıza olanak tanır.
Chromium / Google Chrome: proxy ile başlatma
Linux'taki Chromium, arayüzde yerleşik proxy ayarlarına sahip değildir - sistem ayarlarını kullanır. Ancak, tarayıcıyı belirli bir proxy ile başlatmak için komut satırı parametresi kullanabilirsiniz:
# HTTP proxy ile Chromium'u başlat chromium-browser --proxy-server="http://host:port" # SOCKS5 proxy ile başlat chromium-browser --proxy-server="socks5://host:port" # Proxy ile localhost'u yoksayarak başlat chromium-browser --proxy-server="http://host:port" \ --proxy-bypass-list="localhost;127.0.0.1" # Google Chrome için chromium-browser'ı google-chrome ile değiştirin google-chrome --proxy-server="socks5://host:port"
💡 Çoklu hesap yönetimi için ipucu
Eğer Linux'ta tarayıcı üzerinden birden fazla hesap yönetiyorsanız, normal bir tarayıcı ile proxy kullanmak yeterli değildir - siteler tarayıcı parmak izi, çerezler ve diğer parametreleri takip eder. Tam anlamıyla çoklu hesap yönetimi için anti-detect tarayıcılar kullanın: Dolphin Anty, AdsPower veya GoLogin - bunlar her hesap için ayrı proxy ile izole profiller oluşturur.
Proxychains - desteklenmeyen herhangi bir uygulama için proxy
Bazı uygulamalar, ne ortam değişkenleri aracılığıyla ne de kendi parametreleriyle proxy ayarlarını desteklemez. Bu durumda, proxychains devreye girer - bu araç, herhangi bir programın ağ çağrılarını yakalar ve bunları proxy üzerinden yönlendirir. Bu, Python'da yazılmış parselleyiciler veya özel araçlar için özellikle faydalıdır.
Proxychains kurulumu
# Ubuntu / Debian sudo apt-get update sudo apt-get install proxychains4 # Kurulumu kontrol et proxychains4 --version
Yapılandırma dosyasını ayarlama
# Konfigürasyonu açıyoruz sudo nano /etc/proxychains4.conf # "dynamic_chain" satırını bulun - yorumunu kaldırın (başındaki # işaretini kaldırın): dynamic_chain # "strict_chain" satırını yorumlayın (başına # ekleyin): # strict_chain # Dosyanın sonunda [ProxyList] bölümüne proxy'mizi ekleyin: # Format: tür host port [kullanıcı adı] [şifre] # Yetkilendirme gerektirmeyen HTTP proxy: http 192.168.1.1 3128 # Yetkilendirme gerektiren SOCKS5: socks5 host 1080 login password
Proxychains kullanımı
Ayarladıktan sonra, herhangi bir komutun önüne proxychains4 ekleyin:
# Proxy üzerinden curl çalıştır proxychains4 curl https://api.ipify.org # Proxy üzerinden Python betiğini çalıştır proxychains4 python3 parser.py # Proxy üzerinden nmap çalıştır proxychains4 nmap -sT target.com # Proxy üzerinden Firefox'u aç proxychains4 firefox
dynamic_chain modu, eğer bir proxy erişilemezse, proxychains'ın listedeki bir sonraki proxy'yi deneyeceği anlamına gelir. Bu, birden fazla proxy'niz varsa kullanışlıdır - hepsini [ProxyList] içine ekleyin ve otomatik döngü elde edin.
Proxy'nin çalıştığını nasıl kontrol edersiniz
Ayarladıktan sonra, trafiğin gerçekten proxy üzerinden gidip gitmediğini kontrol edin. İşte birkaç hızlı yöntem:
Curl ile kontrol
# Proxy olmadan mevcut IP'yi öğren curl https://api.ipify.org # Sonuç: gerçek IP'niz, örneğin 85.12.34.56 # Proxy üzerinden IP'yi öğren curl -x http://login:password@host:port https://api.ipify.org # Sonuç farklı olmalıdır - bu proxy sunucusunun IP'sidir # IP hakkında daha fazla bilgi curl -x http://login:password@host:port https://ipinfo.io/json
Ortam değişkenlerini kontrol etme
# Ayarlanmış proxy değişkenlerini görüntüle env | grep -i proxy # Beklenen sonuç: # http_proxy=http://login:password@host:port # https_proxy=http://login:password@host:port
Proxy sunucusunun erişilebilirliğini kontrol etme
# Proxy'nin portunun açık ve yanıt verip vermediğini kontrol et nc -zv host port # Örneğin: nc -zv 192.168.1.1 3128 # Eğer nc yüklü değilse: telnet host port
✅ Proxy kontrolü için kontrol listesi
- Curl yanıtındaki IP, gerçek IP'nizden farklıdır
- ipinfo.io'daki ülke ve şehir, seçilen proxy ile eşleşiyor
Connection refusedveya407 Proxy Authentication Requiredhatası yoktur- Bağlantı hızı kabul edilebilir (curl ile
-w "%{time_total}"bayrağı ile kontrol edin)
Pratik senaryolar: parselleme, izleme, çoklu hesap yönetimi
Linux'ta proxy ayarlayan kullanıcıların sıkça karşılaştığı belirli görevleri inceleyelim.
Senaryo 1: Linux sunucusundan Wildberries ve Ozon'u parselleme
Pazaryeri satıcıları genellikle Ubuntu ile VPS üzerinde fiyat parselleyicileri çalıştırır. Wildberries ve Ozon, sunucu IP adreslerinden gelen istekleri aktif olarak engeller. Bu korumayı aşmak için konut proxy'lerine ihtiyaç vardır - bunlar normal ev kullanıcıları gibi görünür.
Pazaryerlerini parsellemek için önerilen ayar şeması:
- Konut proxy verileri ile ortam değişkenlerini
~/.bashrcdosyasına ekleyin - Python betiği kullanıyorsanız -
requestskütüphanesinin ortam değişkenlerini okuduğundan emin olun (varsayılan olarak okur) - IP döngüsü için proxychains'de birkaç proxy ayarlayın ve
dynamic_chainmodunu kullanın - İstekler arasında gecikmeler ekleyin (1-3 saniye) - bu engellenme riskini azaltır
- Her 50-100 istekte IP'yi
curl https://api.ipify.orgile kontrol edin
Senaryo 2: Avito'daki rakip fiyatlarını izleme
Avito, istekleri birkaç kritere göre engeller: istek sıklığı, User-Agent türü, IP adresi. Linux sunucusundan ilanları izlemek için aşağıdaki yaklaşımı kullanın:
# Doğru başlıklarla proxy üzerinden Avito'ya istek örneği curl -x http://login:password@host:port \ -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" \ -H "Accept-Language: ru-RU,ru;q=0.9" \ -H "Accept: text/html,application/xhtml+xml" \ "https://www.avito.ru/moskva/nedvizhimost"
Avito için, Rus IP adreslerine sahip proxy kullanmak özellikle önemlidir. İlgili şehirde coğrafi konumlandırmaya sahip konut proxy'leri, belirli bir bölgeye bağlı ilanları görmenizi sağlar.
Senaryo 3: Linux üzerinden Facebook Ads ve Instagram ile çalışma
Linux'ta çalışan arbitrajcılar (genellikle VPS üzerinden), reklam hesaplarını yönetmek için anti-detect tarayıcılar kullanır. Çalışma şeması:
- Dolphin Anty veya AdsPower'ı Linux'a kurun (her ikisi de Linux sürümlerine sahiptir)
- Her Facebook Ads hesabı için ayrı bir tarayıcı profili oluşturun
- Her profilin ayarlarında ayrı bir proxy belirtin
- Facebook ve Instagram için mobil proxy önerilir - bunlar gerçek mobil operatör IP'lerine sahiptir ve engellenme riski minimumdur
- Bu durumda Linux sistem proxy'sine ihtiyaç yoktur - anti-detect tarayıcı, her profilin seviyesinde proxy'yi yönetir
Linux'ta proxy ayar yöntemlerinin karşılaştırması
| Yöntem | Kapsam | Zorluk | En iyi için |
|---|---|---|---|
| Ortam değişkenleri | Çoğu CLI aracı | Düşük | Betikler, curl, pip |
| GNOME GUI | GNOME uygulamaları | Düşük | Terminal olmadan masaüstü |
| APT yapılandırması | Sadece APT | Düşük | NAT arkasındaki sunucular |
| Proxychains | Herhangi bir uygulama | Orta | Parselleyiciler, üçüncü taraf araçlar |
| Tarayıcı ayarları | Sadece tarayıcı | Düşük | Tarayıcıda manuel çalışma |
Linux'ta proxy ayarlarken yaygın hatalar
- Sadece küçük harfli değişkenler - bazı programlar yalnızca
HTTP_PROXY(büyük harfle), diğerleri ise yalnızcahttp_proxyokur. Her iki seçeneği de ayarlayın. - source komutunu unuttunuz -
.bashrcdosyasını değiştirdikten sonrasource ~/.bashrckomutunu çalıştırmalısınız, aksi takdirde değişiklikler uygulanmaz. - Proxy sudo ile çalışmıyor - sudo kullanırken kullanıcı ortam değişkenleri geçmez. Değişkenleri geçirmek için
sudo -Ekullanın. - localhost proxy üzerinden gidiyor - her zaman
no_proxydeğişkeninelocalhost,127.0.0.1değerlerini ekleyin. - Yanlış URL formatı - HTTP proxy için şemayı belirtmek zorunludur:
http://veyasocks5://.
Sonuç
Linux Ubuntu ve Debian'da proxy ayarlamak, amacınıza bağlı olarak birkaç yöntemle gerçekleştirilebilir. Çoğu görev için ortam değişkenleri yeterlidir: bunlar curl, wget, pip ve çoğu betiği kapsar. Herhangi bir uygulamanın tüm trafiğini kapsamak için proxychains kullanın. Tarayıcı için - yerleşik ayarları veya --proxy-server parametresi ile başlatmayı kullanın. APT için - ayrı bir yapılandırma dosyası.
Ana ilke: belirli bir görev için uygun yöntemi seçin. Eğer sadece bir betik için proxy'ye ihtiyacınız varsa, sistem proxy'sini ayarlamanıza gerek yoktur. Ve tersine - eğer sunucunun tüm trafiği proxy üzerinden gitmeliyse, /etc/environment dosyasına bir kez değişkenleri ayarlayın ve bunu unutun.
Eğer Linux'u pazaryerlerini parsellemek, fiyat izlemek veya otomatik istekler için kullanıyorsanız, konut proxy'lerine dikkat edin - bunlar gerçek ev kullanıcılarının IP'lerine sahiptir ve Wildberries, Ozon ve Avito'da engellenme olasılığı çok düşüktür. Facebook Ads ve Instagram reklam panelleri ile çalışmak için Linux'ta anti-detect tarayıcılar kullanırken mobil proxy'ler iyi bir seçimdir - engellenme riski minimumdur ve platformlar tarafından maksimum güvenilirlik sağlanır.