PiPass/blockpage

Need Help: Not redirecting (solved original issue for this post)

Closed this issue · 8 comments

Topic
Initial setup and installation

What have you already tried?
I have formatted my card and tried to install PHP7.0-curl but I receive an error that
E: Package 'php7.0-curl' has no installation candidate

Additional context
I have the Raspberry Pi 3B+, Its on ethernet and I have Raspian Buster Lite installed

Relevant logs or images

When I try to install PiPass:
cd ~/ && wget -O setup.php https://apps.roen.us/pipass/setup && sudo php setup.php

PiPass installer

Root user check...
Root user check complete
Please enter your web document root. (e.g. /var/www/html)
/var/www/html
Confirmation: Is this the correct document root? (/var/www/html) [y/n]
y
DR check succeeded, now installing PiPass...
Current php user is pi.
Building /etc/sudoers line to add...
Checking if /etc/sudoers is already set up...
Adding line to /etc/sudoers...
Permissions have been set up successfully!
Setting up Git repository and collecting PiPass files.
remote: Enumerating objects: 219, done.
remote: Counting objects: 100% (219/219), done.
remote: Compressing objects: 100% (164/164), done.
remote: Total 566 (delta 85), reused 127 (delta 37), pack-reused 347
Receiving objects: 100% (566/566), 791.67 KiB | 1.71 MiB/s, done.
Resolving deltas: 100% (231/231), done.
From https://github.com/roenw/pipass
 * [new branch]      admin        -> origin/admin
 * [new branch]      locales-beta -> origin/locales-beta
 * [new branch]      master       -> origin/master
 * [new tag]         v1.3         -> v1.3
 * [new tag]         v1.3.5       -> v1.3.5
fatal: not a git repository (or any of the parent directories): .git
PHP Fatal error:  Uncaught Error: Call to undefined function curl_init() in /home/pi/setup.php:84
Stack trace:
#0 /home/pi/setup.php(94): get_data('https://apps.ro...')
#1 /home/pi/setup.php(47): install()
#2 /home/pi/setup.php(24): preInstall()
#3 {main}
  thrown in /home/pi/setup.php on line 84



When trying to install php7.0-curl

pi@raspberrypi:~ $ sudo apt-get install php7.0-curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package php7.0-curl is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'php7.0-curl' has no installation candidate

I would love to use PiPass but I know I'm doing something wrong.

Got it by running:

    apt-get install curl
    apt-get install libcurl
    apt-get install php-curl

Now though I am unable to see the block page. I can reach 192.168.0.7/blockpage by going to it normally but I not in the block page.

Output:
pi@raspberrypi:~ $ cat /etc/lighttpd/lighttpd.conf

# Pi-hole: A black hole for Internet advertisements
# (c) 2017 Pi-hole, LLC (https://pi-hole.net)
# Network-wide ad blocking via your own hardware.
#
# Lighttpd config for Pi-hole
#
# This file is copyright under the latest version of the EUPL.
# Please see LICENSE file for your rights under this license.

###############################################################################
#     FILE AUTOMATICALLY OVERWRITTEN BY PI-HOLE INSTALL/UPDATE PROCEDURE.     #
# ANY CHANGES MADE TO THIS FILE AFTER INSTALL WILL BE LOST ON THE NEXT UPDATE #
#                                                                             #
#              CHANGES SHOULD BE MADE IN A SEPARATE CONFIG FILE:              #
#                         /etc/lighttpd/external.conf                         #
###############################################################################

server.modules = (
        "mod_access",
        "mod_accesslog",
        "mod_auth",
        "mod_expire",
        "mod_compress",
        "mod_redirect",
        "mod_setenv",
        "mod_rewrite"
)

server.document-root        = "/var/www/html"
server.error-handler-404    = "index.php"
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"
server.port                 = 80
accesslog.filename          = "/var/log/lighttpd/access.log"
accesslog.format            = "%{%s}t|%V|%r|%s|%b"

index-file.names            = ( "index.php", "index.html", "index.lighttpd.html" )
url.access-deny             = ( "~", ".inc", ".md", ".yml", ".ini" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

compress.cache-dir          = "/var/cache/lighttpd/compress/"
compress.filetype           = ( "application/javascript", "text/css", "text/html", "text/plain" )

mimetype.assign   = ( ".png"  => "image/png",
                      ".jpg"  => "image/jpeg",
                      ".jpeg" => "image/jpeg",
                      ".html" => "text/html",
                      ".css" => "text/css; charset=utf-8",
                      ".js" => "application/javascript",
                      ".json" => "application/json",
                      ".txt"  => "text/plain",
                      ".svg"  => "image/svg+xml" )

# default listening port for IPv6 falls back to the IPv4 port
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port

# Prevent Lighttpd from enabling Let's Encrypt SSL for every blocked domain
#include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
include_shell "find /etc/lighttpd/conf-enabled -name '*.conf' -a ! -name 'letsencrypt.conf' -printf 'include \"%p\"\n' 2>/dev/null"

# If the URL starts with /admin, it is the Web interface
$HTTP["url"] =~ "^/admin/" {
    # Create a response header for debugging using curl -I
    setenv.add-response-header = (
        "X-Pi-hole" => "The Pi-hole Web interface is working!",
        "X-Frame-Options" => "DENY"
    )

    $HTTP["url"] =~ ".ttf$" {
        # Allow Block Page access to local fonts
        setenv.add-response-header = ( "Access-Control-Allow-Origin" => "*" )
    }
}

# Block . files from being served, such as .git, .github, .gitignore
$HTTP["url"] =~ "^/admin/\.(.*)" {
     url.access-deny = ("")
}

# Add user chosen options held in external file
# This uses include_shell instead of an include wildcard for compatibility
include_shell "cat external.conf 2>/dev/null"

I tried editing pi@raspberrypi:~ $ sudo nano /etc/pihole/pihole-FTL.conf
to be IP-NODATA-AAAA and IP but same "page cannot be found" when visiting a blocked page (in this case facebook.com)

roenw commented

Did you modify the config.php file blockpage_url directive?

It should be http://PIHOLE_IP/blockpage

I did, it says:

$conf['blockpage_url'] = "192.168.0.7/blockpage";

Also, something curious that I believe tells me I did something wrong. If I go to 192.168.0.7, I'm presented with the blockpage
http://192.168.0.7/blockpage/?url=192.168.0.7

I fixed it. I had changed my time zone to Phoenix. I changed it back to new_york and it works now!

Thank you!

It actually stopped working for me. Last night it was redirecting pages and this morning again, I get the standard cannot connect screen. I didn't touch the Pi at all between then and now. I just rebooted the Pi and my router and still no luck. I'm not sure what I'm missing at this point..

roenw commented

This is definitely a weird issue. Could you go more into detail of the “standard cannot connect screen”? In Chrome, what is the error code?

https://imgur.com/a/xvgpdGa

I cleared cache on all three. That's firefox on windows 10, IE on windows 10 and my phone with firefox browser (incognito )
Could this be a caching issue?

I'm a moron. Its my adblockers.

You're the best

I removed adblock plus and useragent switcher and now it works on my phone