
Merdeka Privasi & Sabotase DNS: Blokir 1,7 Juta Domain Setan
/ 22 min read
Updated:Table of Contents
Pendahuluan: My Paranoia
Sebelum masuk ke pembahasan teknis, izinkan aku menjelaskan terlebih dahulu mengapa aku sampai melakukan semua ini.
Aku sebetulnya bukan tipe orang yang percaya pada teori konspirasi secara berlebihan. Tapi aku juga bukan orang yang naif tentang bagaimana dunia digital itu bekerja. Dari tulisan sebelumnya tentang Kesadaran Privasi Digital, kita sudah tahu fakta pahitnya bahwa smartphone kita itu tidak pernah benar-benar diam. Bahkan ketika layar sedang terkunci seklipun dan tidak ada aplikasi yang terbuka, perangkat kita tetap sibuk “berbisik” dibelakang mengirimkan data ke server di belahan dunia entah dimana tempatnya.
Tapi apa yang bisa kita lakukan tentang itu?
Apakah kita harus pasrah saja? Menerima bahwa privasi adalah barang mewah yang tidak bisa dijangkau oleh orang biasa? Bahwa untuk “bebas” dari pengawasan, kita harus keluar dari grid tersebut sepenuhnya, seperti dengan hidup tanpa smartphone, tanpa internet, tanpa koneksi ke dunia modern?
Aku menolak premis itu.
Karena menurutku ada jalan tengah. Tidak sempurna, tidak absolut, tapi setidaknya memberi kita kendali lebih. Dan itulah yang proyek ini coba aku wujudkan.
Mengapa Aku Melakukan Ini?
Ada beberapa lapisan kekhawatiran yang mendorong proyek ini.
Pertama, ketidakpercayaanku pada “privasi default.” Setiap kali membeli perangkat baru, entah itu HP, laptop, atau smart TV, pengaturan defaultnya hampir selalu memaksimalkan pengumpulan data. Kita harus secara aktif mencari dan mematikan berbagai opsi “pengalaman yang dipersonalisasi” atau “kirim data diagnostik untuk membantu kami meningkatkan layanan.” Dan seperti yang sudah kita bahas sebelumnya, bahkan setelah kita mematikan semua itu, data tetap saja mengalir.
Kedua, eksploitasi berbasis iklan. Internet modern adalah ladang iklan. Setiap halaman web dipenuhi tracker, setiap aplikasi menyisipkan analitik. Bukan hanya mengganggu, iklan ini juga menjadi vektor serangan malware dan phishing. Berapa kali kita hampir terjebak iklan palsu yang menyamar sebagai tombol download?
Ketiga, dan ini mungkin terdengar paranoid. To be honest, aku tidak sepenuhnya percaya pada institusi. Baik itu perusahaan teknologi besar yang bisnisnya dibangun di atas data kita, maupun pemerintah yang semakin mahir dalam pengawasan digital. Indonesia sendiri sudah punya UU ITE yang kontroversial, dan riwayat “pembocoran data” dari berbagai institusi pemerintah yang seharusnya menjaga data warganya.
Jadi, daripada hanya mengeluh di X/Twitter atau pasrah pada keadaan, aku memutuskan untuk melakukan sesuatu yang konkret. Sebuah proyek kecil yang bisa aku kendalikan sepenuhnya yaitu:
MEMBANGUN GATEWAY KEAMANAN JARINGANKU SENDIRI.
Dan soal foto cover di tulisan ini… ya, memang sengaja provokatif. Itu sebetulnya foto lama yang diambil dari webcam laptop ketika gabut, dengan gesture yang bisa dibilang cukup kasar. Tapi ada alasannya. Gesture itu aku tujukan untuk mereka, para pelanggar privasi: Big Tech yang menjadikan data kita sebagai komoditas, pengiklan yang melacak setiap klik, dan siapapun, baik korporasi, elit, maupun pemerintah yang merasa berhak mengintip kehidupan digital kita tanpa izin. Anggap saja itu pernyataan visual dariku:
“Persetan dengan kalian. Aku akan rebut kembali hak kendali atas semua data-dataku, wahai para pengintip dan pencuri badzingan… 😂”
Mungkin terkesan dramatis. Tapi ya… di era dimana ketika privasi dijual murah dan pengawasan dinormalisasi begini, sedikit bumbu “provokasi” mungkin memang diperlukan.
Filosofi di Balik Proyek
Sebelum masuk ke detail teknis, penting untuk memahami prinsip-prinsip yang mendasari mengapa aku membuat proyek ini:
1. Defense in Depth
Keamanan yang baik tidak bergantung pada satu lapisan perlindungan saja. Ibarat rumah, kita tidak hanya mengandalkan kunci pintu depan. Kita juga punya pagar, teralis jendela, dan mungkin alarm. Proyek ini menambahkan satu lapisan pertahanan di level jaringan, sebelum data mencapai perangkat, atau sebelum data keluar dari jaringan kita.
2. Transparency over Trust
Kita tidak bisa mempercayai apa yang tidak bisa kita lihat. Dengan membangun sistem monitoring sendiri, kita bisa melihat dengan mata kepala sendiri siapa yang terhubung ke jaringan milik kita, domain apa yang diakses, dan berapa banyak “kebisingan” yang datang dari iklan dan pelacak.
3. Low-Cost, High-Impact
Tidak perlu peralatan mahal untuk mulai menjaga privasi. Sebuah STB bekas yang harganya tidak sampai 200 ribu rupiah sudah cukup untuk membangun infrastruktur yang kita butuhkan.
4. Melawan Dark Patterns
Tahukah, bahwa faktanya banyak website dan aplikasi sengaja dirancang untuk memanipulasi keputusan kita? Seperti tombol “Accept All Cookies” yang besar dan mencolok, sementara “Reject” disembunyikan dalam teks kecil. Pop-up yang muncul tepat saat mau menutup halaman. Ini semua adalah dark patterns, taktik manipulatif yang dirancang untuk mengambil data kita tanpa disadari. Dengan memblokir tracker di level jaringan, kita bisa memotong sebagian besar skema ini sebelum sempat bekerja.
Bagian 1: Hardware & OS Hardening
Sebelum menyentuh aplikasi, kita harus memastikan “fondasi” STB B860H ini mampu menahan beban database adlist nantinya.
Catatan tentang “1,7 Juta Domain” di judul. Angka itu adalah jumlah domain di setup-ku. Kita sebetulnya tidak harus menggunakan sebanyak itu. Adlist bisa disesuaikan dengan kebutuhan sendiri. Mulai dari yang ringan (ratusan ribu domain) sampai yang agresif seperti punyaku ini. Intinya, sesuaikan dengan apa yang ingin diblokir: iklan saja, tracker, malware, atau semuanya sekaligus.
Mari kita mulai dari fondasinya terlebih dahulu.
Prasyarat
Disclaimer juga. Aku sadar bahwa hal-hal teknis yang dibahas di tulisan ini tidak begitu friendly untuk orang-orang yang belum punya pengalaman di dunia IT. Ada terminal, Docker, konfigurasi jaringan, dan istilah-istilah lainnya yang mungkin terdengar asing. Tapi justru itu alasanku menulis ini, agar ada dokumentasi berbahasa Indonesia yang bisa jadi referensi. Kalau kamu pemula total, jangan berkecil hati. Simpan dulu, pelajari pelan-pelan, atau cari teman yang bisa bantu. Ini seru kok, meski tidak mudah.
Sebelum mengikuti tutorial ini, pastikan sudah memiliki:
- ✅ STB dengan Armbian terinstal - Tutorial instalasi Armbian di STB tersedia di dokumentasinya, berbagai forum dan video YouTube
- ✅ Akses SSH ke STB - Bisa login via terminal dengan
ssh user@IP-STB -p 22 - ✅ Docker & Docker Compose terinstal - Cek dengan
docker --versiondandocker compose version - ✅ Akses admin router - Untuk konfigurasi DHCP nanti
Hardware: STB Fiberhome B860H
Proyek ini dibangun di atas infrastruktur yang sangat low-budget, yaitu dari sebuah Set-Top Box (STB) B860H bekas dari provider IPTV. Tidak harus yang tipe B860H, bisa juga pakai yang tipe HG680P, malahan yang tipe tersebut lebih bagus daripada yang tipe B860H menurutku.
Kenapa STB bekas? Kenapa tidak pakai SBC seperti Raspberry Pi dan sebagainya saja?
- Harga murah: Banyak dijual di marketplace dengan harga 100-200 ribu rupiah
- Konsumsi daya rendah: Tidak seperti PC atau server tradisional yang rakus listrik
- Ukuran kecil: Bisa ditempatkan dimana saja tidak memakan banyak space
- Performa memadai: Untuk tugas DNS filtering dan network monitoring sudah dari cukup, jika pakai SBC rasanya sayang sekali karena bakalan terlalu overkill.
STB Fiberhome B860H ini sudah aku konversi untuk bisa menjalankan Armbian Linux, sebuah distribusi Linux yang dioptimasi untuk perangkat ARM. Di atas Armbian, aku juga menjalankan Docker Engine, semacam “kotak virtual” yang mengisolasi aplikasi agar tidak mengganggu sistem utama. Dengan Docker, kita bisa menginstal berbagai layanan tanpa takut konflik atau mengotori sistemnya.
Alokasi Virtual Memory (Swap)
RAM fisik STB yang hanya 1GB-2GB akan cepat penuh saat proses indexing domain. Kita menggunakan Swap File sebagai cadangan memori. Opsional sebetulnya, tapi untuk jaga-jaga.
Mengingat RAM fisik di STB ini terbatas, dan Pi-hole dengan database besar membutuhkan memori yang cukup, aku mengaktifkan Swap file sebesar 2GB. Ini nantinya berfungsi sebagai “RAM cadangan” yang menggunakan storage sebagai pengganti memori fisik.
Langkah Teknis Pembuatan Swap:
# 1. Buat file sebesar 2GBsudo fallocate -l 2G /swapfile# Alternatif jika fallocate tidak tersedia:# sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
# 2. Set izin akses terbatas (keamanan)sudo chmod 600 /swapfile
# 3. Format menjadi area swapsudo mkswap /swapfile
# 4. Aktifkan swapsudo swapon /swapfile
# 5. Agar permanen setelah reboot, tambahkan ke /etc/fstab:echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstabApakah swap memperlambat sistem? Ya, sedikit sih. Tapi untuk use case DNS query yang tidak terlalu intensif, tradeoff ini sangat layak. Sistem tetap responsif bahkan ketika database mencapai hampir 1,7 juta domain.
Network Identity (Static IP)
Agar server ini bisa diandalkan sebagai DNS resolver, IP address-nya tidak boleh berubah-ubah. Aku mengaturnya langsung dari Router ZTE (sesuaikan dengan router masing-masing), bukan di setting OS Armbian.
Langkah Konfigurasi (DHCP Binding):
- Masuk ke halaman admin router (
192.168.1.1) - Cari menu Network > LAN > DHCP Binding (atau Address Reservation)
- Masukkan MAC Address STB B860H
- Tetapkan IP target. Contoh misalnya menjadi:
192.168.1.12
Dengan cara ini, router akan selalu memberikan “tiket VIP” berupa IP 192.168.1.12 khusus untuk STB ini setiap kali ia terhubung. Jauh lebih aman daripada mengotak-atik file config jaringan di Linux yang berisiko bikin server tidak bisa diakses jika salah ketik.
Bagian 2: Implementasi Monitoring Jaringan dengan WatchYourLAN
Langkah pertama dalam keamanan jaringan adalah visibility, mengetahui siapa saja yang berada di jaringan kita.
Apa itu WatchYourLAN?
WatchYourLAN adalah tool monitoring yang memantau tabel ARP (Address Resolution Protocol) secara real-time. Sederhananya, ARP adalah “buku alamat” jaringan lokal yang mencatat siapa punya alamat apa. Dengan memantau tabel ini, WatchYourLAN bisa mengawasi siapa saja yang terhubung ke jaringan kita.
Mengapa Ini Penting?
Coba bayangkan skenario ini. Tetangga punya password WiFi kita (entah itu kita kasih atau dia crack sendiri). Atau lebih buruk lagi, ada perangkat asing yang terhubung tanpa sepengetahuan, mungkin IoT device yang terinfeksi malware, atau laptop yang sudah di-compromise, perangkat mata-mata pemerintah, elit global atau apapun itu. Pikirkan saja kemungkinan worst case yang bisa terjadi.
Tanpa monitoring, kita tidak akan pernah tahu hal tersebut.
Dengan WatchYourLAN, setiap perangkat yang terhubung ke jaringan akan tercatat:
- Alamat MAC: Identitas unik hardware jaringan
- Vendor: Pabrikan perangkat (terdeteksi dari MAC address)
- IP Address: Alamat dalam jaringan lokal
- Waktu pertama terdeteksi
- Status online/offline
Deployment WatchYourLAN
Kita jalankan ini di Docker agar rapi dan terisolasi.
Buat direktori proyek:
mkdir ~/watchyourlan && cd ~/watchyourlanBuat file docker-compose.yml (gunakan nano docker-compose.yml untuk membuat dan mengedit):
services: watchyourlan: image: aceberg/watchyourlan network_mode: "host" restart: unless-stopped environment: TZ: 'Asia/Jakarta' IFACES: 'eth0' # Ganti dengan interface jaringan sendiri (cek dengan perintah `ip a`) HOST: '0.0.0.0' PORT: '8840' THEME: 'dark' # Opsional: Tema gelap volumes: - './wyl_data:/data/WatchYourLAN'Jalankan container:
docker compose up -dSetelah selesai, akses dashboard di http://IP-STB:8840 (contoh: http://192.168.1.12:8840).
Setiap perangkat baru yang mencoba terhubung akan langsung muncul di dashboard. Ini memberikan kontrol penuh terhadap akses ke WiFi milik kita. Kalau ada MAC address yang tidak dikenal, aku bisa langsung investigasi atau block di router.
Menandai Perangkat: Known vs Unknown
Fitur penting di WatchYourLAN adalah kemampuan untuk menandai status perangkat. Di dashboard, setiap perangkat memiliki kolom status yang bisa diubah:
- Known: Perangkat yang kita kenal dan percaya (HP keluarga, laptop kerja, smart TV, dll)
- Unknown: Perangkat baru yang belum diverifikasi
Cara Menggunakan:
- Buka daftar perangkat di dashboard
- Klik pada perangkat yang ingin ditandai
- Ubah statusnya menjadi Known jika itu perangkat milik sendiri/yang dikenal
- Biarkan sebagai Unknown jika mencurigakan
Dengan sistem ini, ketika ada perangkat baru yang muncul (yang statusnya Unknown), kita akan langsung tahu bahwa itu bukan perangkat yang sudah kita daftarkan sebelumnya, alias kemungkinan besar itu “penyusup” yang harus diinvestigasi.
Integrasi dengan Telegram Bot: Notifikasi Real-Time
Dashboard web memang bagus, tapi aku tidak mungkin 24 jam memantau layar dashboard-nya. Solusinya? Integrasikan dengan Telegram Bot.
WatchYourLAN mendukung notifikasi via Telegram, sehingga setiap kali ada perangkat baru yang terhubung ke jaringan, aku bisa langsung mendapat notifikasi di HP. Ini akan sangat berguna untuk:
- Early Warning System: Jika ada perangkat asing yang tiba-tiba muncul, aku akan langsung tahu, bahkan saat sedang tidak di rumah sekalipun.
- Portable Audit Log: Riwayat chat Telegram ini berfungsi sebagai log portabel untuk melihat siapa saja yang pernah terhubung.
- Trigger Tindakan Cepat: Begitu ada notifikasi mencurigakan, aku bisa segera login ke router (remote management) dan memblokir MAC address tersebut secara manual.
Apakah WYL Bisa Mencegah Penyadapan?
Jawabannya: Ya, untuk penyadapan level jaringan lokal. Kebanyakan teknik hacking seperti Man-in-the-Middle (MitM) atau pemasangan alat penyadap fisik membutuhkan pelaku untuk terhubung ke jaringan milik kita terlebih dahulu.
WatchYourLAN bertindak sebagai “alarm maling”. Sebelum hacker sempat menjalankan script penyadap, notifikasi Telegram sudah masuk duluan memberitahu ada perangkat asing masuk. Kita sudah bisa menang satu langkah.
Cara kerjanya:
Langkah 1: Buat Bot Telegram
- Buka Telegram, cari @BotFather
- Ketik
/newbotdan ikuti instruksinya - Beri nama bot (contoh: “WatchYourLAN Alert”)
- Catat Token API yang diberikan (format:
123456789:ABCdefGHI...)
Langkah 2: Dapatkan Chat ID
- Cari bot @userinfobot di Telegram
- Klik Start, dan bot akan membalas dengan info kita
- Catat angka Id (contoh:
123456789)
Langkah 3: Konfigurasi di Web GUI WatchYourLAN
- Buka dashboard WatchYourLAN di browser (
http://192.168.1.12:8840) - Masuk ke menu Config
- Isi field Shoutrrr URL dengan format:
Contoh:telegram://TOKEN@telegram?chats=CHAT_IDtelegram://123456789:ABCdefGHIjklMNOpqrsTUVwxyz@telegram?chats=123456789
- Klik Save
Sekarang setiap ada perangkat baru yang terhubung ke jaringan, kita akan langsung dapat notifikasi di Telegram.
I can see every single device lurking on my network now 😈…
Dengan setup ini, jaringan milikku tidak pernah benar-benar “tanpa pengawasan” bahkan ketika aku sedang di luar aku bisa tahu ada siapa saja yang terhubung, yang memang benar-benar aku ketahui dan siapa yang “anomali” yang tidak aku ketahui.
Bagian 3: Membangun Benteng Utama: Pi-hole
Masih sama menggunakan Docker agar sistem utamanya tetap bersih dari dependensi Pi-hole. Ini adalah jantung dari seluruh proyek ini.
Apa itu Pi-hole?
Sebelum memahami Pi-hole, penting untuk tahu cara kerja DNS. Singkatnya, setiap kali kita mengetik google.com di browser, komputer akan bertanya ke server DNS, “Alamat IP-nya si domain ini berapa boss?”, lalu DNS akan membalasnya dengan memberikan alamat IP yang ingin kita tuju. Intinya, DNS adalah “buku telepon” internet yang menerjemahkan nama domain menjadi alamat IP. Pi-hole memanfaatkan mekanisme ini untuk memfilter lalu lintas.
Pi-hole bisa dibilang adalah DNS sinkhole yang berfungsi sebagai filter untuk seluruh jaringan. Cara kerjanya sederhana namun sangat efektif:
- Setiap perangkat yang terhubung ke jaringan akan meminta resolusi DNS melalui Pi-hole
- Pi-hole memeriksa apakah domain yang diminta ada di blocklist
- Kalau ada, Pi-hole mengembalikan alamat kosong (0.0.0.0) sehingga iklan/tracker/mata-mata dan sebagainya tidak pernah ter-load
- Kalau tidak ada di blocklist, Pi-hole meneruskan query ke upstream DNS (DNS “di atas” Pi-hole yang akan menjawab pertanyaan, seperti Cloudflare atau Google)
Hasilnya? Iklan dan tracker diblokir sebelum data mereka sempat ter-download! Bukan hanya menghemat bandwidth, tapi juga bisa mempercepat loading halaman dan tentunya bisa melindungi privasi kita.
Docker Compose Configuration
Buat direktori proyek terlebih dahulu:
mkdir ~/pihole-server && cd ~/pihole-serverKemudian buat file docker-compose.yml (gunakan nano docker-compose.yml):
services: pihole: container_name: pihole image: pihole/pihole:latest network_mode: "host" environment: TZ: 'Asia/Jakarta' # Ganti password web interface di sini (v6 format) FTLCONF_webserver_api_password: 'ganti_dengan_password_kamu' FTLCONF_dns_listeningMode: 'ALL' volumes: - './etc-pihole:/etc/pihole' restart: unless-stoppedCatatan Penting:
FTLCONF_webserver_api_password: Format baru di Pi-hole v6 untuk mengatur password login.network_mode: "host": Mode ini membuat container Docker “menyatu” dengan jaringan kita secara langsung, bukan terisolasi. Ini memungkinkan Pi-hole melihat IP asli setiap perangkat yang terhubung (bukan IP gateway Docker), fitur krusial untuk monitoring.restart: unless-stopped: Memastikan Pi-hole otomatis jalan setelah STB reboot.
Jalankan dengan:
docker compose up -dSetelah container berjalan, akses dashboard Pi-hole di browser: http://IP-STB/admin (contoh: http://192.168.1.12/admin). Login menggunakan password yang sudah di-set di FTLCONF_webserver_api_password.
Tips: Jika lupa password web interface di kemudian hari, bisa di-reset dengan perintah:
docker exec -it pihole pihole -a -p
Error Port 53? Jika Pi-hole gagal start karena port 53 sudah digunakan, kemungkinan systemd-resolved nya aktif. Nonaktifkan dengan:
sudo systemctl disable systemd-resolvedsudo systemctl stop systemd-resolvedLalu edit /etc/resolv.conf dan set nameserver 127.0.0.1 atau dengan IP router-nya.
Router-Level Traffic Redirection (DHCP Hijacking)
Kita akan melakukan “pembajakan” trafik DNS secara legal di level router ZTE F670L agar semua perangkat di jaringan wajib melewati Pi-hole terlebih dahulu.
Catatan Penting: Setiap router (TP-Link, Huawei, ZTE, dll) memiliki tampilan antarmuka dan penamaan menu yang berbeda-beda. Panduan di bawah ini adalah contoh untuk router ZTE F670L. Silakan sesuaikan dengan menu di router masing-masing (biasanya ada di bagian LAN atau Network).
Langkah-langkah untuk DHCP Server Hijacking:
- Akses admin router di
192.168.1.1 - Cari menu Application > DHCP Server
- DNS Server1 IP Address: Masukkan IP server Pi-hole-nya (contoh:
192.168.1.12) - ISP DNS: Set ke Off
Analisis Teknis: Jika ISP DNS tetap On, browser dan aplikasi akan mencoba “curang” dengan melewati Pi-hole melalui DNS bawaan provider. Pastikan ISP DNS dimatikan.
Dengan konfigurasi ini, setiap perangkat yang terhubung via DHCP akan otomatis menggunakan Pi-hole sebagai DNS resolver-nya.
Kendala: DNS Upstream
Di awal deployment, aku menggunakan Google DNS (8.8.8.8 dan 8.8.4.4) sebagai upstream. Tapi ternyata ada masalah:
TCP connection failed to 8.8.4.4Query rejected: recursion not allowedSetelah investigasi, sepertinya ada pembatasan dari ISP yang aku gunakan atau routing yang bermasalah ke Google DNS.
Solusinya? Beralih ke Cloudflare DNS (1.1.1.1) dengan DNSSEC.
Pada menu Settings > DNS di Pi-hole:
- Centang Cloudflare (DNSSEC)
- Uncheck Google DNS
Logika DNSSEC: Menjamin bahwa domain yang kita akses tidak dipelintir oleh pihak ketiga yang tidak bertanggung jawab karena setiap jawaban DNS itu divalidasi dengan kunci digital. Ini seperti sertifikat SSL tapi untuk DNS.
DoH vs DoT
Untuk level privasi lebih tinggi, ada dua protokol enkripsi DNS yang perlu diketahui:
- DNS over HTTPS (DoH): Menyamarkan traffic DNS sebagai HTTPS biasa (port 443), sulit diblokir
- DNS over TLS (DoT): Menggunakan port khusus (853), lebih mudah diidentifikasi tapi agak lebih cepat
Pi-hole mendukung keduanya jika dikombinasikan dengan Unbound sebagai recursive resolver. Ini adalah level lanjutan yang bisa kita eksplorasi setelah setup dasar ini berjalan dengan baik.
Setelah beralih ke Cloudflare, semua query berjalan lancar.
Bagian 4: The Adlist Weaponry
Di sinilah “sihir” sesungguhnya terjadi. Pi-hole hanya seefektif blocklist yang digunakannya. Ini adalah detail “amunisi” yang membuat skor AdBlock Tester kita bisa meningkat drastis!
Fase 1: Baseline (Default Pi-hole)
Pi-hole datang dengan blocklist bawaan yang sangat minimal. Tanpa kustomisasi, hasilnya tidak terlalu wah menurutku:
- Masih banyak iklan yang lolos, terutama dari domain first-party dan tracker canggih
- Telemetri smartphone tetap tembus
Ini jelas-jelas tidak cukup untuk level paranoia yang aku inginkan 😂.
Fase 2: Kurasi Adlist Agresif
Setelah riset dan trial-error, aku mengumpulkan 21 blocklist dari berbagai sumber terpercaya. Hasilnya? 1.7 juta domain siap diblokir!
Masukkan URL berikut ke dalam Group Management > Lists di dashboard Pi-hole:
Core Blocklists
| Kategori | URL |
|---|---|
| OISD Big | https://big.oisd.nl/ |
| HaGezi Ultimate | https://raw.githubusercontent.com/hagezi/dns-blocklists/main/domains/ultimate.txt |
| HaGezi Pro Plus | https://raw.githubusercontent.com/hagezi/dns-blocklists/main/domains/pro.plus.txt |
| HaGezi Pro | https://raw.githubusercontent.com/hagezi/dns-blocklists/main/domains/pro.txt |
| StevenBlack Unified | https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts |
| AdAway | https://adaway.org/hosts.txt |
| o0 Lite | https://o0.pages.dev/Lite/hosts.txt |
Catatan tentang HaGezi: Sebenarnya tidak harus memasukkan ketiga varian HaGezi (Ultimate, Pro Plus, Pro) sekaligus seperti yang aku lakukan. Pilih salah satu saja sesuai kebutuhan misalnya Pro untuk blocking standar, Pro Plus untuk yang lebih ketat, atau Ultimate untuk level paling agresif. Aku memasukkan semuanya karena iseng saja sih hehe…
Privacy & Tracker Blocklists
| Kategori | URL |
|---|---|
| First-Party Trackers | https://hostfiles.frogeye.fr/firstparty-trackers-hosts.txt |
| FadeMind 2o7Net | https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.2o7Net/hosts |
| AnudeepND Adservers | https://raw.githubusercontent.com/anudeepND/blacklist/master/adservers.txt |
| Windows Spyware | https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt |
Security & Anti-Phishing
| Kategori | URL |
|---|---|
| Blocklistproject Abuse | https://raw.githubusercontent.com/blocklistproject/Lists/master/abuse.txt |
| Blocklistproject Phishing | https://raw.githubusercontent.com/blocklistproject/Lists/master/phishing.txt |
| Phishing Army Extended | https://phishing.army/download/phishing_army_blocklist_extended.txt |
| Crypto Mining Block | https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt |
Regional & Specialized Blocklists
| Kategori | URL |
|---|---|
| Smart TV Ads | https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/SmartTV.txt |
| Polish Ads (KADhosts) | https://raw.githubusercontent.com/PolishFiltersTeam/KADhosts/master/KADhosts.txt |
| Vietnamese Ads | https://raw.githubusercontent.com/bigdargon/hostsVN/master/hosts |
Content Filter (Opsional)
| Kategori | URL |
|---|---|
| Gambling Sites | https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling/hosts |
| Adult Content | https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/porn/hosts |
| Fake News | https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews/hosts |
Catatan tentang Redundansi: Ada beberapa list di atas memang ada yang tumpang tindih (redundan dsb). Tapi karena aku malas menyortir satu-satu, aku paste semuanya dan biarkan Pi-hole yang mengurus deduplikasinya secara otomatis. 😁
Setelah menambahkan semua list, kita perlu mengupdate database blocklist (gravity). Ada dua cara:
Cara 1: Via Web GUI (Direkomendasikan)
- Masuk ke Tools > Update Gravity
- Klik tombol Update
- Tunggu hingga proses selesai (Success)
Cara 2: Via Terminal (Docker) Karena kita menjalankan Pi-hole di dalam container, gunakan perintah berikut:
docker exec -it pihole pihole -gProses ini akan mengunduh dan memparsing jutaan domain dari list yang sudah kita masukkan tadi.
Backup Konfigurasi: Jangan lupa gunakan fitur Teleporter di Settings > Teleporter untuk backup semua konfigurasi Pi-hole (adlist, whitelist, settings). Kalau suatu hari STB bermasalah, kita bisa restore dengan cepat tanpa konfigurasi ulang dari awal lagi.
Nuclear
Untuk perlindungan maksimal, kombinasi list di atas itu sudah termasuk mencakup “big guns”:
- HaGezi Pro: Salah satu list paling komprehensif, mencakup iklan, tracking, phishing, dan malware
- OISD Full: Gabungan dari ratusan sumber blocklist yang dikurasi dengan cermat
- AdAway: List populer dari komunitas Android
Hasil Akhir “Statistik Persenjataan”
Setelah semua list terintegrasi dan ter-update:
| Metrik | Nilai |
|---|---|
| Total Domain Diblokir | 1,753,804 |
| Persentase Query Diblokir | ~27% (bervariasi tergantung aktivitas) |
| Penggunaan Memori | Stabil di 28.7% |
1,7 juta domain dalam database blocklist. Itu berarti ada 1,7 juta “pintu” yang tidak bisa diketuk oleh iklan dan pelacak.
Dayyummm yeah…
Dan yang mengejutkan, dengan optimasi Swap file, sistem tetap responsif. DNS query masih terselesaikan dalam hitungan milidetik.
Bagian 5: Forensic Monitoring & Performance Analysis
Salah satu keuntungan terbesar Pi-hole adalah transparansi yang diberikannya. Data nyata dari hasil audit jaringan.
Statistik Real-Time
Dashboard Pi-hole menunjukkan data yang sangat informatif. Sejak pertama kali Pi-Hole tersebut digunakan hingga tulisan ini dibuat, datanya menunjukkan:
- Total Queries: 12,465 permintaan DNS dari seluruh jaringan
- Queries Blocked: 3,370 yang berhasil diblokir
- Percentage Blocked: 27% rasio efektivitas filter
- Active Clients: 10 perangkat terhubung
Dalam penggunaan sehari-hari, sekitar 27% dari semua DNS query adalah iklan atau tracker. Itu berarti kesimpulannya jika tanpa Pi-hole, hampir sepertiga dari traffic internet di jaringanku adalah “sampah” yang tidak diminta.
Mendeteksi “Penyadapan” via Query Log
Fitur Query Log adalah senjata forensik yang powerful:
- Buka Query Log
- Cari baris-baris yang berwarna merah (status: Blocked)
- Identifikasi IP perangkat dan domain yang diblokir
Contoh Temuan Nyata dari Screenshot:
Bisa dilihat, beberapa dari sekian banyaknya Query Log, terlihat ada dua jenis domain yang paling sering diblokir:
| Domain | Asal IP | Analisis |
|---|---|---|
ogads-pa.clients6.google.com | 192.168.1.6, 192.168.1.11 | Google Ads Tracking - Domain ini digunakan Google untuk melacak aktivitas iklan di aplikasi dan browser. Setiap kali aplikasi menampilkan iklan, domain ini dipanggil untuk merekam data kita. |
obus-sg.dc.heytapmobile.com | 192.168.1.2 | Oppo/Realme Telemetry (HeyTap) - Ini adalah server telemetri milik Oppo (HeyTap adalah layanan cloud Oppo). Smartphone Oppo/Realme secara diam-diam mengirimkan data penggunaan ke server ini. |
Perhatikan bahwa domain obus-sg.dc.heytapmobile.com dipanggil berulang-ulang dalam interval pendek (lihat timestamp di screenshot). Ini menunjukkan smartphone Oppo/Realme sangat agresif dalam mengirim telemetri.
Status Blocked membuktikan bahwa data-data ini tidak jadi terkirim keluar berkat aksi dari Pi-hole.
Ini menjadi bukti bahwa paranoia ku soal privasi digital itu tidak mengada-ada. Data di atas adalah bukti nyata bahwa perangkat kita memang “berbicara” di belakang kita. Bedanya sekarang, kita punya kendali untuk membungkam mereka.
Identifikasi Perangkat yang “Berisik”
Melalui dashboard, kita bisa melihat klien mana yang paling banyak mengirim query yang diblokir. Tidak mengejutkan, smartphone Android (Oppo dan Realme dalam kasusku) adalah yang paling “berisik”.
Ini memvalidasi apa yang sudah kita bahas di tulisan sebelumnya di Kesadaran Privasi Digital bahwa smartphone dengan OS vendor memang aktif mengirimkan data kita ke berbagai server. Riset dari Trinity College Dublin juga mengonfirmasi hal yang sama: smartphone Android mengirimkan telemetri bahkan ketika idle.
Bayangkan jika yang dikirimkan kepada mereka itu adalah data-data pribadi dan sensitif milik kita?
Resource Benchmarking
Dengan hampir 1,7 Juta domain di database:
| Metrik | Nilai | Interpretasi |
|---|---|---|
| Memory Usage | 28.1% | Berhasil berkat bantuan Swap |
| Load Average | 0.00 / 0.02 / 0.05 | CPU hampir idle, sangat ringan |
| Query Rate | 16 q/min | Traffic DNS normal untuk 10 perangkat |
Artinya: CPU STB masih sangat longgar (load mendekati 0). Server ini tidak hanya jadi DNS filter, tapi masih punya banyak sisa tenaga untuk menjalankan service lain secara bersamaan.
Keterbatasan & Catatan Penting
Sebelum terlalu bersemangat dan ingin membangun sistem yang serupa denganku ini, ada beberapa hal yang perlu dipahami:
1. Pi-hole Bukan Solusi Sempurna
Pi-hole bekerja di level DNS. Ini berarti:
- Tracker yang menggunakan IP address langsung (bukan domain) tetap bisa lolos
- Iklan yang dihost di domain yang sama dengan konten utama sulit diblokir
- Beberapa layanan (seperti YouTube ads dan semisalnya) sangat sulit diblokir karena terintegrasi erat dengan konten
2. Membutuhkan Maintenance
Blocklist perlu di-update secara berkala. Ada tools gravity sync dan cron job yang bisa membantu, tapi tetap perlu perhatian sesekali dari kita.
3. Potensi False Positive
Kadang blocklist yang terlalu agresif bisa memblokir domain yang seharusnya tidak diblokir. Ini bisa menyebabkan beberapa website atau aplikasi tidak berfungsi dengan benar. Solusinya: whitelist domain yang bermasalah.
4. Tidak Menggantikan VPN
Pi-hole tidak mengenkripsi traffic internet. Kalau memang mau benar-benar butuh privasi dari ISP atau pihak ketiga yang mengintip traffic, tetap perlu VPN.
Kesimpulan: Langkah Kecil Menuju Kendali Lebih Besar
Setelah membuat proyek ini, ada beberapa hal yang ingin aku sampaikan:
Pertama, dengan hardware seadanya dan sedikit konfigurasi teknis, kita bisa memiliki tingkat keamanan dan privasi jaringan yang jauh lebih baik dari default.
Kedua, transparansi itu penting. Dengan melihat sendiri berapa banyak query iklan dan tracker yang berasal dari perangkat kita, kesadaran tentang privasi menjadi lebih nyata, bukan sekedar teori abstrak tanpa pembuktian.
Ketiga, privasi adalah proses, bukan tujuan akhir. Tidak ada solusi yang sempurna, tapi setiap lapisan perlindungan yang kita tambahkan adalah satu langkah maju.
Apa Selanjutnya?
Proyek ini akan masih terus berkembang. Beberapa hal yang sedang aku eksplorasi:
- AdGuard Home sebagai alternatif Pi-hole dengan fitur tambahan
- Unbound sebagai recursive DNS resolver untuk menghilangkan ketergantungan pada upstream DNS
- VPN Server untuk akses aman ke jaringan ketika sedang di luar
- Intrusion Detection System (IDS) untuk monitoring yang lebih advanced
Tapi untuk sekarang, aku sudah cukup puas. Setiap kali melihat statistik Pi-hole (ribuan query diblokir setiap hari), ada rasa kepuasan tersendiri 😂.
Seperti kata pepatah:
The best time to plant a tree was 20 years ago. The second best time is now.
Kalau memang ingin benar-benar peduli dengan privasi, jangan tunggu sampai semuanya “siap” atau “sempurna”. Mulai dari yang kecil. Mulai dari yang bisa dikontrol. Mulai sekarang.
Di era ini, privasi hampir menjadi mitos. Mata-mata digital ada di mana-mana: di smartphone yang kita genggam, di smart TV yang kita tonton, di asisten virtual yang “mendengarkan” kita 24/7. Edward Snowden, sang whistleblower, pada tahun 2013, sudah membuktikan kepada dunia bahwa pemerintah dan korporasi raksasa memang mengawasi kita secara massal.
Apa program-program yang ia ungkap ke publik?
- PRISM: Program yang memungkinkan NSA mengakses langsung server Google, Facebook, Apple, Microsoft, dan raksasa teknologi lainnya
- XKeyscore: Sistem pencarian yang bisa melihat “hampir semua” aktivitas internet seseorang, email, browsing history, chat, semuanya
- Boundless Informant: Tools visualisasi yang menunjukkan berapa banyak data yang dikumpulkan dari setiap negara
Ini bukan teori konspirasi. Ini kenyataan yang terdokumentasi dengan bukti-bukti!
Tahu yang lebih mengerikannya lagi apa?
Itu baru yang terungkap. Bayangkan apa yang masih tersembunyi tanpa kita ketahui sedikitpun?
Tapi di sinilah letak kekuatan kita sebagai individu, kita tidak harus menjadi korban pasif. Setiap langkah kecil, seperti membangun proyek Pi-hole sederhana ini (aku menyebutnya “Proyek Cyber Paranoia”), adalah suatu bentuk perlawanan dariku pribadi. Bukan perlawanan dengan senjata, tapi dengan pengetahuan dan kendali yang aku buat sendiri.
Arguing that you don’t care about the right to privacy because you have nothing to hide is no different than saying you don’t care about free speech because you have nothing to say. -Edward Snowden
Proyek ini mungkin tidak akan bisa menghentikan “spy-spy” sekelas NSA, GCHQ dan semisalnya. Tetapi setidaknya, ketika aku tidur di malam hari, aku tahu bahwa data-dataku tidak mengalir bebas ke server-server asing tanpa izin dan sepengetahuanku. Dan itu, menurutku, adalah kemenangan kecil yang layak untuk dirayakan.
Karena menulis dan berbagi itu adalah salahsatu hobi dan kesenanganku, semoga tulisan ini bisa bermanfaat dan bisa membantu bagi siapapun yang membacanya.
As always…
Salam Pengembara 🖐️
Referensi & Bacaan Lanjutan
Dokumentasi Teknis
- Pi-hole Documentation - Dokumentasi resmi Pi-hole
- Pi-hole GitHub Repository - Source code dan issue tracker
- WatchYourLAN GitHub - Network monitoring tool
- Docker Documentation - Dokumentasi resmi Docker
- Docker Compose Specification - Referensi docker-compose.yml
- Armbian Documentation - Linux untuk perangkat ARM
- Cloudflare 1.1.1.1 DNS - Privacy-focused DNS resolver
- DNSSEC Explained - Cara kerja DNSSEC
Privasi & Keamanan
- Electronic Frontier Foundation (EFF) - Organisasi hak digital
- Privacy Guides - Panduan privasi komprehensif
- PRISM Break - Alternatif software yang menghormati privasi
- Have I Been Pwned - Cek apakah data kita bocor
Edward Snowden & Pengawasan Massal
- The Guardian: NSA Files - Liputan lengkap dokumen Snowden
- Permanent Record - Edward Snowden - Autobiografi Snowden
- Citizenfour (2014) - Dokumenter pemenang Oscar tentang Edward Snowden
- EFF: NSA Spying - Timeline pengawasan NSA
Blocklist & Adlist Resources
- Firebog Blocklist Collection - Kurasi blocklist untuk Pi-hole
- HaGezi DNS Blocklists - Blocklist multi-purpose
- OISD Blocklist - Internet’s #1 domain blocklist
- StevenBlack Hosts - Unified hosts file
Artikel & Riset Terkait
- How DNS Works - Penjelasan visual cara kerja DNS
- The Web’s Most Annoying Dark Patterns - Praktik manipulatif di web
- Smartphone Telemetry Study - Riset Trinity College Dublin tentang telemetri Android
Jejak Pembaca
Bagaimana perasaanmu setelah membaca tulisan ini? Tinggalkan satu jejak di bawah.