1 poin oleh GN⁺ 2024-02-09 | 1 komentar | Bagikan ke WhatsApp
  • AdGuard Home adalah server DNS gratis dan open source yang, setelah dipasang, berlaku untuk semua perangkat di jaringan rumah; memblokir iklan dan pelacakan tanpa software sisi klien
  • Cara kerjanya adalah mererutekan domain pelacak ke “black hole” melalui DNS sinkholing sehingga perangkat tidak dapat terhubung ke server tersebut, dan berbagi banyak kode dengan server AdGuard DNS publik
  • Jika dijalankan sebagai server sendiri, pengguna dapat memilih sendiri apa yang diblokir atau diizinkan, memantau aktivitas jaringan, serta menambahkan aturan pemfilteran kustom dibandingkan memakai DNS publik
  • Mirip Pi-Hole, mendukung pemblokiran iklan dan pelacak serta kustomisasi daftar blokir, tetapi AdGuard Home menyediakan fitur bawaan seperti upstream DNS terenkripsi, menjalankan server DoH/DoT, pemblokiran domain phishing dan malware, kontrol orang tua, serta pemaksaan Safe Search
  • Pemblokiran tingkat DNS tidak dapat memblokir iklan yang memakai domain yang sama dengan konten, seperti iklan YouTube dan Twitch atau posting sponsor Facebook, Twitter, dan Instagram; dukungan proxy pemblokiran konten di masa depan pun tidak akan menyelesaikan semua kasus

Peran dan cara kerja AdGuard Home

  • AdGuard Home adalah server DNS pemblokir iklan dan pelacak untuk seluruh jaringan yang diposisikan sebagai pusat perlindungan privasi bagi pengguna dan perangkat
  • Setelah dipasang, mencakup semua perangkat di jaringan rumah, tanpa perlu memasang software klien terpisah di tiap perangkat
  • Beroperasi sebagai server DNS dan mererutekan domain pelacak ke “black hole” agar perangkat tidak dapat terhubung ke server tersebut
  • Berbasis software yang digunakan pada server AdGuard DNS publik, dan kedua produk berbagi banyak kode

Instalasi dan integrasi

  • Di Linux, Unix, macOS, FreeBSD, dan OpenBSD, skrip instalasi otomatis dapat dijalankan dengan curl, wget, atau fetch
    • -c <channel>: menggunakan channel yang ditentukan
    • -r: memasang ulang AdGuard Home
    • -u: menghapus AdGuard Home
    • -v: output lebih rinci
    • -r dan -u tidak dapat digunakan bersamaan
  • Instalasi manual dan pengaturan perangkat dapat dilihat di dokumentasi Getting Started
  • Image Docker resmi tersedia di Docker Hub
  • Pengguna Linux dapat memasang melalui Snap Store
  • Jika perlu integrasi, tersedia REST API, serta python client

Perbedaan dengan AdGuard DNS publik

  • Menjalankan server AdGuard Home sendiri memberi kontrol lebih besar dibandingkan menggunakan server DNS publik
  • Pengguna dapat memilih sendiri apa yang akan diblokir dan diizinkan oleh server
  • Aktivitas jaringan dapat dipantau
  • Aturan pemfilteran kustom dapat ditambahkan
  • Karena server tersebut milik pengguna sendiri, kendali berada di tangan pengguna

Perbandingan dengan Pi-Hole dan pemblokir iklan tradisional

  • AdGuard Home dan Pi-Hole sama-sama memblokir iklan dan pelacak dengan metode DNS sinkholing, serta memungkinkan kustomisasi target pemblokiran
  • AdGuard Home bertujuan menyediakan banyak fitur secara bawaan tanpa perlu instalasi software tambahan atau konfigurasi manual
  • Berdasarkan tabel perbandingan di README, AdGuard Home menyediakan fitur berikut
    • Pemblokiran iklan dan pelacak
    • Kustomisasi daftar blokir
    • Server DHCP bawaan
    • HTTPS untuk antarmuka admin
    • Upstream DNS terenkripsi DNS-over-HTTPS, DNS-over-TLS, DNSCrypt
    • Berjalan lintas platform
    • Berjalan sebagai server DNS-over-HTTPS atau DNS-over-TLS
    • Pemblokiran domain phishing dan malware
    • Kontrol orang tua untuk memblokir domain dewasa
    • Pemaksaan Safe Search pada mesin pencari
    • Pengaturan per perangkat
    • Pengaturan akses untuk memilih pengguna DNS AGH
    • Berjalan tanpa hak akses root
  • Dibandingkan pemblokir iklan tradisional, DNS sinkholing dapat memblokir sebagian besar iklan, tetapi kurang fleksibel dan kurang kuat dibandingkan pemblokir iklan tradisional
  • Pemblokir berbasis DNS dapat membantu memblokir permintaan iklan, pelacakan, dan analitik pada SmartTV, speaker pintar, dan perangkat IoT yang tidak dapat dipasangi pemblokir iklan tradisional

