diff --git a/tool/mastodonwch/index.php b/tool/mastodonwch/index.php new file mode 100644 index 000000000..14481a151 --- /dev/null +++ b/tool/mastodonwch/index.php @@ -0,0 +1,136 @@ +connect_errno) +{ + exit; +} +$count_all = - 1; +if ($r = $sqlme->query("SELECT count(id) FROM toot_scanned;")) +{ + $rr = mysqli_fetch_assoc($r); + $r->free(); + $count_all = $rr['count(id)']; +} +$count_cf = - 1; +if ($r = $sqlme->query("SELECT count(id) FROM toot_scanned WHERE iscf=1;")) +{ + $rr = mysqli_fetch_assoc($r); + $r->free(); + $count_cf = $rr['count(id)']; +} +if ($count_all == - 1 || $count_cf == - 1) +{ + exit; +} +$count_acpct = round(($count_cf * 100) / $count_all, 2); +$count_all = number_format($count_all); +$count_cf = number_format($count_cf); +$count_waitask = - 1; +if ($r = $sqlme->query("SELECT count(fqdn) FROM toot_notcf_fqdn WHERE dl=0;")) +{ + $rr = mysqli_fetch_assoc($r); + $r->free(); + $count_waitask = $rr['count(fqdn)']; +} +$count_waitask = number_format($count_waitask); +$lastuptime = humanTiming(filemtime('/onion/sseeccrreett/data/mastodon.toot.scan')); +$var_who = htmlspecialchars($_GET['who'], ENT_QUOTES); +$resultHTML = ''; +if (strpos($var_who, '--') !== false) +{ + $var_who = ''; +} +if (preg_match("/write_here_yourself/", $var_who)) +{ + $resultHTML .= '
'; + $person_a = 0; + if ($r = $sqlme->query("SELECT count(id) FROM toot_scanned WHERE who='{$var_who}';")) + { + $rr = mysqli_fetch_assoc($r); + $r->free(); + $person_a = $rr['count(id)']; + } + $person_b = 0; + if ($r = $sqlme->query("SELECT count(id) FROM toot_scanned WHERE who='{$var_who}' AND iscf=1;")) + { + $rr = mysqli_fetch_assoc($r); + $r->free(); + $person_b = $rr['count(id)']; + } + $person_c = round(($person_b * 100) / $person_a, 2); + if (is_nan($person_c)) + { + $person_c = 0; + } + $person_a = number_format($person_a); + $person_b = number_format($person_b); + $resultHTML .= ""; + $resultHTML .= ""; + $resultHTML .= ""; + $resultHTML .= ""; + if ($r = $sqlme->query("SELECT url FROM toot_cfsaid WHERE who='{$var_who}' LIMIT 100;")) + { + while ($row = mysqli_fetch_assoc($r)) + { + $vurl = htmlspecialchars($row['url'], ENT_QUOTES); + $resultHTML .= ""; + } + } + $resultHTML .= '
About{$var_who}
Toots has links{$person_a}
⮡ Toots has Cloudflare link{$person_b} [{$person_c}%]
Detected (LIMIT 100)
{$vurl}
'; +} +elseif ($var_who == 'a') +{ + $resultHTML .= '
'; + if ($r = $sqlme->query("SELECT who,count(*) as count FROM toot_scanned GROUP BY who ORDER BY count DESC LIMIT 100;")) + { + while ($row = mysqli_fetch_assoc($r)) + { + $rcount = number_format($row['count']); + $resultHTML .= ""; + } + } + $resultHTML .= '
Shared any linksToots
{$row['who']}{$rcount}
'; +} +elseif ($var_who == 'c') +{ + $resultHTML .= '
'; + if ($r = $sqlme->query("SELECT who,count(*) as count FROM toot_scanned WHERE iscf=1 GROUP BY who ORDER BY count DESC LIMIT 100;")) + { + while ($row = mysqli_fetch_assoc($r)) + { + $rcount = number_format($row['count']); + $resultHTML .= ""; + } + } + $resultHTML .= '
Shared Cloudflare linksToots
{$row['who']}{$rcount}
'; +} +elseif ($var_who == 'f') +{ + $resultHTML .= '
'; + if ($r = $sqlme->query("SELECT fqdn,count(*) as count FROM toot_sharefqdn GROUP BY fqdn ORDER BY count DESC LIMIT 50;")) + { + while ($row = mysqli_fetch_assoc($r)) + { + $rcount = number_format($row['count']); + $riscf = is_known_cf(get_domainname($row['fqdn']) [1]) ? 'Yes' : 'No'; + $resultHTML .= ""; + } + } + $resultHTML .= '
Shared FQDNCloudflareFound in Toots
{$row['fqdn']}{$riscf}{$rcount}
'; +} +else +{ + $resultHTML .= ''; +} +$finalpage = <<Shared on Mastodon

+[ INDEX ] Update {$lastuptime} ago
+Toots has links: {$count_all}
+⮡ Toots has Cloudflare link: {$count_cf} [{$count_acpct}%]
+Pending Investigation: {$count_waitask}
+
{$resultHTML}
+HTMLRESULT; +echo (str_replace("\n", '', $finalpage)); \ No newline at end of file