Added Matrix, cheatsheet, Update visitor counter
Co-authored-by: The Arrayser; <TheArrayser@users.noreply.github.com> Co-authored-by: Julian; <JDobeshow@users.noreply.github.com>
This commit is contained in:
parent
77908d46ac
commit
ab3f0b2df4
@ -1,6 +1,7 @@
|
||||
RewriteEngine On
|
||||
|
||||
RewriteRule ^sus$ sus.html [NC]
|
||||
RewriteRule ^matrix$ matrix.html [NC]
|
||||
RewriteRule ^/$ sus.html [NC]
|
||||
RewriteRule ^/sus$ sus.html [NC]
|
||||
RewriteRule ^🆘$ sus.html [NC]
|
||||
|
5
img/console.svg
Normal file
5
img/console.svg
Normal file
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="3.1199" y="5.3971" width="17.868" height="14.384" opacity=".999" stroke-dasharray="30.0802, 30.0802" stroke-dashoffset="6.016" stroke-linecap="round" stroke-linejoin="round" stroke-width="7.52"/>
|
||||
<path d="m20 19v-12h-16v12h16m0-16a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-16a2 2 0 0 1-2-2v-14c0-1.11 0.9-2 2-2h16m-7 14v-2h5v2h-5m-3.42-4-4.01-4h2.83l3.3 3.3c0.39 0.39 0.39 1.03 0 1.42l-3.28 3.28h-2.83l3.99-4z" fill="#0f0"/>
|
||||
</svg>
|
After Width: | Height: | Size: 570 B |
73
index.html
73
index.html
@ -38,6 +38,11 @@
|
||||
font-size: 50%;
|
||||
}
|
||||
|
||||
button {
|
||||
background-color: pink;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.gurke {
|
||||
border: 2px solid black;
|
||||
padding: 10px;
|
||||
@ -68,15 +73,19 @@
|
||||
/*animation: rickRoll 1s infinite ease;*/
|
||||
animation: amogus 10s infinite linear;
|
||||
max-width: 100%;
|
||||
margin-top: 175px;
|
||||
margin-bottom: 175px;
|
||||
}
|
||||
|
||||
iframe {
|
||||
background: url("https://nsfw.cringe-studios.com/wtf.png"), linear-gradient(rgb(255,0,0), rgb(0,255,0));
|
||||
}
|
||||
|
||||
.blinking {
|
||||
animation: blink 1s infinite linear;
|
||||
}
|
||||
|
||||
iframe {
|
||||
background: url("https://nsfw.cringe-studios.com/wtf.png"), linear-gradient(rgb(255,0,0), rgb(0,255,0));
|
||||
}
|
||||
|
||||
|
||||
@keyframes blink {
|
||||
50% {
|
||||
@ -166,7 +175,9 @@
|
||||
100% {
|
||||
transform: rotateZ(360deg);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
|
||||
@ -286,29 +297,26 @@
|
||||
<!--<iframe width="560" height="315" src="https://www.youtube.com/embed/dQw4w9WgXcQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<form action="index.php" method="post">
|
||||
<label for="fName">First Name</label><br />
|
||||
<input type="text" name="fName" /><br />
|
||||
<label for="lName">Last Name</label><br />
|
||||
<input type="text" name="lName" /><br />
|
||||
<input type="submit" style="margin:5px"/>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row justify-content-center" style="margin:20px">
|
||||
<form action="matrix" method="post" style="border:1px solid black">
|
||||
<input type="text" name="username" placeholder="Username" style="margin:10px" /><br>
|
||||
<input type="text" name="password" placeholder="Password" style="margin:10px" /><br>
|
||||
<input type="submit" value="login" style="margin:10px" />
|
||||
</form>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<b class="blinking" style="background-color:red; color:yellow;text-align:center">This site has been visited <?php include("visitor_counter.php"); echo getCounter(); ?> times (<span id="visited-self"></span> times by you)</b>
|
||||
</div>
|
||||
</div>
|
||||
<!--
|
||||
<iframe id="cringe-frame" title="Recursion" src="https://cringe-studios.com/?poop" style="width:100%; height:800px; border:0px"></iframe>
|
||||
-->
|
||||
<h6><b class="blinking" style="background-color:red; color:yellow">This site has been visited <?php include("visitor_counter.php"); echo IncrementCounter(); ?> times</b></h6>
|
||||
<!-- <footer>
|
||||
|
||||
<footer>
|
||||
© Cringe Studios
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
<!-- <script>
|
||||
let search = window.location.search;
|
||||
let q = search != "" ? parseInt(search.substring(1)) : 0;
|
||||
if(q <= 20) {
|
||||
@ -317,5 +325,32 @@
|
||||
}
|
||||
</script>
|
||||
-->
|
||||
</body>
|
||||
|
||||
<script>
|
||||
window.sus = () => console.log("You are sus");
|
||||
|
||||
function visited() {
|
||||
// Count visit
|
||||
let xhr = new XMLHttpRequest();
|
||||
xhr.open("GET", "/visited.php");
|
||||
xhr.send();
|
||||
}
|
||||
|
||||
let lastVisited = window.localStorage.lastVisited;
|
||||
if(lastVisited == null) {
|
||||
window.localStorage.lastVisited = new Date().getTime();
|
||||
window.localStorage.visitCounter = 1;
|
||||
visited();
|
||||
}else {
|
||||
let diff = new Date().getTime() - lastVisited;
|
||||
if(diff > 2000) {
|
||||
window.localStorage.lastVisited = new Date().getTime();
|
||||
window.localStorage.visitCounter++;
|
||||
visited();
|
||||
}
|
||||
}
|
||||
|
||||
document.getElementById("visited-self").innerText = window.localStorage.visitCounter;
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
1
lzk-cheatsheet.html
Normal file
1
lzk-cheatsheet.html
Normal file
File diff suppressed because one or more lines are too long
53
matrix.html
Normal file
53
matrix.html
Normal file
@ -0,0 +1,53 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Matrix</title>
|
||||
<link rel="icon" href="https://nsfw.cringe-studios.com/console.svg">
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Courier';
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.blinking {
|
||||
text-align: center;
|
||||
width: max-content;
|
||||
color: red;
|
||||
animation: blink 1s infinite linear;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
50% {
|
||||
background-color:red;
|
||||
color:white;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<?php
|
||||
$username = $_POST["username"];
|
||||
$password = $_POST["password"];
|
||||
|
||||
$allowedUsers = array(
|
||||
"sus" => "sus",
|
||||
"RedPill" => "giveMe",
|
||||
"admin" => "admin",
|
||||
"cringe" => "123"
|
||||
);
|
||||
|
||||
|
||||
if(empty($username) || empty($password) || empty($allowedUsers[$username]) || $password != $allowedUsers[$username]) {
|
||||
header("HTTP/1.1 418 I'm a teapot");
|
||||
echo "<h1 class=\"blinking\">Your access to the Matrix has been denied</h1>";
|
||||
die();
|
||||
}
|
||||
?>
|
||||
|
||||
<body style="margin: 0; overflow:hidden; background-color:black;">
|
||||
<canvas width="auto" height="auto" id="canvas"></canvas>
|
||||
<script src="matrix.js"></script>
|
||||
</body>
|
||||
</html>
|
67
matrix.js
Normal file
67
matrix.js
Normal file
@ -0,0 +1,67 @@
|
||||
const canvas = document.getElementById("canvas");
|
||||
const ctx = canvas.getContext("2d");
|
||||
|
||||
let cw = window.innerWidth;
|
||||
let ch = window.innerHeight;
|
||||
|
||||
window.onresize = () => {
|
||||
canvas.width = window.innerWidth;
|
||||
canvas.height = window.innerHeight;
|
||||
cw = window.innerWidth;
|
||||
ch = window.innerHeight;
|
||||
maxColumns = cw/fontSize;
|
||||
};
|
||||
|
||||
let charArr = ['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', '1', '2', '3', '4', '5', '6', '7', '8', '9', '€', '$', '£', 'µ', '§'];
|
||||
let maxCharCount = 100;
|
||||
let fallingCharArr = [];
|
||||
let fontSize = 15;
|
||||
let maxColumns = cw/fontSize;
|
||||
|
||||
canvas.width = cw;
|
||||
canvas.height = ch;
|
||||
|
||||
let frames = 0;
|
||||
|
||||
class FallingChar {
|
||||
|
||||
constructor(x, y) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
draw(ctx) {
|
||||
this.value = charArr[Math.floor(Math.random() * (charArr.length - 1))].toUpperCase();
|
||||
this.speed = Math.random() * fontSize * 3 /4 + fontSize * 3 /4;
|
||||
|
||||
ctx.fillStyle = "rgba(0, 255, 0)";
|
||||
ctx.font = fontSize + "px Courier";
|
||||
ctx.fillText(this.value, this.x, this.y);
|
||||
this.y += this.speed;
|
||||
|
||||
if (this.y > ch) {
|
||||
this.y = Math.random() * ch/2 - 50;
|
||||
this.x = Math.floor(Math.random() * maxColumns) * fontSize;
|
||||
this.speed = - Math.random() * fontSize * 3 /4 + fontSize * 3 /4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let update = () => {
|
||||
if (fallingCharArr.length < maxCharCount) {
|
||||
let fallingChar = new FallingChar(Math.floor(Math.random() * maxColumns) * fontSize, Math.random() * ch/2 - 50);
|
||||
fallingCharArr.push(fallingChar);
|
||||
}
|
||||
|
||||
ctx.fillStyle = "rgba(0, 0, 0, 0.05)";
|
||||
ctx.fillRect(0, 0, cw, ch);
|
||||
|
||||
for (let i = 0; i < fallingCharArr.length && frames % 2 == 0; i++){
|
||||
fallingCharArr[i].draw(ctx);
|
||||
}
|
||||
|
||||
requestAnimationFrame(update);
|
||||
frames++;
|
||||
}
|
||||
|
||||
update();
|
6
visited.php
Normal file
6
visited.php
Normal file
@ -0,0 +1,6 @@
|
||||
<?php
|
||||
|
||||
include("visitor_counter.php");
|
||||
echo incrementCounter();
|
||||
|
||||
?>
|
@ -3,31 +3,39 @@
|
||||
define("COUNTER_START_VALUE", 0);
|
||||
define("COUNTER_LOG", "visit_counter.log"); //name of file you want to use to save the counter value
|
||||
|
||||
/*************************************************************************************************/
|
||||
function IncrementCounter()
|
||||
{
|
||||
$create_file = !file_exists(COUNTER_LOG);
|
||||
function getCounter() {
|
||||
if(!file_exists(COUNTER_LOG)) return str_pad(COUNTER_START_VALUE, 9, '0', STR_PAD_LEFT);
|
||||
|
||||
if( !($fh = fopen(COUNTER_LOG, $create_file ? "x+b" : "r+b")) )
|
||||
return "Error";
|
||||
//do an flock here, maybe, I don't know :-)
|
||||
if(!($fh = fopen(COUNTER_LOG, $create_file ? "x+b" : "r+b"))) return "Error";
|
||||
//do an flock here, maybe, I don't know :-)
|
||||
|
||||
//Reading current value of counter:
|
||||
if($create_file)
|
||||
$count = COUNTER_START_VALUE;
|
||||
else
|
||||
{
|
||||
$count = (int)fread($fh, 9); //reads 9 digits (supposing max 1 billion count)
|
||||
rewind($fh);
|
||||
}
|
||||
//Reading current value of counter:
|
||||
$count = (int)fread($fh, 9); //reads 9 digits (supposing max 1 billion count)
|
||||
|
||||
//Writing new counter value:
|
||||
if(!fwrite($fh, ++$count))
|
||||
return "Error";
|
||||
if(!fclose($fh))
|
||||
return "Error";
|
||||
if(!fclose($fh)) return "Error";
|
||||
|
||||
return str_pad($count, 9, '0', STR_PAD_LEFT);
|
||||
return str_pad($count, 9, '0', STR_PAD_LEFT);
|
||||
}
|
||||
|
||||
function incrementCounter() {
|
||||
$create_file = !file_exists(COUNTER_LOG);
|
||||
|
||||
if(!($fh = fopen(COUNTER_LOG, $create_file ? "x+b" : "r+b"))) return "Error";
|
||||
//do an flock here, maybe, I don't know :-)
|
||||
|
||||
//Reading current value of counter:
|
||||
if($create_file){
|
||||
$count = COUNTER_START_VALUE;
|
||||
}else{
|
||||
$count = (int)fread($fh, 9); //reads 9 digits (supposing max 1 billion count)
|
||||
rewind($fh);
|
||||
}
|
||||
|
||||
//Writing new counter value:
|
||||
if(!fwrite($fh, ++$count)) return "Error";
|
||||
if(!fclose($fh)) return "Error";
|
||||
|
||||
return "Success";
|
||||
}
|
||||
|
||||
?>
|
||||
|
Loading…
Reference in New Issue
Block a user