Ana içeriğe atla

SSS

AdGuard Home neden reklamları veya tehditleri engellemiyor?

AdGuard Home'un `somebadsite.com'u engellemesini istediğinizi ancak bazı nedenlerden dolayı engellemediğini varsayalım. Bu sorunu çözmeye çalışalım.

Büyük olasılıkla, cihazınızı AdGuard Home'u varsayılan DNS sunucusu olarak kullanacak şekilde yapılandırmadınız. Varsayılan DNS sunucunuz olarak AdGuard Home'u kullanıp kullanmadığınızı kontrol etmek için:

  1. Windows'ta Komut İstemi'ni açın (BaşlatÇalıştırcmd.exe). Diğer sistemlerde, Terminal uygulamanızı açın.

  2. nslookup example.org` öğesini yürütün. Şuna benzer bir şey yazdırır:

    Server: 192.168.0.1
    Address: 192.168.0.1#53

    Non-authoritative answer:
    Name: example.org
    Address: <IPv4>
    Name: example.org
    Address: <IPv6>
  3. Sunucu IP adresinin AdGuard Home'un çalıştığı IP adresi olup olmadığını kontrol edin. Eğer yoksa, cihazınızı buna göre yapılandırmanız gerekir. Bunun nasıl yapılacağını aşağıda görebilirsiniz.

  4. AdGuard Home kullanıcı arayüzünde Sorgu Günlüğü sayfasında example.org isteğinizin göründüğünden emin olun. Eğer görünmüyorsa, AdGuard Home'u belirtilen ağ arayüzünü dinleyecek şekilde yapılandırmanız gerekir. Bunu yapmanın en kolay yolu, AdGuard Home'u varsayılan ayarlarla yeniden kurmaktır.

Cihazınızın varsayılan DNS sunucusu olarak AdGuard Home'u kullandığından eminseniz ancak sorun devam ediyorsa bunun nedeni AdGuard Home'un yanlış yapılandırılması olabilir. Lütfen aşağıdakileri kontrol edin ve emin olun:

  1. AyarlarGenel ayarlar sayfasında Filtreleri ve hosts dosyalarını kullanarak alan adlarını engelle ayarını etkinleştirdiniz.

  2. Ebeveyn Denetimi gibi uygun güvenlik mekanizmalarını aynı sayfada etkinleştirdiniz.

  3. FiltrelerDNS engel listeleri sayfasında uygun filtreleri etkinleştirdiniz.

  4. FiltrelerDNS izin listeleri sayfasında etkinleştirilen isteklere izin verebilecek herhangi bir istisna kuralı listeniz yok.

  5. FiltrelerDNS yeniden yazmaları sayfasında müdahale edebilecek herhangi bir DNS yeniden yazmanız yok.

  6. FiltrelerÖzel filtreleme kuralları sayfasında müdahale edebilecek herhangi bir özel filtreleme kuralınız yok.

Günlükleri nerede görüntüleyebilirim?

Düz metin günlüklerinin (sorgu günlükleri ile karıştırılmamalıdır) varsayılan konumu işletim sistemine ve kurulum moduna bağlıdır:

  • OpenWrt Linux: logread -e AdGuardHome komutunu kullanın.

  • Linux systems with systemd and other Unix systems with SysV-style init: /var/log/AdGuardHome.err.

  • macOS: /var/log/AdGuardHome.stderr.log.

  • Linux sistemlerinde Snapcraft ile snap logs adguard-home komutu kullanılır.

  • FreeBSD: /var/log/daemon.log.

  • OpenBSD: /var/log/daemon.

  • Windows: Windows Olay Günlüğü kullanılır.

AdGuard Home'u ayrıntılı düzeyde günlükler yazacak şekilde nasıl yapılandırabilirim?

Karmaşık bir sorunu gidermek için bazen ayrıntılı düzeyde günlük kaydı gerekir. İşte nasıl etkinleştireceğiniz:

  1. AdGuard Home'u durdurun:

    ./AdGuardHome -s stop
  2. AdGuard Home'u ayrıntılı düzeyde günlükler yazacak şekilde yapılandırın:

    1. Düzenleyicinizde AdGuardHome.yaml dosyasını açın.

    2. log.file dosyasını istediğiniz günlük dosyası yoluna ayarlayın, örneğin /tmp/aghlog.txt. Dizinin var olması gerektiğini unutmayın.

    3. log.verbose öğesini true olarak ayarlayın.

  3. AdGuard Home'u yeniden başlatın ve sorunu yeniden oluşturun:

    ./AdGuardHome -s start
  4. Hata ayıklama işlemini tamamladığınızda, log.verbose ayarını false olarak geri ayarlayın.

Özel bir engelleme sayfasını nasıl gösteririm?

note

Bunları yapmadan önce, modern tarayıcıların HTTPS kullanmak üzere ayarlandığını, dolayısıyla web sunucusu sertifikasının gerçekliğini doğruladıklarını lütfen unutmayın. Bu, bunlardan herhangi birinin kullanılmasının uyarı ekranlarıyla sonuçlanacağı anlamına gelir.

There is a number of proposed extensions that, if reasonably well supported by clients, would provide a better user experience, including the RFC 8914 Extended DNS Error codes and the DNS Access Denied Error Page RFC draft. We’ll implement them when browsers actually start to support them.

Ön Koşullar

Özel bir blok sayfasını görüntülemek üzere bu yöntemlerden herhangi birini kullanmak için, bazı IP adreslerinde çalışan ve söz konusu sayfayı tüm yollarda sunan bir HTTP sunucusuna ihtiyacınız olacaktır. pixelserv-tls gibi bir şey.

Ebeveyn Denetimi ve Güvenli Gezinti filtreleri için özel engelleme sayfası

Şu anda bu parametreleri kullanıcı arayüzünden ayarlamanın bir yolu yoktur, bu nedenle yapılandırma dosyasını elle düzenlemeniz gerekir:

  1. AdGuard Home'u durdurun:

    ./AdGuardHome -s stop
  2. Düzenleyicinizde AdGuardHome.yaml dosyasını açın.

  3. dns.parental_block_host veya dns.safebrowsing_block_host ayarlarını sunucunun IP adresine ayarlayın (bu örnekte, 192.168.123.45):

    # …
    dns:
    # …

    # NOT: Sunucunuzun gerçek IP adresiyle değiştirin.
    parental_block_host: 192.168.123.45
    safebrowsing_block_host: 192.168.123.45
  4. AdGuard Home'u yeniden başlatın:

    ./AdGuardHome -s start

Diğer filtreler için özel engelleme sayfası

  1. Web kullanıcı arayüzünü açın.

  2. Ayarlar*DNS ayarları öğesine gidin.

  3. DNS sunucusu yapılandırması bölümünde, Engelleme modu seçicisinde Özel IP onay düğmesini seçin ve sunucunun IPv4 ve IPv6 adreslerini girin.

  4. Kaydet öğesine tıklayın.

Pano arayüzünün adresini nasıl değiştiririm?

  1. AdGuard Home'u durdurun:

    ./AdGuardHome -s stop
  2. Düzenleyicinizde AdGuardHome.yaml dosyasını açın.

  3. 'http.address' ayarını yeni bir ağ arayüzüne ayarlayın. Örneğin:

    • Tüm ağ arayüzlerini dinlemek için 0.0.0.0:0;
    • 8080 bağlantı noktasına sahip tüm ağ arabirimlerini dinlemek için 0.0.0.0:8080;
    • Sadece yerel geri döngü arayüzünü dinlemek için 127.0.0.1:0.
  4. AdGuard Home'u yeniden başlatın:

    ./AdGuardHome -s start

AdGuard Home'u varsayılan DNS sunucusu olarak nasıl ayarlarım?

Başlarken sayfasındaki Cihazların Yapılandırılması bölümüne bakın.

Bilinen herhangi bir sınırlama var mı?

DNS düzeyinde bir engelleyici tarafından nelerin engellenemeyeceğine dair bazı örnekler aşağıda verilmiştir:

  • YouTube, Twitch reklamları.

  • Facebook, X (eski adıyla Twitter), Instagram sponsorlu gönderiler.

Temel olarak, içerikle aynı alan adını paylaşan herhangi bir reklam, içeriği de engellemeye hazır olmadığınız sürece DNS düzeyinde bir engelleyici tarafından engellenemez.

Gelecekte bununla başa çıkma olasılığı var mı?

DNS bunu yapmak için asla yeterli olmayacaktır. Your only option is to use a content blocking proxy like what we do in the standalone AdGuard applications. Gelecekte AdGuard Home'a bu özellik için destek ekleyeceğiz. Ne yazık ki, o zaman bile yeterli olmayacağı veya oldukça karmaşık bir yapılandırma gerektireceği durumlar olur.

Ubuntu'ya kurmaya çalışırken neden bind: address already in use hatası alıyorum?

Bunun nedeni, DNS için kullanılan localhost üzerindeki 53 numaralı bağlantı noktasının zaten başka bir program tarafından alınmış olmasıdır. Ubuntu, 127.0.0.53:53 adresini kullanan systemd-resolved adlı yerel bir DNS ile birlikte gelir, böylece AdGuard Home'un 127.0.0.1:53 adresine bağlanmasını engeller. Bunu çalıştırarak görebilirsiniz:

sudo lsof -i :53

Çıktı şuna benzer olmalıdır:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 14542 systemd-resolve 13u IPv4 86178 0t0 UDP 127.0.0.53:domain
systemd-r 14542 systemd-resolve 14u IPv4 86179 0t0 TCP 127.0.0.53:domain

Bunu düzeltmek için ya systemd-resolved daemon'unu devre dışı bırakmalı ya da farklı bir ağ arayüzü seçmeli ve AdGuard Home'unuzu ağınızdaki yönlendiricinizin IP adresi gibi erişilebilir bir IP adresine bağlamalısınız. Ancak localhost üzerinde dinleme yapmanız gerekiyorsa, birkaç çözüm vardır.

Firstly, AdGuard Home can detect such configurations and disable systemd-resolved for you if you press the Fix button located next to the address already in use message on the installation screen.

İkinci olarak, bu işe yaramazsa, aşağıdaki talimatları izleyin. AdGuard Home'u docker veya snap ile kullanıyorsanız, bunu kendiniz yapmanız gerekeceğini unutmayın.

  1. Gerekirse /etc/systemd/resolved.conf.d dizinini oluşturun:

    sudo mkdir -p /etc/systemd/resolved.conf.d
  2. DNSStubListener öğesini devre dışı bırakın ve DNS sunucu adresini güncelleyin. Bunu yapmak için, aşağıdaki içeriğe sahip yeni bir /etc/systemd/resolved.conf.d/adguardhome.conf dosyası oluşturun:

    [Resolve]
    DNS=127.0.0.1
    DNSStubListener=no

DNS sunucu adresi olarak 127.0.0.1 belirtilmesi gereklidir. Aksi takdirde ad sunucusu 127.0.0.53 olacaktır ve bu da DNSStubListener olmadan çalışmaz.

  1. Başka bir resolv.conf dosyasını etkinleştirin:

    sudo mv /etc/resolv.conf /etc/resolv.conf.backup
    sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
  2. DNSStubListener öğesini yeniden başlatın:

    sudo systemctl reload-or-restart systemd-resolved

Bundan sonra, systemd-resolved lsof çıktısında gösterilmemeli ve AdGuard Home 127.0.0.1:53 adresine bağlanabilmelidir.

AdGuard Home için bir ters proxy sunucusunu nasıl yapılandırabilirim?

Zaten bir web sunucusu çalıştırıyorsanız ve AdGuard Home panosu kullanıcı arayüzüne http://YOUR_SERVER/aghome/ gibi bir URL'den erişmek istiyorsanız, web sunucunuz için bu yapılandırmayı kullanabilirsiniz:

nginx

location /aghome/ {
proxy_cookie_path / /aghome/;
proxy_pass http://AGH_IP:AGH_PORT/;
proxy_redirect / /aghome/;
proxy_set_header Host $host;
}

caddy

:80/aghome/* {
route {
uri strip_prefix /aghome
reverse_proxy AGH_IP:AGH_PORT
}
}

Veya AdGuard Home'u yalnızca otomatik TLS ile sunmak istiyorsanız, aşağıda gösterilen örneğe benzer bir yapılandırma kullanın:

DOMAIN {
encode gzip zstd
tls YOUR_EMAIL@DOMAIN
reverse_proxy AGH_IP:AGH_PORT
}

Disable DoH encryption on AdGuard Home

If you’re using TLS on your reverse proxy server, you don’t need to use TLS on AdGuard Home. Set allow_unencrypted_doh: true in AdGuardHome.yaml to allow AdGuard Home to respond to DoH requests without TLS encryption.

İstemcilerin gerçek IP adresleri

AdGuard Home'un gerçek istemci IP adresini içeren başlıkları dikkate almasını sağlamak için trusted_proxies parametresini HTTP proxy'nizin IP adreslerine ayarlayabilirsiniz. Daha fazla bilgi için configuration ve encryption sayfalarına bakın.

Fedora'da permission denied hatalarını nasıl düzeltirim?

  1. AdGuardHome ikili dosyasını /usr/local/bin konumuna taşıyın.

  2. Dosyanın güvenlik bağlamını değiştirmek için root olarak aşağıdaki komutu çalıştırın:

    chcon -t bin_t /usr/local/bin/AdGuardHome
  3. Ağ üzerinden erişilebilir hâle getirmek için gerekli güvenlik duvarı kurallarını ekleyin. Örneğin:

    firewall-cmd --new-zone=adguard --permanent
    firewall-cmd --zone=adguard --add-source=192.168.0.14/24 --permanent
    firewall-cmd --zone=adguard --add-port=3000/tcp --permanent
    firewall-cmd --zone=adguard --add-port=53/udp --permanent
    firewall-cmd --zone=adguard --add-port=80/tcp --permanent
    firewall-cmd --reload

Eğer hâlâ systemctl'den code=exited status=203/EXECveya benzeri hatalar alıyorsanız, AdGuard Home'u kaldırmayı ve kurulum betiğinin-oseçeneğini kullanarak/usr/local/bin` içine doğrudan kurmayı deneyin:

curl -s -S -L 'https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh' | sh -s -- -o '/usr/local/bin' -v

Bkz. [sorun 765] ve [sorun 3281].

Uyumsuz dosya sistemi hatalarını nasıl düzeltirim?

AdGuard Home kurulumunuzu veya çalışma dizininizi başka bir konuma taşımalısınız. See the limitations section on the Getting Started page.

How do I update AdGuard Home manually?

If the button isn’t displayed or an automatic update has failed, you can update manually. Aşağıdaki örneklerde, AMD64 CPU'lar için Linux ve Windows için AdGuard Home sürümlerini kullanacağız.

Unix (Linux, macOS, BSD)

  1. Download the new AdGuard Home package from the releases page. Bu adımı komut satırından gerçekleştirmek istiyorsanız, şunu yazın:

    curl -L -S -o '/tmp/AdGuardHome_linux_amd64.tar.gz' -s\
    'https://static.adguard.com/adguardhome/release/AdGuardHome_linux_amd64.tar.gz'

    Ya da wget ile:

    wget -O '/tmp/AdGuardHome_linux_amd64.tar.gz'\
    'https://static.adguard.com/adguardhome/release/AdGuardHome_linux_amd64.tar.gz'
  2. AdGuard Home'un kurulu olduğu dizine gidin. Çoğu Unix sisteminde varsayılan dizin /opt/AdGuardHome şeklindedir, ancak macOS'ta /Applications/AdGuardHome şeklinde olur.

  3. AdGuard Home'u durdurun:

    sudo ./AdGuardHome -s stop
    OpenBSD

    OpenBSD üzerinde, muhtemelen sudo yerine doas kullanmak isteyeceksiniz.

  4. Verilerinizi yedekleyin. Yani, yapılandırma dosyanız ve veri dizininiz (varsayılan olarak AdGuardHome.yaml ve data/). Örneğin, verilerinizi ~/my-agh-backup adlı yeni bir dizine yedeklemek için:

    mkdir -p ~/my-agh-backup
    cp -r ./AdGuardHome.yaml ./data ~/my-agh-backup/
  5. AdGuard Home arşivini geçici bir dizine çıkarın. Örneğin, arşivi ~/Downloads dizininize indirdiyseniz ve /tmp/ dizinine çıkarmak istiyorsanız:

    tar -C /tmp/ -f ~/Downloads/AdGuardHome_linux_amd64.tar.gz -x -v -z

    macOS'ta aşağıdaki gibi bir şey yazın:

    unzip -d /tmp/ ~/Downloads/AdGuardHome_darwin_amd64.zip
  6. Eski AdGuard Home yürütülebilir dosyasını yenisiyle değiştirin. Çoğu Unix sisteminde komut aşağıdaki gibi görünecektir:

    sudo cp /tmp/AdGuardHome/AdGuardHome /opt/AdGuardHome/AdGuardHome

    macOS'ta aşağıdaki gibi bir şey:

    sudo cp /tmp/AdGuardHome/AdGuardHome /Applications/AdGuardHome/AdGuardHome

    You may also want to copy the documentation parts of the package, such as the change log (CHANGELOG.md), the README file (README.md), and the license (LICENSE.txt).

    Artık geçici dizini kaldırabilirsiniz.

  7. AdGuard Home'u yeniden başlatın:

    sudo ./AdGuardHome -s start