Batasan yang diketahui dan arah ke depan

  • Pemblokir tingkat DNS tidak dapat memblokir contoh berikut
    • Iklan YouTube dan Twitch
    • Posting sponsor Facebook, Twitter, Instagram
  • Iklan yang berbagi domain yang sama dengan konten tidak dapat diblokir oleh pemblokir tingkat DNS
  • DNS saja tidak dapat menangani masalah ini; diperlukan proxy pemblokiran konten seperti aplikasi mandiri AdGuard
  • AdGuard Home direncanakan akan menghadirkan dukungan fitur proxy pemblokiran konten di masa depan
  • Meski begitu, masih dapat ada kasus yang tidak memadai atau membutuhkan konfigurasi kompleks

Build dari source dan pengembangan

  • Untuk menyiapkan lingkungan pengembangan, jalankan make init
  • Build membutuhkan hal berikut
    • Go v1.25 atau lebih baru
    • Node.js v24.10.0 atau lebih baru
    • npm v10.8 atau lebih baru
  • Build dasar dilakukan dengan mengkloning repositori lalu menjalankan make
  • Flag nonstandar -j saat ini tidak didukung, sehingga make -j 4 atau konfigurasi yang menyertakan -j 4 dalam MAKEFLAGS kemungkinan dapat merusak build
    • Jika perlu, dapat ditimpa dengan make -j 1
  • Cross-build dapat dilakukan untuk target OS/ARCH yang didukung Go, dengan menetapkan GOOS dan GOARCH saat menjalankan make
  • Persiapan build rilis membutuhkan snapcraft, dan menggunakan make build-release CHANNEL='...' VERSION='...'
  • Image Docker lokal dibuild dengan make build-docker, sedangkan image resmi menggunakan Docker Buildx
  • Saat debugging frontend, jalankan build pengembangan dalam mode watch dari direktori client, lalu berikan flag --local-frontend pada binary AdGuardHome agar menggunakan file di direktori ./build/ alih-alih file frontend bawaan
  • Tes frontend E2E menggunakan Playwright, dan tes berada di tests/e2e
    • npm run test:e2e: menjalankan seluruh tes secara headless
    • npm run test:e2e:interactive: tes interaktif
    • npm run test:e2e:debug: mode debug
    • npm run test:e2e:codegen: membuat kode tes baru
    • Playwright mengunduh dan memasang binary browser sendiri yang bisa berbeda dari browser yang terpasang di sistem

Kontribusi, channel tidak stabil, dan proyek eksternal

  • Kontributor dapat melakukan fork repositori, membuat perubahan, lalu mengirim pull request, dan harus mengikuti code guidelines
  • Tidak perlu berkontribusi pada UI dan backend secara bersamaan; idealnya, implementasi backend yang mencakup konfigurasi, API, dan fitur masuk lebih dulu, sementara UI dapat diimplementasikan kemudian dalam pull request lain
  • Ada dua channel versi tidak stabil
    • beta: versi beta yang relatif stabil, biasanya dirilis tiap 2 minggu atau lebih sering
    • edge: versi terbaru dari branch pengembangan, dengan update baru didorong setiap hari
  • Versi tidak stabil dapat dipasang melalui channel beta dan edge di Snap Store, tag beta dan edge di Docker Hub, skrip instalasi otomatis, atau build mandiri dari Wiki
  • Ada proyek terkait yang dibuat oleh developer pihak ketiga dan penggemar yang tidak berafiliasi dengan AdGuard

