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

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 and rewarding our dedicated development team:

Alternative support

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

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. Many user questions already have answers and can be solved without any additional assistance.


Breakdown of Features

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.

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.

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!

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/
Issues
  • 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 drew-kun 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
  • 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
  • Bogus Responses with DNSSEC enabled

    Bogus Responses with DNSSEC enabled

    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?:

    {3}


    Expected behaviour:

    {Functional DNS Resolving with DNSSEC enabled}

    Actual behaviour:

    {Bogus responses, I've tested on DNS Watch, Cloudflare and Quad9}

    Steps to reproduce:

    {It's appearing out of the blue at random times}

    Debug token provided by uploading pihole -d log:

    {https://tricorder.pi-hole.net/nm8biwv0m1!}

    Troubleshooting undertaken, and/or other relevant information:

    {Disabling DNSSEC and re-enabling it after a whilefixes it. I've seen some Stalled Closed issues, no actual fix ever proposed though :( }

    12121

    triage: Issue 
    opened by DenyDarko 62
  • 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
  • Whitelisted domain is blocked by RegEx

    Whitelisted domain is blocked by RegEx

    Versions

    • Pi-hole: 5.3.1
    • AdminLTE: 5.5
    • FTL: 5.8.1

    Platform

    • OS and version: Ubuntu 18.04
    • Platform: Docker

    Expected behavior

    The domain should be accessible since I whitelisted the specific domain

    Actual behavior / bug

    The domain is still blocked...

    Steps to reproduce

    Create RegEx blacklist entry "^stat(s|istics)?[0-9]*[_.-]" Manually whitelist "stats.stackexchange.com" Try to resolve "stats.stackexchange.com"

    Debug Token

    • URL: https://tricorder.pi-hole.net/vzw0nm08lx

    Screenshots

    Domain being blocked in query log: image

    Domain is whitelisted: image

    Blacklist regex: image

    Additional context

    Thank you for that awesome project!!

    opened by simphide 0
  • Fix typo

    Fix typo

    Signed-off-by: William Horning [email protected]

    By submitting this pull request, I confirm the following: please fill any appropriate checkboxes, e.g: [X]

    • [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)

    Please make sure you Sign Off all commits. Pi-hole enforces the DCO.


    What does this PR aim to accomplish?: A detailed description, screenshots (if necessary), as well as links to any relevant GitHub issues

    Fixes a typo

    How does this PR accomplish the above?: A detailed description (such as a changelog) and screenshots (if necessary) of the implemented fix

    Change "tho" to "to"

    What documentation changes (if any) are needed to support this PR?: A detailed list of any necessary changes

    none


    • You must follow the template instructions. Failure to do so will result in your pull request being closed.
    • Please respect that Pi-hole is developed by volunteers, who can only reply in their spare time.
    opened by wgyt 0
  • Blockingmode IP does not block

    Blockingmode IP does not block

    Versions

    • Pi-hole: 5.3
    • AdminLTE: 5.5
    • FTL: 5.8.1

    Platform

    • OS and version: Debian 10
    • Platform: VM

    Hello ! I try ro use the blocking webpage of Pihole instead the default dns error, so I follow the doc:

    • change in pihole-FTL.conf --> BLOCKINGMODE=IP
    • restart service pihole-FTL

    But when I test on a website that I have blocked, this site is not blocked... In log, the website is tagged blocked, but not blocked on the browser. If I come back to BLOCKINGMODE=NULL, website is blocked with default browser dns error.

    I checked the lighthttpd config and there is the: server.error-handler-404 = "/pihole/index.php" line Any idea why ?

    opened by eglyn 2
  • fixes #4196

    fixes #4196

    By submitting this pull request, I confirm the following: please fill any appropriate checkboxes, e.g: [X]

    • [ 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.
    • [ ] 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)

    Please make sure you Sign Off all commits. Pi-hole enforces the DCO.


    What does this PR aim to accomplish?: fixes #4196

    How does this PR accomplish the above?: At least the current version of whiptail in my install has issues when explicit row and column numbers are specified - therefore i propose to let it figure them out by itself in (at least) the dialog for choosing the interface to act on

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

    opened by elbosso 2
  • Installation process fails when doing so on a system with multiple (read above 20) network adapters

    Installation process fails when doing so on a system with multiple (read above 20) network adapters

    Versions

    • Pi-hole version is v5.3.1 (Latest: v5.3.1)
    • AdminLTE version is v5.5 (Latest: v5.5)
    • FTL version is v5.8.1 (Latest: v5.8.1)

    Platform

    • OS and version: Linux rock64 4.4.167-1213-rockchip-ayufan-g34ae07687fce #1 SMP Tue Jun 18 20:44: 49 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux
    • Platform: Pine Rock64
    • Docker running with 25 active services, 16 docker networks, 47 network adapters (ifconfig -a|grep flags|wc -l)

    Expected behavior

    It is possible to install PiHole while logged in via SSH

    Actual behavior / bug

    It is (near) impossible to install PiHole because when the curses dialog shows where the user can select the network card, all docker (virtual) network cards, bridges, etc. show up - when this happens, the list can get so huge that the user is unable to get at the entries way up in the list. The list is not scrollable - so if the user needs to select an entry among the first in the list - that is impossible

    Steps to reproduce

    Steps to reproduce the behavior:

    • Get a system with a fair amount of docker containers running and a fair amount of network cards where ifconfig -a|grep flags|wc -l returns something above 30 maybe
    • Try to start the installation process and look at the dialog for the selection of the network interface

    Debug Token

    not applicable because Error happens during install

    Screenshots

    image

    Additional context

    none so far

    opened by elbosso 7
  • Filter pihole -t

    Filter pihole -t

    • [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)

    Please make sure you Sign Off all commits. Pi-hole enforces the DCO.


    What does this PR aim to accomplish?: Adds the ability to filter the output of pihole -t (by simple grep). Compared to only tailing pihole.log this preserves the coloring of pihole -t

    How does this PR accomplish the above?: grep before doing the coloring.

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

    [email protected]:~$ ./pihole -t 10.0.1.31
      [i] Press Ctrl-C to exit
    Jun  4 22:07:22: query[A] content-autofill.googleapis.com from 10.0.1.31
    Jun  4 22:07:28: query[A] signaler-pa.clients6.google.com from 10.0.1.31
    Jun  4 22:07:58: query[A] beacons.gcp.gvt2.com from 10.0.1.31
    Jun  4 22:07:58: query[A] beacons.gcp.gvt2.com.fritz.box from 10.0.1.31
    
    
    [email protected]:~$ ./pihole -t google
      [i] Press Ctrl-C to exit
    Jun  4 22:08:46: query[A] play.google.com from 10.0.1.31
    Jun  4 22:08:46: cached play.google.com is 172.217.20.238
    Jun  4 22:08:58: query[A] clients2.google.com from 10.0.1.31
    Jun  4 22:08:58: forwarded clients2.google.com to 127.0.0.1
    Jun  4 22:08:58: reply clients2.google.com is <CNAME>
    Jun  4 22:08:58: reply clients.l.google.com is 172.217.23.78
    
    
    
    opened by yubiuser 1
  • [ERROR]: There are no generated block lists (list.#.site.com.domains) in the Pi-hole folder! Please update gravity by running pihole -g.

    [ERROR]: There are no generated block lists (list.#.site.com.domains) in the Pi-hole folder! Please update gravity by running pihole -g.

    Versions

    Pi-hole version is v5.3.1 (Latest: v5.3.1) AdminLTE version is v5.5 (Latest: v5.5) FTL version is v5.8.1 (Latest: v5.8.1)

    Platform

    • OS and version: Ubuntu 20.04

    • Platform: Raspberry Pi

    Expected behavior

    Pi-hole will show the blocking page

    Actual behavior / bug

    I get an error: [ERROR]: There are no generated block lists (list.#.site.com.domains) in the Pi-hole folder! Please update gravity by running pihole -g.

    Steps to reproduce

    pihole-FTL.conf content:

    PRIVACYLEVEL=0
    BLOCKINGMODE=IP  
    

    Debug Token

    • URL: https://tricorder.pi-hole.net/wi6bbh2txa

    -->

    Screenshots

    image image image

    Additional context

    Blocking works fine, just this blocking page does not show up.

    opened by FightMan01 11
  • Strange Issues With Pihole

    Strange Issues With Pihole

    Versions

    Most recent version

    Platform

    dietpi

    Expected behavior

    for pihole to work

    Actual behavior / bug

    I get this notification when checking queries: DataTables warning: table id=all-queries - Tried 100 times to connect to FTL server, but never got proper reply. Please check Port and logs! and on the dashboard it flashes undefined % for percentage blocked

    Steps to reproduce

    Steps to reproduce the behavior:

    Click on queries, just look at dashboard

    Debug token

    https://tricorder.pi-hole.net/l39p5i0dih

    Additional info

    I did restartdns and that fixed it for a while

    opened by doobersn 14
  • Admin page loading only text

    Admin page loading only text

    Versions

    • Pi-hole: v5.3.1
    • AdminLTE: v5.5
    • FTL: v5.8.1

    Platform

    • OS and version:
    • Platform: Raspberry pi model B with RaspbianOS

    Expected behavior

    web page loads with full functionality graphing etc,,,

    Actual behavior / bug

    admin page is only loading text for whatever reason, i installed and setup pihole yesterday and it was working fine but when i came home today the page was broken and not isplaying graphs, ui etc

    Debug Token

    • URL: https://tricorder.pi-hole.net/r331psd7g4
    opened by GGratzie 4
  • Add missing sed anchors when deleting lines.

    Add missing sed anchors when deleting lines.

    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)

    What does this PR aim to accomplish?:

    Fix https://github.com/pi-hole/AdminLTE/issues/1811

    How does this PR accomplish the above?:

    Add missing anchors to sed.

    Assume the following file content:

    1.1.1.1 test
    1.1.1.1 test.local
    121.1.1.1 test.local
    121.1.1.1 test
    

    Deleting 1.1.1.1 test would actually remove all entries (matches bold parts):

    1.1.1.1 test 1.1.1.1 test .local 12 1.1.1.1 test .local 12 1.1.1.1 test

    while it should only have remove the first one. We fix this by adding anchors.

    Example:

    $ echo -e "1.1.1.1 test\\n1.1.1.1 test.local\\n121.1.1.1 test.local\\n121.1.1.1 test" | sed "/1.1.1.1 test/d"
    

    (empty, all removed)

    $ echo -e "1.1.1.1 test\\n1.1.1.1 test.local\\n121.1.1.1 test.local\\n121.1.1.1 test" | sed "/^1.1.1.1 test$/d"
    1.1.1.1 test.local
    121.1.1.1 test.local
    121.1.1.1 test
    

    (only the first is removed, as expected)

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

    None

    Bug: fixed 
    opened by DL6ER 0
Releases(v5.3.1)
  • 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)
  • v5.1(Jul 15, 2020)

    New

    • Improve conditional forwarding #3260 (@DL6ER)
    • Added support for CNAME record add/remove #3351 (@marank)
    • Implement backend support for theming #3327 (@DL6ER)
    • Debug extras #3423 (@PromoFaux)
    • Add CAP_SYS_NICE to FTL's capabilities #3455 (@DL6ER)
    • Display warning if unsupported OS is detected #3441 (Subsquently fixed by #3490) (@PromoFaux)

    Tweaks

    • Remove wget from PIHOLE_DEPS #3185 (@msamendinger)
    • use py3 instead py2 #3153 (@jnozsc)
    • Assorted typo fixes #3126 (@XhmikosR)
    • Reduce apt-get install verbosity #3205 (@MichaIng)
    • fix typo #3218 (@JulienOrain)
    • Revert using hardcoded php-intl meta package #3204 (@MichaIng)
    • Do not add pihole user to web server group #3226 (@MichaIng)
    • Remove dead code #3312 (@subdavis}
    • Only check SELinux states if "getenforce" command exists #3353 (@MichaIng)
    • Update documentation links #3359 (@dnicolson)
    • Fix GitHub capitalisation #3360 (@dnicolson)
    • Remove store/shop link from README #3369 (@a-p-o)
    • Start pihole-FTL after network #3248 (@MichaIng)
    • Use toggle instead of select #3406 (@PromoFaux)
    • Remove csslint from Strickler CI #3419 (@XhmikosR)
    • Reload the lists, which will cause the cached privacy level to be updated #3415 (@fhriley)
    • Remove deprecated Disconnect lists from "defaults" #3451 (@PromoFaux )
    • Update links #3412 (@XhmikosR)
    • Allow certain domain duplicates #3466 (@DL6ER )
    • Change OS Detection in debug script #3434 (@PromoFaux)
    • Improve man pihole restartdns section #3492 (@DL6ER)
    • Improve IP validation function #3489 (@Promofaux)
    • Markdown tweaks #3420 (@XhmikosR)
    • Fix/tweak blocking page #3403 (@XhmikosR)
    • Tweak lighttpd configs #3425 (@XhmikosR)
    • Prevent "pihole disable $timeout" from messing up future state changes #2887 (@tlk)
    • Add additional information about local debug log location #3545 (@PromoFaux / @dschaper)

    Fixes

    • Minor bugfix for Binary detection #3347 (@PromoFaux)
    • fixes #3217 by checking for existing pihole group #3246 (@pvogt09)
    • Failsafe checks for available APT package #3203 - Fixes #2888 (@MichaIng)
    • fix #3336 by creating adlist file even if no list was selected by user #3388 (@pvogt09)
    • Updated gravity.sh to allow semicolons in URLs #3446 - Fixes #3444 (@pgl)
    • Create adlist file even if no options are selected on install #3463 (@jesterchen)
    • Replace possible "#" by "#" to fix AdminLTE#1427 #3470 (@DL6ER)
    Source code(tar.gz)
    Source code(zip)
  • v4.4(Feb 25, 2020)

    • Prevent Firefox from automatically switching over to DNS-over-HTTPS This follows https://support.mozilla.org/en-US/kb/configuring-networks-disable-dns-over-https (sourced 7th September 2019)
    Source code(tar.gz)
    Source code(zip)
  • v4.3.5(Feb 24, 2020)

  • v4.3.4(Feb 24, 2020)

    • Contains an additional commit that we did not cherry pick into 4.3.3. Resolves issues with FTL saying there was an update, even though there was not one.
    • Fixes debug process to properly show the running daemon on required ports, shows green/red comparison.
    Source code(tar.gz)
    Source code(zip)
  • v4.3.3(Feb 23, 2020)

    How do I update my Pi-hole?

    • backport fix from 5.0 for unknown FTL location when determining latest version
    • backport fix from 5.0 for detecting the system architecture for FTL download
    • backport fix from 5.0 for web interface not showing the correct versions after a web-only update
    Source code(tar.gz)
    Source code(zip)
  • v4.3.2(Sep 15, 2019)

    How do I update my Pi-hole?

    Fixes

    • Simplify restarting code for pihole restartdns #2873 (Fixes #2869)
    • Remove the ZeusTracker blocklist from the defaults #2846 (Fixes #2843)
    • Fix for 404 error when browsing to http://pi.hole/ (without /admin) #2826
    • Fix for when dig also returns a CNAME #2865 (Fixes #2863)
    • Fix pihole -up showing FTL update when network is down #2820 (Fixes #1877)
    • Improve pid detection in pihole-FTL.service #2767
    • Fix uninstall causing 403 errors and not removing packages #2808
    • Fix pihole manpage to match code. #2822
    • Fix error when getting latest FTL tag from GitHub API #2882
    • Call pihole with full path in install and cronjobs. #2886 (Fixes #2860)
    • Add dhcp-ignore-names option when enabling DHCP service #2768 - Backport from v4.2
    • Restore pihole -q hosts format support and improve matching in edge cases #2891
    • Remove adblock list style support #2912
    Source code(tar.gz)
    Source code(zip)
  • v5.0(May 10, 2020)

    See FTL release notes for the highlights of this release: https://github.com/pi-hole/FTL/releases

    All Commits:

    https://github.com/pi-hole/pi-hole/compare/master...release/v5.0

    Source code(tar.gz)
    Source code(zip)
  • v4.3.1(Jun 29, 2019)

  • v4.2.2(Feb 18, 2019)

    How do I update my Pi-hole?

    See the Web changelog here

    See the FTL changelog here

    This is a patch release following on Pi-hole Core v4.2.1.

    Tweaks / Fixes

    • Make sure the run directory is emptied when starting pihole-FTL. If there are leftovers from previous pihole-FTL instances, we might get FTL crashes as the system prevents us from reading/writing to the shared memory objects if they are owned by a different user (e.g., root) #2626
    Source code(tar.gz)
    Source code(zip)
  • v4.2.1(Feb 3, 2019)

  • v4.3(May 18, 2019)

    How do I update my Pi-hole?

    See the Web changelog here

    See the FTL changelog here

    New

    • Download database of mac vendors for use by the web interface network table #2587
    • Add git status and diff to debug log #2640

    Tweaks

    • Warn user during update if FTL is on a custom branch #2659
    • Store list of pre-configured DNS servers for both installer and web usage #2593
    • Use curl instead of openssl for debug upload. #2647
    • Add a link to the documentation on FTL privacy levels during install #2696

    Fixes

    • Misc. installer fixes #2621
    • Improve support for using HTTPS on the block page #2637
    • Fix uninstalling when lighttpd was not installed #2674
    • Don't fail when trying to detect OS architecture on RPM-based systems #2646
    • Fix Query List script returning commented out domains #2688
    • Show $UPDATE_PKG_CACHE content in error message. #2718
    • Fix teleporter backup file extension #2717
    • Fix incorrect adlist query when an adlist is blocked during gravity #2735
    • Pi-hole Debug - tricorder upload function calls #2733
    Source code(tar.gz)
    Source code(zip)
  • v4.2(Feb 3, 2019)

    How do I update my Pi-hole?

    See the Web changelog here

    See the FTL changelog here

    New

    • Add libcap as dependency (needed by https://github.com/pi-hole/FTL/pull/453) #2578
    • Add wpad vulnerability fix as suggested by dnsmasq.conf.example #2570
    • Download FTL earlier in the installer #2602
    • Added check for universe repo on ubuntu bionic. #2512
    • add sqlite3 dependency for fedora (#2552) #2554

    Tweaks

    • List content of /dev/shm in debugger #2571 #2610
    • Backend changes for DHCPv4 rapid commit support #2520
    • Add privacy level 4 to all privacy level code #2543
    • Add a blank after printf to avoid 'Command not found' error #2564
    • Don't show web version in pihole -v output if not installed #2547
    • remove unused dependency (bc) #2581
    • Do not ask admin password just for help documentation #2575
    • Prevent double disabling/enabling #2601
    Source code(tar.gz)
    Source code(zip)
  • v4.1.1(Dec 21, 2018)

  • v4.1(Dec 9, 2018)

    How do I update my Pi-hole?

    See the Web changelog here

    See the FTL changelog here

    New

    • Add support for privacy level 4 #2383
    • Start pihole-FTL as root if Linux capabilities are not supported by the system (virtual container, etc.) #2378
    • Improve (speed up) the enable/disable method #2356

    Tweaks

    • Improve error message when downloading FTL failed #2331
    • Removed dependency on net-tools #2299

    Fixes

    • Remove PowerPC from FTL binaries #2329
    • Fix Chronometer heading #2327
    • Touch /etc/pihole/dhcp.leases to ensure it exists #2377
    • Fix lighttpd 1.4.50 crash #2407
    • Allow for non-standard port assignment for DNS #2505
    Source code(tar.gz)
    Source code(zip)
  • v4.0(Aug 5, 2018)

    How do I update my Pi-hole?

    See the Web changelog here

    See the FTL changelog here

    New

    • Add Cloudflare DNS (1.1.1.1) to list of upstream servers #2075
    • Add psmisc as a dependency (provides killall) #2133
    • Default blocklists can be disabled through the installer #2123
    • Use remi for PHP on CentOS family (user selectable) #2161
    • Use regex lists instead of wildcards for blocking #2236
    • Get user locale when debugging #2070
    • Add man pages for pihole, pihole-FTL, and pihole-FTL.conf #2205 #2212

    Tweaks

    • Add coverage, remove projects, add Patreon link #2219
    • Improve the debug script output #2060
    • Prevent inadvertent blocking of good domains appearing in query strings #2027
    • No need to stop services #2155
    • Don't run the full installer when checking out a different FTL branch #2208
    • Update bash completion #2224
    • pihole -t: Warn user if Pi-hole's logging is disabled #2240
    • Use "Web Interface" in help commands instead of "Admin Console" #2215

    Fixes

    • Uninstaller fixes #1761 #2167
    • Debug script: fix empty ports on some systems #2057
    • Proper CPU detection output in the debugger #1987
    • Use 127.0.0.1 instead of localhost when checking if the DNS server is open on port 53 #2090
    • Fix static IP checking on Fedora #2142
    • Allow for empty/non existent adlist file #2157
    • Fix for unattended installations (#1767 #1768 #1834) #1835
    • Don't attempt to download non-existent FTL Binary #2162
    • Fix block page crash on PHP 5.4 #2176
    • Disable SystemD's DNS stub resolver when installing to fix Ubuntu 18.04 #2180
    • Prevent redundant entries from being added to adlists.list #1954
    • Install 32bit FTL on 32bit OS (even if 64bit architecture is detected) #2004
    • Improve lighttpd service status detection #2206
    • Fix service pihole-FTL status on SystemV #2207
    • Try to use the installed version of PHP if it's at least 7.0 #2220
    • Block page: remove error text if next whitelist request succeeds #2231
    • Fix grep errors from surfacing during pihole -q #2234
    • Treat adlists.list URLs without a protocol as HTTP #2261
    • Installer fixes (PHP) for Fedora & CentOS #2277
    • Ensure help menu is accurate when using --wild and --regex #2278
    • Fix installing on non-en locales #2297
    • Install pihole-FTL config template #2310 #2317
    Source code(tar.gz)
    Source code(zip)
  • v3.3.1(Apr 2, 2018)

    How do I update my Pi-hole?

    See the Web changelog here

    See the FTL changelog here

    Tweaks

    • Don't auto-whitelist blocking list domains #1973
    • Always replace pihole-FTL.service on repair #1981
    • Store checked out FTL branch in /etc/pihole/ftlbranch #2030

    Fixes

    • pihole -f: Flush database records #1929
    • Always create blacklist.txt #1982
    Source code(tar.gz)
    Source code(zip)
  • v3.3(Feb 14, 2018)

    How do I update my Pi-hole?

    See the Web changelog here

    See the FTL changelog here

    Note: This release changes to way dnsmasq is writing its logs to its log file.

    New

    • Enable dnsmasq's extra logging feature #1859
    • Add secondary quad9 server #1778
    • Add "pihole logging off noflush" command #1922

    Tweaks

    • Add fallback interface in DNS settings #1897
    • Force update of update checker for new installs #1878
    • Remove the pihole update line from the cron file #1908
    • Renamed functions in gravity.sh to make them more readable #1913
    • Use more secure temp files for installation logging #1925
    • Create required folders for FTL before it starts #1885

    Fixes

    • Use .lan as fallback TLD for DHCP generated domains #1918
    • Fix epel-release install for CentOS #1901
    • Fix for "Binary file matches" error in gravity.list generation #1910
    • Fix typo in debugger output #1904
    • Fix type in installer output #1936
    • Fix "Bad file descriptor" errors in Chronometer #1880
    • Fix FTL's version saving incorrectly, causing it to always show up as vDev on the web interface #1866
    • Fix update/repair sometimes failing when no web interface has been installed #1873
    Source code(tar.gz)
    Source code(zip)
  • v3.2.1(Dec 22, 2017)

    How do I update my Pi-hole?

    See the Web changelog here

    See the FTL changelog here

    This is a bug fix release for some minor bugs that have been reported in Pi-hole v3.2

    New

    • Add support for local blocking lists #1779

    Tweaks

    • Randomize update checker time #1857
    • Only check for updates against the GitHub API once a day #1825
    • Update DNSSEC trust anchor #1854
    • Change package install notification from CROSS to INFO #1836
    • Change output of gravity lines containing numbers. #1850
    • Improve debug script compatibility with service and systemctl #1818

    Fixes

    • Improve gravity DNS check compatibility #1812
    • Check NetworkManager status prior to using the cli (#1653) #1811
    • Revert gravity parsing method to that of 3.1.4. This avoids false entries in gravity.list #1840
    • Fix sending headers after html #1829
    • Remove quotes from the uniqDomains array to actually whitelist the source domains #1849
    • Add new DNSSEC trust anchor record for authentication rolllover. #1861
    • Fix pihole.log permissions if mounted on tmpfs or accidentally removed #1817
    Source code(tar.gz)
    Source code(zip)
  • v3.1.4(Jul 18, 2017)

  • v3.2(Dec 6, 2017)

    How do I update my Pi-hole?

    See the Web changelog here

    See the FTL changelog here

    New

    • Audit log (implemented feature request) #1399
    • Add pihole checkout ftl #1567
    • Add web frontend shutdown command #1572
    • Allow for Custom block page #1688
    • Add pihole -a email functionality for Block Page contact email #1691
    • add SELinux checks to debug script #1735
    • Use cron based update checker to speed up web interface #1752
    • Support local blocklists (implemented feature request) #1779

    Tweaks

    • Randomize gravity update time (implemented feature request) #1747
    • Send SIGHUP to pihole-FTL when restarting/reloading dnsmasq #1751
    • Add nuclear option to list.sh #1728
    • Add VPN host names to local.list #1682 #1718
    • Gravity: Add ignore-case switch to sort (domains) #1687
    • Colourised output text #1471
    • Make Chronometer usable on smaller screens #1518
    • Revamp of debug script to better allow users to self-diagnose their installs #1565, #1585
    • Install Script: Add comments for nearly every line of code #1586
    • User-friendly pihole -q output #1483
    • Avoid reactivating a deactivated lighttpd service #1485
    • Only download FTL if a newer version than currently installed is detected (or if no version is detected) #1600
    • Block Page 2.0 #1416
    • Prevent Let's Encrypt HTTPS from causing Block Page issues #1420
    • Decrease local-ttl to 2 #1701
    • Cleanup uninstall script #1663
    • Clean up and optimise Gravity #1631
    • Start and enable FTL prior to running Gravity #1700

    Fixes

    • Allow passwords with spaces #1780
    • Minor gramatical and formatting fixes #1757
    • Fix IPv6 wildcard blocking (if CIDR is present) #1556
    • Fix IPv6 gravity generation (if CIDR is present) #1564
    • Fix install script using IPv6 CIDR notation #1570
    • Use the correct hostname for Pi-hole (regression) #1560
    • Accept underscores when validating domain names #1571
    • Show text typed when pressing Ctrl+C after using pihole -a -p #1587
    • Prevent Web Admin from printing restartdns colour codes #1575
    • Provide correct FTL stats #1619
    • Fix pihole -q if adlists URLs have been removed #1618
    • Always process DNS and DHCP settings in installer #1630
    • Stop an extra h being added to leasetime of DHCP server. #1646
    • Fix URL extension parsing in certain cases on the block page #1602
    • Replace superseded netstat command #1676
    • Add php5-sqlite to dependencies #1581
    • Slow query fix & queryFunc optimisation #1694
    • Exclude files from Web Admin that should not be accessible #1704
    • Correctly highlight Pi-hole's IPv4/6 addresses when running pihole tail #1707
    Source code(tar.gz)
    Source code(zip)
  • v3.1(Jun 20, 2017)

    See the Web interface changelog here.

    New

    • Chronometer 2 #1474
    • Tricorder debug logs are now uploaded using SSL when openssl is available #1464
    • Tricorder has a 10 second opt-out window if openssl isn't available when uploading #1469
    • IPv6: Use ULA addresses in favor of GUA addresses if available #1508
    • Add weekly logrotation of FTL's log #1509
    • Separate blacklist into blacklist.list from gravity.list #1534

    Tweaks

    • Install loopback firewall rules for FTL #1419
    • Default dhcpcd.conf nameservers to 127.0.0.1 #1436
    • Version now displays FTL data. New flags and re-written script. #1447 #1459
    • Improve busybox portablity and support #1465
    • Improve formatting of help docs #1468
    • Fixed handling of pihole -wild help text #1317
    • Repair/Reconfigure will reset any changes made to /etc/.pihole and /var/www/html/admin #1481 #1491
    • Stash changes when using checkout #1384
    • Update adlist query to search whitelist #1456

    Fixes

    • Apt failure message doesn't show internal function name to users. #1446
    • Fix whitelisting via block page if not on the root page #1452
    • Debug log now shows status of Gateway checks #1455
    • Only logrotate once at midnight #1476
    • Disable wildcard-list when disabling Pi-hole #1495
    • FTL would update twice if both it and core had an update #1517
    • Correct permissions on /etc/pihole #1530
    • Delete temporary FTL install files after install #1532
    Source code(tar.gz)
    Source code(zip)
Owner
Pi-hole
A black hole for Internet advertisements
Pi-hole
A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!

A free and open source resume builder. Go to App What is this app all about? Reactive Resume is a free and open source resume builder that’s built to

Amruth Pillai 2.8k Jun 7, 2021
Display and control your Android device

scrcpy (v1.17) Read in another language This application provides display and control of Android devices connected on USB (or over TCP/IP). It does no

Genymobile 49.4k Jun 4, 2021
🔥 Open source static (serverless) status page. Uses hyperfast Go & Hugo, minimal HTML/CSS/JS, customizable, outstanding browser support (IE8+), preloaded CMS, read-only API, badges & more.

Über fast, backwards compatible (IE8+), tiny, and simple status page built with Hugo. Completely free with Netlify. Comes with Netlify CMS, read-only

cState 1.3k Jun 5, 2021
⚓️ Anchr provides you with a toolbox for tiny tasks on the internet, especially bookmark collections

Anchr - Image uploads, bookmarks and shortlink service Anchr is a useful little helper or toolbox or the like for common tasks on the internet. It com

Ferdinand Mütsch 73 Jun 2, 2021
The HTML Presentation Framework

reveal.js is an open source HTML presentation framework. It enables anyone with a web browser to create fully featured and beautiful presentations for

Hakim El Hattab 56.5k Jun 6, 2021
Linux Application Launcher

Master: Dev: Application Launcher for Linux ?? Ulauncher is a fast application launcher for Linux. It's is written in Python, using GTK+. App Search F

Ulauncher 2k Jun 5, 2021
Online genealogy

webtrees - online collaborative genealogy Contents License Coding styles and standards Introduction System requirements Internet browser compatibility

Greg Roach 550 Jun 7, 2021
Open source API management platform

About Fusio is an open source API management platform which helps to build and manage REST APIs. Fusio provides all tools to quickly build an API from

Apioo 970 Jun 5, 2021
Self-hosted VirusTotal / MetaDefender wannabe with API, demo UI and Scanners running in Docker.

MalwareMultiScan Self-hosted VirusTotal / OPSWAT MetaDefender wannabe API for scanning URLs and files by multiple antivirus solutions. IMPORTANT: vers

Volodymyr Smirnov 233 Jun 6, 2021
Helping to catalog, preserve and free the artifacts you need to produce music.

Musical Artifacts Helping to catalog, preserve and free the artifacts you need to produce music. Donate via Paypal Donate via Bitcoin Read the wiki Is

Lucas 58 Jun 6, 2021
Mobile Shell

Mosh: the mobile shell Mosh is a remote terminal application that supports intermittent connectivity, allows roaming, and provides speculative local e

Mosh (mobile shell) 10k Jun 4, 2021
Mycroft Core, the Mycroft Artificial Intelligence platform.

Mycroft Mycroft is a hackable open source voice assistant. Table of Contents Getting Started Running Mycroft Using Mycroft Home Device and Account Man

Mycroft 5.1k Jun 6, 2021