📑 Daftar Isi
Kok bisa ya, kemarin masih nonton mulus tanpa iklan, eh hari ini YouTube langsung nampilin banner \"Ad blockers are not allowed\"? Aku juga sempet heran pas pertama kali nemu kejadian kayak gini. Extension-nya gak diganti, gak ada update, tapi tiba-tiba kedetect. Padahal di HP gak apa-apa, eh pas di laptop malah kena.
Pas aku selidiki lebih dalem, ternyata jawabannya gak sesimpel \"YouTube lagi nge-track kamu\". Ini soal arsitektur blocking-nya sendiri. Dan di artikel ini aku mau bagiin hasil penyelidikan singkatku: kenapa extension gampang banget kedetect, kenapa level DNS nyaris mustahil dideteksi, plus langkah-langkah pasangnya di VPS. Monggo, disimak pelan-pelan.
Nih, perhatiin dulu. Extension ad blocker itu kerja di level browser. Dia ngeliat request yang menuju domain iklan, terus nge-block, sekalian nyembunyiin elemen DOM yang isinya iklan. Masalahnya, player YouTube itu JavaScript-nya udah gila-gilaan canggih. Dia bisa bandingin pola request normal vs request yang udah diintercept. Sekali ketahuan ada yang aneh, atau elemen iklan yang dibuang paksa, langsung muncul warning tadi. Kalau gak, yang lebih parah: video muter 3 detik terus buffering selamanya. Itu strategi jitu YouTube buat bikin pengguna ad blocker jera.
Terus piye? Udah mau nyerah, balik nonton iklan lagi?
Ternyata ada satu lapisan yang extension gak pernah sentuh, dan justru itu yang paling sering dilupain: DNS. DNS itu ibarat buku telepon internet. Setiap kali browser mau buka sebuah domain, dia nanya ke DNS server, \"alamat IP-e domain iki sopo?\". Nah, kalau kita punya DNS server sendiri yang diprogram \"gak kenal\" sama domain-domain iklan YouTube, permintaan ke domain iklan itu gak bakal pernah kesampaian. Blocking-nya kejadian di lapisan paling bawah, jauh sebelum browser nyentuh halaman YouTube. Dari sisi player, semua request terlihat normal. Jadi gak ada yang bisa dideteksi. Simpel, tapi jarang yang mikir ke situ.
Kenapa Blocking di Level DNS Anti-Deteksi?
Bayangin kayak gini. Extension itu satpam di depan pintu gedung. Dia bisa nahan orang yang mau masuk, tapi pemilik gedung bisa ngeliat satpam-nya, terus ngubah jalur masuk. DNS filtering itu beda: kita ubah buku telepon kota, jadi gak ada yang nemu alamat gedungnya. Request tetep jalan normal, cuma gak pernah dijawab. YouTube selama ini nyari anomali — request ke-block, elemen ilang, resource gak kekirim. Kalau gak ada anomali, gak ada yang bisa dilaporin. Itu kenapa metode ini jauh lebih awet daripada extension.
Step 1: Pilih Senjatanya — Pi-hole atau AdGuard Home?
Dua-duanya open source dan jalan mulus di VPS. Bedanya di gaya aja. Pi-hole lebih senior, dokumentasinya tebel, dan dashboard-nya udah legend. AdGuard Home lebih modern, enteng, dan config-nya gak bikin pusing. Kalau kamu tipe yang suka ngulik dalem, Pi-hole. Kalau mau yang gampang-gampang aja, AdGuard Home. Buat perbandingan cepet:
| Aspek | Pi-hole | AdGuard Home |
|---|---|---|
| Umur & kematangan | Senior, sejak 2015 | Lebih muda tapi stabil |
| Resource usage | Ringan, sekitar 100MB RAM | Lebih ringan lagi |
| Kemudahan config | Sedang | Sangat mudah |
| Manajemen blocklist | via Gravity | via Filter |
| Rekomendasi | Enthusiast | Pemula |
Step 2: Install di VPS Pakai Docker
Kamu butuh VPS minimal 512MB RAM, dan port 53 harus bebas — jangan sampe keisi systemd-resolved atau bind. Ini error yang paling sering: container jalan tapi port 53 nabrak. Cek dulu:
ss -tulpn | grep :53
Kalau nemu systemd-resolved, matiin:
systemctl disable --now systemd-resolved
Lanjut install Pi-hole:
docker run -d --name pihole --restart unless-stopped \\
-e TZ=\"Asia/Jakarta\" -e WEBPASSWORD=\"ganti-password-yah\" \\
-v pihole:/etc/pihole -v dnsmasq:/etc/dnsmasq.d \\
-p 53:53/tcp -p 53:53/udp -p 8080:80 \\
pihole/pihole:latest
Nah, satu hal yang gak boleh dilewatin: jangan expose port 53 ke IP publik tanpa proteksi. DNS resolver yang terbuka itu magnet buat DNS amplification attack. Paling aman: akses lewat WireGuard VPN, jadi cuma perangkat kamu yang bisa nyentuh Pi-hole. Aku udah nulis setup lengkapnya di panduan WireGuard VPN server.
Warning: Jangan pernah expose port 53 Pi-hole ke internet publik tanpa proteksi. Open DNS resolver gampang jadi korban DDoS amplification. Selalu batasin akses, idealnya via WireGuard.
Step 3: Arahin Perangkat ke DNS Filter
Setelah container jalan, verifikasi dulu dari VPS-nya sendiri:
dig @127.0.0.1 doubleclick.net
Kalau jawabannya 0.0.0.0, berarti blokirannya aktif. Sekarang tinggal arahin perangkat. Di HP, ganti setting DNS-nya ke IP VPS. Di laptop, sama. Buat yang pengen sekali seting dan kebawa semua perangkat (termasuk smart TV yang biasanya gak bisa diubah DNS-nya manual), bikin WireGuard terus set DNS device ke Pi-hole. Sekali setup, seluruh rumah bebas iklan.
Step 4: Rawat Blocklist-nya
Ini yang bikin metode ini awet. YouTube emang jarang ganti domain iklan, tapi advertiser sering banget. Domain iklan baru muncul tiap minggu. Makanya blocklist harus update. Tambahin list dari penyedia yang udah terpercaya kayak hagezi atau OISD, terus update via gravity:
pihole -g
Jadwalin tiap minggu via cron atau systemd timer. Gak perlu yang ribet-ribet, cukup konsisten. Referensi lengkap soal jadwal otomatis bisa kamu baca di panduan cron job Linux.
Step 5: Verifikasi Hasilnya
Buka YouTube dari perangkat yang udah ke-point. Iklan pre-roll, banner, mid-roll — ilang semua. Buat mastiin bener-bener blokir di level bawah, cek query log Pi-hole. Kamu bakal liat domain kayak ads.youtube.com muncul dan ke-block, padahal request-nya berasal dari browser yang normal. Nah, itu buktinya.

