SearXNG güvenli mi? Verileriniz gerçekten nerede gizli?
SearXNG arama sorgularını nasıl anonimleştirir? Halka açık instance kullanmanın riskleri ve kendi sunucunuzda IP maskelemenin gerçek sınırları hakkında detaylı analiz.
SearXNG güvenli midir? Kısa cevap
SearXNG bir yönde güvenli, diğer yönde ise güvensizdir; bu nedenle "SearXNG güvenli midir" sorusu, ancak kimden saklandığınızı belirttiğinizde yanıtlanabilir. SearXNG bir meta arama motorudur: sorgunuzu alır, Google, Bing, DuckDuckGo ve etkinleştirdiğiniz diğer arama motorlarına gönderir, ardından gelen sonuçları tek bir sayfada birleştirir. Arama motorları instance'ı görür. Instance ise sizi görür.
Bir yabancı tarafından işletilen halka açık bir instance üzerinde, o yabancı yazdığınız her sorguyu düz metin olarak alır ve "hakkında" sayfasındaki hiçbir ifade, bu verilerle ne yaptıklarını kanıtlayamaz. Kendi sunucunuzda ise, yukarı yönlü (upstream) arama motorları ev adresiniz yerine sunucunuzun adresini görür. Bu değişim, gizlilik hikayesinin tamamıdır ve tam olarak üzerinde çalıştığı sunucunun güvenilirliği kadar değerlidir.
Bunun hiçbir kısmı, aramalarınızı kendi ağınızdan gizlemez. İnternet servis sağlayıcınız (ISP) hala instance'a olan bağlantıyı görür. DNS (domain name system) çözümleyiciniz hala ana makine adını (hostname) görür. Geri kalan kısımları okurken bu sınırı göz önünde bulundurun.
SearXNG'nin bir arama isteğinde değiştirdikleri
Google'da doğrudan arama yaptığınızda Google; IP adresinizi, çerezlerinizi, User-Agent başlığınızı ve geldiğiniz sayfayı, oturum süresinden daha uzun ömürlü bir profil ile ilişkilendirerek alır. SearXNG bu noktada araya girer. Belgeleri, yaptığı iki işlemi şöyle tanımlar: "arama servislerine giden isteklerden özel verilerin kaldırılması" ve "her istek için rastgele bir tarayıcı profili oluşturulması". Çerezleriniz hiçbir zaman bir arama motoruna iletilmez. Tercihleriniz sunucudaki bir hesap yerine kendi tarayıcınızda saklanır.
Varsayılan olarak iki yanıt başlığı gönderilir ve her ikisi de işlevseldir:
default_http_headers:
X-Robots-Tag: noindex, nofollow
Referrer-Policy: no-referrerReferrer-Policy: no-referrer, bir sonuca tıkladığınızda hedef sitenin sizi hangi arama sayfasının yönlendirdiğini asla öğrenemeyeceği anlamına gelir; çünkü tarayıcı Referer başlığını göndermez. X-Robots-Tag: noindex, nofollow, kullandığınız örneği ve sonuç sayfalarını arama dizinlerinin dışında tutar.
SearXNG'nin değiştirmediği tek şey sorgunun kendisidir. TLS (transport layer security) burada sonlandırıldığı için sorgu, örneğe eksiksiz ve okunabilir bir şekilde ulaşır. Aşağıdaki her madde bu temel gerçeğe dayanır.
Halka açık bir örnekte operatör her sorguyu görür
Projenin kendi dokümantasyonu bunu açıkça belirtir: Herkese açık bir instance kullananlar “bu instance’ın yöneticisine güvenmek zorundadır” ve “isteklerinin loglanıp loglanmadığını, toplu hale getirilip getirilmediğini ve üçüncü bir tarafa gönderilip gönderilmediğini veya satılıp satılmadığını” bilemez. Açılış sayfasındaki logsuzluk iddiası yalnızca bir iddiadır. Dışarıdan bunu test etmenin bir yolu yoktur; geriye yalnızca güvenmek ya da hiç kullanmamak kalır. Bazı herkese açık instance’lar bu fork yerine hâlâ orijinal Searx’i çalıştırır. Bu önemlidir; çünkü Searx 2023'ten beri hiçbir kod commit'i almamıştır ve bakımı yapılmayan arama yazılımı, körü körüne güvenmek zorunda kalacağınız bir başka bileşendir.
Günlük tutma aynı zamanda en az çaba gerektiren yoldur, çünkü varsayılan yapılandırma sorgunuzu URL içine yerleştirir:
server:
method: "GET"GET ile sorgu, istek satırında ?q=... olarak taşınır. Herhangi bir sıradan reverse proxy, bu istek satırını erişim günlüğüne yazar; dolayısıyla sorgular, kimse onları kaydetmeye karar vermese bile kaydedilmiş olur:
203.0.113.5 - - [20/Aug/2026:09:14:02 +0000] "GET /search?q=redundancy+pay+notice+period&category_general=1&language=en HTTP/1.1" 200 15321 "-" "Mozilla/5.0 (X11; Linux x86_64)"Kendi örneğinizde kendiniz kontrol edin:
sudo tail -n 5 /var/log/nginx/access.logAramalarınız oradadır çünkü nginx'in combined günlük biçimi, sorgu dizisi de dahil olmak üzere tam istek satırı olan $request değerini yazar. SearXNG'nin bu konuda bir söz hakkı yoktur. Örneği method: "POST" moduna geçirmek, sorguyu istek gövdesine taşır; böylece erişim günlüğünde ve tarayıcı geçmişinde görünmesi durur. Belgeler, POST yönteminin "son kullanıcı için kullanım kolaylığını ciddi şekilde kısıtlayan" dezavantajları olduğunu, bunların çoğunlukla tarayıcı geri düğmesiyle ilgili olduğunu dürüstçe belirtir. Bu, bilinçli olarak yaptığınız bir tercihtir.
Halka açık her örnek için iki sonuç ortaya çıkar. Operatör, sorguları toplamayı amaçlasa da amaçlamasa da onları okuyabilir. Bir yedekleme veya sisteme izinsiz giriş, aynı günlüğe erişim sağlar.
Kendi VPS sunucunuzda, arama motorları sizi değil sunucunuzu görür
Kendi örneğinizi bir VPS (sanal özel sunucu) üzerinde çalıştırdığınızda değişim oldukça basittir. Google, sorgunuzla birlikte artık evinizin IP adresini almaz. Sorgunuzla birlikte sunucunuzun IP adresini alır. Bu aramayı oturum açtığınız hesabınızla, telefonunuzla veya hane bağlantınıza bağlı reklam profiliyle ilişkilendiremez. Kurulumun kendisi kendi SearXNG örneğinizi bir VPS üzerinde çalıştırma rehberi içerisinde anlatılmıştır.
Neyin değişmediği konusunda net olun. Arama motorları hala sorgu metnini, zamanlamayı, istediğiniz dili ve bölgeyi ve aylara yayılan tüm aramalarınızın örüntüsünü, tek bir sabit adres altında gruplanmış şekilde görür. Eğer tek kullanıcı sizseniz, bu adres üzerinde isim bulunmayan kişisel bir veri akışıdır. Gruplandırmayı kırmak, örneğin arama motorlarına giden trafiği bir giden proxy veya Tor üzerinden yönlendirmesini gerektirir; SearXNG bunu destekler ancak bu ayrı bir yapılandırma süreci gerektirir.
İSS'nizin, çözümleyicinizin ve ana makinenizin hâlâ gördükleri
Dört gözlemci bu durumdan etkilenmez.
- İSS'niz, örneğinizin IP adresine yapılan bir TLS bağlantısını ve el sıkışma sırasında düz metin olarak gönderilen SNI (server name indication) alanındaki ana bilgisayar adını görür. Sorgunun içeriğini görmez.
- DNS çözümleyiciniz, bu ana bilgisayar adı için yapılan sorguyu görür. Sayfayı yüklerken istemci tarafında
sudo tcpdump -ni any port 53ile izleme yaparsanız, örneğiniz için yapılan A kaydı isteğinin göründüğünü fark edersiniz. - VPS sağlayıcınız donanımı çalıştırdığı için sanal makinenin diskini ve belleğini okuyabilir. Kiralanan bir VM içindeki disk şifrelemesi bunu engellemez, çünkü çalışan sistem anahtarı elinde tutar.
- Örnek üzerinde root yetkisine sahip olan herkes her şeyi görür. Buna siz dahilsiniz ve daha sonra sisteme sızan herkes de dahildir.
Örneğe bir Tor onion servisi olarak erişmek, ilk iki maddeyi ortadan kaldırır; çünkü çözümlenecek genel bir ana bilgisayar adı ve okunacak bir SNI alanı yoktur. Bir VPS'ye v3 onion servisi ekleme kılavuzu, bu kurulumu ve aksi takdirde bu adresi sunucunuzun genel IP'sine bağlayacak olan sızıntıları ele almaktadır.
İnsanların unuttuğu bir nokta daha vardır. Sunucunuzun giden istekleri, sunucunun kendi ağından görülebilir; bu nedenle sağlayıcınız makinenizin gün boyu Google ve Bing ile iletişim kurduğunu görebilir. Bu bir sorgudan ziyade bir trafik düzenidir ve yine de bazı bilgiler verir.
VPN sorusu burada devreye girer. Bir VPN (sanal özel ağ), İSS'nizin görüşünü VPN şirketinin görüşüne taşır. Bu durum, örnek operatörü veya arama motorları hakkında hiçbir şeyi değiştirmez; çünkü arama motorları sizinle değil, sunucunuzla konuşmaktadır. İkisi, bir VPS ile VPN'in karşılaştırması bölümünde doğru bir şekilde kıyaslanmıştır.
SearXNG sizi neden engeller ve 429 hatası gerçekte ne anlama gelir
"SearXNG beni engelledi" ifadesi iki farklı durumu tanımlamak için kullanılır ve her birinin çözüm yolu farklıdır.
Birincisi, kendi sınırlayıcınızın (limiter) size HTTP 429 yanıtı dönmesidir. Bu, SearXNG'nin bot korumasıdır ve varsayılan olarak kapalıdır:
server:
limiter: true
valkey:
url: valkey://localhost:6379/0Ağustos 2026 itibarıyla sınırlayıcı, bir Valkey veritabanına ihtiyaç duyar ve kurallarını /etc/searxng/limiter.toml dosyasından okur. Sunucuyu gerçekten yabancılar kullanıyorsa server.public_instance: true ayarını da yapılandırın; çünkü bu değer varsayılan olarak false şeklindedir ve halka açık kullanım için tasarlanan davranışı kısıtlar.
Sınırlayıcı birkaç farklı denetim (probe) çalıştırır. http_user_agent, ayarlanmamış bir User-Agent değerini veya curl ve wget gibi bilinen araçlarla eşleşen değerleri bot olarak kabul eder. http_accept, Accept başlığında text/html içermeyen bir isteği bot olarak değerlendirir. link_token, gerçek bir tarayıcının yüklediği /client<token>.css URL'sini hiçbir zaman talep etmeyen bir istemciyi şüpheli olarak işaretler. Bir denetim tetiklendiğinde, SearXNG 429 hatası döndürür ve botdetection günlükleyicisine bir ERROR satırı yazar.
Bu nedenle, aşağıdaki işlem başarısız olur ve olması gereken de budur:
curl -s -o /dev/null -w '%{http_code}\n' 'https://searx.example.com/search?q=test'curl, User-Agent: curl/8.5.0 ve Accept: */* gönderir; bu yüzden iki denetim aynı anda eşleşir. Betiklerin ve yapay zeka ajanlarının, tarayıcıda sorunsuz çalışan bir örnekten 429 hatası almasının nedeni budur. Bir ajanın arama yeteneğini kendi örneğinize yönlendirmeden önce bu durumun düzeltilmesi gerekir. Tüm nedenler ve ayarlar SearXNG hız sınırları ve 429 hataları kılavuzunda yer almaktadır.
Sınırlayıcı ile ilgili bir tuzak özellikle belirtilmelidir. Bir reverse proxy arkasında, proxy güvenilir olarak işaretlenmediği sürece SearXNG ziyaretçinin adresi yerine proxy'nin adresini görür:
[botdetection]
ipv4_prefix = 32
ipv6_prefix = 48
trusted_proxies = ['127.0.0.0/8', '::1']
[botdetection.ip_limit]
link_token = false
[botdetection.ip_lists]
pass_ip = []
block_ip = []Varsayılan liste, aynı sunucudaki bir proxy'yi kapsar. Ayrı bir Docker ağındaki bir proxy, 172.18.0.5 gibi bir adresten gelir; bu adres listede olmadığı için tüm ziyaretçiler tek bir istemci olarak sayılır ve ilk yoğun kullanıcı herkesin erişimini engeller. İlgili alt ağı trusted_proxies içerisine ekleyin.
İkinci tür engelleme ise yukarı akışta (upstream) gerçekleşir. Bir arama motoru, çok sayıda arama yapan bir veri merkezi adresinin bir kazıyıcı (scraper) olduğuna karar verir ve sunucunuza yanıt vermeyi durdurur. Bunun için 429 hatası almazsınız. Bunun yerine, ilgili motorun sonuçlarının eksik olduğu ve bir hata notunun düştüğü bir sonuç sayfası görürsünüz; SearXNG, tekrarlanan hatalardan sonra motoru bir süreliğine askıya alır. Bunun nedeni VPS'nizin bulunduğu IP adresidir; bu yüzden çözüm, sınırlayıcıdaki ayarlardan ziyade motor seçimi ve sabırlı olmaktır.
Bir instance'ı yabancılarla paylaşmak faydalı mı yoksa zararlı mı?
Her ikisi de, zıt yönlerde; bu yüzden cevap kaygan bir zeminde duruyor. Anonimlik bir kalabalık etkisidir. Yoğun bir halka açık instance üzerinde sorgunuz, binlerce başka insanın sorgusuyla aynı adresten çıkar; bu nedenle hiçbir arama motoru sizinkini yığının içinden çekip ayıramaz. Tek kullanıcılı instance'ınızda ise o adresten gelen her sorgu size aittir ve arama motorları, herhangi bir isimle ilişkilendirilmemiş, tek bir kişiye ait temiz bir veri akışı alır.
Operatör tarafı ise tam tersi şekilde işler. Büyük bir kalabalık, bir yabancının sizinki de dahil olmak üzere kalabalığın düz metin sorgularını tuttuğu anlamına gelir. Kendi sunucunuz ise sorgularınızın sizde kalmasını sağlar, başkasında değil.
Bu nedenle, karşı karşıya olduğunuz tehdide göre seçim yapın. Reklam profilleme ve siteler arası izleme konusunda mı endişelisiniz? Kalabalık bunu iyi yönetir ve operatör riski düşüktür. Belirli bir kişinin veya şirketin yaptığınız belirli bir aramayı okumasından mı endişeleniyorsunuz? Kalabalık burada hiç yardımcı olmaz, çünkü operatör ham metni görür. İyi bir orta yol, tanıdığınız birkaç kişi için bir instance kurmaktır. Hem küçük bir kalabalığa sahip olursunuz hem de operatör siz olduğunuz için doğrulayabileceğiniz bir operatörle çalışırsınız.
SearXNG sonuçları Google'dan daha mı iyidir?
Hayır. SearXNG kendi dizinine sahip değildir, bu nedenle sayfadaki her sonuç bir üst arama motorundan gelir ve sonuç kalitesinin üst sınırı, etkinleştirdiğiniz motorların kalitesiyle sınırlıdır. Google ve Bing'i devre dışı bırakırsanız kalite aynı gün düşer, çünkü genel web kapsamının büyük bir kısmı bu motorlardan sağlanır.
Değişen şey, size uygulanan işlemedir. Hiçbir şey sorgunuzdan bir reklam profili oluşturmaz ve hiçbir şey sonuçları geçen hafta tıkladıklarınıza göre yeniden sıralamaz. Bu durum iki yönlü bir etkiye sahiptir, çünkü kişiselleştirme aynı zamanda yerel niyetleri de beraberinde getirir. "Şu an açık eczane" gibi bir arama SearXNG üzerinden daha zayıf sonuçlar verir, çünkü motorun sunucunuzun bulunduğu veri merkezinin ötesinde konumunuza dair bir sinyali yoktur. Yerel sonuçlar önemli olduğunda tercihler kısmından bölge ayarını yapın.
Siz bu sonuçları okurken örneğinizin ne kadar veri sızdıracağına iki ayar karar verir. image_proxy varsayılan olarak false değerindedir, bu nedenle küçük resimler doğrudan onları barındıran sitelerden yüklenir ve bu siteler tarayıcınızın adresini görür. image_proxy: true ayarı, bant genişliği ve bellek maliyeti karşılığında bunları örnek üzerinden yönlendirir. Ayrıca formats varsayılan olarak yalnızca html şeklinde gelir, bu nedenle bir JSON (JavaScript object notation) isteği 403 Forbidden hatasıyla reddedilir:
curl -s -o /dev/null -w '%{http_code}\n' 'https://searx.example.com/search?q=test&format=json'Halka açık bir örnekte json ayarını etkinleştirirseniz, ücretsiz bir scraping API'si yayınlamış olursunuz; bu da sunucunuzun adresinin bağımlı olduğunuz motorlar tarafından engellenmesinin en hızlı yoludur. Bu ayarı kapalı tutun veya kimlik doğrulama arkasında çalıştırın.
SearXNG gizlilik hikayesinin bittiği yer
SearXNG, arama motorlarından kimin sorgu yaptığını gizler. Ancak ağınızda ne yaptığınızı gizlemez. Bu durumdan dört temel sınır ortaya çıkar.
- Arama kutusu dışındaki tüm trafiğiniz olduğu gibi kalır. Makinenin yaptığı diğer her şey, ağınızdan daha önceki gibi çıkar.
- Tek bir sunucudaki tek bir kullanıcı, her arama motoru için sabit bir tanımlayıcıdır. Bu tanımlayıcı bir isim taşımaz ve tüm avantajı da bundan ibarettir.
- Herhangi bir örneğin (instance) operatörü, sorguyu düz metin olarak okur. Doğrulayabileceğiniz tek sürüm, operatörün bizzat kendiniz olduğunuz durumdur.
- Kendi erişim günlükleriniz, kaçınmaya çalıştığınız kayıtları yeniden oluşturur. Günlükleri okuyun ve günlüklerin boş kalmasını tercih ediyorsanız
method: "POST"sistemine geçiş yapın.
SearXNG gözlemcinin yerini değiştirir. Gözlemi ortadan kaldırmaz. Hangi gözlemcinin sizi rahatsız ettiğine karar verin, buna uygun örneği seçin ve bir arama arayüzünü anonimlik yazılımı olarak görmeyin.
FAQ
SearXNG'yi herkese açık bir örnekte kullanmak güvenli midir?
Arama motorlarına karşı güvenlidir ancak operatöre karşı güvenli değildir. Sorgunuz sunucuya düz metin olarak ulaşır ve projenin belgeleri, kullanıcıların "o örneğin yöneticisine güvenmek zorunda olduğunu" ve "isteklerinin kaydedilip kaydedilmediğini, birleştirilip birleştirilmediğini veya üçüncü bir tarafa satılıp satılmadığını" bilemeyeceklerini belirtir. method: "GET" varsayılan ayarıyla, operatör istese de istemese de sorgu, istek satırının bir parçası olarak reverse proxy'nin erişim günlüğüne düşer. Reklam profillemesinin endişe kaynağı olduğu sıradan aramalar için herkese açık bir örnek kullanın. Sahibine vermeyeceğiniz hiçbir bilgiyi bu tür bir örneğe girmeyin.
SearXNG, aramalarımı internet servis sağlayıcımdan gizler mi?
Sorgu metni gizlenir ancak etkinlik gizlenmez. Sağlayıcınız, örneğinizin adresine yapılan bir TLS bağlantısını ve el sıkışma sırasındaki açık metin SNI alanında bulunan ana bilgisayar adını görür; DNS çözümleyiciniz ise bu ana bilgisayar adı için yapılan sorguyu görür. Bağlantı şifreli olduğu için ikisi de ne aradığınızı göremez. SearXNG bir VPN değildir ve makinenizin yaptığı diğer hiçbir işlem için koruma sağlamaz.
SearXNG neden 429 hatası döndürür?
429 hatası, Google'dan gelen bir mesaj değil, örneğin kendi sınırlayıcısından kaynaklanan bir bot korumasıdır. Denetim mekanizmaları, Accept başlığında text/html eksik olan ve User-Agent değeri ayarlanmamış veya curl ve wget gibi araçlarla eşleşen istekleri işaretler. Üçüncü bir denetim olan bağlantı belirteci, bir tarayıcının yüklediği /client<token>.css URL'sini asla getirmeyen istemcileri işaretler. /etc/searxng/limiter.toml içindeki trusted_proxies listesinde eksik olan bir reverse proxy'nin arkasında, her ziyaretçi tek bir istemci olarak sayılır; bu nedenle yoğun bir kullanıcı diğer herkesi engeller. Bir upstream motoru sunucunuzu engellediğinde ise, o motorun sonuçları sayfada görünmez hale gelir ve herhangi bir 429 hatası almazsınız.
SearXNG'yi kendi sunucumda barındırmak arama sonuçlarımı kötüleştirir mi?
Bazen, bilinmesi gereken iki nedenden dolayı sonuçlar etkilenebilir. Sonuçlar upstream motorlarından gelir; bu nedenle motorların kısıtladığı bir veri merkezi adresi, daha az motorun yanıt vermesi ve daha zayıf bir sayfa içeriği anlamına gelir. Ayrıca kişiselleştirilmiş sıralama devre dışı kalır; bu durum reklam odaklı yeniden sıralamayı ve yerel niyet algılamayı kaldırır. Bu nedenle, tercihlerinizden bölgenizi ayarlayana kadar konuma duyarlı aramalar daha zayıf yanıtlar döndürür.