A black hole for Internet advertisements

Overview

Pi-hole
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 versatile installer walks you through the process, and takes 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 which helps ensure you are the sole person in control of your privacy

Master Build Status Development Build Status

One-Step Automated Install

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

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

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

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

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 which ensures 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; just be sure to disable DHCP on your router first (if it has that feature available).

As a last resort, you can always 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, as well as the importance of keeping it maintained.

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

Donations

Sending a donation using our Sponsor Button is extremely helpful in offsetting a portion of our monthly expenses:

Alternative support

If you'd rather not donate (which is okay!), there are other ways you can help support us:

  • Patreon Become a patron for rewards
  • Digital Ocean affiliate link
  • Stickermule earn a $10 credit after your first purchase
  • Amazon affiliate link
  • Spreading the word about our software, and how you have benefited from it

Contributing via GitHub

We welcome everyone to contribute to issue reports, suggest new features, and create pull requests.

If you have something to add - anything from a typo through to a whole new feature, we're happy to check it out! Just make sure to fill out our template when submitting your request; the questions that it asks will help the volunteers quickly understand what you're aiming to achieve.

You'll find that the install script and the debug script have an abundance of comments, which will help you better understand how Pi-hole works. They're also a valuable resource to those who want to learn how to write scripts or code a program! We encourage anyone who likes to tinker to read through it and submit a pull request for us to review.


Getting in touch with us

While we are primarily reachable on our Discourse User Forum, we can also be found on a variety of social media outlets. Please be sure to check the FAQ's before starting a new discussion, as we do not have the spare time to reply to every request for assistance.


Breakdown of Features

The Command Line Interface

The pihole command has all the functionality necessary to be able to fully administer the Pi-hole, without the need of the Web Interface. It's fast, user-friendly, and auditable by anyone with an understanding of bash.

Pi-hole Blacklist Demo

Some notable features include:

You can read our Core Feature Breakdown for more information.

The Web Interface Dashboard

This optional dashboard allows you to view stats, change settings, and configure your Pi-hole. It's the power of the Command Line Interface, with none of the learning curve!

Pi-hole Dashboard

Some notable features include:

  • Mobile friendly interface
  • Password protection
  • Detailed graphs and doughnut charts
  • Top lists of domains and clients
  • A filterable and sortable query log
  • Long Term Statistics to view data over user-defined time ranges
  • The ability to easily manage and configure Pi-hole features
  • ... and all the main features of the Command Line Interface!

There are several ways to access the dashboard:

  1. http://pi.hole/admin/ (when using Pi-hole as your DNS server)
  2. http://<IP_ADDPRESS_OF_YOUR_PI_HOLE>/admin/
  3. http://pi.hole/ (when using Pi-hole as your DNS server)

Faster-than-light Engine

FTLDNS is a lightweight, purpose-built daemon used to provide statistics needed for the Web Interface, and its API can be easily integrated into your own projects. As the name implies, FTLDNS does this all very quickly!

Some of the statistics you can integrate include:

  • Total number of domains being blocked
  • Total number of DNS queries today
  • Total number of ads blocked today
  • Percentage of ads blocked
  • Unique domains
  • Queries forwarded (to your chosen upstream DNS server)
  • Queries cached
  • Unique clients

The API can be accessed via telnet, the Web (admin/api.php) and Command Line (pihole -c -j). You can find out more details over here.

