1 puan yazan GN⁺ 2024-02-09 | 1 yorum | WhatsApp'ta paylaş
  • AdGuard Home, kurulduktan sonra ev ağındaki tüm cihazlara uygulanan ücretsiz ve açık kaynaklı bir DNS sunucusudur; istemci tarafı yazılım gerektirmeden reklamları ve izlemeyi engeller
  • Çalışma biçimi, izleme alan adlarını DNS sinkholing ile “black hole”a yeniden yönlendirerek cihazların ilgili sunuculara bağlanmasını engelleyen bir yapıdır ve herkese açık AdGuard DNS sunucusuyla kodun büyük bir bölümünü paylaşır
  • Kendi sunucunuz olarak çalıştırdığınızda, herkese açık DNS’e kıyasla neyin engelleneceğini ve neye izin verileceğini doğrudan seçebilir, ağ etkinliğini izleyebilir ve özel filtreleme kuralları ekleyebilirsiniz
  • Pi-Hole’a benzer şekilde reklam ve izleyici engelleme ile engelleme listesi özelleştirmeyi destekler; ancak AdGuard Home şifreli DNS upstream’leri, DoH/DoT sunucusu çalıştırma, kimlik avı ve kötü amaçlı yazılım alan adlarını engelleme, ebeveyn denetimi ve Safe Search’ü zorlama gibi özellikleri varsayılan olarak sunar
  • DNS düzeyinde engelleme, YouTube ve Twitch reklamları ya da Facebook, Twitter ve Instagram sponsorlu gönderileri gibi içerikle aynı alan adını kullanan reklamları engelleyemez; gelecekte içerik engelleme proxy desteği de tüm durumları çözmeyebilir

AdGuard Home’un rolü ve çalışma biçimi

  • AdGuard Home, kullanıcılar ve cihazlar için bir gizlilik koruma merkezi olmayı hedefleyen, ağ genelinde reklam ve izleyici engelleyen bir DNS sunucusudur
  • Kurulumdan sonra ev ağındaki tüm cihazları kapsar ve her cihaza ayrı bir istemci yazılımı kurma gereği yoktur
  • DNS sunucusu olarak çalışırken izleme alan adlarını “black hole”a yeniden yönlendirerek cihazların ilgili sunuculara bağlanmasını engeller
  • Herkese açık AdGuard DNS sunucusunda kullanılan yazılımı temel alır ve iki ürün kodun büyük bir bölümünü paylaşır

Kurulum ve entegrasyon

  • Linux, Unix, macOS, FreeBSD ve OpenBSD’de curl, wget, fetch ile otomatik kurulum betiği çalıştırılabilir
    • -c <channel>: belirtilen kanalı kullanır
    • -r: AdGuard Home’u yeniden kurar
    • -u: AdGuard Home’u kaldırır
    • -v: ayrıntılı çıktı
    • -r ve -u aynı anda kullanılamaz
  • Manuel kurulum ve cihaz ayarları Getting Started belgesinde görülebilir
  • Resmî Docker imajı Docker Hub üzerinden sağlanır
  • Linux kullanıcıları Snap Store üzerinden kurulum yapabilir
  • Entegrasyon gerektiğinde REST API kullanılabilir; ayrıca python client da sunulur

Herkese açık AdGuard DNS’ten farkı

  • Kendi AdGuard Home sunucunuzu çalıştırmak, herkese açık DNS sunucusu kullanmaya göre daha fazla kontrol sağlar
  • Sunucunun neyi engelleyeceğini ve neye izin vereceğini kullanıcı doğrudan seçebilir
  • Ağ etkinliği izlenebilir
  • Özel filtreleme kuralları eklenebilir
  • Sunucu kullanıcıya ait olduğu için kontrol de kullanıcıdadır

