Okay so this is something I keep running into. The first week I ran Pi-hole in my Patna flat, it blocked just over 38,000 DNS queries. Now, that’s not 38,000 ads exactly. It’s 38,000 requests to ad servers, trackers, and telemetry endpoints that were being quietly fired off by my devices behind my back. My smart TV alone accounted for a few thousand of them. And no browser extension can touch that traffic, because honestly most of it never goes near a browser in the first place.
Pi-hole deals with this one level down, at the network itself. It’s a small piece of software that sits on your home network and answers DNS questions for every device in the house. When a device asks “where is doubleclick.net?”, Pi-hole just refuses to answer. That ad request dies before a single byte of the ad ever downloads. If you want the proper theory of why this works, I wrote a full explainer on how DNS-level ad blocking works. This one’s the hands-on half: getting Pi-hole running in an Indian home, on Indian routers, for under ₹5,000.
why this matters more in India
Two reasons, really. First one is data caps. JioFiber’s entry plans, and most Jio and Airtel mobile plans, hand you somewhere around 1.5 to 3 GB a day. Ads, meanwhile, are heavier than people think. Video ads, auto-playing banners, tracking scripts, all of it can easily be 10 to 25 percent of the page weight on Indian news sites. When the DNS lookup for the ad server fails, that data is simply never pulled down the pipe. On a capped plan, that’s real headroom you get back. Every single day.
Second is device coverage. A browser extension guards one browser on one device, and that’s it. Everything else, Pi-hole covers. That Android TV running ad-stuffed launcher telemetry, the budget phone where every free app phones home, your parents’ tablets, the guests on your Wi-Fi. Nobody installs anything. The protection is just there, invisible, which is honestly how my whole family prefers it.
what you need, and what it costs
Pi-hole is famously light. It’ll run happily on hardware most of us would have thrown out as e-waste. Here are the realistic options for an Indian buyer in 2026.
| Hardware | Approx. cost | Power draw | Notes |
|---|---|---|---|
| Raspberry Pi Zero 2 W | around ₹2,500 | ~1 W | Enough for a flat with 10–15 devices |
| Raspberry Pi 4 (2 GB) | around ₹4,500 | ~3 W | The sweet spot; room to run more services later |
| Raspberry Pi 5 | ₹6,500–8,000 | ~4–5 W | Overkill for Pi-hole alone, great as a homelab base |
| Old laptop | free | 10–20 W | Built-in UPS thanks to the battery |
At Indian electricity rates of roughly ₹7–8 a unit, a Pi 4 running all year costs you about ₹200 in power. Think about that. A year of always-on ad blocking for less than a couple of restaurant meals. If you’ve already got a Pi doing other duty, Pi-hole shares the same box just fine. My list of Raspberry Pi 5 projects has ideas there. And if there’s a retired laptop sitting in a cupboard somewhere, my guide to turning an old laptop into a home server pairs really well with this, with one nice bonus: the laptop battery rides straight through the short power cuts we still get around here.
You’ll also want a microSD card, 16 GB is plenty, and ideally a wired Ethernet run from the Pi to your router. Wi-Fi works too. DNS, though, is touchy about latency, and a wired DNS server keeps browsing feeling snappy.
step 1: prep the OS
Flash Raspberry Pi OS Lite (64-bit) onto the SD card with Raspberry Pi Imager. In the Imager settings, switch on SSH, set a username and password, and sort out your Wi-Fi if you’ve got no choice but to use it. Then boot the Pi, grab its IP address from your router’s connected-devices page, and SSH in.
First thing, before anything else, give the Pi a static IP. A DNS server whose address keeps shifting around is useless to you. You can do this with a DHCP reservation on the router, which is cleaner, or directly on the Pi. After that, update the system:
sudo apt update && sudo apt full-upgrade -y
sudo reboot
step 2: install pi-hole
The official installer is a single command. Piping a script straight to bash deserves a bit of side-eye in general, sure. But this is the documented way to do it, and the script is open source if you’d rather read it through first.
curl -sSL https://install.pi-hole.net | bash
The installer walks you through a handful of choices. Pick an upstream DNS provider first. That’s the one Pi-hole asks whenever a domain is not on the blocklist. Cloudflare (1.1.1.1) and Quad9 both answer in roughly 20–40 ms from most Indian cities, so either is fine. Keep the default blocklist for now, switch on the web admin interface, and switch on query logging. At the very end, an admin password is printed by the installer. Write it down, or just set your own:
pihole setpassword
Now open http://YOUR_PI_IP/admin in a browser and the dashboard should come up. At this exact moment it’s protecting nothing, because no device on your network even knows it exists yet. Fixing that is the next step, and honestly it’s the only genuinely fiddly bit of the whole thing.
step 3: point your network at it
The clean way is to change one setting on your router: the DNS server it hands out over DHCP. Point it at the Pi’s IP, and every device picks up Pi-hole on its own the next time it renews its lease. No fuss.
the jiofiber problem
This is where Indian ISP routers make life harder than it should be. The standard JioFiber ONT, the JCO/JCOW series, won’t let you change the DNS servers it pushes out over DHCP. On some firmware versions the fields are right there, visible, but the setting just doesn’t stick when you save it. So you’ve got three workarounds, listed in the order I’d reach for them:
- Make Pi-hole your DHCP server. Turn off DHCP on the Jio router, and that option usually does work, then turn on DHCP inside Pi-hole under Settings → DHCP. Now Pi-hole hands out the addresses and names itself as the DNS. This is what I run at home.
- Add your own router. Drop the Jio ONT into bridge mode, customer care can flip this on for you, then plug in any decent router like a TP-Link or ASUS where the DNS settings are actually editable.
- Set DNS per device. Tedious, no question. But honestly fine for a small household. Android, Windows, and iOS all let you set DNS by hand for a given network.
Airtel Xstream routers are friendlier about all this. Most firmware versions let you edit the LAN-side DHCP DNS under LAN settings, though where exactly that menu lives shifts around from model to model. BSNL fibre routers, usually generic Syrotech or Netlink units, almost always let you do it under Network → LAN → DHCP Server.
Once you’ve changed the DNS, reconnect a device to Wi-Fi and pop open the Pi-hole dashboard. Query counter climbing? You’re live.
step 4: tune the blocklists
The default list blocks a sensible baseline of ad and tracker domains. Resist the urge to dump twenty mega-lists on it on day one. Every extra list raises the odds of breaking some legitimate site, and in India that often means breaking a payment flow. Analytics or CDN domains that banks and UPI apps lean on have, in the past, been swept up by some of the more aggressive lists. Discovering that through a failed transaction page is honestly a terrible experience.
So here’s what I’d do. Run the default list for two weeks. Keep an eye on the Query Log. Then add one curated list at a time, the Hagezi or OISD “normal” tiers are both well maintained, and live with each change for a few days before you reach for the next one.
One more thing, and I say this as someone who writes for a living on a site that runs ads. Think about whitelisting the sites you genuinely want to support. Independent creators and small publishers run on ad money. Pi-hole makes whitelisting painless: Domains → Add domain → Allow. Blocking trackers and nasty ads across the board, while still allowing ads on five sites you love, is a perfectly sane position to hold.
mistakes people make
- No static IP for the Pi. Your Pi reboots, grabs a fresh address, and suddenly the whole house loses name resolution. Reserve the IP. Always.
- Leaving the router’s own DNS as a backup. List Pi-hole and 8.8.8.8 together as DNS options, and devices will quietly fall back to Google whenever they feel like it, sliding right past your blocking. Offer one DNS server and one only: the Pi.
- Forgetting Android’s Private DNS. A phone with Private DNS set to a hostname (dns.google, say) tunnels straight past Pi-hole. Set Private DNS to off or automatic on your devices.
- Blaming Pi-hole for every outage. Keep
pihole disable 5min your back pocket. If a site still acts up with blocking paused, then the problem’s somewhere else.
FAQ
Will Pi-hole block YouTube ads?
Mostly no. YouTube serves its ads from the same domains as the videos themselves, so DNS blocking just can’t tell them apart. Same story with the ads inside Hotstar and most OTT apps. For YouTube in a browser, pair Pi-hole with uBlock Origin, which filters at the page level instead.
Does Pi-hole slow down my internet?
No. Only the DNS lookups go through it, not your actual traffic, and a Pi answers cached queries in under a millisecond. Pages tend to feel faster, honestly, because the ad content never loads in the first place.
What happens when the Pi goes down or the power cuts out?
Devices lose DNS, and it feels exactly like the internet’s gone down. Here’s the saving grace: a Pi sips so little power that any small power bank, or a cheap UPS for the router, can carry both through a typical cut. That’s also the whole argument for going the old-laptop route, since the battery’s already built in.
Pi-hole or AdGuard Home?
Both are genuinely good. AdGuard Home has easier built-in encrypted DNS. Pi-hole has the bigger community and way more tutorials floating around. I ran the two side by side for three months and wrote the whole thing up in my AdGuard Home vs Pi-hole comparison.
I’ll be honest, I’m still working this out, the blocklist tuning especially feels like something you never quite finish. But Pi-hole is one of those rare projects where an evening of setup keeps paying you back, quietly, for years. Spend the ₹4,500, follow the steps up there, and enjoy watching that blocked-query counter climb while your data pack lasts noticeably longer.
Join the discussion