AdGuard Home: Server DNS untuk Memblokir Iklan dan Pelacak di Seluruh Jaringan
(github.com/AdguardTeam)- 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, ataufetch-c <channel>: menggunakan channel yang ditentukan-r: memasang ulang AdGuard Home-u: menghapus AdGuard Home-v: output lebih rinci-rdan-utidak 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
- Klien Python ini digunakan untuk membuat AdGuard Home Hass.io Add-on
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
- Build dasar dilakukan dengan mengkloning repositori lalu menjalankan
make - Flag nonstandar
-jsaat ini tidak didukung, sehinggamake -j 4atau konfigurasi yang menyertakan-j 4dalamMAKEFLAGSkemungkinan dapat merusak build- Jika perlu, dapat ditimpa dengan
make -j 1
- Jika perlu, dapat ditimpa dengan
- Cross-build dapat dilakukan untuk target OS/ARCH yang didukung Go, dengan menetapkan
GOOSdanGOARCHsaat menjalankanmake - Persiapan build rilis membutuhkan
snapcraft, dan menggunakanmake 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-frontendpada binaryAdGuardHomeagar menggunakan file di direktori./build/alih-alih file frontend bawaan - Tes frontend E2E menggunakan Playwright, dan tes berada di
tests/e2enpm run test:e2e: menjalankan seluruh tes secara headlessnpm run test:e2e:interactive: tes interaktifnpm run test:e2e:debug: mode debugnpm 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 seringedge: versi terbaru dari branch pengembangan, dengan update baru didorong setiap hari
- Versi tidak stabil dapat dipasang melalui channel
betadanedgedi Snap Store, tagbetadanedgedi 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
- AdGuard Home Remote: aplikasi iOS
- Python library
- Home Assistant add-on
- OpenWrt LUCI app
- AdGuardHome sync
- AdGuardian-Term: pemantauan trafik real-time dan statistik berbasis terminal
- Chocolatey package
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
- Sebagai library Go, menggunakan
- AdGuard Home tidak lagi menggunakan CoreDNS yang sebelumnya pernah disebutkan
1 komentar
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
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
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
Saat menyambung ke Wi-Fi pesawat dan sejenisnya, kita harus ingat untuk mematikannya, jadi menurut saya sulit merekomendasikannya kepada teman non-teknis
Sepertinya sekarang kandidatnya sudah sekitar 3
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
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...
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
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
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
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
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
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-...
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/
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
Bisa dilakukan gratis dengan sedikit konfigurasi saja
Saya belum tahu AdGuard, tetapi meski terlihat bagus, saya tidak terlalu ingin mencobanya
Karena berbasis .NET, ini juga lintas platform
Kalau menginginkan cara itu, ada juga image Docker
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
Saat relay dinyalakan, koneksi diproksi dan tidak memakai server DNS di jaringan lokal
Sama saja, baik Pi-hole, NextDNS, maupun AdGuard
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
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...