Compare commits
21 Commits
fae7e50ba2
...
1e708ad68a
Author | SHA1 | Date |
---|---|---|
Paul Cesar | 1e708ad68a | |
David Fritsch | da089ce9e7 | |
codebergcrimeflare | eaa7f3d168 | |
7trey | c3fa7bcca0 | |
7trey | ce239394e3 | |
7trey | 3d3e70c381 | |
Andrew Galloni | 1cb578af83 | |
7trey | 048892d249 | |
7trey | ba265b7b8c | |
7trey | d5664b4825 | |
7trey | b644536fbc | |
Yuri Takano | 8060f5c9d0 | |
Alex Dyner | 2b63688a67 | |
Mia Wang | 4286a6d70e | |
Erika Gonzalez | 3ceee66aed | |
Larry Sandoval | 36b7cfe9d5 | |
Karl Henrik Smith | 90e99a1da2 | |
Algin Martin | 7f27de04cf | |
Petra Arts | eef826ec18 | |
Michael Truong | 23bc9a0ed6 | |
Andrew Kennedy | 999580ce5b |
|
@ -439,6 +439,8 @@ You shouldn′t use it if you value visitor′s 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 can’t 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))
|
||||
- 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))
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
[//]: # (do not edit me; start)
|
||||
|
||||
## *145,554* FQDN
|
||||
## *146,094* FQDN
|
||||
|
||||
[//]: # (do not edit me; end)
|
||||
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
(editor notice: blacklisted codeberg.org. see HISTORY.md)
|
||||
https://activism.openworlds.info/
|
||||
https://chaos.social/@davidak
|
||||
https://davidak.de/
|
||||
https://dev.lemmy.ml/u/PoorPocketsMcNewHold
|
||||
[ 1 If you have a fucking problem with this list ]
|
||||
[ 2 think about what you did. If you strongly ]
|
||||
[ 3 believe you are innocent, write a comment ]
|
||||
[ 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/BurungHantu1605
|
||||
https://github.com/HLFH
|
||||
|
@ -64,6 +67,7 @@ https://resynth1943.net/
|
|||
https://social.avareborn.de/@nipos
|
||||
https://social.privacytools.io/@BurungHantu
|
||||
https://social.tchncs.de/@wallichii
|
||||
https://twitter.com/AKuisorn/status/1377407076373164032
|
||||
https://twitter.com/ArMe69697866/status/1376913334377791492
|
||||
https://twitter.com/ArteImmaginePh3/status/1370471352373772291
|
||||
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/BryceGerhardt7/status/1377248264886513668
|
||||
https://twitter.com/Bunny43788913/status/1376950304982327303
|
||||
https://twitter.com/CaoKhChinh2/status/1377461966738841601
|
||||
https://twitter.com/ChadaramGanesh/status/1377217673478594565
|
||||
https://twitter.com/Chit12127394/status/1377063466050056192
|
||||
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/Harsha47502596/status/1377258470311792646
|
||||
https://twitter.com/HeinNandaAung5/status/1376730030630301699
|
||||
https://twitter.com/HellishDani/status/1377383208828903427
|
||||
https://twitter.com/HighTylerGreen/status/1372862559800463360
|
||||
https://twitter.com/HsettKaung/status/1377183605219192838
|
||||
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/OlTunexcon/status/1376669048839282690
|
||||
https://twitter.com/OoLayGyiMdy/status/1377196818384121860
|
||||
https://twitter.com/Owen92335115/status/1377489036877524995
|
||||
https://twitter.com/PHOENIX67879992/status/1377366160702795781
|
||||
https://twitter.com/Paing15947077/status/1377138757418196998
|
||||
https://twitter.com/PanEiPh98425624/status/1377480471718686721
|
||||
https://twitter.com/PhamThaiSon6/status/1377042683378601987
|
||||
https://twitter.com/PhuongN09560858/status/1377291979885748228
|
||||
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/SMC67254820/status/1376951172607578120
|
||||
https://twitter.com/SSuiteSoftware/status/1372875712240230400
|
||||
https://twitter.com/SameerDangi9/status/1377450627631095808
|
||||
https://twitter.com/Saturn52786089/status/1370285435193266176
|
||||
https://twitter.com/SharifTech_/status/1377317759311224837
|
||||
https://twitter.com/ShyZ97166261/status/1377466338998853634
|
||||
https://twitter.com/Steferine4eva/status/1377275017172373506
|
||||
https://twitter.com/Sunshin69624226/status/1376928070729224194
|
||||
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/V25022000/status/1376914512725479429
|
||||
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/YaKauk47/status/1376851886981009412
|
||||
https://twitter.com/YingQunSu1/status/1376963946230521861
|
||||
https://twitter.com/Zabujca997/status/1371397158809784320
|
||||
https://twitter.com/Zack_gaming7/status/1377466204097441792
|
||||
https://twitter.com/ZayYar07281465/status/1377283812967600134
|
||||
https://twitter.com/ZoanZonoa/status/1376874020277133313
|
||||
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/aldoscar_oscar/status/1377318204477964290
|
||||
https://twitter.com/anushka_wije/status/1370919655980691461
|
||||
https://twitter.com/aung90449662/status/1377462661927952388
|
||||
https://twitter.com/badluckbillyxo/status/1371850435015884807
|
||||
https://twitter.com/barbadoslive/status/1370835424571179012
|
||||
https://twitter.com/boyarmy1234/status/1377459765933006850
|
||||
https://twitter.com/catchme07/status/1373180238264291334
|
||||
https://twitter.com/charliebrown/status/1376643693164298241
|
||||
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/jhnmchlcrpx/status/1377245823180804097
|
||||
https://twitter.com/kanaan94901823/status/1377247977803251712
|
||||
https://twitter.com/khet_win/status/1377468267539935233
|
||||
https://twitter.com/kikidrilla/status/1372335070158204930
|
||||
https://twitter.com/kukuhtun/status/1377224548454526978
|
||||
https://twitter.com/kyawlinoo2008/status/1377158030924476421
|
||||
|
|
|
@ -3,16 +3,18 @@
|
|||
|
||||
[//]: # (do not edit me; start)
|
||||
|
||||
## *7,486,421* domajnoj
|
||||
## *7,491,400* domajnoj
|
||||
|
||||
[//]: # (do not edit me; end)
|
||||
|
||||
|
||||
- Bonvolu vidi [INSTRUCTION.md](../../INSTRUCTION.md) por dosiera celo kaj formato specifoj.
|
||||
- [is_listed_cf(), is_cloudflare_cached()](../../tool/example.json.is_cloudflare.php)
|
||||
|
||||
|
||||
-----
|
||||
|
||||
# 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
|
@ -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
|
||||
|
|
@ -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/)
|
|
@ -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(' ', ' ', $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'] ? '🌩' : '') . '<br><i>' . humanTiming($g['when']) . ' ago / ' . $g['lang'] . '</i></td><td class="xp">' . htmlspecialchars(htmlspecialchars_decode(str_replace(' ', ' ', $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>🐘</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">🔎</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));
|
Loading…
Reference in New Issue