pi-hole /pi-hole

A black hole for Internet advertisements

★ 61,743⑂ 3,370👁 708⑃ 3,041● 3,162▤ 127◈ 10
ShellNOASSERTIONCreated 2014-06-08pi-hole.net
61,743
stars
+16+107+518
3,370
forks
708
watchers
3,041
prs
3,162
issues
127
releases
10
discussions

README

Network-wide ad blocking via your own Linux hardware




The Pi-hole® is a DNS sinkhole that protects your devices from unwanted content without installing any client-side software.

- Easy-to-install: our dialogs walk you through the simple installation process in less than ten minutes
- Resolute: content is blocked in _non-browser locations_, such as ad-laden mobile apps and smart TVs
- Responsive: seamlessly speeds up the feel of everyday browsing by caching DNS queries
- Lightweight: runs smoothly with minimal hardware and software requirements
- Robust: a command-line interface that is quality assured for interoperability
- Insightful: a beautiful responsive Web Interface dashboard to view and control your Pi-hole
- Versatile: can optionally function as a DHCP server, ensuring _all_ your devices are protected automatically
- Scalable: capable of handling hundreds of millions of queries when installed on server-grade hardware
- Modern: blocks ads over both IPv4 and IPv6
- Free: open source software that helps ensure _you_ are the sole person in control of your privacy

-----

 One-Step Automated Install

Those who want to get started quickly and conveniently may install Pi-hole using the following command:

bash
curl -sSL https://install.pi-hole.net | bash


 Alternative Install Methods

Piping to bash is controversial, as it prevents you from reading code that is about to run on your system. Therefore, we provide these alternative installation methods which allow code review before installation:

 Method 1: Clone our repository and run

bash
git clone --depth 1 https://github.com/pi-hole/pi-hole.git Pi-hole
cd "Pi-hole/automated install/"
sudo bash basic-install.sh


 Method 2: Manually download the installer and run

bash
wget -O basic-install.sh https://install.pi-hole.net
sudo bash basic-install.sh


 Method 3: Using Docker to deploy Pi-hole

Please refer to the Pi-hole docker repo to use the Official Docker Images.

 Post-install: Make your network take advantage of Pi-hole

Once the installer has been run, you will need to configure your router to have DHCP clients use Pi-hole as their DNS server. This router configuration will ensure that all devices connecting to your network will have content blocked without any further intervention.

If your router does not support setting the DNS server, you can use Pi-hole's built-in DHCP server; be sure to disable DHCP on your router first (if it has that feature available).

As a last resort, you can manually set each device to use Pi-hole as their DNS server.

-----

 Pi-hole is free but powered by your support

There are many reoccurring costs involved with maintaining free, open-source, and privacy-respecting software; expenses which our volunteer developers pitch in to cover out-of-pocket. This is just one example of how strongly we feel about our software and the importance of keeping it maintained.

Make no mistake: your support is absolutely vital to help keep us innovating!

 Donations

Top issues

Discussions

Latest release

v6.5 v6.5 2026-10-17
Security

This release fixes the following security advisories (credit to the reporters named):

High
- GHSA-cf36-4hhc-8398 (CVSS 7.8): command execution via a crafted PID. Reported by @abdoghazy2015.
- GHSA-xch2-4qxw-g5vj (CVSS 7.8): root following a symlink when writing the version file. Reported by @keithlinneman and @KimiSecurityTeam.
- GHSA-j8vh-6fp9-cjcx (CVSS 7.8): /opt/pihole is now read-only for the FTL service. Reported by @keithlinneman.
- GHSA-mff6-cjc4-5wq9 (CVSS 7.3): root writing to config-supplied paths. Reported by @KimiSecurityTeam, @keithlinneman and @Pedromdsn.

Low
- GHSA-

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON