Compare commits

..

21 Commits

Author SHA1 Message Date
Paul Cesar 1e708ad68a example.json.is_cloudflare.php 2021-04-01 08:26:54 +02:00
David Fritsch da089ce9e7 cloudflare_supporter.txt 2021-04-01 07:59:08 +02:00
codebergcrimeflare eaa7f3d168 PR
PR
2021-04-01 06:58:08 +02:00
7trey c3fa7bcca0 Merge branch 'master' into master 2021-04-01 06:56:39 +02:00
7trey ce239394e3 Update 'cloudflare_users/domains/README.md' 2021-04-01 06:54:49 +02:00
7trey 3d3e70c381 Add 'tool/example.json.is_cloudflare.php' 2021-04-01 06:53:09 +02:00
Andrew Galloni 1cb578af83 cloudflare_supporter.txt 2021-04-01 06:49:07 +02:00
7trey 048892d249 Add 'tool/mastodonfind/index.php' 2021-04-01 06:42:30 +02:00
7trey ba265b7b8c Update 'tool/mastodonfind/README.md' 2021-04-01 06:40:50 +02:00
7trey d5664b4825 Update 'tool/mastodonfinder/README.md' 2021-04-01 06:40:33 +02:00
7trey b644536fbc Add 'tool/mastodonfind' 2021-04-01 06:39:30 +02:00
Yuri Takano 8060f5c9d0 PEOPLE.md 2021-04-01 06:38:53 +02:00
Alex Dyner 2b63688a67 PEOPLE.md 2021-04-01 05:59:12 +02:00
Mia Wang 4286a6d70e cloudflare_supporter.txt 2021-04-01 05:39:00 +02:00
Erika Gonzalez 3ceee66aed cloudflare_r.json 2021-04-01 02:41:39 +02:00
Larry Sandoval 36b7cfe9d5 cloudflare_r.txt 2021-04-01 02:39:31 +02:00
Karl Henrik Smith 90e99a1da2 README.md 2021-04-01 02:29:01 +02:00
Algin Martin 7f27de04cf README.md 2021-04-01 02:28:56 +02:00
Petra Arts eef826ec18 cloudflare_supporter.txt 2021-04-01 02:19:09 +02:00
Michael Truong 23bc9a0ed6 cloudflare_supporter.txt 2021-04-01 02:06:21 +02:00
Andrew Kennedy 999580ce5b cloudflare_supporter.txt 2021-04-01 00:56:08 +02:00
9 changed files with 6947 additions and 2044 deletions

View File

