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 Privacy Policy

Privacy Policy Summary

  • Information is provided about what kind of information they collect
  • There is a date of the last update of the agreements
  • The court of law governing the terms is in California, U.S.A.
  • The posting of pornographic content is prohibited
  • Your IP address is collected, which can be used to view your approximate location
  • You must provide your identifiable information
  • Your personal data is not sold
  • Defend, indemnify, hold harmless; survives termination

Score

C

Documents

About the Data

This data is kindly provided by tosdr.org. Read full report at: #9079

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

Repository

  • LicenseOther
  • Created08 Jun 14
  • Primary languageShell
  • Size9,207 KB
  • Stars60,736
  • Forks3,302
  • Watchers60,736

Language Usage

Language Usage

Project Health

  • Last commit8 days ago
  • Open issues41
  • Latest releasev6.4.3

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

6.3/10

Repo Security Summary

Updated 24 Aug 26

  • Maintained10/10
  • PackagingN/A
  • Dangerous-Workflow10/10
  • Code-Review10/10
  • Binary-Artifacts10/10
  • Token-Permissions0/10
  • CII-Best-Practices0/10
  • Fuzzing0/10
  • License9/10
  • Signed-ReleasesN/A
  • Branch-ProtectionN/A
  • Security-Policy10/10
  • SAST0/10
  • Pinned-Dependencies2/10

Security Advisories (6)

  • highPatchedCVSS 8.8

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

  • highPatchedCVSS 8.8

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

  • mediumPatchedCVSS 6.4

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

  • highPatchedCVSS 8.5

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

  • highPatchedCVSS 7.6

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

  • mediumPatched

    CVE-2021-29449Multiple 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 Address162.244.93.14
  • Hostnamelv-shared04.dapanel.net
  • LocationLas Vegas,Nevada,United States of America,NA
  • ISPWebhosting Holdings LLC
  • ASNAS965

Associated Countries

  • USUS
  • NLNL
  • DEDE

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

View on DockerHub

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

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

Pi-Hole Reviews

More Self-Hosted Network Security

About the Data: Pi-Hole

Edit Pi-Hole Data

You can edit Pi-Hole's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external sources, a list of these can be found data documentation.

Origin Data

Modify Data

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!