Scrapyard/index.html
Firepup Sixfifty 504fccb915
bump version
2025-03-02 11:05:14 -06:00

214 lines
9 KiB
HTML

<!DOCTYPE html>
<head>
<title>Scrapyard Signup</title>
<link rel="favicon" href="/favicon.png" />
<link rel="icon" type="image/png" href="/favicon.png" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<meta name="description" content="You don't want to do this." />
<meta property="og:title" content="Scrapyard Signup" />
<meta property="og:type" content="website" />
<meta property="og:image" content="https://protogen.live/favicon.png" />
<meta property="og:image:height" content="512" />
<meta property="og:image:width" content="512" />
<meta property="og:url" content="https://protogen.live/" />
<meta property="og:description" content="You don't want to do this." />
<meta property="og:site_name" content="Hell signup" />
<meta property="og:locale" content="en_US">
<meta property="og:logo" content="https://protogen.live/favicon.png" />
<style id="style"></style>
</head>
<body>
<noscript><h1>Nice try buddy. Enable javascript, cheater.</h1></noscript>
<div> <!-- login form /!-->
<marquee>
<h1 id="header">Please Signup for Scrapyard!</h1>
<form id="annoying-form">
<marquee><label for="username">Username:</label><input id="password" name="password" type="password"/></marquee>
<span id="fake"></span><label for="email">Email:</label><input id="email" name="email" type="email"/><br/>
<label for="password">Password:</label><input id="username" name="username" type="username"/><br/>
<label for="color">Color: </label><span id="value" name="value" type="value">#______</span> <input id="color" name="color" type="text"/><br/>
<button id="submit" type="button" disabled="true" aria-disabled="true">Submit</button>
</form>
</div>
<div> <!-- login form /!-->
<h2>Support:</h2>
<p id="support">No support yet...</p>
</div>
<marquee>
<script>
var tim, show=false;
let submit=document.getElementById("submit");
submit.removeAttribute("disabled");
submit.removeAttribute("aria-disabled");
submit.setAttribute("type", "submit");
// below function modified from https://stackoverflow.com/a/1484514
function color() {
let letters = "0123456789AbCdEf", color = "#";
for (var i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
function getRandomColor() {
let colorVal = color();
document.getElementById("color").value="";
document.getElementById("value").style=`background-color: ${colorVal}`;
document.getElementById("value").setAttribute("val", colorVal);
if (show) {
document.getElementById("color").value=colorVal;
}
}
function font() {
let fonts=["Georiga", "Arial", "Verdana", "Tahoma", '"Trebuchet MS"', '"Times New Roman"', "Garmond", '"Courier New"', '"Bush Script MT"'];
return fonts[Math.floor(Math.random() * fonts.length)]
}
function insult(failReason) {
document.getElementById("support").innerHTML = "Pending reply from support..."
fetch("https://cors.firepup650.hackclub.app/https://ai.hackclub.com/chat/completions",{"headers":{"Content-Type":"application/json"},"method":"POST","mode":"cors","body":JSON.stringify({"messages":[{"role":"user","content":`You are an AI support bot on a very annoying sigunup page. Your objective is not to help the user, merely to roast them. Use HTML for formatting, not markdown. You should return a single \`<p>\` element, though you can have extra italic/bold/etc elements within. Exclude the \`<p>\` tag itself, just return the \`innerHTML\` of it. ${failReason}`}]})}).then((r)=>{return r.json()}).then((d)=>{document.getElementById("support").innerHTML=d["choices"][0]["message"]["content"]})
}
getRandomColor();
console.clear();
function blah() {
document.getElementById("style").innerHTML=`* {
background-color: ${color()};
color: #000000;
font-family: ${font()}, monospace;
}
label {
color: ${color()};
font-size: ${Math.floor(75+(Math.random()*125))}%;
opacity: ${Math.floor(50+(Math.random()*50))}%;
}
button {
color: ${color()};
background-color: ${color()};
font-size: ${Math.floor(75+(Math.random()*125))}%;
opacity: ${Math.floor(50+(Math.random()*50))}%;
}
input {
color: ${color()};
background-color: ${color()};
font-size: ${Math.floor(75+(Math.random()*125))}%;
opacity: ${Math.floor(50+(Math.random()*50))}%;
}
span {
color: ${color()};
font-size: ${Math.floor(75+(Math.random()*125))}%;
opacity: ${Math.floor(50+(Math.random()*50))}%;
}
h1 {
color: ${color()};
font-size: ${Math.floor(175+(Math.random()*125))}%;
opacity: ${Math.floor(50+(Math.random()*50))}%;
}
p {
color: ${color()};
font-size: ${Math.floor(75+(Math.random()*125))}%;
opacity: ${Math.floor(50+(Math.random()*50))}%;
}
a {
color: ${color()};
text-decoration: line-through;
font-size: ${Math.floor(75+(Math.random()*125))}%;
opacity: ${Math.floor(50+(Math.random()*50))}%;
}`;
tim = setTimeout(blah, Math.round(10000+((Math.random()*15)*1000)));
}
blah()
function click() {
try {
return clickInternal();
} catch (ignored) {
alert("An error occured while processing your signup data.")
return false;
}
}
function clickInternal() {
let password = document.getElementById("password"), username=document.getElementById("username"), email=document.getElementById("email"), color=document.getElementById("color"), value=document.getElementById("value");
if (color.value != value.getAttribute("val")) {
alert("Color incorrect.")
getRandomColor();
insult("The user failed the color-based human verification check.")
return false;
}
getRandomColor();
if (!email.value) {
alert("Email cannot be empty")
insult("The user did not enter an email.")
return false;
}
if (!email.value.includes("@")) {
alert("Email address is invalid")
insult("The user entered an invalid email.")
return false;
}
if (!username.value) {
alert("Email cannot be empty")
insult("The user did not enter a username.")
return false;
}
if (username.value.match(/[^a-zA-Z0-9]/)) {
alert("Username must be alphanumeric")
insult("The user entered an invalid username.")
return false;
}
// Switch email and username NOW
email.type="username";
email.name="username";
email.id="username";
username.type="email";
username.name="email";
username.id="email";
if (!password.value) {
alert("Password cannot be empty")
insult("The user did not enter a password.")
return false;
}
if (password.value == email.value) {
alert("Your email cannot be your password")
insult("The user entered the same value for both their email and password.")
return false;
}
if (password.value == username.value) {
alert("Your username cannot be your password")
insult("The user entered the same value for both their username and password.")
return false;
}
if (email.value == username.value) {
alert("Your username cannot be your email, how the hell did you trigger this check?")
insult("The user triggered an impossible fail condition.")
return false;
}
password.value = "";
return false;
}
document.getElementById("annoying-form").onsubmit = click;
function erase() {
document.getElementById("password").value=""
}
document.getElementById("password").value=""
document.getElementById("username").value=""
document.getElementById("email").value=""
document.getElementById("value").value=""
var int = setInterval(erase, 2000)
function easyMode() {
if (show) return;
let mqs = document.querySelectorAll("marquee")
for (let i=0;i<mqs.length;i++) {
mqs[i].stop()
}
clearInterval(int);
clearTimeout(tim);
document.getElementById("style").innerHTML=`* {color:#0F0;background-color:#000;font-family:monospace}a{color:#f00}`
show=true;
document.getElementById("color").value=document.getElementById("value").getAttribute("val");
document.getElementById("fake").insertBefore(document.createElement("br"), null)
document.getElementById("header").innerText="(!!EASY MODE!!) Please Signup for Scrapyard! (!!EASY MODE!!)"
}
</script>
</div>
</body>
<footer>
<p>Made because we hate websites that work normally <3<br/>V.0.0.26<br/>Made by <a href="https://endoftimee.tech">EndOfTimee</a> and <a href="https://firepup650.com">Firepup650</a></p>
</footer>