Windows (PowerShell Kullanarak)

Aşağıdaki tüm örneklerde, PowerShell Yönetici olarak çalıştırılmalıdır.

  1. Download the new AdGuard Home package from the releases page. Bu adımı komut satırından gerçekleştirmek istiyorsanız:

    $outFile = Join-Path -Path $Env:USERPROFILE -ChildPath 'Downloads\AdGuardHome_windows_amd64.zip'
    $aghUri = 'https://static.adguard.com/adguardhome/release/AdGuardHome_windows_amd64.zip'
    Invoke-WebRequest -OutFile "$outFile" -Uri "$aghUri"
  2. Navigate to the directory where AdGuard Home was installed. Aşağıdaki örneklerde C:\Program Files\AdGuardHome dizinini kullanacağız.

  3. AdGuard Home'u durdurun:

    .\AdGuardHome.exe -s stop
  4. Verilerinizi yedekleyin. Yani, yapılandırma dosyanız ve veri dizini (varsayılan olarak AdGuardHome.yaml ve data/). Örneğin, verilerinizi my-agh-backup adlı yeni bir dizine yedeklemek için:

    $newDir = Join-Path -Path $Env:USERPROFILE -ChildPath 'my-agh-backup'
    New-Item -Path $newDir -ItemType Directory
    Copy-Item -Path .\AdGuardHome.yaml, .\data -Destination $newDir -Recurse
  5. AdGuard Home arşivini geçici bir dizine çıkarın. Örneğin, arşivi İndirilenler dizininize indirdiyseniz ve geçici bir dizine çıkarmak istiyorsanız:

    $outFile = Join-Path -Path $Env:USERPROFILE -ChildPath 'Downloads\AdGuardHome_windows_amd64.zip'
    Expand-Archive -Path "$outFile" -DestinationPath $Env:TEMP
  6. Eski AdGuard Home yürütülebilir dosyasını yenisiyle değiştirin. Örneğin:

    $aghExe = Join-Path -Path $Env:TEMP -ChildPath 'AdGuardHome\AdGuardHome.exe'
    Copy-Item -Path "$aghExe" -Destination .\AdGuardHome.exe

    You may also want to copy the documentation parts of the package, such as the change log (CHANGELOG.md), the README file (README.md), and the license (LICENSE.txt).

    Artık geçici dizini kaldırabilirsiniz.

  7. AdGuard Home'u yeniden başlatın:

    .\AdGuardHome.exe -s start

How do I uninstall AdGuard Home?

Depending on how you installed AdGuard Home, there are different ways to uninstall it.

caution

AdGuard Home'u kaldırmadan önce, cihazlarınızın yapılandırmasını değiştirmeyi ve onları farklı bir DNS sunucusuna yönlendirmeyi unutmayın.

Regular installation

Bu durumda aşağıdakileri yapın:

  • AdGuard Home hizmetinin kaydını kaldırın: ./AdGuardHome -s uninstall.

  • AdGuard Home dizinini kaldırın.

Docker

Basitçe durdurun ve görüntüyü kaldırın.

Snap Store

snap remove adguard-home