Privasi dan teknologi yang digunakan

  • Gagasan utama AdGuard Home adalah bahwa pengguna harus mengendalikan data mereka sendiri
  • AdGuard Home tidak mengumpulkan statistik penggunaan dan tidak menggunakan layanan web kecuali pengguna mengaturnya
  • Privacy policy lengkap secara teoretis mencakup semua hal yang dapat dikirim oleh AdGuard Home
  • Teknologi utama yang menjadi basisnya adalah ekosistem Go dan Node.js
    • Sebagai library Go, menggunakan gcache, miekg's dns, go-yaml, service, dnsproxy, urlfilter
    • Di sisi Node.js, menggunakan React.js, Tabler, dan berbagai paket Node.js
    • Juga menggunakan data whotracks.me
  • AdGuard Home tidak lagi menggunakan CoreDNS yang sebelumnya pernah disebutkan

1 komentar

 
GN⁺ 2024-02-09
Komentar Hacker News
  • Selama beberapa tahun saya menjalankan proyek pesaing, Pi-hole[0], di jaringan rumah, lalu mengenal NextDNS[1]
    Dari sisi performa, saya kehilangan keuntungan bahwa permintaan tidak keluar dari rumah, tetapi portabilitas yang memungkinkan semua perangkat dipakai di dalam maupun di luar rumah, serta waktu yang dihemat, lebih besar nilainya
    Pi-hole bekerja dengan baik 90% waktu, tetapi saat berhenti perlu waktu untuk memperbaikinya, dan dengan $20 per tahun, sulit bagi pengoperasian sendiri untuk bersaing dengan NextDNS
    Ini bukan promosi NextDNS, dan saya pikir proyek seperti ini memang harus ada, tetapi NextDNS benar-benar alat SaaS yang sederhana dengan rasio harga/kinerja yang sangat bagus
    0 - https://pi-hole.net/
    1 - https://nextdns.io

    • Saya tidak tahu masalah apa yang membuat Pi-hole sampai berhenti 10% waktu, tetapi hiperbola seperti itu terdengar seperti promosi
      99,9% kerusakan kartu SD disebabkan adaptor daya yang kekurangan daya, jadi kalau malas mencari suplai daya USB 2,5–3A yang tepat, beli saja adaptor daya Raspberry Pi resmi
      Dengan $20 per tahun, setiap tahun Anda bisa membeli RPi Zero 2W cadangan dan kartu SD, dan masih tersisa uang untuk sandwich Sheetz perayaan
      Menurut saya kombinasi Pi-hole + WireGuard + pembelian sekali saja RPi Zero seharga $15 sulit dikalahkan
    • Saya penasaran masalah apa yang Anda alami dengan Pi-hole
      Instance saya berjalan selama beberapa tahun tanpa masalah sama sekali, dan sekitar setahun lalu saya pindah ke AdGuard Home karena ingin menjalankannya di kotak OPNSense
      Di perangkat, saya mengatur VPN WireGuard otomatis agar tersambung lewat VPN ke jaringan rumah saat tidak terhubung ke SSID saya, jadi DNS lokal tetap berfungsi meski dari jarak jauh
    • Saya suka NextDNS, tetapi ada masalah yang cukup besar: saat aktif di iPhone, ia tidak bisa menangani captive portal
      Saat menyambung ke Wi-Fi pesawat dan sejenisnya, kita harus ingat untuk mematikannya, jadi menurut saya sulit merekomendasikannya kepada teman non-teknis
    • Dalam kasus saya, Pi-hole berjalan sangat baik begitu lama sampai saya bahkan lupa login-nya, tetapi saat menata ulang jaringan rumah dalam waktu dekat, saya akan mengevaluasi lagi pilihannya
      Sepertinya sekarang kandidatnya sudah sekitar 3
    • Saya belum pernah mencoba NextDNS, pernah memakai Pi-hole, dan sekarang menjalankan AdGuard Home
      Jika harus membayar $20 per tahun hanya untuk enkripsi DNS dan pemblokiran, patut juga mempertimbangkan naik ke Mullvad, yang tidak hanya memblokir iklan DNS tetapi juga menyediakan anonimitas IP, tunneling, dan lain-lain
  • Baru-baru ini saya melihat-lihat Pi-hole lalu memilih AdGuard Home
    Dari luar, UI-nya lebih bagus dan secara umum terlihat lebih baik, dan untuk alat yang semulus ini, ternyata kustomisasinya juga cukup banyak, seperti meneruskan kueri domain privat lokal ke DNS internal
    Saya tidak yakin mengapa AdGuard menyediakan ini secara gratis dan mungkin perlu mencari tahu, tetapi untuk saat ini tampaknya pilihan dengan risiko relatif rendah
    Sulit dilebih-lebihkan betapa jauh lebih nyamannya pengalaman memakai hal seperti aplikasi NYTimes ketika iklan yang mengganggu hilang

    • Benar-benar luar biasa
      Fitur split DNS-nya punya semua opsi yang bisa dibayangkan
      Saya kira perlu server DNS kedua di belakangnya, tetapi semua aturan yang dibutuhkan bisa langsung dimasukkan ke dalam AdGuard Home
      Upstream DoT dan DoH juga didukung, sesuatu yang masih belum umum di banyak router rumahan
      Dokumentasi: https://github.com/AdguardTeam/AdGuardHome/wiki/Configuratio...
    • Bagian soal gratis itu juga membuat saya penasaran
      Bisa jadi mereka menyetel server DNS mereka sendiri sebagai upstream default dan berharap banyak orang tetap memakai nilai bawaan
      DNS adalah salah satu teknologi terbaik untuk data mining dan penjualan data, jadi menurut saya itulah alasan adanya server DNS yang mudah diingat seperti 8.8.8.8 atau 1.1.1.1
      Google dan Cloudflare pasti tidak melakukannya hanya karena niat baik
      Namun, AdGuard mengklaim tidak menjual data pelanggan
    • Setelah memperluas basis pengguna dan mendapatkan cukup banyak pengguna, mereka juga bisa beralih ke model lisensi
    • Menurut saya alurnya seperti ini
      Seseorang membaca dokumentasi, memasang, membuatnya berjalan baik, lalu membanggakan kepada teman-temannya bahwa jaringan rumahnya bebas iklan yang menyebalkan
      Lalu teman-temannya akan berkata, “pasangkan untukku juga”
      Kita bisa memasangkan, tetapi tidak bisa sekaligus memelihara, jadi kita akan berkata, “sebagai ganti kerumitan itu, ada konfigurasi berbasis aplikasi yang sederhana dan langsung berfungsi untuk seluruh keluarga dengan $29 per tahun”
      Pada makan malam itu, lima teman mengunduh layanan dan membayar
      Menurut saya filosofi startup teknologi belakangan ini juga mirip: memiliki produk open-source lalu membangun bisnis komersial di atasnya
    • Pi-hole juga mendukung conditional forwarding
  • AdGuard adalah perusahaan Rusia dengan insinyur Rusia, banyak pengembang dan karyawannya bekerja di Moskow, dan terdaftar di Siprus
    Itu bukan kombinasi yang bagus, dan saya akan menghindarinya karena alasan keamanan

    • Ini adalah perangkat lunak open-source
      Alasan MacPaw mengklasifikasikan perangkat lunak yang dikembangkan Rusia sebagai berisiko adalah karena pemerintah dapat mengakses data kapan saja, tetapi ini adalah open-source yang di-host sendiri
      FSB tidak bisa mengakses server lokal hanya dengan perintah pengadilan sembarang
      Jadi ini terasa lebih seperti kebencian terhadap Rusia daripada kekhawatiran yang sah, dan menurut saya makin tidak pantas karena saya tahu langsung betapa para pengembang Rusia menderita akibat kebodohan pemerintah mereka sendiri
    • Karena open-source, Anda bisa memverifikasinya sendiri
    • MacBook juga dibuat di Tiongkok
  • Anda mungkin juga tertarik dengan py-hole
    Hanya terdiri dari skrip Python dan konfigurasi dnsmasq, berjalan di OpenWrt, gratis, dan penggunaan CPU-nya hampir 0
    https://github.com/time4tea-net/py-hole

  • Hal bagus lain dari AdGuard adalah tersedia sebagai add-on Home Assistant
    Karena terintegrasi dengan bagian HA lainnya, misalnya Anda bisa menaruh sakelar di dasbor untuk menyalakan dan mematikan pemblokiran

    • NextDNS juga bisa, dan saya baru saja mengaturnya
  • AdGuard Home itu luar biasa
    Saya sempat memakai Pi-hole cukup lama, tetapi cukup sering mengalami masalah-masalah kecil
    Tidak ada yang serius, tetapi alat seperti ini benar-benar berguna hanya ketika ia berjalan begitu saja
    Dalam konfigurasi Pi saya, semuanya berjalan tanpa masalah dengan docker-compose[1], dan saya memakai container keren bernama adguardhome-sync[2] untuk menjalankan Pi kedua sebagai cadangan sambil menyinkronkan pengaturan
    Sekarang saya tidak melihat iklan di jaringan, dan cukup menarik juga melihat perangkat mana yang mengirim seberapa banyak permintaan pelacakan/iklan
    1 - https://thesmarthomejourney.com/2021/05/24/adguard-pihole-dn...
    2 - https://thesmarthomejourney.com/2023/02/12/adguardhome-sync-...

    • Momen yang benar-benar membuka mata adalah ketika mulai mengarahkan ulang permintaan DNS 53 ke server DNS saya dan memblokir DoT/DoQ/DoH
      Banyak sekali perangkat dan aplikasi mencoba langsung keluar ke server DNS yang di-hardcode untuk pelacakan dan penargetan iklan
  • Entah ada yang memakai Technitium DNS di sini atau tidak
    Ini open source dan gratis, serta berjalan bahkan di perangkat keras minimal
    Saya menjalankannya di Orange Pi 3 LTS
    https://technitium.com/dns/

    • Kelihatannya bagus
      Di situ tertulis “Technitium DNS Server is an open source authoritative as well as recursive DNS server”, jadi saya penasaran apakah Pi-hole atau AdGuard juga merupakan server DNS rekursif atau hanya pemblokir sederhana
      Saya sudah lama memakai Pi-hole dan sedang mencoba memahami keunggulan yang satu ini
    • Karena bisa memasukkan daftar blokir iklan, kita mendapatkan DNS yang solid sekaligus pemblokiran iklan, dan YouTube tidak lagi berputar-putar karena masalah DNS acak
      Bisa dilakukan gratis dengan sedikit konfigurasi saja
    • Saya menjalankannya di Pi 4, dan puas karena mudah dikonfigurasi serta digunakan
      Saya belum tahu AdGuard, tetapi meski terlihat bagus, saya tidak terlalu ingin mencobanya
    • Sudah memakainya selama beberapa tahun dan suka
      Karena berbasis .NET, ini juga lintas platform
      Kalau menginginkan cara itu, ada juga image Docker
    • Saya tidak memilihnya karena ditulis dengan C#/.NET dan relatif baru, lalu memilih Unbound
  • Ada beberapa komentar yang cukup positif tentang NextDNS, tetapi saya menuliskannya terpisah karena saya sedang mempertimbangkan untuk pindah dari NextDNS
    Alasannya, saat ini saya memakai Mac/Safari dan ingin mengaktifkan fitur “sembunyikan alamat IP dari pelacak”, tetapi jika fitur ini dinyalakan, iklan situs web yang biasanya diblokir NextDNS mulai muncul
    Jadi saya harus mematikan opsi ini dan tidak bisa memakai fitur Apple tersebut
    Secara umum, keduanya tampaknya tidak bisa dipakai bersama, dan ada juga isu terkait di situs bantuan NextDNS
    https://help.nextdns.io/t/q6yq4xy/nextdns-stops-working-prop...
    Saya penasaran apakah ada yang tahu apakah ini juga masalah yang dikenal di AdGuard atau Pi-hole

    • Kalau yang dimaksud adalah iCloud Private Relay, itu memang perilaku yang diharapkan pada pemblokir iklan berbasis DNS
      Saat relay dinyalakan, koneksi diproksi dan tidak memakai server DNS di jaringan lokal
      Sama saja, baik Pi-hole, NextDNS, maupun AdGuard
    • Ini seperti memakai produk yang memblokir iklan dan pelacak, lalu memakai produk lain untuk melewatinya agar bisa mengakses iklan dan pelacak, tetapi melalui pihak ketiga
      Saya tidak tahu apa tujuan dari yang terakhir itu
  • Sepertinya ada interval waktu tertentu yang HN tidak bisa tahan tanpa ada postingan tentang Pi-hole atau AdGuard Home

    • Saya memasang tugas berulang tiap setengah tahun di kalender: HN: Pi-hole / AdGuard? ;-)
  • Bagus
    Mirip dengan itu, kalau menjalankan pfSense di jaringan, pfBlockerNG juga layak dicek. Secara pribadi saya cukup menyukainya: https://docs.netgate.com/pfsense/en/latest/packages/pfblocke...