Pi-Hole ve geleneksel reklam engelleyicilerle karşılaştırma

  • AdGuard Home ve Pi-Hole, reklamları ve izleyicileri DNS sinkholing yöntemiyle engeller ve engellenecek hedeflerin özelleştirilmesini sağlar
  • AdGuard Home, ek yazılım kurulumu veya manuel ayar gerektirmeden birçok özelliği varsayılan olarak sunmayı hedefler
  • README’deki karşılaştırma tablosuna göre AdGuard Home şu özellikleri sunar
    • Reklam ve izleyici engelleme
    • Engelleme listesi özelleştirme
    • Yerleşik DHCP sunucusu
    • Yönetici arayüzü için HTTPS
    • DNS-over-HTTPS, DNS-over-TLS, DNSCrypt şifreli DNS upstream’leri
    • Çapraz platformda çalıştırma
    • DNS-over-HTTPS veya DNS-over-TLS sunucusu olarak çalıştırma
    • Kimlik avı ve kötü amaçlı yazılım alan adlarını engelleme
    • Yetişkin içerikli alan adlarını engelleyen ebeveyn denetimi
    • Arama motorlarında Safe Search’ü zorlama
    • Cihaz bazında ayarlar
    • AGH DNS kullanıcılarını seçen erişim ayarları
    • root yetkisi olmadan çalıştırma
  • Geleneksel reklam engelleyicilerle karşılaştırıldığında DNS sinkholing, reklamların büyük bir bölümünü engelleyebilir; ancak geleneksel reklam engelleyicilerin esnekliği ve gücünden yoksundur
  • DNS tabanlı engelleyiciler, geleneksel reklam engelleyicilerin kurulamadığı Smart TV, akıllı hoparlör ve IoT cihazlarında reklam, izleme ve analiz isteklerini engellemeye yardımcı olabilir

Bilinen sınırlamalar ve gelecek yönelim

  • DNS düzeyindeki engelleyiciler şu örnekleri engelleyemez
    • YouTube, Twitch reklamları
    • Facebook, Twitter, Instagram sponsorlu gönderileri
  • İçerikle aynı alan adını paylaşan reklamlar DNS düzeyindeki engelleyicilerle engellenemez
  • Yalnızca DNS ile bu sorun çözülemez; bağımsız AdGuard uygulamalarında olduğu gibi bir içerik engelleme proxy’si gerekir
  • AdGuard Home’un gelecekte içerik engelleme proxy özelliği desteği alması planlanıyor
  • Bu durumda bile yeterli olmayabilecek veya karmaşık yapılandırma gerektirebilecek durumlar kalabilir

Kaynaktan derleme ve geliştirme

  • Geliştirme ortamını hazırlamak için make init çalıştırılır
  • Derleme için şunlar gerekir
    • Go v1.25 veya üzeri
    • Node.js v24.10.0 veya üzeri
    • npm v10.8 veya üzeri
  • Temel derleme, depoyu klonladıktan sonra make çalıştırılarak yapılır
  • Standart olmayan -j bayrağı şu anda desteklenmez; make -j 4 veya MAKEFLAGS içinde -j 4 bulunan ayarlar derlemeyi bozabilir
    • Gerekirse make -j 1 ile üzerine yazılabilir
  • Go’nun desteklediği OS/ARCH hedeflerine çapraz derleme yapılabilir; make çalıştırılırken GOOS ve GOARCH belirtilir
  • Yayın derlemesi hazırlamak için snapcraft gerekir ve make build-release CHANNEL='...' VERSION='...' kullanılır
  • Yerel Docker imajı make build-docker ile derlenir; resmî imajlar Docker Buildx kullanır
  • Frontend hata ayıklamada, client dizininde geliştirme derlemesi watch modunda çalıştırılır ve AdGuardHome ikilisine --local-frontend bayrağı verilerek gömülü frontend dosyaları yerine ./build/ dizinindeki dosyalar kullanılır
  • E2E frontend testleri Playwright kullanır ve testler tests/e2e içindedir
    • npm run test:e2e: tüm testleri headless olarak çalıştırır
    • npm run test:e2e:interactive: interaktif test
    • npm run test:e2e:debug: debug modu
    • npm run test:e2e:codegen: yeni test kodu oluşturur
    • Playwright, sistemde yüklü tarayıcılardan farklı olabilecek kendi tarayıcı ikililerini indirip kurar

Katkı, kararsız kanallar ve haricî projeler

  • Katkı yapmak isteyenler depoyu fork’layıp değişiklik yaptıktan sonra pull request gönderebilir ve code guidelines belgesine uymalıdır
  • UI ve backend’e aynı anda katkı yapmak gerekmez; ideal olarak ayar, API ve işlevleri içeren backend uygulaması önce girer, UI ise daha sonra başka bir pull request’te uygulanabilir
  • Kararsız sürüm kanalları iki tanedir
    • beta: görece kararlı beta sürümdür ve genellikle iki haftada bir veya daha sık yayımlanır
    • edge: geliştirme dalının en yeni sürümüdür ve her gün yeni güncellemeler push edilir
  • Kararsız sürümler Snap Store’daki beta ve edge kanalları, Docker Hub’daki beta ve edge etiketleri, otomatik kurulum betiği veya Wiki’deki bağımsız çalıştırılabilir derlemelerle kurulabilir
  • AdGuard ile bağlantılı olmayan üçüncü taraf geliştiriciler ve hayranlar tarafından yapılmış ilgili projeler vardır

