This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tarpit [2025/02/11 16:40] – Yuki | tarpit [2025/02/12 01:16] (current) – Yuki | ||
---|---|---|---|
Line 1: | Line 1: | ||
~~NOCACHE~~ | ~~NOCACHE~~ | ||
<php> | <php> | ||
- | $words = explode(" | + | // This creates infinite links for crawler bots to follow, full of absolute nonsense so AI can choke on it. Basically, it just picks words from a dictionary at random from a set seed. |
+ | // Script by Yuki, licensed under LiLiQ-R. Feel free to use it on your site! | ||
+ | // http://yuki.social/ | ||
- | function toNums($str) | + | $dict = "/ |
- | { | + | $count_min = 2000; |
- | | + | $count_max = 5000; |
- | } | + | $linkcount_min = 2; |
- | function toNum($str) | + | $linkcount_max = 8; |
- | { | + | $paragraphs = 250; |
- | return array_search($str, $words); | + | |
- | } | + | // Config ends here, but the fun is only starting. |
- | function toWord($num) | + | |
- | { | + | $words |
- | | + | $num_words = count($words); |
- | } | + | |
$seed = 0; | $seed = 0; | ||
- | $count = 500; | ||
if(isset($_GET[" | if(isset($_GET[" | ||
{ | { | ||
- | $seed = toNum($_GET["_"]); | + | $strs = explode(" |
+ | $nums = array_map(fn($s) => array_search($s, | ||
+ | $j=1; | ||
+ | $seed = array_reduce($nums, | ||
} | } | ||
mt_srand($seed); | mt_srand($seed); | ||
- | for($i=0; | + | for($i=0; |
{ | { | ||
- | echo $words[mt_rand(0, | + | echo $words[mt_rand(0, |
} | } | ||
+ | |||
+ | $links = []; | ||
+ | for($i=1; | ||
+ | { | ||
+ | $nums = []; | ||
+ | $n = mt_rand(); | ||
+ | while($n > 0) | ||
+ | { | ||
+ | $nums[] = $n % $num_words; | ||
+ | $n = intdiv($n, | ||
+ | } | ||
+ | $w = implode(" | ||
+ | | ||
+ | $links[] = "<a href=\"? | ||
+ | } | ||
+ | echo "< | ||
</ | </ | ||
- | |||
- | * < |