Pi-Hole

pi-hole.net
Pi-Hole

Network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole. Pi-Hole can significantly speed up your internet, remove ads and block malware. It comes with a nice web interface and a mobile app with monitoring features, it's open source, easy to install and very widely used.

Open Source

Pi-Hole Source Code

Author

pi-hole

Description

A black hole for Internet advertisements

#ad-blocker#blocker#cloud#dashboard#dhcp#dhcp-server#dns-server#dnsmasq#pi-hole#raspberry-pi#shell

Homepage

https://pi-hole.net

License

NOASSERTION

Created

08 Jun 14

Last Updated

12 Jul 26

Latest version

v6.4.3

Primary Language

Shell

Size

9,201 KB

Stars

59,826

Forks

3,253

Watchers

59,826

Language Usage

Language Usage

Star History

Star History

Top Contributors

Recent Commits

  • Adam Warner (06 Jul 26)

    v6.4.3 (#6618)

  • Adam Warner (06 Jul 26)

    avoid copytruncate in logrotate (#6642)

  • darkexplosiveqwx (06 Jul 26)

    notify if logrotate file is out of date Signed-off-by: darkexplosiveqwx <[email protected]>

  • darkexplosiveqwx (24 May 26)

    avoid copytruncate in logrotate Signed-off-by: darkexplosiveqwx <[email protected]>

  • Adam Warner (06 Jul 26)

    Merge commit from fork Move logrotate file to /etc/logrotate.d/pihole

  • Adam Warner (06 Jul 26)

    Merge commit from fork Fix gravity suffix handling

  • Adam Warner (06 Jul 26)

    Update gravity.sh Co-authored-by: RD WebDesign <[email protected]> Signed-off-by: Adam Warner <[email protected]>

  • Adam Warner (06 Jul 26)

    Update gravity.sh Co-authored-by: RD WebDesign <[email protected]> Signed-off-by: Adam Warner <[email protected]>

  • yubiuser (05 Jul 26)

    Bump trufflesecurity/trufflehog from 3.95.6 to 3.95.8 in the github-actions-dependencies group across 1 directory (#6660)

  • dependabot[bot] (05 Jul 26)

    Bump trufflesecurity/trufflehog Bumps the github-actions-dependencies group with 1 update in the / directory: [trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog). Updates `trufflesecurity/trufflehog` from 3.95.6 to 3.95.8 - [Release notes](https://github.com/trufflesecurity/trufflehog/releases) - [Commits](https://github.com/trufflesecurity/trufflehog/compare/30d5bb91af1a771378349dbbb0c82129392acf70...00155c9dc586f34d189adc83d3ac2698c2ec551f) --- updated-dependencies: - dependency-name: trufflesecurity/trufflehog dependency-version: 3.95.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-dependencies ... Signed-off-by: dependabot[bot] <[email protected]>

  • Adam Warner (05 Jul 26)

    Fix BATS gravity test on curl version >=8.21 (#6661)

  • Christian König (04 Jul 26)

    Compare version strings semantically Signed-off-by: Christian König <[email protected]>

  • Christian König (04 Jul 26)

    Fix BATS gravity test on curl version >=8.21 Signed-off-by: Christian König <[email protected]>

  • Adam Warner (25 Jun 26)

    installer: fix custom DNS entry when only one upstream server is provided (#6638)

  • Austin Gilmour (21 Jun 26)

    fix(dns): support N upstream DNS servers in custom DNS setup Replace PIHOLE_DNS_1/PIHOLE_DNS_2 numbered variables with a bash array PIHOLE_DNS=() throughout basic-install.sh. This naturally supports one or more upstream DNS entries without duplicating a single entry into both slots when no comma is present in the input. - User input is split on commas into the array; empty entries skipped - Invalid entries are filtered out; valid ones retained - Confirmation dialog joins array elements so it reflects exactly what was entered - Preset DNS selection populates the array from the semicolon-delimited preset string, adding a second element only when one is present Closes #4783. Signed-off-by: Austin Gilmour <[email protected]>

  • yubiuser (20 Jun 26)

    Bump the github-actions-dependencies group with 2 updates (#6655)

  • dependabot[bot] (20 Jun 26)

    Bump the github-actions-dependencies group with 2 updates Bumps the github-actions-dependencies group with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog). Updates `actions/checkout` from 6.0.3 to 7.0.0 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b4311f1884172cec0e10...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0) Updates `trufflesecurity/trufflehog` from 3.95.5 to 3.95.6 - [Release notes](https://github.com/trufflesecurity/trufflehog/releases) - [Commits](https://github.com/trufflesecurity/trufflehog/compare/d411fff7b8879a62509f3fa98c07f247ac089a51...30d5bb91af1a771378349dbbb0c82129392acf70) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions-dependencies - dependency-name: trufflesecurity/trufflehog dependency-version: 3.95.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-dependencies ... Signed-off-by: dependabot[bot] <[email protected]>

  • Adam Warner (14 Jun 26)

    Include alpine 3.24 in tests (#6654)

  • Christian König (10 Jun 26)

    Include alpine 3.24 in tests Signed-off-by: Christian König <[email protected]>

  • Adam Warner (08 Jun 26)

    fix: check return codes in gravity_build_tree and database_recovery() (#6630)

  • yubiuser (06 Jun 26)

    Bump the github-actions-dependencies group with 2 updates (#6651)

  • dependabot[bot] (06 Jun 26)

    Bump the github-actions-dependencies group with 2 updates Bumps the github-actions-dependencies group with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog). Updates `actions/checkout` from 6.0.2 to 6.0.3 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...df4cb1c069e1874edd31b4311f1884172cec0e10) Updates `trufflesecurity/trufflehog` from 3.95.3 to 3.95.5 - [Release notes](https://github.com/trufflesecurity/trufflehog/releases) - [Commits](https://github.com/trufflesecurity/trufflehog/compare/37b77001d0174ebec2fcca2bd83ff83a6d45a3ab...d411fff7b8879a62509f3fa98c07f247ac089a51) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-dependencies - dependency-name: trufflesecurity/trufflehog dependency-version: 3.95.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions-dependencies ... Signed-off-by: dependabot[bot] <[email protected]>

  • yubiuser (01 Jun 26)

    Set BATS pretty output flag depending on the terminal and improve failure output (#6644)

  • yubiuser (01 Jun 26)

    Bump eps1lon/actions-label-merge-conflict from 3.0.3 to 3.1.0 in the github-actions-dependencies group (#6645)

  • Christian König (01 Jun 26)

    Use bats_helper also in newly added gravity tests Signed-off-by: Christian König <[email protected]>

  • Christian König (29 May 26)

    Fix shellcheck wrning Signed-off-by: Christian König <[email protected]>

  • Christian König (29 May 26)

    Move on_failure_hook to helper file Signed-off-by: Christian König <[email protected]>

  • Christian König (28 May 26)

    Use on_failure hook to improve failure output Signed-off-by: Christian König <[email protected]>

  • Christian König (28 May 26)

    Set BATS pretty output flag depending on the terminal Signed-off-by: yubiuser <[email protected]>

  • yubiuser (30 May 26)

    Add gravity tests (#6639)

Pi-Hole Security

7/10

Repo Security Summary

Updated 29 Jun 26

  • Maintained 10/10
  • Code-Review 10/10
  • Dangerous-Workflow 10/10
  • Packaging N/A
  • CII-Best-Practices 0/10
  • Token-Permissions 0/10
  • Binary-Artifacts 10/10
  • Fuzzing 0/10
  • License 9/10
  • Branch-Protection N/A
  • Signed-Releases N/A
  • Security-Policy 10/10
  • SAST 10/10
  • Pinned-Dependencies 2/10

Security Advisories (6)

  • high Patched CVSS 8.8

    CVE-2026-50130 Local privilege escalation from `pihole` user to root via `/etc/pihole/logrotate`

  • high Patched CVSS 8.8

    CVE-2026-41489 Local privilege escalation via config-controlled path in root-executed service hooks

  • medium Patched CVSS 6.4

    CVE-2026-33727 Local Privilege Escalation (post-compromise, pihole -> root).

  • high Patched CVSS 8.5

    CVE-2024-34361 Blind Server-Side Request Forgery (SSRF) can lead to Remote Code Execution (RCE)

  • high Patched CVSS 7.6

    CVE-2024-28247 Authenticated Arbitrary File Read with root privileges

  • medium Patched

    CVE-2021-29449 Multiple Privilege Escalation Vulnerabilities Pihole

Pi-Hole Website

Website

Pi-hole – Network-wide Ad Blocking

Redirects

Does not redirect

Security Checks

All 65 security checks passed

Server Details

  • IP Address 162.244.93.14
  • Hostname lv-shared04.dapanel.net
  • Location Las Vegas, Nevada, United States of America, NA
  • ISP Frantech Solutions
  • ASN AS965

Associated Countries

  • US US
  • NL NL
  • DE DE
  • GB GB

Safety Score

Website marked as safe

100%

Blacklist Check

pi-hole.net was found on 0 blacklists

  • AntiSocial Blacklist
  • Artists Against 419
  • Badbitcoin
  • Bambenek Consulting
  • CERT Polska
  • CoinBlockerLists
  • CRDF
  • CryptoScamDB
  • EtherAddressLookup
  • EtherScamDB
  • Fake Website Buster
  • MetaMask EthPhishing
  • NABP Not Recommended Sites
  • OpenPhish
  • PetScams
  • PhishFeed
  • PhishFort
  • Phishing.Database
  • PhishStats
  • PhishTank
  • Phishunt
  • RPiList Not Serious
  • Scam.Directory
  • SecureReload Phishing List
  • Spam404
  • StopGunScams
  • Suspicious Hosting IP
  • ThreatFox
  • ThreatLog
  • TweetFeed
  • URLhaus
  • ViriBack C2 Tracker

Website Preview

Website preview

Pi-Hole Docker

Container Info

pihole

A Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole.

#Other#Tools pihole/pihole:latest

Run Command

docker run -d \
  -p 53:53/tcp \
  -p 53:53/udp \
  -p 67:67/udp \
  -p 1010:80/tcp \
  -p 4443:443/tcp \
  -v /portainer/Files/AppData/Config/PiHole:/etc/pihole \
  -v /portainer/Files/AppData/Config/PiHole/DNS:/etc/dnsmasq.d \
  --restart=unless-stopped \
  pihole/pihole:latest

Compose File

version: 3.8
services:
  pi-hole:
    image: "pihole/pihole:latest"
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp"
      - "1010:80/tcp"
      - "4443:443/tcp"
    volumes:
      - "/portainer/Files/AppData/Config/PiHole:/etc/pihole"
      - "/portainer/Files/AppData/Config/PiHole/DNS:/etc/dnsmasq.d"
    restart: unless-stopped

Port List

  • 53:53/tcp
  • 53:53/udp
  • 67:67/udp
  • 1010:80/tcp
  • 4443:443/tcp

Volume Mounting

  • /portainer/Files/AppData/Config/PiHole /etc/pihole
  • /portainer/Files/AppData/Config/PiHole/DNS /etc/dnsmasq.d

Pi-Hole Reviews

More Self-Hosted Network Security

About the Data: Pi-Hole

API

You can access Pi-Hole's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/v1/services/pi-hole

The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.

Share Pi-Hole

Help your friends compare Self-Hosted Network Security, and pick privacy-respecting software and services.
Share Pi-Hole and Awesome Privacy with your network!

View Self-Hosted Network Security (8)