Gizlilik ve kullanılan teknolojiler

  • AdGuard Home’un temel fikri, kullanıcıların kendi verileri üzerinde kontrol sahibi olması gerektiğidir
  • AdGuard Home kullanım istatistikleri toplamaz ve kullanıcı ayarlamadığı sürece web servisleri kullanmaz
  • Tam privacy policy, teorik olarak AdGuard Home’un gönderebileceği tüm öğeleri kapsar
  • Başlıca temel teknolojiler Go ve Node.js ekosistemidir
    • Go kütüphanesi olarak gcache, miekg's dns, go-yaml, service, dnsproxy, urlfilter kullanır
    • Node.js tarafında React.js, Tabler ve çeşitli Node.js paketleri kullanılır
    • whotracks.me verileri de kullanılır
  • AdGuard Home, daha önce bahsedilen CoreDNS’i artık kullanmaz

1 yorum

 
GN⁺ 2024-02-09
Hacker News yorumları
  • Birkaç yıl boyunca ev ağımda rakip proje Pi-hole[0] çalıştırdıktan sonra NextDNS[1] ile tanıştım.
    Performans açısından, isteklerin ev dışına çıkmaması avantajını kaybettim; ama tüm cihazların evin içinde ve dışında kullanabilmesi anlamındaki taşınabilirlik ve kazandırdığı zaman daha ağır bastı.
    Pi-hole %90 oranında iyi çalışıyordu ama durduğunda düzeltmek zaman alıyordu; yılda 20 dolar karşılığında NextDNS ile kendi kendine işletilen çözümün rekabet etmesi zordu.
    NextDNS reklamı yapmıyorum; bu tür projelerin mutlaka var olması gerektiğini düşünüyorum, ama NextDNS gerçekten çok basit bir SaaS aracı ve fiyat/performansı çok iyi.
    0 - https://pi-hole.net/
    1 - https://nextdns.io

    • Pi-hole’un %10 gibi bir oranda kesintiye uğramasına yol açan ne tür sorunlar yaşadığını bilmiyorum, ama bu tür bir abartı reklam gibi geliyor.
      SD kart bozulmalarının %99,9’u yetersiz güç veren adaptörlerden kaynaklanır; uygun bir 2,5~3A USB güç kaynağı bulmakla uğraşmak istemiyorsan resmi Raspberry Pi güç adaptörünü alman yeterli.
      Yılda 20 dolara her yıl yedek bir RPi Zero 2W ve SD kart alıp üstüne kutlama için bir Sheetz sandviç parası bile kalır.
      Pi-hole + WireGuard + tek seferlik 15 dolarlık RPi Zero satın alımı kombinasyonunu yenmenin zor olduğunu düşünüyorum.
    • Pi-hole’da ne tür sorunlar yaşadığını merak ediyorum.
      Benim instance’ım yıllarca tek bir sorun bile çıkarmadan çalıştı; yaklaşık bir yıl önce OPNSense kutusunda çalıştırmak istediğim için AdGuard Home’a geçtim.
      Cihazlara otomatik WireGuard VPN kurdum; kendi SSID’ime bağlı olmadıklarında ev ağıma VPN ile bağlanıyorlar, bu yüzden uzaktan da yerel DNS çalışıyor.
    • NextDNS’i seviyorum ama iPhone’da açıkken captive portal’ları işleyememesi gibi epey büyük bir sorun var.
      Uçak Wi‑Fi’ı gibi ağlara bağlanırken kapatmayı hatırlamak gerekiyor; bu yüzden teknik olmayan arkadaşlara önermenin zor olduğunu düşünüyorum.
    • Benim durumumda Pi-hole o kadar uzun süre sorunsuz çalıştı ki giriş yapmayı bile unuttum; ama yakında ev ağını yeniden yapılandırırken seçenekleri tekrar değerlendirmeyi düşünüyorum.
      Görünüşe göre artık yaklaşık 3 aday var.
    • NextDNS’i denemedim, Pi-hole kullandım ve şu anda AdGuard Home çalıştırıyorum.
      Sadece DNS şifreleme ve engelleme için yılda 20 dolar ödeyeceksem, yalnızca DNS reklam engelleme değil IP anonimliği ve tünelleme gibi şeyler de sunan Mullvad’a yükseltmeyi düşünmeye değer.
  • Yakınlarda Pi-hole’a bakarken AdGuard Home’u seçtim.
    İlk bakışta arayüzü de daha iyi ve genel olarak daha iyi görünüyordu; böylesine pürüzsüz bir araç için, iç DNS’e yerel özel alan adı sorgularını devretmek gibi şaşırtıcı derecede çok özelleştirme de sunuyor.
    AdGuard’ın bunu neden ücretsiz sunduğundan emin değilim, belki araştırmak gerekir; ama şimdilik nispeten düşük riskli bir tercih gibi göründü.
    Rahatsız edici reklamlar ortadan kalkınca NYTimes uygulaması gibi şeyleri kullanma deneyiminin ne kadar daha keyifli hâle geldiğini ne kadar söylesem az.

    • Gerçekten harika.
      Split DNS özelliğinde akla gelebilecek tüm seçenekler var.
      Arkasında ikinci bir DNS sunucusuna ihtiyacım olacağını sanmıştım, ama gereken tüm kuralları doğrudan AdGuard Home’un içine koyabildim.
      DoT ve DoH upstream’lerini de destekliyor; bu hâlâ birçok ev tipi yönlendiricide yaygın değil.
      Doküman: https://github.com/AdguardTeam/AdGuardHome/wiki/Configuratio...
    • Ücretsiz sunulması kısmı benim de merakımı çekti.
      Varsayılan upstream olarak kendi DNS sunucularını ayarlayıp birçok kişinin varsayılanları korumasını umuyor olabilirler.
      DNS, veri madenciliği ve veri satışı için en iyi teknolojilerden biri; 8.8.8.8 veya 1.1.1.1 gibi kolay ezberlenen DNS sunucularının var olma nedeninin de bu olduğunu düşünüyorum.
      Google ve Cloudflare bunu sadece iyi niyetle yapıyor olamaz.
      Öte yandan AdGuard, müşteri verilerini satmadığını iddia ediyor.
    • Kullanıcı tabanını genişlettikten ve yeterince kullanıcı topladıktan sonra lisans modeline geçebilirler.
    • Bana kalırsa akış şöyle.
      Dokümantasyonu okuyup kuruyorsun, düzgün çalışır hâle getiriyorsun; sonra arkadaşlarına ev ağında sinir bozucu reklamların olmadığını anlatıp övünüyorsun.
      Bunun üzerine arkadaşların “bana da kur” diyor.
      Kurulumu yapabilirsin ama bakımını üstlenemezsin; bu yüzden “o karmaşıklık yerine tüm aile için yılda 29 dolara hemen çalışan basit, uygulama tabanlı bir kurulum var” diyorsun.
      O akşam yemeğinde beş arkadaşın hizmeti indirip ödeme yapmış oluyor.
      Günümüz teknoloji startup’larının felsefesinin de buna benzediğini düşünüyorum: açık kaynak bir ürün alıp onun üzerine ticari iş kurmak.
    • Pi-hole da koşullu yönlendirmeyi destekliyor.
  • AdGuard, Rus mühendisleri olan bir Rus şirketi; geliştiricilerinin ve çalışanlarının çoğu Moskova’da çalışıyor, şirket ise Kıbrıs’ta kayıtlı.
    İyi bir kombinasyon değil; güvenlik gerekçesiyle uzak dururdum.

    • Bu açık kaynak yazılım.
      MacPaw’ın Rusya’da geliştirilen yazılımları risk olarak sınıflandırmasının nedeni hükümetin verilere her an erişebilmesi; ama bu, kendi barındırdığın açık kaynak bir yazılım.
      FSB rastgele bir mahkeme kararıyla yerel sunucuna erişemez.
      Bu yüzden meşru bir endişeden çok Rus düşmanlığı gibi geliyor; Rus geliştiricilerin kendi hükümetlerinin aptallıkları yüzünden ne kadar acı çektiğini bizzat bildiğim için bunu daha da uygunsuz buluyorum.
    • Açık kaynak olduğu için kendin doğrulayabilirsin.
    • MacBook da Çin’de üretiliyor.
  • py-hole da ilgini çekebilir.
    Sadece Python betiği ve dnsmasq yapılandırmasından oluşuyor; OpenWrt üzerinde çalışıyor, ücretsiz ve CPU kullanımı neredeyse 0’a yakın.
    https://github.com/time4tea-net/py-hole

  • AdGuard’ın bir başka güzel yanı da Home Assistant eklentisi olarak sunulması.
    HA’nın geri kalanıyla entegre olduğu için, örneğin panoya engellemeyi açıp kapatan bir anahtar koyabiliyorsun.

    • NextDNS ile de mümkün; az önce ayarladım.
  • AdGuard Home harika
    Bir süre Pi-hole kullandım ama oldukça sık küçük sorunlar yaşadım
    Ciddi şeyler değildi, ama bu tür araçlar yalnızca sorunsuz çalıştıklarında gerçekten işe yarıyor
    Benim Pi kurulumumda docker-compose[1] ile sorunsuz çalışıyor; ayrıca adguardhome-sync[2] adlı güzel bir container kullanarak ikinci bir Pi’yi yedek olarak çalıştırıyor ve ayarları senkronize ediyorum
    Artık ağda reklam görmüyorum; hangi cihazların izleme/reklam isteklerini ne kadar çok gönderdiğini görmek de epey ilginç
    1 - https://thesmarthomejourney.com/2021/05/24/adguard-pihole-dn...
    2 - https://thesmarthomejourney.com/2023/02/12/adguardhome-sync-...

    • Asıl göz açıcı an, DNS 53 isteklerini kendi DNS sunucuma yönlendirmeye ve DoT/DoQ/DoH’yi engellemeye başladığım zamandı
      Sayısız cihaz ve uygulama, izleme ve reklam hedefleme için hardcode edilmiş DNS sunucularına doğrudan çıkmaya çalışıyor
  • Burada Technitium DNS kullanan var mı bilmiyorum
    Açık kaynak ve ücretsiz; çok sınırlı donanımda bile çalışıyor
    Ben Orange Pi 3 LTS üzerinde çalıştırıyorum
    https://technitium.com/dns/

    • İyi görünüyor
      “Technitium DNS Server is an open source authoritative as well as recursive DNS server” deniyor; Pi-hole ya da AdGuard’ın da özyinelemeli DNS sunucusu olup olmadığını, yoksa yalnızca basit bir engelleyici mi olduklarını merak ediyorum
      Uzun süredir Pi-hole kullanıyorum ve bunun ne avantajı olduğunu anlamaya çalışıyorum
    • Reklam engelleme listeleri ekleyebiliyorsunuz; böylece sağlam bir DNS ve reklam engelleme elde ediyorsunuz, YouTube’un rastgele DNS sorunları yüzünden dönüp durması da ortadan kalkıyor
      Biraz ayarla ücretsiz mümkün
    • Pi 4 üzerinde çalıştırıyorum; kurulumu ve kullanımı basit olduğu için memnunum
      AdGuard’ı bilmiyordum ama iyi görünse de özellikle denemek istemiyorum
    • Birkaç yıldır kullanıyorum ve hoşuma gidiyor
      .NET tabanlı olduğu için çapraz platform da
      O yöntemi istiyorsanız Docker imajı da var
    • C#/.NET ile yazılmış ve nispeten yeni olduğu için onu seçmedim; Unbound’a yöneldim
  • NextDNS hakkında birkaç genel olarak olumlu yorum var, ama ben NextDNS’ten taşınmayı düşündüğüm için bunu ayrıca bırakıyorum
    Nedeni şu: Şu anda Mac/Safari kullanıyorum ve “IP adresini izleyicilerden gizle” özelliğini açmak istiyorum; bunu açınca NextDNS’in normalde engellediği web sitesi reklamları görünmeye başlıyor
    Bu yüzden bu seçeneği kapatmam gerekiyor ve Apple’ın özelliğini kullanamıyorum
    Genel olarak ikisi birlikte kullanılamıyor gibi; NextDNS yardım sitesinde de bununla ilgili bir sorun başlığı var
    https://help.nextdns.io/t/q6yq4xy/nextdns-stops-working-prop...
    Bunun AdGuard veya Pi-hole için de bilinen bir sorun olup olmadığını bilen var mı merak ediyorum

    • iCloud Private Relay’den bahsediyorsanız, DNS tabanlı reklam engelleyicilerde beklenen davranış bu
      Relay’i açınca bağlantı proxy üzerinden geçer ve yerel ağdaki DNS sunucusunu kullanmaz
      Pi-hole, NextDNS ya da AdGuard fark etmez
    • Reklam ve izleyicileri engelleyen bir ürün kullanırken, başka bir ürünle bunu baypas edip reklam ve izleyicilere erişiyor, sadece bunu üçüncü bir taraf üzerinden yapmış oluyorsunuz
      İkincisinin amacının ne olduğunu bilmiyorum
  • HN’de Pi-hole ya da AdGuard Home yazısı çıkmadan dayanılabilen belirli bir süre var gibi

    • Takvime altı ayda bir tekrarlanan bir görev koydum: HN: Pi-hole / AdGuard? ;-)
  • Güzel
    Benzer şekilde, ağınızda pfSense çalıştırıyorsanız pfBlockerNG’ye de bakmaya değer. Şahsen oldukça seviyorum: https://docs.netgate.com/pfsense/en/latest/packages/pfblocke...