Scrapyard/index.html

215 lines
9.2 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=["Georgia", "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. Refrain from using disabilites as an insult. Use HTML for formatting, not markdown. You should return a single \`<p>\` element, though you can have extra italic/bold/etc elements within. Please add a `\<br/>\` element after each sentence. 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 (match the hexcode).")
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 = "";
window.location.href="https://www.youtube.com/watch?v=dQw4w9WgXcQ"
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.28<br/>Made by <a href="https://endoftimee.tech">EndOfTimee</a> and <a href="https://firepup650.com">Firepup650</a></p>
</footer>