Troubleshooting Table
| Gejala | Kemungkinan Penyebab | Solusi |
|---|---|---|
| Iklan masih muncul | Perangkat masih pake DNS ISP, atau cache DNS | Ganti DNS perangkat, flush cache (ipconfig /flushdns atau systemd-resolve –flush-caches) |
| YouTube tetap kedetect | Masih pasang extension ad blocker barengan | Matiin extension-nya, biar DNS doang yang kerja |
| DNS gak bisa diakses dari luar | Firewall nge-block port 53 | Allow port 53/tcp+udp dari IP kamu, atau akses via WireGuard |
| Query terasa lambat | Cache resolver baru anget | Biarin beberapa hari, atau pasang Unbound buat resolver yang mandiri |
Buat yang mau ngulik lebih dalem, baca juga panduan install Pi-hole di VPS dari nol dan konfigurasi DNS over HTTPS buat privasi.
Q: Apakah cara ini bikin YouTube jadi lambat?
Justru biasanya lebih cepet, karena iklan gak sempet ke-load. Blocking-nya cuma satu hop tambahan di layer DNS, gak ada yang berasa.
Q: Pi-hole atau AdGuard Home, pilih yang mana?
Kalau gak mau ribet: AdGuard Home. Kalau mau dokumentasi gede dan komunitas banyak: Pi-hole. Fitur intinya sama-sama mumpuni.
Q: Kenapa di HP masih muncul iklan padahal DNS udah diganti?
Kemungkinan besar HP kamu punya private DNS (DNS over TLS) yang nge-override setting manual. Matiin dulu fitur Private DNS di Android, atau set ke server filter yang sama.
Q: Apakah ini melanggar ketentuan YouTube?
Secara teknis ini sama aja kayak DNS filter yang dipasang banyak ISP dan admin jaringan. Tapi di ToS YouTube memang ada aturan soal ad, jadi resikonya ditanggung sendiri. Di level DNS, sejauh ini kasus kena deteksi jarang banget.
Punya cara yang lebih cepet atau lebih efisien buat blokir iklan YouTube di level jaringan? Share di komentar dong, aku selalu open buat belajar hal baru. Saling bantu ya. Kui aja dulu, semoga bermanfaat!