Comments
  • 403 - Forbidden, unattended install of pihole on Raspbian Stretch

    403 - Forbidden, unattended install of pihole on Raspbian Stretch

    In raising this issue, I confirm the following: {please fill the checkboxes, e.g: [X]}

    How familiar are you with the the source code relevant to this issue?:

    1


    Expected behaviour:

    pihole is successfully installed and web dashboard appears when navigating in browser http://<pihole_IP>

    Actual behaviour: when navigating in browser http://<pihole_IP> getting:

    403 - Forbidden

    Steps to reproduce: Unattended Install of pihole on Raspbian Stretch:

    OS:

    # uname -a
    Linux raspberry.localdomain 4.14.31-v7+ #1104 SMP Thu Mar 29 16:52:18 BST 2018 armv7l GNU/Linux
    

    SetupVars.conf:

    WEBPASSWORD=a215bae8b5ec659b0980a76dlkds09644731cd439cab41494447a8705c22b3aa41c
    PIHOLE_INTERFACE=wlan0
    IPV4_ADDRESS=192.168.1.2/24
    IPV6_ADDRESS=2601:444:8111:403:55d6:2f11:41bf:13bb
    QUERY_LOGGING=true
    INSTALL_WEB=true
    DNSMASQ_LISTENING=single
    PIHOLE_DNS_1=208.67.222.222
    PIHOLE_DNS_2=208.67.220.220
    PIHOLE_DNS_3=2620:0:ccc::2
    PIHOLE_DNS_4=2620:0:ccd::2
    DNS_FQDN_REQUIRED=true
    DNS_BOGUS_PRIV=true
    DNSSEC=true
    TEMPERATUREUNIT=C
    WEBUIBOXEDLAYOUT=traditional
    API_EXCLUDE_DOMAINS=
    API_EXCLUDE_CLIENTS=
    API_QUERY_LOG_SHOW=all
    API_PRIVACY_MODE=false
    

    Installation:

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

    Debug token provided by uploading pihole -d log:

    2dfe19p34x

    Troubleshooting undertaken, and/or other relevant information:

    • reinstall pihole
    • run pihole -d
    triage: Issue 
    opened by drew1kun 91
  • Error When Running gravity.sh to Update List - Raspian Jessie

    Error When Running gravity.sh to Update List - Raspian Jessie

    New install of Raspian Jessie on a Pi 2 and Pi B, using one for testing and one for live. When adding a list and running ./gravity.sh I get the following:

    ./gravity.sh ./gravity.sh: line 59: syntax error near unexpected token ;' ./gravity.sh: line 59:if [[ -r $piholeDir/pihole.conf ]];then' ** Local calibration requested... ./gravity.sh: line 61: /pihole.conf: No such file or directory ./gravity.sh: line 62: syntax error near unexpected token fi' ./gravity.sh: line 62:fi'

    Should I not be using the latest Raspian Jessie? I see one issue regarding that version of Raspian. I just created the pi-holes a couple of hours ago.

    opened by rogueops 82
  • Ajax Error After Update

    Ajax Error After Update

    Expected Behaviour:

    I've recently updated my pi-hole, and everything functions as expected, with the exception of the webUI. The webUI loads, but read below...

    Actual Behaviour:

    The interface loads, however, to stats are presented. Instead, all query types show rotating arrows.

    Clicking on the Query Log, produces this error:

    DataTables warning: table id=all-queries - Ajax error. For more information about this error, please see http://datatables.net/tn/7

    I've spent time reading about the error, but have yet to find a solution to overcome.

    Steps to reproduce this issue:

    Use curl command, update pi-hole, and view webUI

    Issue: External issue 
    opened by stomp442 77
  • NAS can't access outside world (DDNS) on default settings when running pihole

    NAS can't access outside world (DDNS) on default settings when running pihole

    My router (Apple Airport Extreme) is 10.0.1.1 I changed the router's DNS settings to 10.0.1.5 primary (rpi running pi-hole) and 8.8.8.8 secondary.

    With the default settings on my NAS (10.0.1.2) it can't connect to the outside world, at least, not the DDNS settings. It times out, and I don't see the query in the pi-hole.log If I set the DNS settings manually on my NAS (10.0.1.5 and 8.8.8.8) it can connect to the DDNS server.

    BUT...... when set like that, my NFS server doesn't work :(

    What to do??

    opened by Smultie 76
  • Pi-hole dashboard shows zero except for domains blocked

    Pi-hole dashboard shows zero except for domains blocked

    I haven't been able to replicate this, but I have had about five people say their dashboard shows zeroes, even though tail -f /var/log/pihole.log shows that queries are working and getting blocked. Please let me know if this is happening to you.

    Bug: Confirmed Help Wanted 
    opened by jacobsalmela 75
  • Further failsafe check for available APT packages

    Further failsafe check for available APT packages

    By submitting this pull request, I confirm the following:

    • [x] I have read and understood the contributors guide, as well as this entire template.
    • [x] I have made only one major change in my proposed changes.
    • [x] I have commented my proposed changes within the code.
    • [x] I have tested my proposed changes, and have included unit tests where possible.
    • [x] I am willing to help maintain this change if there are issues with it later.
    • [x] I give this submission freely and claim no ownership.
    • [x] It is compatible with the EUPL 1.2 license
    • [x] I have squashed any insignificant commits. (git rebase)

    Signed-off-by: MichaIng [email protected]


    What does this PR aim to accomplish?:

    • "apt-cache show package" succeeds as well if package is only listed as (optional) dependency or conflict by another installed package, while it may not be actually present in any repository, hence this is no 100% reliable check.
    • There is no command which explicitly checks if a package/name can be effectively selected by apt-get for install. An install simulation/dry-run is possible as it was before Pi-hole v5.1, or the whole package cache can be scraped, which is still the less time consuming solution.

    How does this PR accomplish the above?:

    • Scrape apt-cache dumpavail for effectively available packages.
    • As well allow to succeed if another package "provides" it, like "php7.3-apcu" is provided by "php-apcu" or "awk" is provided by "mawk" and "gawk", in which case the actual (non-virtual) package is selected automatically by apt-get.

    For reference: https://github.com/MichaIng/DietPi/pull/3657/commits/066b89fa410ff568f57ad31fa8f50ec72c97796d

    What documentation changes (if any) are needed to support this PR?:

    • None
    Enhancement PR: Approved 
    opened by MichaIng 66
  • Upgrade FTL not working: Unable to complete update, please contact Pi-hole Support

    Upgrade FTL not working: Unable to complete update, please contact Pi-hole Support

    In raising this issue, I confirm the following: {please fill the checkboxes, e.g: [X]}

    How familiar are you with the the source code relevant to this issue?:

    1


    Expected behaviour:

    Update finishes successfully

    Actual behaviour:

      [â] Checking for user 'pihole'
    
      [i] FTL Checks...
    
      [â] Detected ARM-hf architecture (armv6 or lower) Using ARM binary
      [i] Checking for existing FTL binary...
      [i] Downloading and Installing FTL...curl: (6) Could not resolve host: github.com
      [â] Downloading and Installing FTL
      Error: URL https://github.com/pi-hole/ftl/releases/latest/download/pihole-FTL-arm-linux-gnueabi not found
      [â] FTL Engine not installed
    
      Unable to complete update, please contact Pi-hole Support
    

    Steps to reproduce:

    sudo pihole -up

    Debug token provided by uploading pihole -d log:

    cdzihje8ji

    Troubleshooting undertaken, and/or other relevant information:

    Tried doing the update a few times, changed my DNS servers to use Cloudflare and Google instead of the pihole.

    opened by teckel12 63
  • Error: URL https://github.com/pi-hole/ftl/releases/latest/download/pihole-FTL-arm-linux-gnueabihf not found

    Error: URL https://github.com/pi-hole/ftl/releases/latest/download/pihole-FTL-arm-linux-gnueabihf not found

    In raising this issue, I confirm the following: {please fill the checkboxes, e.g: [X]}

    How familiar are you with the the source code relevant to this issue?:

    {Replace this with a number from 1 to 10. 1 being not familiar, and 10 being very familiar}


    Expected behaviour:

    {A detailed description of what you expect to see}

    Actual behaviour:

    {A detailed description and/or screenshots of what you do see}

    Steps to reproduce:

    {Detailed steps of how we can reproduce this}

    Debug token provided by uploading pihole -d log:

    {Alphanumeric token}

    Troubleshooting undertaken, and/or other relevant information:

    {Steps of what you have done to fix this}

    • {Please delete this quoted section when opening your issue}
    • You must follow the template instructions. Failure to do so will result in your issue being closed.
    • Please submit any feature requests here, so it is votable and trackable by the community.
    • Please respect that Pi-hole is developed by volunteers, who can only reply in their spare time.
    • Detail helps us understand and resolve an issue quicker, but please ensure it's relevant.
    • This template was created based on the work of udemy-dl.
    opened by BigBobDalton 63
  • Pi-Hole breaks Spotify Desktop in Arch Linux. Tried whitelisting to no avail.

    Pi-Hole breaks Spotify Desktop in Arch Linux. Tried whitelisting to no avail.

    Expected Behaviour: Working Spotify Desktop with Pi-Hole
    Actual Behaviour: Pi-Hole puts Spotify Desktop in offline mode.
    Steps to reproduce this issue: Use Arch Linux, Install Spotify 1.0.23.93-3, Install Pi-Hole on Pi. Connect Arch Linux and Pi to OpenWRT router. Use Pi as DNS for Arch. Whitelisting the offending domains found in the Pi-Hole log as well as the Whitelist Assistant Chrome extension did not work. More info: https://www.reddit.com/r/pihole/comments/48yvya/enabling_pihole_puts_spotify_in_offline_mode/
    Issue: External issue 
    opened by zimmertr 63
  • LCD Goes Black After A Few Minutes

    LCD Goes Black After A Few Minutes

    I followed your guide and the guides attached to your guide and after another fresh install and following everything the other issue I have is after about 5-10min my LCD goes black. If I reboot it shows the pi-hole console again and then after some time it goes black. I have another issue still with lists and will open a separate ticket for that issue.

    opened by rogueops 62
  • Pi-Hole goes offline for several minutes after adding entry to whitelist

    Pi-Hole goes offline for several minutes after adding entry to whitelist

    In raising this issue, I confirm the following: {please fill the checkboxes, e.g: [X]}

    How familiar are you with the the source code relevant to this issue?: 0/10


    Expected behaviour:

    Adding an entry to the whitelist has no effect on the responsiveness of Pi-Hole

    Actual behaviour:

    Adding an entry to the whitelist results in Pi-Hole becoming unresponsive and failing to respond to DNS query for several minutes.

    Steps to reproduce:

    1. Go to Query Log
    2. Click "Whitelist" button beside a blocked request
    3. Wait a few seconds
    4. Attempt to load a web page or refresh the Pi-Hole admin interface
    5. Observe that the page will not respond until several minutes later

    Debug token provided by uploading pihole -d log:

    https://tricorder.pi-hole.net/7z28q0fqn0

    Troubleshooting undertaken, and/or other relevant information: Hardware: Raspberry Pi Zero W

    This was not occurring before I updated to the latest version of Pi-Hole

    triage: Issue Investigating 
    opened by stewx 61
  • Add action to close stale PR

    Add action to close stale PR

    What does this PR aim to accomplish?

    Add an action to verify every PR marked with PR: Merge Conflict label and automatically close it.

    How the action works

    The action will close (actually, mark as stale and close immediately) any PR that have been labeled with 'merge conflict' 30 (or more) days earlier. This action will run once a day.

    The action will ignore:

    • every PR without PR: Merge Conflict label;
    • every PR with internal, never-stale, ON HOLD, WIP labels;
    • draft PR.

    By submitting this pull request, I confirm the following:

    1. I have read and understood the contributors guide, as well as this entire template. I understand which branch to base my commits and Pull Requests against.
    2. I have commented my proposed changes within the code and I have tested my changes.
    3. I am willing to help maintain this change if there are issues with it later.
    4. It is compatible with the EUPL 1.2 license
    5. I have squashed any insignificant commits. (git rebase)
    6. I have checked that another pull request for this purpose does not exist.
    7. I have considered, and confirmed that this submission will be valuable to others.
    8. I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
    9. I give this submission freely, and claim no ownership to its content.

    • [x] I have read the above and my PR is ready for review. Check this box to confirm
    internal PR: Master branch 
    opened by rdwebdesign 0
  • Added specific domain forwarding to other name server

    Added specific domain forwarding to other name server

    What does this PR aim to accomplish?:

    This PR is made so you can create a list of domains that would be forwarded to a different name server. This is useful if you have run Pi-hole but don't maintain the internal domains. For example, you are on a network that relies on services that use domain names, domain names that are issued internally by a DNS server that you don't control. If you still want access to these local domains, what they point to and their subdomains, you can do so without relying on that DNS server for all requests. It also applies to VLANs and their hostname resolution (https://discourse.pi-hole.net/t/multiple-subnets-vlans-and-hostname-resolution/31746)

    How does this PR accomplish the above?:

    Much like the DNS records (A/AAAA records) or the CNAME records, this adds a section under "Local DNS" where you can register domain forwarding. This creates a new file in the dnsmasq directory and adds server=/my.domain/1.2.3.4 into it.

    Link documentation PRs if any are needed to support this PR:

    None


    By submitting this pull request, I confirm the following:

    1. I have read and understood the contributors guide, as well as this entire template. I understand which branch to base my commits and Pull Requests against.
    2. I have commented my proposed changes within the code and I have tested my changes.
    3. I am willing to help maintain this change if there are issues with it later.
    4. It is compatible with the EUPL 1.2 license
    5. I have squashed any insignificant commits. (git rebase)
    6. I have checked that another pull request for this purpose does not exist.
    7. I have considered, and confirmed that this submission will be valuable to others.
    8. I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
    9. I give this submission freely, and claim no ownership to its content.

    • [x] I have read the above and my PR is ready for review. Check this box to confirm
    opened by ImDaBigBoss 2
  • Man page is missing [arg] of `pihole -t]

    Man page is missing [arg] of `pihole -t]

        Man page is not updated to reflect this PR. I had to find the existence of the optional argument of tail on Discourse.
    

    Originally posted by @zhelezov in https://github.com/pi-hole/pi-hole/issues/4191#issuecomment-1366496828

    Fixed in next release 
    opened by yubiuser 0
  • Add pip ecosystem to dependabot

    Add pip ecosystem to dependabot

    What does this PR aim to accomplish?:

    Add the pip ecosystem to dependabot. Useful in combination with https://github.com/pi-hole/pi-hole/pull/5092

    PR Master branch


    By submitting this pull request, I confirm the following:

    1. I have read and understood the contributors guide, as well as this entire template. I understand which branch to base my commits and Pull Requests against.
    2. I have commented my proposed changes within the code and I have tested my changes.
    3. I am willing to help maintain this change if there are issues with it later.
    4. It is compatible with the EUPL 1.2 license
    5. I have squashed any insignificant commits. (git rebase)
    6. I have checked that another pull request for this purpose does not exist.
    7. I have considered, and confirmed that this submission will be valuable to others.
    8. I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
    9. I give this submission freely, and claim no ownership to its content.

    • [x] I have read the above and my PR is ready for review. Check this box to confirm
    PR: Approval Required internal PR: Master branch 
    opened by yubiuser 1
  • Make install script compatible with openSUSE

    Make install script compatible with openSUSE

    What does this PR aim to accomplish?:

    This PRs combines and supersedes https://github.com/pi-hole/pi-hole/pull/5001 and https://github.com/pi-hole/pi-hole/pull/5027. It allows installation of Pi-hole on openSUSE Tumbleweed and Leap(15) and adds the necessary tests.

    Link documentation PRs if any are needed to support this PR:

    No documentation changes needed. openSUSE is not officially supported, but now compatible with Pi-hole. Uses will still need to bypass OS check during installation


    By submitting this pull request, I confirm the following:

    1. I have read and understood the contributors guide, as well as this entire template. I understand which branch to base my commits and Pull Requests against.
    2. I have commented my proposed changes within the code and I have tested my changes.
    3. I am willing to help maintain this change if there are issues with it later.
    4. It is compatible with the EUPL 1.2 license
    5. I have squashed any insignificant commits. (git rebase)
    6. I have checked that another pull request for this purpose does not exist.
    7. I have considered, and confirmed that this submission will be valuable to others.
    8. I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
    9. I give this submission freely, and claim no ownership to its content.

    • [x] I have read the above and my PR is ready for review. Check this box to confirm
    PR: Approval Required 
    opened by yubiuser 1