@ -439,6 +439,8 @@ You shouldnt use it if you value visitors privacy.
- My Internet is down, also I see your website is showing the cloudflare error page, is there a link? I'm in Athlone. ([ashrafedross](https://twitter.com/AshrafEdross/status/1377478949928849411))
- Trying to login to do some maintenance and like, I cant pass the cloudflare captcha used by digital ocean. Identify bikes? Failed. Identify boats? Failed. Love to have computers ([jordansissel](https://twitter.com/jordansissel/status/1377469720429916160))
- Keep getting a cloudflare captcha when trying to load a stream only to be get stuck in an endless loading screen after completing it. ([wow0w0](https://twitter.com/WOW0W0/status/1377099930137886727)) - Keep getting a cloudflare captcha when trying to load a stream only to be get stuck in an endless loading screen after completing it. ([wow0w0](https://twitter.com/WOW0W0/status/1377099930137886727))
- Error 1020 Ray ID: • 2021-03-30 10:25:26 UTC Access denied What happened? This website is using a security service to protect itself from online attacks. Cloudflare Ray ID: • Your IP: 123.122.37. I am CN,some times,I use VPN.Plz don't banned me.I really want to learn. ([moshuid](https://twitter.com/MoshuiD/status/1376843658872283140)) - Error 1020 Ray ID: • 2021-03-30 10:25:26 UTC Access denied What happened? This website is using a security service to protect itself from online attacks. Cloudflare Ray ID: • Your IP: 123.122.37. I am CN,some times,I use VPN.Plz don't banned me.I really want to learn. ([moshuid](https://twitter.com/MoshuiD/status/1376843658872283140))
- WTF, zijn de kranten nu allemaal vpn verbindingen aan het blokkeren, met die cloudflare captcha's? ..... ([polr](https://twitter.com/polr/status/1376778162454077441)) - WTF, zijn de kranten nu allemaal vpn verbindingen aan het blokkeren, met die cloudflare captcha's? ..... ([polr](https://twitter.com/polr/status/1376778162454077441))

View File

@ -3,7 +3,7 @@
[//]: # (do not edit me; start) [//]: # (do not edit me; start)
## *145,554* FQDN ## *146,094* FQDN
[//]: # (do not edit me; end) [//]: # (do not edit me; end)

View File

@ -1,8 +1,11 @@
(editor notice: blacklisted codeberg.org. see HISTORY.md) (editor notice: blacklisted codeberg.org. see HISTORY.md)
https://activism.openworlds.info/ [ 1 If you have a fucking problem with this list ]
https://chaos.social/@davidak [ 2 think about what you did. If you strongly ]
https://davidak.de/ [ 3 believe you are innocent, write a comment ]
https://dev.lemmy.ml/u/PoorPocketsMcNewHold [ 4 to issue number 15. Do not create new issue ]
[ 5 or we will close it as duplicate. ]
https://activism.openworlds.info/ (by deleting account without warning & showed hostility)
https://dev.lemmy.ml/u/PoorPocketsMcNewHold (account deleted; leaving it as history)
https://github.com/4-FLOSS-Free-Libre-Open-Source-Software https://github.com/4-FLOSS-Free-Libre-Open-Source-Software
https://github.com/BurungHantu1605 https://github.com/BurungHantu1605
https://github.com/HLFH https://github.com/HLFH
@ -64,6 +67,7 @@ https://resynth1943.net/
https://social.avareborn.de/@nipos https://social.avareborn.de/@nipos
https://social.privacytools.io/@BurungHantu https://social.privacytools.io/@BurungHantu
https://social.tchncs.de/@wallichii https://social.tchncs.de/@wallichii
https://twitter.com/AKuisorn/status/1377407076373164032
https://twitter.com/ArMe69697866/status/1376913334377791492 https://twitter.com/ArMe69697866/status/1376913334377791492
https://twitter.com/ArteImmaginePh3/status/1370471352373772291 https://twitter.com/ArteImmaginePh3/status/1370471352373772291
https://twitter.com/AskmeArunkc21/status/1370289301959835651 https://twitter.com/AskmeArunkc21/status/1370289301959835651
@ -75,6 +79,7 @@ https://twitter.com/Ayush08264190/status/1377155965313675265
https://twitter.com/BhabishyaB/status/1370382367894904832 https://twitter.com/BhabishyaB/status/1370382367894904832
https://twitter.com/BryceGerhardt7/status/1377248264886513668 https://twitter.com/BryceGerhardt7/status/1377248264886513668
https://twitter.com/Bunny43788913/status/1376950304982327303 https://twitter.com/Bunny43788913/status/1376950304982327303
https://twitter.com/CaoKhChinh2/status/1377461966738841601
https://twitter.com/ChadaramGanesh/status/1377217673478594565 https://twitter.com/ChadaramGanesh/status/1377217673478594565
https://twitter.com/Chit12127394/status/1377063466050056192 https://twitter.com/Chit12127394/status/1377063466050056192
https://twitter.com/CreeperpowerS/status/1370279626443001861 https://twitter.com/CreeperpowerS/status/1370279626443001861
@ -89,6 +94,7 @@ https://twitter.com/GreatLakeHits/status/1377235337714499584
https://twitter.com/Hami_HamaSaed/status/1376832495468081156 https://twitter.com/Hami_HamaSaed/status/1376832495468081156
https://twitter.com/Harsha47502596/status/1377258470311792646 https://twitter.com/Harsha47502596/status/1377258470311792646
https://twitter.com/HeinNandaAung5/status/1376730030630301699 https://twitter.com/HeinNandaAung5/status/1376730030630301699
https://twitter.com/HellishDani/status/1377383208828903427
https://twitter.com/HighTylerGreen/status/1372862559800463360 https://twitter.com/HighTylerGreen/status/1372862559800463360
https://twitter.com/HsettKaung/status/1377183605219192838 https://twitter.com/HsettKaung/status/1377183605219192838
https://twitter.com/HtetOoH95195384/status/1376733401558872064 https://twitter.com/HtetOoH95195384/status/1376733401558872064
@ -122,8 +128,10 @@ https://twitter.com/NitiSinghTomar1/status/1376880690516660226
https://twitter.com/Nyo33346283/status/1376720739886276608 https://twitter.com/Nyo33346283/status/1376720739886276608
https://twitter.com/OlTunexcon/status/1376669048839282690 https://twitter.com/OlTunexcon/status/1376669048839282690
https://twitter.com/OoLayGyiMdy/status/1377196818384121860 https://twitter.com/OoLayGyiMdy/status/1377196818384121860
https://twitter.com/Owen92335115/status/1377489036877524995
https://twitter.com/PHOENIX67879992/status/1377366160702795781 https://twitter.com/PHOENIX67879992/status/1377366160702795781
https://twitter.com/Paing15947077/status/1377138757418196998 https://twitter.com/Paing15947077/status/1377138757418196998
https://twitter.com/PanEiPh98425624/status/1377480471718686721
https://twitter.com/PhamThaiSon6/status/1377042683378601987 https://twitter.com/PhamThaiSon6/status/1377042683378601987
https://twitter.com/PhuongN09560858/status/1377291979885748228 https://twitter.com/PhuongN09560858/status/1377291979885748228
https://twitter.com/Pineapp43234632/status/1377259907519373322 https://twitter.com/Pineapp43234632/status/1377259907519373322
@ -136,8 +144,10 @@ https://twitter.com/RpaS0lution/status/1374198517950865409
https://twitter.com/SEOforWebsite4/status/1374211700317032448 https://twitter.com/SEOforWebsite4/status/1374211700317032448
https://twitter.com/SMC67254820/status/1376951172607578120 https://twitter.com/SMC67254820/status/1376951172607578120
https://twitter.com/SSuiteSoftware/status/1372875712240230400 https://twitter.com/SSuiteSoftware/status/1372875712240230400
https://twitter.com/SameerDangi9/status/1377450627631095808
https://twitter.com/Saturn52786089/status/1370285435193266176 https://twitter.com/Saturn52786089/status/1370285435193266176
https://twitter.com/SharifTech_/status/1377317759311224837 https://twitter.com/SharifTech_/status/1377317759311224837
https://twitter.com/ShyZ97166261/status/1377466338998853634
https://twitter.com/Steferine4eva/status/1377275017172373506 https://twitter.com/Steferine4eva/status/1377275017172373506
https://twitter.com/Sunshin69624226/status/1376928070729224194 https://twitter.com/Sunshin69624226/status/1376928070729224194
https://twitter.com/TONY18321536/status/1376917756486946817 https://twitter.com/TONY18321536/status/1376917756486946817
@ -145,10 +155,13 @@ https://twitter.com/TargaDigitalUK/status/1370309383742185473
https://twitter.com/Tazhys/status/1371881250206679046 https://twitter.com/Tazhys/status/1371881250206679046
https://twitter.com/V25022000/status/1376914512725479429 https://twitter.com/V25022000/status/1376914512725479429
https://twitter.com/Vit69723327/status/1376846374667345922 https://twitter.com/Vit69723327/status/1376846374667345922
https://twitter.com/W01fyH/status/1377451953353986053
https://twitter.com/WaiOrtho/status/1377476715556003840
https://twitter.com/Xxxxx41471542/status/1376932828768829440 https://twitter.com/Xxxxx41471542/status/1376932828768829440
https://twitter.com/YaKauk47/status/1376851886981009412 https://twitter.com/YaKauk47/status/1376851886981009412
https://twitter.com/YingQunSu1/status/1376963946230521861 https://twitter.com/YingQunSu1/status/1376963946230521861
https://twitter.com/Zabujca997/status/1371397158809784320 https://twitter.com/Zabujca997/status/1371397158809784320
https://twitter.com/Zack_gaming7/status/1377466204097441792
https://twitter.com/ZayYar07281465/status/1377283812967600134 https://twitter.com/ZayYar07281465/status/1377283812967600134
https://twitter.com/ZoanZonoa/status/1376874020277133313 https://twitter.com/ZoanZonoa/status/1376874020277133313
https://twitter.com/aarashaaria/status/1376873295639949315 https://twitter.com/aarashaaria/status/1376873295639949315
@ -157,8 +170,10 @@ https://twitter.com/afrash/status/1369943509839585281
https://twitter.com/ajayajayid/status/1374250782011256837 https://twitter.com/ajayajayid/status/1374250782011256837
https://twitter.com/aldoscar_oscar/status/1377318204477964290 https://twitter.com/aldoscar_oscar/status/1377318204477964290
https://twitter.com/anushka_wije/status/1370919655980691461 https://twitter.com/anushka_wije/status/1370919655980691461
https://twitter.com/aung90449662/status/1377462661927952388
https://twitter.com/badluckbillyxo/status/1371850435015884807 https://twitter.com/badluckbillyxo/status/1371850435015884807
https://twitter.com/barbadoslive/status/1370835424571179012 https://twitter.com/barbadoslive/status/1370835424571179012
https://twitter.com/boyarmy1234/status/1377459765933006850
https://twitter.com/catchme07/status/1373180238264291334 https://twitter.com/catchme07/status/1373180238264291334
https://twitter.com/charliebrown/status/1376643693164298241 https://twitter.com/charliebrown/status/1376643693164298241
https://twitter.com/chrisabraham/status/1370082263262752772 https://twitter.com/chrisabraham/status/1370082263262752772
@ -185,6 +200,7 @@ https://twitter.com/jaysonm76681877/status/1376793641474260994
https://twitter.com/jef43477408/status/1377262260272439301 https://twitter.com/jef43477408/status/1377262260272439301
https://twitter.com/jhnmchlcrpx/status/1377245823180804097 https://twitter.com/jhnmchlcrpx/status/1377245823180804097
https://twitter.com/kanaan94901823/status/1377247977803251712 https://twitter.com/kanaan94901823/status/1377247977803251712
https://twitter.com/khet_win/status/1377468267539935233
https://twitter.com/kikidrilla/status/1372335070158204930 https://twitter.com/kikidrilla/status/1372335070158204930
https://twitter.com/kukuhtun/status/1377224548454526978 https://twitter.com/kukuhtun/status/1377224548454526978
https://twitter.com/kyawlinoo2008/status/1377158030924476421 https://twitter.com/kyawlinoo2008/status/1377158030924476421

View File

@ -3,12 +3,13 @@
[//]: # (do not edit me; start) [//]: # (do not edit me; start)
## *7,486,421* domajnoj ## *7,491,400* domajnoj
[//]: # (do not edit me; end) [//]: # (do not edit me; end)
- Bonvolu vidi [INSTRUCTION.md](../../INSTRUCTION.md) por dosiera celo kaj formato specifoj. - Bonvolu vidi [INSTRUCTION.md](../../INSTRUCTION.md) por dosiera celo kaj formato specifoj.
- [is_listed_cf(), is_cloudflare_cached()](../../tool/example.json.is_cloudflare.php)
----- -----
@ -16,3 +17,4 @@
# Cloudflare users domain list # Cloudflare users domain list
- See [INSTRUCTION.md](../../INSTRUCTION.md) for file purpose and format specifications. - See [INSTRUCTION.md](../../INSTRUCTION.md) for file purpose and format specifications.
- [is_listed_cf(), is_cloudflare_cached()](../../tool/example.json.is_cloudflare.php)

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,56 @@
<?php
/*
How to use json file
1. Download .json files: https://codeberg.org/crimeflare/cloudflare-tor/src/branch/master/cloudflare_users/domains
2. Edit path: "/path/to/jsonfiles/"
*/
/*
is_listed_cf(string Domain)
return
[false, false]: file error
[true, true]: is cloudflare
[true, false]: not listed
*/
function is_listed_cf($domain)
{
if (!in_array(substr($domain, 0, 1), ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'], true)) {
return [false, false];
}
$got = @json_decode(file_get_contents('/path/to/jsonfiles/cloudflare_' . $domain[0] . '.json'), true);
if (!is_array($got)) {
return [false, false];
}
return isset($got[$domain]) ? [true, true] : [true, false];
}
/*
is_cloudflare_cached(string Domain)
return
true: is cloudflare
false: not listed
*/
function is_cloudflare_cached($f)
{
global $tmpCacheCFlist;
if (!isset($tmpCacheCFlist)) {
$tmpCacheCFlist = [];
}
$d = $f;
//$d = get_domainname($f)[1];
if (isset($tmpCacheCFlist[$d])) {
return $tmpCacheCFlist[$d];
}
$tmpCacheCFlist[$d] = is_listed_cf($d)[1] ? true : false;
return $tmpCacheCFlist[$d];
}
// example
var_dump(is_cloudflare_cached('codeberg.org'));// false

View File

@ -0,0 +1,20 @@
### Find Mastodon Toots & Accounts
- Cloudflare filtered out by default (enable from Advanced menu)
- JSON for developers
### Live example
- [Tor](http://qyo4hcmvxiysc6zrxdn6rhofgkroyoygszkljw5izwdqklxfantseiyd.onion/)
- Clearnet
### Code
- [index.php](index.php): Main website to show the result
## Related
- [Mastodon Watch](../mastodonwch/)

179
tool/mastodonfind/index.php Normal file
View File

@ -0,0 +1,179 @@
<?php
header('HTTP/1.1 404 Not Found');
header('Referrer-Policy: no-referrer');
define('NOWTIME_U', gmdate('U'));
$vi_json = $_GET['json']??$_POST['json'];
$vi_query = $_GET['q']??$_POST['q'];
$vi_opt_sm = ($_GET['sm'] == 'a' || $_POST['sm'] == 'a') ? 'a' : 't';
$vi_opt_inclcf = $_GET['cf']??$_POST['cf'];
$vi_opt_inclcf = isset($vi_opt_inclcf) ? true : false;
$vi_opt_limitlg = $_GET['lg']??$_POST['lg'];
if (!preg_match("/^([a-z]{2})$/", $vi_opt_limitlg)) {
$vi_opt_limitlg = '';
}
$vi_opt_timeA = $_GET['tia']??$_POST['tia'];
if (!preg_match("/^2([0-9]{3})\-([0-9]{2})\-([0-9]{2})$/", $vi_opt_timeA)) {
$vi_opt_timeA = '';
} //A->
$vi_opt_timeB = $_GET['tib']??$_POST['tib'];
if (!preg_match("/^2([0-9]{3})\-([0-9]{2})\-([0-9]{2})$/", $vi_opt_timeB)) {
$vi_opt_timeB = '';
} //<-B
$vi_internal_tia = $vi_internal_tib = '';
if ($vi_opt_timeA != '') {
$vi_internal_tia = gmdate('U', strtotime($vi_opt_timeA . ' 00:00:00'));
if ($vi_internal_tia > NOWTIME_U) {
$vi_internal_tia = NOWTIME_U;
}
}
if ($vi_opt_timeB != '') {
$vi_internal_tib = gmdate('U', strtotime($vi_opt_timeB . ' 23:59:59'));
if ($vi_internal_tib > NOWTIME_U) {
$vi_internal_tib = NOWTIME_U;
}
}
if (isset($vi_query)) {
$vi_query = cleanse_str($vi_query);
if (is_attackable_str($vi_query)) {
$vi_query = '';
}
}
$vi_showquery = htmlspecialchars($vi_query, ENT_QUOTES);
$sql_Result = [];
if (strlen($vi_query) >= 2) {
$sqlme = @new mysqli('localhost', 'REDACTED', 'REDACTED', 'REDACTED');
if ($sqlme->connect_errno) {
echo ('DB ERROR TRY AGAIN LATER');
exit;
}
$sql_Query = 'SELECT * FROM REDACTED WHERE ';
$sql_Pcs = [];
$sql_smt = ($vi_opt_sm == 'a') ? 'who' : 'body';
if (!$vi_opt_inclcf) {
$sql_Pcs[] = "iscf = '0' ";
}
if ($vi_opt_limitlg != '') {
$sql_Pcs[] = "lang = '{$vi_opt_limitlg}' ";
}
if ($vi_internal_tia != '') {
$sql_Pcs[] = "`when` >= '{$vi_internal_tia}' ";
}
if ($vi_internal_tib != '') {
$sql_Pcs[] = "`when` <= '{$vi_internal_tib}' ";
}
foreach (explode(' ', $vi_query) as $w) {
if (strlen($w) <= 1) {
continue;
}
if (strpos($w, 'author:') === 0) {
$w = str_replace('author:', '', $w);
if (strlen($w) < 2) {
continue;
}
$sql_Pcs[] = "who LIKE '%{$w}%' ";
continue;
}
if (strpos($w, '-author:') === 0) {
$w = str_replace('-author:', '', $w);
if (strlen($w) < 2) {
continue;
}
$sql_Pcs[] = "who NOT LIKE '%{$w}%' ";
continue;
}
if (strpos($w, '-') === 0) {
$w = str_replace('-', '', $w);
if (strlen($w) < 2) {
continue;
}
$sql_Pcs[] = "{$sql_smt} NOT LIKE '%{$w}%' ";
continue;
}
$sql_Pcs[] = "{$sql_smt} LIKE '%{$w}%' ";
}
if ($result = $sqlme->query($sql_Query . implode('AND ', $sql_Pcs) . ' ORDER BY `when` DESC LIMIT 500;')) {
while ($g = $result->fetch_array()) {
$sql_Result[] = $g;
}
}
$sqlme->close();
}
if (isset($vi_json)) {
header('Content-Type: application/json; charset=utf-8');
$finalRESP = [];
if ($vi_showquery == '') {
$finalRESP = ['method' => ['POST', 'GET'], 'accept_param' => ['q' => ['type' => 'string', 'value' => 'any', 'note' => 'Required'], 'sm' => ['type' => 'string', 'value' => ['a' => 'Account', 't' => 'Toot'], 'note' => 'default is t'], 'cf' => ['type' => 'existence', 'value' => 'any'], 'lg' => ['type' => 'string', 'value' => '2 letter'], 'tia' => ['type' => 'date', 'value' => 'Y-m-d'], 'tib' => ['type' => 'date', 'value' => 'Y-m-d']], 'example' => ['GET' => ['/?json&q=friend', '/?json&cf&lg=en&q=news']]];
} else {
foreach ($sql_Result as $g) {
$finalRESP[] = ['url' => $g['url'], 'who' => $g['who'], 'when' => $g['when'], 'iscf' => $g['iscf'], 'lang' => $g['lang'], 'body' => str_replace('&nbsp;', ' ', $g['body']) ];
}
}
echo (json_encode($finalRESP));
exit;
} else {
header('Content-Type: text/html; charset=UTF-8');
$finalRESP = '';
foreach ($sql_Result as $g) {
$finalRESP.= '<tr><td class="sh"><a href="' . $g['url'] . '" rel="noreferer" target="_blank">' . $g['who'] . '</a>' . ($g['iscf'] ? '&#127785;' : '') . '<br><i>' . humanTiming($g['when']) . ' ago / ' . $g['lang'] . '</i></td><td class="xp">' . htmlspecialchars(htmlspecialchars_decode(str_replace('&nbsp;', ' ', $g['body']), ENT_QUOTES), ENT_QUOTES) . '</td></tr>';
}
$ui_sma = ($vi_opt_sm == 'a') ? ['', ' selected'] : [' selected', ''];
$ui_cfc = ($vi_opt_inclcf) ? ' checked' : '';
$finish = <<<HTMLDATA
<html>
<head>
<title>&#x1F418;</title>
<style>
html{background:#f3f6fa}div#ha{background:#e4e9f0;position:fixed;top:0;left:0;right:0;padding:18px 0;z-index:10}div#ha form{padding:0 20px}div#ub{margin-top:40px;background:#e4e9f0;position:absolute;left:0;right:0}details summary,button[type=submit]{cursor:pointer}form input[name=q],button[type=submit]{font-size:20px}button[type=submit]{background:transparent;border:0}div#mb table{width:80%;border-collapse:collapse}div#mb table tr:nth-child(2n){background:#f8fbff}div#mb td.sh{white-space:nowrap}div#mb td.xp{width:99%;padding:10px 0 10px 20px;word-wrap:anywhere}
</style>
</head>
<body>
<div id="ha">
<form action="./" method="POST">
<input type="text" name="q" size="60" minlength="2" value="{$vi_showquery}" autofocus required>
<button type="submit">&#x1F50E;</button><br>
<details>
<summary>Advanced</summary>
<p>
Search mode: <select name="sm">
<option value="t"{$ui_sma[0]}>Toots</option>
<option value="a"{$ui_sma[1]}>Account</option>
</select><br>
<br><br>
<label><input type="checkbox" name="cf"{$ui_cfc}> Include <a href="https://codeberg.org/crimeflare/cloudflare-tor" target="_blank">Cloudflared Mastodon</a> servers to search result</label><br>
<br><br>
Limit language code: <input type="text" name="lg" size="4" minlength="2" maxlength="2" value="{$vi_opt_limitlg}"> (e.g <i>de</i>)<br>
<br><br>
Limit time range:<br>
<label for="tia">Newer than </label><input type="date" id="tia" name="tia" value="{$vi_opt_timeA}"><br>
<label for="tib">Older than </label><input type="date" id="tib" name="tib" value="{$vi_opt_timeB}"><br>
<br>
<hr>
<ul>
<li> cat pic (search toots about "cat" and "pic")</li>
<li> my friend <b>-</b>enemy <b>-</b>joke (search "my" and "friend" toots but not include "enemy" "joke")</li>
<li> news <b>-author</b>:bot <b>-author</b>:blog (search "news" but not from author named "*bot*" "*blog*")</li>
<li> <b>author</b>:friend@my.site (show only about friend@my.site)</li>
<li> Max limit: 500 search results</li>
</ul>
</p>
</details>
</form>
</div>
<br><br><br><br><br><br><br><br>
<div id="mb">
<table>{$finalRESP}</table>
</div>
<div id="ub">
<ul>
<li> Search: Mastodon public toots & Accounts</li>
<li> API: <a href="./?json">API guide</a></li>
<li> Index: Toots older than 7 months will be removed</li>
<li> Privacy: No collection (search keyword, IP, whatever)</li>
<li> <a href="http://qyo4hcmvxiysc6zrxdn6rhofgkroyoygszkljw5izwdqklxfantseiyd.onion/">Tor</a>
</ul>
</div>
</body>
</html>
HTMLDATA;
}
echo (str_replace("\n", '', $finish));