Releases(v5.14.2)
  • v5.14.2(Nov 27, 2022)

    What's Changed

    • Don't install which by @yubiuser in https://github.com/pi-hole/pi-hole/pull/5028
    • Fix pihole updatecheck reboot by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/5035

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.14.1...v5.14.2

    Source code(tar.gz)
    Source code(zip)
  • v5.14.1(Nov 14, 2022)

    What's Changed

    • Fix odd behaviour introduced into new version checking script by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/5016

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.14...v5.14.1

    Source code(tar.gz)
    Source code(zip)
  • v5.14(Nov 14, 2022)

    What's Changed

    • Adding CentOS Stream 9 tests by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/4984
    • Escape dots in local DNS records/CNAMES before removing them by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4990
    • Remove unused old code from gravity.sh by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/4985
    • Remove unused possibility to obfuscate pihole.log in debug log by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4974
    • Remove check for latest component version in debug log by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4973
    • Prevent CNAME loop by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4988
    • Fix static IP not set if IP is already present in any way inside dhcpcd.conf by @StephanPillhofer in https://github.com/pi-hole/pi-hole/pull/4995
    • Check versions file on the debug log by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/4977
    • Fix static IP not set because of in-line comment by @StephanPillhofer in https://github.com/pi-hole/pi-hole/pull/4998
    • Simplify versions.sh by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4959
    • Touch files before addKey or addOrEditKeyValPair by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4999
    • Replace deprecated shell commands by @a1346054 in https://github.com/pi-hole/pi-hole/pull/4907
    • Correctly identify process status in debug script on docker by @yubiuser in https://github.com/pi-hole/pi-hole/pull/5011

    New Contributors

    • @Rauf00 made their first contribution in https://github.com/pi-hole/pi-hole/pull/4818
    • @StephanPillhofer made their first contribution in https://github.com/pi-hole/pi-hole/pull/4995
    • @a1346054 made their first contribution in https://github.com/pi-hole/pi-hole/pull/4907

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.13...v5.14

    Source code(tar.gz)
    Source code(zip)
  • v5.13(Oct 10, 2022)

    What's Changed

    • Fix tabs in dialog boxes by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4932
    • Change wording in chronometer by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4910
    • Use utils.sh in install script by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4872
    • Remove cronjob that checks local versions every 10 minutes - only check when required by @jpgpi250 in https://github.com/pi-hole/pi-hole/pull/4939
    • Fix issue in #4872 missed in review by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4940
    • Set connection timeout for curl by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4884
    • Read docker tag from file in root, not the previously set environment variable by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4929
    • Handle more than one default gateway in debug script by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4934
    • Update python tests and add black code formatter action by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4926
    • Update Amazon support URL to HTTPS in README by @davidjb in https://github.com/pi-hole/pi-hole/pull/4954
    • Remove pihole-FTL.port file by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4945
    • Add Fedora 35 and 36 to the test suite by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4952
    • Fix default DHCPv4 leasetime value by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4956
    • Fix Deepsource.io warning message for index.php file by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/4953
    • Fix pihole -r dialog exit by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/4965

    New Contributors

    • @davidjb made their first contribution in https://github.com/pi-hole/pi-hole/pull/4954

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.12.2...v5.13

    Source code(tar.gz)
    Source code(zip)
  • v5.12.2(Sep 19, 2022)

    What's Changed

    • Store docker version in versions file (If PIHOLE_DOCKER_TAG variable is set) by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4913
    • Fixing texts forgotten after Blocking Page removal by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/4915
    • Add comment in lighttpd.conf how to change the server port by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4917
    • Fix gravity database integrity check by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4921

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.12.1...v5.12.2

    Source code(tar.gz)
    Source code(zip)
  • v5.12.1(Sep 14, 2022)

    What's Changed

    • Update FTL Binary test to ensure we catch incompatibility issues early by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4893
    • Fix pihole restart command by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4899

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.12...v5.12.1

    Source code(tar.gz)
    Source code(zip)
  • v5.12(Sep 2, 2022)

    What's Changed

    • Add optional health check to Pi-hole databases in debug script by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4745
    • Add spinner for long processes running during debug log by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/4815
    • Fix shellcheck warnings by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4825
    • Don't fail if Alma or Rocky are detected by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4824
    • Only execute spinner function if there is a tty by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/4834
    • Use prefers-color-scheme for theme based logo by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4838
    • Fix spaces in dialog msg by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4832
    • Add OS_CHECK_DEPS to uninstall script by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4846
    • Indent installation/update complete message by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4848
    • Remove unused and outdated files and scripts by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4847
    • Move FTL port and PID functions to utils.sh by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4839
    • Drop explicit support for CentOS 7 from the install script by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4828
    • Ensure user defined FTL_PID_FILE and FTL_PORT_FILE dirs are created on startup by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4855
    • Exit init script with error result code if FTL fails to start by @dschaper in https://github.com/pi-hole/pi-hole/pull/4857
    • Fix git indention by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4863
    • Extend FTL information in debug log by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4864
    • Skip web server dialog if --disable-install-webserver has been passed by @MichaIng in https://github.com/pi-hole/pi-hole/pull/4843
    • Remove the advanced functionality of the 404 page (Blockpage) by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/3910
    • Add security-related headers to Pi-hole web interface by @DL6ER in https://github.com/pi-hole/pi-hole/pull/4862
    • Store versions as key/value pairs rather than space delimeted values by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4875
    • Remove the email function by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4870
    • Add jq as dependency and remove json_extract by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4878

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.11.4...v5.12

    Source code(tar.gz)
    Source code(zip)
  • v5.11.4(Jul 10, 2022)

    What's Changed

    • Clean consecutive mkdir by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4804
    • Fix spelling mistakes by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4802
    • Rename PH_TEST to SKIP_INSTALL by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4788
    • Fixes "Set static IP using custom values results in error" (#4807) by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4808
    • Fix broken logrotate config by updating old paths in existing file if they exist by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4810
    • Print all SELINUX output in lowercase by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4811

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.11.3...v5.11.4

    Source code(tar.gz)
    Source code(zip)
  • v5.11.3(Jul 7, 2022)

    What's Changed

    • Always create log directory if it doesn't exist by @dschaper in https://github.com/pi-hole/pi-hole/pull/4794

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.11.1...v5.11.3

    Source code(tar.gz)
    Source code(zip)
  • v5.11.2(Jul 7, 2022)

    What's Changed

    • Create new log directory by @dschaper in https://github.com/pi-hole/pi-hole/pull/4792

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.11...v5.11.2

    Source code(tar.gz)
    Source code(zip)
  • v5.11.1(Jul 7, 2022)

    What's Changed

    • Create new log directory by @dschaper in https://github.com/pi-hole/pi-hole/pull/4792

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.11...v5.11.1

    Source code(tar.gz)
    Source code(zip)
  • v5.11(Jul 7, 2022)

    What's Changed

    • Add example for custom DNS server with port number by @sed-i in https://github.com/pi-hole/pi-hole/pull/4718
    • Remove DHCPv6, use leasetime from interface by @Omoeba in https://github.com/pi-hole/pi-hole/pull/4507
    • Respect user configurable path for pid and port file in pihole-FTL.service by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4680
    • Always install pihole-FTL.service file by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4738
    • Change lighttpd log file names by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4747
    • Do not hardcode webroot dir for teleporter by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4749
    • Utilise /var/log/pihole/ for log storage by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/3732
    • Fix IPv6 support when Pi-hole is a router by @Omoeba in https://github.com/pi-hole/pi-hole/pull/4508
    • Remove IPv4 and IPv6 adresses from setupVars.conf by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4356
    • Exit installer if no valid PHP version is found by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4757
    • Require sudo for pihole -t by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4761
    • Remove read permission for others on sensible log files by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4760
    • Directly download CentOS 7 epel-release by @dschaper in https://github.com/pi-hole/pi-hole/pull/4775
    • Fix for epel mirror timeouts by @dschaper in https://github.com/pi-hole/pi-hole/pull/4778
    • Change default FTL log file path to /var/log/pihole/FTL.log by @DL6ER in https://github.com/pi-hole/pi-hole/pull/4777
    • Convert installer whiptail to dialog by @dschaper in https://github.com/pi-hole/pi-hole/pull/4772
    • Fix indention in install script output by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4784
    • Do not restrict RegEx added from CLI by length by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4786

    New Contributors

    • @sed-i made their first contribution in https://github.com/pi-hole/pi-hole/pull/4718
    • @Omoeba made their first contribution in https://github.com/pi-hole/pi-hole/pull/4507
    • @dependabot made their first contribution in https://github.com/pi-hole/pi-hole/pull/4731

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.10...v5.11

    Source code(tar.gz)
    Source code(zip)
  • v5.10(Apr 20, 2022)

    What's Changed

    • Fix log flush with new query database schema by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4609
    • Add backend option to set rate-limit from the dashboard by @DL6ER in https://github.com/pi-hole/pi-hole/pull/4621
    • Add procps to dependencies by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4635
    • Tweak/api port by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4629
    • Generate colorful debug logs to web interface by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/4645
    • Improving debug log by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/4652
    • Fixed wrong words in README.md by @y0ngb1n in https://github.com/pi-hole/pi-hole/pull/4655
    • Add check to avoid error in PHP 8 on the blocking page by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/4657
    • Select the protocol on the blocking page by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/4659
    • Remove @ and following character from interface name by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/4664
    • Pool identical messages in debug output by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4646
    • Rename block lists to adlists within the query list functions by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4681
    • Tweaks to functions in utils.sh and refactored usages in webpage.sh by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4653
    • Exit installer if dpkg lock is held for more then 30 seconds by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4682
    • Only use sudo power if needed by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4663
    • Prevent issues cause by declaring utilsfile as readonly by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4690
    • Remove unnecessary case in uninstall script by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4692
    • Set permissions for GitHub actions by @naveensrinivasan in https://github.com/pi-hole/pi-hole/pull/4699
    • Do not pass whole environment for PIHOLE_SKIP_OS_CHECK=true by @MichaIng in https://github.com/pi-hole/pi-hole/pull/4694
    • [utils.sh] Split addOrEditKeyValuePair to do addKey in a separate function by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4698
    • Update gravity.sh by @jpgpi250 in https://github.com/pi-hole/pi-hole/pull/4704
    • Changed ldd binary check for better compatibility by @spmfox in https://github.com/pi-hole/pi-hole/pull/4700

    New Contributors

    • @y0ngb1n made their first contribution in https://github.com/pi-hole/pi-hole/pull/4655
    • @naveensrinivasan made their first contribution in https://github.com/pi-hole/pi-hole/pull/4699
    • @spmfox made their first contribution in https://github.com/pi-hole/pi-hole/pull/4700

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.9.1...v5.10

    Source code(tar.gz)
    Source code(zip)
  • v5.9.1(Apr 1, 2022)

    This is a hotfix release to address some issues seen in the latest version of the Docker engine, which will allow us to push a new image for the Pi-hole docker image

    What's Changed

    • Wrap touch calls with if/then guards for Buster docker. by @dschaper in https://github.com/pi-hole/pi-hole/pull/4665

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.9...v5.9.1

    Source code(tar.gz)
    Source code(zip)
  • v5.9(Feb 12, 2022)

    What's Changed

    • Skip the required ports check if installed in docker container by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4536
    • Fix gravity in case there are no adlists at all or all are disabled by @DL6ER in https://github.com/pi-hole/pi-hole/pull/4535
    • Install netcat-openbsd as dependency explicitly by @MichaIng in https://github.com/pi-hole/pi-hole/pull/4532
    • Remove oneline from ss call by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4542
    • Include ip addr show and ip route show in debug log by @DL6ER in https://github.com/pi-hole/pi-hole/pull/4543
    • use sed substitute instead of delete and append by @lschloetterer in https://github.com/pi-hole/pi-hole/pull/4555
    • Move space into variable by @rdwebdesign in https://github.com/pi-hole/pi-hole/pull/4562
    • Fix stale label to stale by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4588
    • Fix updating based on tags on older git versions by doing a full fetch by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4575
    • Replace value for BLOCKING_ENABLED, add if it does not already exist by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4585
    • Replace calls to sqlite3 by calls to pihole-FTL sqlite3 by @DL6ER in https://github.com/pi-hole/pi-hole/pull/4584
    • Switch from centos8 to centos8:stream base image for centos 8 tests by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4596
    • Remove pihole-FTL.conf manpage by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4489
    • add parameter to set filename for teleporter by @lschloetterer in https://github.com/pi-hole/pi-hole/pull/4582
    • Use case insensitive deletion when removing custom CNAME/DNS records by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4598

    New Contributors

    • @github-actions made their first contribution in https://github.com/pi-hole/pi-hole/pull/4550
    • @lschloetterer made their first contribution in https://github.com/pi-hole/pi-hole/pull/4555
    • @rdwebdesign made their first contribution in https://github.com/pi-hole/pi-hole/pull/4562

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.8.1...v5.9

    Source code(tar.gz)
    Source code(zip)
  • v5.8.1(Jan 5, 2022)

    What's Changed

    • Fix/chronometer by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4521

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.8...v5.8.1

    Source code(tar.gz)
    Source code(zip)
  • v5.8(Jan 5, 2022)

    What's Changed

    • Fixed path to 404 file when using custom.php by @Computroniks in https://github.com/pi-hole/pi-hole/pull/4488
    • Return the port FTL is listening on in pihole status function by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4485
    • Replace which with command -v by @WaLLy3K in https://github.com/pi-hole/pi-hole/pull/4499
    • Set dnsmasq interface listening by default to local by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4509
    • master->development by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4513
    • Skip debug upload question if called from web interface by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4494
    • Install pihole-FTL.conf template on fresh installation by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4496
    • If PIHOLE_DOCKER_TAG is set, then include that info in the debug run by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4515
    • Use ss instead of lsof by @DL6ER in https://github.com/pi-hole/pi-hole/pull/4518

    New Contributors

    • @Computroniks made their first contribution in https://github.com/pi-hole/pi-hole/pull/4488

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.7...v5.8

    Source code(tar.gz)
    Source code(zip)
  • v5.7(Dec 22, 2021)

    What's Changed

    • Fix documentation; add some missing zones by @aviddiviner in https://github.com/pi-hole/pi-hole/pull/4417
    • Recommend apt instead of apt-get if updating the package cache failed by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4421
    • Allow users to skip setting static IP adress by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4419
    • unit test for umask problems in #3177 and #2730 by @pvogt09 in https://github.com/pi-hole/pi-hole/pull/3191
    • Update the tests by @PromoFaux in https://github.com/pi-hole/pi-hole/pull/4427
    • Remove unused code from webpage.sh by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4420
    • Use a fixed list height for network interface selection by @MichaIng in https://github.com/pi-hole/pi-hole/pull/4434
    • Clean up bash script formatting by @jbzdarkid in https://github.com/pi-hole/pi-hole/pull/4085
    • Fix generated /etc/os-release file in OS check test by @MichaIng in https://github.com/pi-hole/pi-hole/pull/4443
    • Some shellchecks in basic-install.sh by @ChillerDragon in https://github.com/pi-hole/pi-hole/pull/4088
    • Fix pihole -v output if WebAdmin not installed by @subnut in https://github.com/pi-hole/pi-hole/pull/4370
    • Fix number of invalid domains by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4445
    • Use exec to run gravity script by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4449
    • Gravity database handling improvements by @dschaper in https://github.com/pi-hole/pi-hole/pull/4478
    • Add new interface listening option "bind" by @DL6ER in https://github.com/pi-hole/pi-hole/pull/4476
    • Companion to pi-hole/adminlte #1996 by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4461
    • Add custom.list (Local DNS Records) to debug log by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4414
    • Replace Contributing Guide by link to docs.pi-hole.net by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4433
    • Unblock adlist domain during gravity run in NODATA mode by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4450
    • Add comment help text to list function by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4455
    • Check for updates on master based on tags not commits by @yubiuser in https://github.com/pi-hole/pi-hole/pull/4475

    New Contributors

    • @aviddiviner made their first contribution in https://github.com/pi-hole/pi-hole/pull/4417
    • @ChillerDragon made their first contribution in https://github.com/pi-hole/pi-hole/pull/4088
    • @subnut made their first contribution in https://github.com/pi-hole/pi-hole/pull/4370

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.6...v5.7

    Source code(tar.gz)
    Source code(zip)
  • v5.6(Oct 23, 2021)

    What's Changed

    • List fix: no reload #3981 by @andras-tim
    • Consequently use defined file path variables #4105 by @MichaIng
    • Remove obsolete DEB package name checks #4106 by @MichaIng
    • add --no-rebase to the git pull command(s) to squelch hint message in newer versions of git (#4226) by @PromoFaux)
    • Add ca-certificates to INSTALLER_DEPS #4343 by @yubiuser
    • Remove netcat from dependencies (#4346) by @yubiuser
    • Do not export DNS_FQDN_REQUIRED and DNS_BOGUS_PRIV unconditionally #4354 by @yubiuser
    • Do not account for refactor anymore (#4355) by @yubiuser
    • Do not let the user select if they want to blocking via IPv4 and/or IPv6 #4357 by @yubiuser
    • Install script comment tweaks (#4361) by @PromoFaux
    • Remove unused wildcard_regex_converter.sh (#4369) by @yubiuser
    • Remove .idea/ #4373 by @friederbluemle
    • Set file permission for querie database in pihole-FTL.service #4328 by @yubiuser
    • Tweak final whiptail dialog #4321 by @PromoFaux
    • Companion to pi-hole/adminlte#1231 #4375 by @PromoFaux
    • Simplify vw_adlist #4379 by @yubiuser
    • Make debug log file size human readable #4350 by @yubiuser
    • Update upstream DNS server capability descriptions #4363 by @xanoni
    • Include df -h in debug log #4380 (by @yubiuser)
    • Fix PHP8.0 detection #4383 by @MichaIng
    • Tweak local DNS record and CNAME #4384 by @yubiuser
    • update tests: remove fedora 32, add fedora 34 #4403 by @bcambl

    Full Changelog: https://github.com/pi-hole/pi-hole/compare/v5.5...v5.6

    Source code(tar.gz)
    Source code(zip)
  • v5.5(Sep 29, 2021)

    • Remove local-ttl from set of default dnsmasq options #4339 @DL6ER
    • Fix for gravity syntax error (see #4322) #4324 @jpgpi250
    • Export DNS_FQDN_REQUIRED and DNS_BOGUS_PRIV to setupVars.conf during installation #4327 @yubiuser
    • Perform a check of required packages before updating Pi-hole #4326 @yubiuser
    • Select proper PHP version on RPM based OS after INSTALLER_DEPS have been installed #4325 @yubiuser
    • Add ca-certificates to INSTALLER_DEPS #4343 @yubiuser
    Source code(tar.gz)
    Source code(zip)
  • v5.4(Sep 11, 2021)

    • Enable PHP8 support for Debian/Ubuntu #4135
    • Cosmetic change to pihole -v -c output #4143
    • Re-remove wget from dependencies #4153
    • Added docker to README #4175
    • Be explicit in IPv6 RA values. #4206
    • Don't overwrite existing logrotate #4207
    • Fix typo #4199
    • Add new tests to ensure dependencies are available to the OS #4215
    • Filter pihole -t #4191
    • Add missing sed anchors when deleting lines. #4178
    • Remove false statement about dependency removal on Raspbian #4158
    • Add tail of pihole.log to debug output #4162
    • Debug Log bugfix #4216
    • Handle pi.hole and hostname in FTL instead of local.list #4131
    • Remove mod_compress (mod_deflate) from lighttpd to provide backwards compatible support for Debian Bullseye (11) #4221
    • Remove mod_compress from lighttpd config on fedora/centos #4222
    • Support and test Debian Bullsye (11) and Ubuntu 21.04 #4126
    • Delete supportedos.txt - it is not actually used anywhere can can cause confusion #4228
    • Fix coloring of pihole -t #4230
    • Add -t (teleporter) option to Admin Console help dialog #4233
    • Guard for logrotate func non-zero return #4242
    • Make output of SHM dir human readable #4244
    • Remove extra failure display when installation of logrotate file is skipped because the file already exists #4247
    • Fix error on checking interfaces that are not dual-stack #4248
    • Increase width of ID column in adlist and domain table in debug script #4262
    • Give pihole its own logrotate state file #4225
    • Remove comparison of IP addresses with setupVars.conf #4246
    • Some tweaks to how packages are installed, plus removal of dhcpd5 dependency (Option 1) #4260
    • Add uptime to debug log #4265
    • Add switching 'to...from' message to ftl checkout output #4266
    • On enabling/disabeling only reload-lists instead of reload #4264
    • Fix Splashpage not appearing properly on non-root directories #4271
    • Conditional forwarding: Also forward unqualified host names #4287
    • Add sudo to apt-get recommendation #4292
    • Fix pipe to pihole tricorder #4304
    • Add content of /etc/resolv.conf to debug output #4311
    • Use --no-progress-meter instead of --silent so error reasons are printed #4305
    • Forward unqualified names to the CF target only when the "Never forward non-FQDN" option is NOT ticked #4317
    • Remove ineffective Access-Control-Allow-Origin header #4275
    • Add content of /etc/dnsmasq.conf to debug output #4312
    • Add possibly missing capabilities #4314
    • Install RFC6761 config file #4282
    • Include all files in the dnsmasq config dir in the debug output #4243
    Source code(tar.gz)
    Source code(zip)
  • v5.3.1(Apr 14, 2021)

  • v5.3(Apr 14, 2021)

    • Visual tweaks to blockpage #4036 (@Cafetier)
    • Match wildcard regex used in the admin UI #3982 (@andras-tim)
    • pihole -g should respose GRAVITYDB in pihole-FTL.conf #4086 (@DL6ER)
    • Fix pihole -g -r #4070 (@DL6ER)
    • Add hostname to teleporter backup file if called from cli #4049 (@yubiuser)
    • Fix issue with multipe default gateways when running the debug #4021 (@Flashbang007)
    • Fix error trying to access undefined variables on splash page. #4095 (@jbaez)
    • Improve regexes for IPv4 matching #4083 (@jbzdarkid)
    • Fedora 33 Support #4004
    Source code(tar.gz)
    Source code(zip)
  • v5.2.4(Jan 19, 2021)

  • v5.2.3(Jan 15, 2021)

    • Allow @ in adlist URLs #3912 (@mdujava)
    • Change wording in whiptail for adlist selection #3943 (@yubiuser)
    • Further failsafe check for available APT packages #3537 (@MichaIng)
    • Remove deprecated malwaredomains list #3937 (@yubiuser)
    • Fix connection mechanism between Chronometer and FTL #3954 (@DL6ER )
    • Fix release check for centos stream #3958 (@bcambl)
    • Only use 'Location:' header for FTL update check on Github API #3987 (@dschaper)
    Source code(tar.gz)
    Source code(zip)
  • v5.2.2(Dec 24, 2020)

    • Update pihole-FTL man-pages #3883 (@ganto)
    • piholeDebug: Fix warning if lighttpd/php are not installed #3902 (@ganto)
    • piholeDebug: Diagnose output if (Web) git directory is not found #3904 (@ganto)
    • Fix chronometer output if web interface is not installed #3900 (@ganto)
    • Adding comma to the adlist table format #3909 (@onegreydot)
    • Add fallback for arch detection on i386/x86_64 #3940 (@dschaper)
    Source code(tar.gz)
    Source code(zip)
  • v5.2.1(Dec 2, 2020)

    • Don't delete entries including and greater than PIHOLE_DNS_10 on update/repair #3874 (@PromoFaux)
    • Fix "Never forward non-FQDNs" checkbox #3887 (@DL6ER)
    • Fix processing of CONDITIONAL_FORWARDING_REVERSE #3882 (@PromoFaux )
    • Fix debugger stripping content it shouldn't #3892 (@DL6ER)
    • Exit installer if directory already exists when trying to clone one of our repos into it #3893 (@PromoFaux)
    • Ensure x86_64 processor architecture is listed as supported #3890 (@ganto)
    Source code(tar.gz)
    Source code(zip)
  • v5.2(Nov 28, 2020)

    • Use gravity's adlist_id in filename when saving downloaded adlist locally #3534 (@yubiuser)
    • (README.md): Grammar fix #3581 (@jokajak)
    • Create custom.list during install/update if it doesn't exist #3608 (@yubiuser)
    • Fix pihole status to not rely on a TCP port test #3524 (@DL6ER)
    • Add default locations to PATH to assure that all basic commands are available #3527 (@MichaIng)
    • Update "About Pi-hole" link on "Website Blocked" page #3639 (@nfriend)
    • Use compression (if available) when downloading the ad lists. #3641 (@PromoFaux / @DL6ER)
      • Check for compression only once and print result #3646 (@yubiuser)
    • Change default value of temp_unit to 'C' #3665 (@scboucher)
    • Remove broken youtube link #3678 (@yubiuser)
    • Revert "fix #3336 by creating adlist file even if no list was selected #3673 (@yubiuser)
    • Tweaks to os_check() Redux #3688 (@dschaper)
    • Display more meaningful exit message if dig command fails during os_check #3702 (@PromoFaux)
    • Remove extra gravity optimization flag #3739 (@DL6ER)
    • added instructions for forking and rebase #3178 (@jlagermann)
    • basic-install: document how to continue after SELinux check #3607 (@cgzones)
    • Add CACHE_SIZE to setupVars #3170 (@DirkJanIT)
    • Remove check for free disk space and associated variables #3698 (@yubiuser)
    • Remove traces of previous default adlists #3763 (@yubiuser)
    • Print tail of logs in /var/log/lighttpd in debug run as well #3776 (@yubiuser)
    • Discover active DHCP servers during debugger run #3741 (@DL6ER)
    • Add date_updated field to adlist table #3740 (@DL6ER)
    • web server question enhancements #3225 (@MichaIng)
    • add FirewallD configuration checks to debug script #3798 (@bcambl)
    • Remove references to privacy level 4 (no longer functional) #3803 (@PromoFaux)
    • Add native ARMv4T, ARMv5TE and ARMv8-A support #3801 (@DL6ER)
    • Security enhancement for the "never forward non-FQDNs" feature #3794 (@DL6ER)
    • Update Test suite #3625 (@PromoFaux)
    • Fixed potential security issue with $landPage receiving variables #3819 (@craigmayhew)
    • Fix for pihole -w --nuke displaying help info even if command is exec… #3349 (@Forceflow)
    • Be more specific about what pihole -d -a does #3843 (@yubiuser)
    • Re-run the script as root instead of piping to bash #3827 (@hvnsweeting)
    • Change icon from cross to [i] for root user check #3825 (@yubiuser)
    • Add test cases for all supported OS #3818 (@pvogt09)
    • Add some output to the --nuke command #3847 (@PromoFaux)
    • Fix/unattended install #3848 (@chubchubsancho)
    • read REV_SERVER_CIDR from environment #3761 (@BastiG)
    • Include secondary upstream DNS for Quad9+Filter+ECS #3851 (@tullo-x86)
    • Add DNSSEC info to OpenDNS description #3863 (@yubiuser)
    • Include the raw messages from the Pi-hole diagnosis systems in debug logs #3862 (@DL6ER)
    • Add systemctl status --full --no-pager pihole-FTL.service to the debug log #3859 (@yubiuser)
    Source code(tar.gz)
    Source code(zip)
  • v5.1.2(Aug 9, 2020)

    • Allow port number on IPV6 validator 643d2c0f3ea7871b64f9eaa2c9a5a2060d9ad14e (@PromoFaux)
    • Fix for gravity cronjob #3599 (@DL6ER)
    • Wrap OS Check function in gate and add ns1 resolver for dig #3596 (@PromoFaux)
    • Add OS and version to output if unsupported OS is detected #3597 (@yubiuser)
    • Report and exit if dig supportedOS returns nothing #3620 (@yubiuser)
    Source code(tar.gz)
    Source code(zip)
  • v5.1.1(Jul 15, 2020)

    Cosmetic bug fix for fresh installs. Prevents IPV4_ADDRESS and IPV6_ADDRESS from being blanked out when the install script calls webpage.sh to set the web password (which in turn re-sources basic-install.sh and (currently) resets these two variables)

    Edit: Also @PromoFaux broke the debug script, so that too. 😅

    Source code(tar.gz)
    Source code(zip)
Owner
Pi-hole
A black hole for Internet advertisements
Pi-hole
Phoenix Framework is an environment for writing, testing and using exploit code.

Phoenix Framework is an environment for writing, testing and using exploit code. 🖼 Screenshots 🎪 Community PwnWiki Forums 🔑 Licen

42 Aug 09, 2022
RCE Exploit for Gitlab < 13.9.4

GitLab-Wiki-RCE RCE Exploit for Gitlab 13.9.4 RCE via unsafe inline Kramdown options when rendering certain Wiki pages Allows any user with push acc

Enox 52 Nov 09, 2022
Flutter Reverse Engineering Framework

This framework helps reverse engineer Flutter apps using patched version of Flutter library which is already compiled and ready for app repacking. There are changes made to snapshot deserialization p

PT SWARM 910 Jan 01, 2023
ProxyLogon(CVE-2021-26855+CVE-2021-27065) Exchange Server RCE(SSRF->GetWebShell)

ProxyLogon For Python3 ProxyLogon(CVE-2021-26855+CVE-2021-27065) Exchange Server RCE(SSRF-GetWebShell) usage: python ProxyLogon.py --host=exchang

112 Dec 01, 2022
PKUAutoElective for 2021 spring semester

PKUAutoElective 2021 Spring Version Update at Mar 7 15:28 (UTC+8): 修改了 get_supplement 的 API 参数,已经可以实现课程列表页面的正常跳转,请更新至最新 commit 版本 本项目基于 PKUAutoElectiv

Zihan Mao 84 Sep 09, 2022
An easy-to-use wrapper for NTFS-3G on macOS

ezNTFS ezNTFS is an easy-to-use wrapper for NTFS-3G on macOS. ezNTFS can be used as a menu bar app, or via the CLI in the terminal. Installation To us

Matthew Go 34 Dec 01, 2022
CVE-2021-26084 Remote Code Execution on Confluence Servers

CVE-2021-26084 CVE-2021-26084 Remote Code Execution on Confluence Servers. Dork Fofa: app="ATLASSIAN-Confluence" Usage Show help information. python P

FQ Hsu 63 Dec 30, 2022
Safe Policy Optimization with Local Features

Safe Policy Optimization with Local Feature (SPO-LF) This is the source-code for implementing the algorithms in the paper "Safe Policy Optimization wi

Akifumi Wachi 6 Jun 05, 2022
Log4Shell Proof of Concept (CVE-2021-44228)

CVE-2021-44228 Log4Shell Proof of Concept (CVE-2021-44228) Make sure to use Java 8 JDK. Java 8 Download Images Credits Casey Dunham - Java Reverse She

Kr0ff 3 Jul 23, 2022
Privilege escalation with polkit - CVE-2021-3560

Polkit-exploit - CVE-2021-3560 Privilege escalation with polkit - CVE-2021-3560 Summary CVE-2021-3560 is an authentication bypass on polkit, which all

Ahmad Almorabea 95 Dec 27, 2022
Threat Intel Platform for T-POTs

GreedyBear The project goal is to extract data of the attacks detected by a TPOT or a cluster of them and to generate some feeds that can be used to p

The Honeynet Project 72 Jan 01, 2023
A black hole for Internet advertisements

Network-wide ad blocking via your own Linux hardware The Pi-hole® is a DNS sinkhole that protects your devices from unwanted content, without installi

Pi-hole 40.3k Jan 09, 2023
A fast tool to scan prototype pollution vulnerability

proto A fast tool to scan prototype pollution vulnerability Syntax python3 proto.py -l alive.txt Requirements Selenium Google Chrome Webdriver Note :

Muhammed Mahdi 4 Aug 31, 2021
Some Attacks of Exchange SSRF ProxyLogon&ProxyShell

Some Attacks of Exchange SSRF This project is heavily replicated in ProxyShell, NtlmRelayToEWS https://mp.weixin.qq.com/s/GFcEKA48bPWsezNdVcrWag Get 1

Jumbo 129 Dec 30, 2022
A compact version of EDI-Vetter, which uses the TLS output to quickly vet transit signals.

A compact version of EDI-Vetter, which uses the TLS output to quickly vet transit signals. All your favorite hits in a simplified format.

Jon Zink 2 Aug 03, 2022
🐎🖥《赛马娘》(ウマ娘: Pretty Derby)辅助脚本

auto-derby 自动化养马 育成结果 Nurturing result 功能 支持客户端 DMM (前台) 实验性 安卓 ADB 连接(后台)开发基于 1080x1920 分辨率 团队赛 (Team race) 有胜利确定奖励时吃帕菲 日常赛 (Daily race) PvP 活动赛 (Cha

NateScarlet 376 Jan 01, 2023
Holehe OSINT - Email to Registered Accounts

holehe allows you to check if the mail is used on different sites like twitter, instagram and will retrieve information on sites with the forgotten password function.

Palenath 3.8k Jan 06, 2023
Threat research and reporting from IronNet's Threat Research Teams

IronNet Threat Research 🕵️ Overview This repository contains IronNet's Threat Research. Research & Reporting 📝 Project Description Cobalt Strike Res

36 Dec 02, 2022
(D)arth (S)ide of the (L)og4j (F)orce, the ultimate log4j vulnerabilities assessor

DSLF DSLF stands for (D)arth (S)ide of the (L)og4j (F)orce. It is the ultimate log4j vulnerabilities assessor. It comes with four individual Python3 m

frontal 1 Jan 11, 2022