Initial commit

This commit is contained in:
Firepup Sixfifty 2023-10-01 18:39:12 -05:00
commit 208e773d65
62 changed files with 4545 additions and 0 deletions

8
.gitignore vendored Normal file
View file

@ -0,0 +1,8 @@
__pycache__/**
.upm
venv/**
**/__pycache__/**
.pythonlibs/**
.config/**
replit*txt
node_modules/**

81
.replit Normal file
View file

@ -0,0 +1,81 @@
entrypoint = "index.js"
hidden = [".config", "package-lock.json"]
#[interpreter]
#command = ["prybar-nodejs", "-q", "--ps1", "\u0001\u001b[33m\u0002\u0001\u001b[00m\u0002 ", "-i"]
run = ["npm", "run", "start"]
[[hints]]
regex = "Error \\[ERR_REQUIRE_ESM\\]"
message = "We see that you are using require(...) inside your code. We currently do not support this syntax. Please use 'import' instead when using external modules. (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import)"
[nix]
channel = "stable-22_11"
[env]
XDG_CONFIG_HOME = "/home/runner/.config"
PATH = "/home/runner/$REPL_SLUG/.config/npm/node_global/bin:/home/runner/$REPL_SLUG/node_modules/.bin"
npm_config_prefix = "/home/runner/$REPL_SLUG/.config/npm/node_global"
[gitHubImport]
requiredFiles = [".replit", "replit.nix", ".config", "package.json", "package-lock.json"]
[packager]
language = "nodejs"
[packager.features]
packageSearch = true
guessImports = false
enabledForHosting = false
[unitTest]
language = "nodejs"
[debugger]
support = true
[debugger.interactive]
transport = "localhost:0"
startCommand = [ "dap-node" ]
[debugger.interactive.initializeMessage]
command = "initialize"
type = "request"
[debugger.interactive.initializeMessage.arguments]
clientID = "replit"
clientName = "replit.com"
columnsStartAt1 = true
linesStartAt1 = true
locale = "en-us"
pathFormat = "path"
supportsInvalidatedEvent = true
supportsProgressReporting = true
supportsRunInTerminalRequest = true
supportsVariablePaging = true
supportsVariableType = true
[debugger.interactive.launchMessage]
command = "launch"
type = "request"
[debugger.interactive.launchMessage.arguments]
args = []
console = "externalTerminal"
cwd = "."
environment = []
pauseForSourceMap = false
program = "./index.js"
request = "launch"
sourceMaps = true
stopOnEntry = false
type = "pwa-node"
[languages]
[languages.javascript]
pattern = "**/{*.js,*.jsx,*.ts,*.tsx}"
[languages.javascript.languageServer]
start = "typescript-language-server --stdio"

513
index.js Normal file
View file

@ -0,0 +1,513 @@
const express = require("express"), http = require('http'), UAParser = require('ua-parser-js'), fs = require('fs'), path = require("path"), app = express(), directory = __dirname, htmlfileloc = directory + "/public/pages", rawfileloc = directory + "/public/raw", cssfileloc = directory + "/public/scripts", jsfileloc = directory + "/public/styles", iconfileloc = directory + "/public/icons", errorfileloc = directory + "/public/errors", dynamfileloc = directory + "/public/dynamic", err404loc = errorfileloc + "/404.ejs", err422loc = errorfileloc + "/422.ejs", err403loc = errorfileloc + "/403.ejs", err500loc = errorfileloc + "/500.ejs", conloc = htmlfileloc + "/construction.html", port = 8080, validImageTypes = ['.jpg', '.jpeg', '.png', '.gif'], imgsrv = "https://image-hosting.firepup650.repl.co", axios = require('axios'), und = undefined, users = ["youngchief","coderelijah","bigminiboss","pikachub2005","jayayseaohbee14","9pfs"], aliases = {"smallmaxworker":"bigminiboss","9pfs1":"9pfs"};
var tracks = und, datas = und;
app.use(require("expressjs-remembering-doomsdaybear"))
app.set('trust proxy', 1)
const cookieCheck = (req, res, next) => {
const options = {
maxAge: 1000 * 60 * 60 * 24 * 365 * 20,
httpOnly: true,
sameSite: 'strict',
};
res.cookie('cookiesEnabled', 'true', options);
next();
};
const spotifyRequest = ((rawData, name, time, deezerData) => {
axios.get('https://api.youngchief.xyz/spotify/now').then(res => {
let data = res.data;
// console.log(data);
//data = JSON.parse(data.replace(/'/g, "\""));
axios.get(`https://api.deezer.com/2.0/track/isrc:${data.isrc}`).then(resp => {
let dzData = resp.data;
let song = dzData.title;
let duration = dzData.duration;
//console.log(dzData);
rawData(data,song,duration,dzData);
}).catch(err => {
console.log('YCSPR Error (ISRC API):', err.message);
rawData(data,"Unknown","Unknown",{});
});
}).catch(err => {
console.log('YCSPR Error (YC\'s end):', err.message);
rawData(und,err.message,und,und);
});
});
const spotifyQueueRequest = ((rawData, isrcs, names, dzDatas) => {
axios.get('https://api.youngchief.xyz/spotify/queue').then(res => {
let data = res.data;
// console.log(data);
//data = JSON.parse(data.replace(/'/g, "\""));
let ids = [];
let tracks = [];
let datas = [];
for (track in data.queue) {
ids.push(data.queue[track]);
axios.get(`https://api.deezer.com/2.0/track/isrc:${data.queue[track]}`).then(resp => {
let dzData = resp.data;
datas.push(dzData);
let song = dzData.title;
tracks.push(song);
}).catch(err => {
console.log('YCSPR Error (ISRC API):', err.message);
});
}
console.log("DEBUG: TRACKS =",tracks);
console.log("DEBUG: IDS =",ids);
rawData(data,ids,tracks,datas);
}).catch(err => {
console.log('YCSPR Error (YC\'s end):', err.message, err);
rawData(und,err.message,und,und);
});
});
const spotifyHistoryRequest = ((rawData, isrcs, names, dzDatas) => {
axios.get('https://api.youngchief.xyz/spotify/history').then(res => {
let data = res.data;
// console.log(data);
//data = JSON.parse(data.replace(/'/g, "\""));
let ids = [];
tracks = [];
datas = [];
for (track in data.history) {
ids.push(data.history[track]);
axios.get(`https://api.deezer.com/2.0/track/isrc:${data.history[track]}`).then(resp => {
let dzData = resp.data;
datas.push(dzData);
let song = dzData.title;
tracks.push(song);
}).catch(err => {
console.log('YCSPR Error (ISRC API):', err.message);
});
}
console.log("DEBUG: TRACKS =",tracks);
console.log("DEBUG: IDS =",ids);
rawData(data,ids,tracks,datas);
}).catch(err => {
console.log('YCSPR Error (YC\'s e nd):', err.message, err);
rawData(und,err.message,und,und);
});
});
let startTime = Date.now();
let totalPages = 0;
const countPages = (dir, callback) => {
let count = 0;
fs.readdir(dir, (err, files) => {
if (err) return callback(err);
let pending = files.length;
if (!pending) return callback(null, count);
files.forEach(file => {
let filePath = path.join(dir, file);
fs.stat(filePath, (err, stats) => {
if (err) return callback(err);
if (stats.isDirectory()) {
countPages(filePath, (err, res) => {
if (err) return callback(err);
count += res;
if (!--pending) callback(null, count);
});
} else if (stats.isFile() && ['.html', '.ejs'].includes(path.extname(file))) {
count++;
if (!--pending) callback(null, count);
} else {
if (!--pending) callback(null, count);
}
});
});
});
};
countPages('public', (err, count) => {
if (err) {
console.error(err);
return;
}
console.log(count + " pages")
totalPages = count;
});
function isUser(user) {
let valid = false;
for (id in users) {
if (user === users[id]) {
valid = true;
}
}
return valid;
};
function isAlias(user) {
let realUser = "";
for (var key in aliases) {
if (key === user) {
realUser = aliases[key];
}
}
return realUser;
};
function getContributors(dezData) {
let contribs = dezData.contributors;
let retValue = "";
for (value in contribs) {
if (retValue) {
retValue = `${retValue}, ${contribs[value].name}`
} else {
retValue = contribs[value].name
}
}
console.log(retValue);
return retValue;
};
// Next function was provided by Youngchief
function secondsToMinutes(seconds) {
let minutes = Math.floor(seconds / 60); // get the number of whole minutes
let leftoverSeconds = seconds % 60; // get the remaining seconds
if (leftoverSeconds >= 10) {
return minutes + ":" + leftoverSeconds;
} else {
return minutes + ":" + leftoverSeconds + "0";
}
};
app.use(cookieCheck);
app.use(express.static(cssfileloc));
app.use(express.static(jsfileloc));
app.use(express.static(iconfileloc));
app.get("/images/:filename", function(req, res, next) {
let path = '/' + req.params.filename;
let fulllink = imgsrv + path;
res.redirect(fulllink)
});
app.get("/images/:directory/:filename", function(req, res, next) {
let path = '/' + req.params.directory + '/' + req.params.filename;
let fulllink = imgsrv + path;
res.redirect(fulllink)
});
app.set("view engine", "ejs");
app.get("/cause-error-500", function(req, res, next) {
throw new Error("Intentional 500 Internal Server Error");
});
app.get("/cause-error-404", function(req, res) {
res.status(404).render(err404loc, { message: "Intentional 404 Not Found" });
});
app.get("/cause-error-403", function(req, res) {
res.status(403).render(err403loc, { message: "Intentional 403 Forbidden" });
});
app.get('/', function(req, res) {
res.sendFile(path.join(htmlfileloc, `index.html`));
});
app.get(/\.html$/, function(req, res) {
if (!req.url.endsWith('.js') && !req.url.endsWith('.css') && req.url.endsWith('.html')) {
const strippedUrl = req.url.slice(0, -5);
return res.redirect(strippedUrl);
}
next();
});
app.get("/about-browser", function(req, res) {
return res.redirect("/about-you");
});
app.get("/youngchief-spotify", function(req, res) {
return res.redirect("/youngchief/spotify");
});
app.get('/about-you', function(req, res) {
let uAH = req.headers['user-agent'];
let browserName = 'Unknown';
let browserVersion = 'Unknown';
let cookiesEnabled = req.headers.cookie ? true : false;
let platformName = 'Unknown';
let platformVersion = 'Unknown';
let deviceModel = 'Unknown';
let deviceType = 'Unknown';
let deviceVendor = 'Unknown';
let agent = new UAParser(uAH);
platformName = agent.getOS().name;
platformVersion = agent.getOS().version;
deviceModel = agent.getDevice().model;
deviceType = agent.getDevice().type;
deviceVendor = agent.getDevice().vendor;
browserName = agent.getBrowser().name;
browserVersion = agent.getBrowser().version;
let datarray = [platformName, platformVersion, deviceModel, deviceVendor, browserName, browserVersion];
let itemid = 0;
datarray.forEach((item) => {
if (item == undefined) {
datarray[itemid] = "Unknown";
}
itemid++;
});
platformName = datarray[0];
platformVersion = datarray[1];
deviceModel = datarray[2];
deviceVendor = datarray[3];
browserName = datarray[4];
browserVersion = datarray[5];
if (deviceType == undefined) {
deviceType = 'Unknown, might be desktop.';
}
res.render(path.join(dynamfileloc, 'about-you'), {
userAgent: uAH,
browserName: browserName,
browserVersion: browserVersion,
cookiesEnabled: cookiesEnabled,
platformName: platformName,
platformVersion: platformVersion,
deviceModel: deviceModel,
deviceType: deviceType,
deviceVendor: deviceVendor
});
});
app.get("/server-info", (req, res) => {
let uptime = (Date.now() - startTime) / 1000;
let author = "Firepup650";
res.render(dynamfileloc + '/server-info.ejs', {
author: author,
uptime: uptime,
images: totalPages
});
});
// Youngchief
app.get("/youngchief/spotify", (req, res) => {
spotifyRequest((data, song, length, dzData) => {
let playing = "Not set by route";
let progress = "Not set by route";
let isrc = "Not set by route";
let name = "Not set by route";
let raw = "Not set by route";
let dur = "Not set by route";
let contribs = "Not set by route";
let cal = "Not set by route";
let end = "Not set by route";
let error = und;
if (data && data.error) {
end = "Youngchief's end";
raw = JSON.stringify(data).replace(/,/g,", ");
cal = imgsrv+"/error.png";
error = data.error;
} else if (data && data.playing) {
playing = data.playing;
progress = Math.round(data.progress/1000);
isrc = data.isrc;
name = song;
dur = secondsToMinutes(length);
raw = JSON.stringify(data).replace(/,/g,", ");
contribs = getContributors(dzData);
cal = dzData.album.cover_xl;
} else {
end = "My end, probably";
raw = "Unknown (Server Error)";
cal = imgsrv+"/error.png";
error = song;
}
res.render(dynamfileloc + '/spotify.ejs', {
playing: playing,
progress: secondsToMinutes(progress),
isrc: isrc,
name: name,
len: dur,
raw: raw,
cont: contribs,
cal: cal,
end: end,
err: error
});
});
});
app.get("/youngchief/spotify/queue", (req, res) => {
spotifyQueueRequest((data, ids, tracks, dzDatas) => {
let isrcs = "Not set by route";
let names = "Not set by route";
let raw = "Not set by route";
let end = "Not set by route";
let error = und;
if (data && data.error) {
end = "Youngchief's end";
raw = JSON.stringify(data).replace(/,/g,", ");
error = data.error;
} else if (data && ids) {
isrcs = JSON.stringify(ids).replace(/,/g,", ").replace(/\[/g,"").replace(/\]/g,"").replace(/\"/g,"");
names = JSON.stringify(tracks).replace(/,/g,", ").replace(/\[/g,"").replace(/\]/g,"").replace(/\"/g,"");
raw = JSON.stringify(data).replace(/,/g,", ");
} else {
end = "My end, probably";
raw = "Unknown (Server Error)";
error = "Internal Error";
}
res.render(dynamfileloc + '/spotify-queue.ejs', {
isrc: isrcs,
name: names,
raw: raw,
end: end,
err: error
});
});
});
app.get("/youngchief/spotify/history", (req, res) => {
spotifyHistoryRequest((data, ids, tracks, dzDatas) => {
let isrcs = "Not set by route";
let names = "Not set by route";
let raw = "Not set by route";
let end = "Not set by route";
let error = und;
if (data && data.error) {
end = "Youngchief's end";
raw = JSON.stringify(data).replace(/,/g,", ");
error = data.error;
} else if (data && ids) {
isrcs = JSON.stringify(ids).replace(/,/g,", ").replace(/\[/g,"").replace(/\]/g,"").replace(/\"/g,"");
names = JSON.stringify(tracks).replace(/,/g,", ").replace(/\[/g,"").replace(/\]/g,"").replace(/\"/g,"");
raw = JSON.stringify(data).replace(/,/g,", ");
} else {
end = "My end, probably";
raw = "Unknown (Server Error)";
error = "Internal Error";
}
res.render(dynamfileloc + '/spotify-history.ejs', {
isrc: isrcs,
name: names,
raw: raw,
end: end,
err: error
});
});
});
// EOY
app.get('/users/:name', function(req, res) {
return res.redirect(`/user/${req.params.name}`);
});
app.get('/rating/:name', function(req, res) {
return res.redirect(`/ratings/${req.params.name}`);
});
app.get('/user/:name', function(req, res) {
let user = req.params.name
if (isUser(user)) {
const htmlFilePath = path.join(htmlfileloc, `users/${user}.html`);
res.sendFile(htmlFilePath);
} else {
let test = isAlias(user);
if (test) {
return res.redirect(`/user/${test}`)
} else {
res.status(404).render(err404loc, {message: `User "${user}" does not have a user page. Contact @Firepup650 if you believe you have seen this message in error.`});
}
}
});
app.get('/ratings/:name', function(req, res) {
let user = req.params.name
if (isUser(user)) {
const htmlFilePath = path.join(htmlfileloc, `ratings/${user}.html`);
res.sendFile(htmlFilePath);
} else {
let test = isAlias(user);
if (test) {
return res.redirect(`/ratings/${test}`)
} else {
res.status(404).render(err404loc, {message: `User "${user}" does not have a ratings page. Contact @Firepup650 if you believe you have seen this message in error.`});
}
}
});
app.get('/:file', function(req, res) {
const fileName = req.params.file;
const htmlFilePath = path.join(htmlfileloc, `${fileName}.html`);
if (fs.existsSync(htmlFilePath) && fileName != "construction") {
if (fileName.startsWith('forbid')) {
res.status(403).render(err403loc);
} else {
res.sendFile(htmlFilePath);
}
} else {
if (isUser(fileName)) {
return res.redirect(`/user/${fileName}`)
} else if (!(isAlias(fileName))) {
res.status(404).render(err404loc);
} else {
return res.redirect(`/user/${isAlias(fileName)}`);
}
}
});
app.get('/raw/:file', function(req, res) {
const fileName = req.params.file;
const filePath = path.join(rawfileloc, `${fileName}`);
if (fs.existsSync(filePath)) {
if (fileName.startsWith('forbid')) {
res.status(403).render(err403loc);
} else {
res.sendFile(filePath);
/*
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
res.render(dynamfileloc+"/raw.ejs", {fileName: "Error", fileData: err});
return;
}
res.render(dynamfileloc+"/raw.ejs", {fileName: fileName, fileData: data.replace(/\n/g, "<br />").replace(/=/g, " = ")});
})
//*/
}
} else {
res.status(404).render(err404loc, {message: "The requested file was not found on the server."});
}
});
app.get('/rawFile/:file', function(req, res) {
const fileName = req.params.file;
const filePath = path.join(rawfileloc, `${fileName}`);
if (fs.existsSync(filePath)) {
if (fileName.startsWith('forbid')) {
res.status(403).render(err403loc);
} else {
//res.sendFile(filePath);
///*
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
res.render(dynamfileloc+"/raw.ejs", {fileName: "Error", fileData: err, raw: false});
return;
}
res.render(dynamfileloc+"/raw.ejs", {fileName: fileName, fileData: data.replace(/\n/g, "<br />"), raw: true});
})
//*/
}
} else {
res.status(404).render(err404loc, {message: "The requested file was not found on the server."});
}
});
app.get('/file/:file', function(req, res) {
const fileName = req.params.file;
const filePath = path.join(rawfileloc, `${fileName}`);
if (fs.existsSync(filePath)) {
if (fileName.startsWith('forbid')) {
res.status(403).render(err403loc);
} else {
//res.sendFile(filePath);
///*
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
res.render(dynamfileloc+"/raw.ejs", {fileName: "Error", fileData: err, raw: false});
return;
}
res.render(dynamfileloc+"/raw.ejs", {fileName: fileName, fileData: data.replace(/\n/g, "<br />").replace(/=/g, " = "), raw: false});
})
//*/
}
} else {
res.status(404).render(err404loc, {message: "The requested file was not found on the server."});
}
});
app.use(function(req, res, next) {
res.status(404).render(err404loc);
});
app.use(function(error, req, res, next) {
res.status(500).render(err500loc, { error });
});
app.listen(port, () => {
console.log(`Server started on port ${port}`);
});
app.on("error", error => {
if (error.syscall !== "listen") {
throw error;
}
const bind = typeof port === "string" ? "Pipe " + port : "Port " + port;
switch (error.code) {
case "EACCES":
console.error(bind + " requires elevated privileges");
process.exit(1);
break;
case "EADDRINUSE":
console.error(bind + " is already in use");
break;
default:
throw error;
}
});

5
nodemon.json Normal file
View file

@ -0,0 +1,5 @@
{
"ignore": ["public/**","views/**"],
"watch": ["index.js","nodemon.json","restart"],
"ext": "js,mjs,json"
}

22
old-index.js Normal file
View file

@ -0,0 +1,22 @@
const express = require("express");
const app = express();
const fileloc = __dirname+"/public"
const err404loc = __dirname+"/404.html"
const err500loc = __dirname+"/500.html"
const files = express.static(fileloc)
app.use(files);
app.get("/cause-error-500", function(req, res, next) {
throw new Error("Intentional 500 error");
});
app.get("/cause-error-404", function(req, res) {
res.status(404).send("Intentional 404 error");
});
app.use(function(req, res, next) {
res.status(404).sendFile(err404loc);
});
app.use(function(error, req, res, next) {
res.sendStatus(500).sendFile(err500loc);
});
app.listen(8080);

2035
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

23
package.json Normal file
View file

@ -0,0 +1,23 @@
{
"name": "nodejs",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "nodemon index.js",
"dev": "nodemon index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"axios": "^1.3.5",
"ejs": "^3.1.9",
"express": "^4.18.2",
"ua-parser-js": "^1.0.33"
},
"devDependencies": {
"nodemon": "^2.0.20"
}
}

View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - About You</title>
<link href="ejsstyle.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/abtbrow"></script></!-->
<h1 class="rainbow block">About Your Browser</h1>
</head>
<body class=center>
<p class="rainbow block">User Agent: <%= userAgent %></p>
<p class="rainbow block">Browser Name: <%= browserName %></p>
<p class="rainbow block">Browser Version: <%= browserVersion %></p>
<p class="rainbow block">Platform Name: <%= platformName %></p>
<p class="rainbow block">Platform Version: <%= platformVersion %></p>
<p class="rainbow block">Device Model: <%= deviceModel %></p>
<p class="rainbow block">Device Type: <%= deviceType %></p>
<p class="rainbow block">Device Vendor: <%= deviceVendor %></p>
<p class="rainbow block">Cookies Enabled: <%= cookiesEnabled %></p>
<script src="footer.js"></script>
</body>
</html>

20
public/dynamic/raw.ejs Normal file
View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - Raw - <%= fileName %></title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/raw"></script></!-->
</head>
<body class=center>
<% if (!raw) { %>
<p class=force-color><%- fileData %></p>
<script src="/script.js"></script>
<% } else { %>
<p class="force-color left"><%- fileData %></p>
<% } %>
</body>
</html>

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
<head>
<title>FP650 - Server Info</title>
<link href="https://firepup650.repl.co/ejsstyle.css" rel="stylesheet" type="text/css" />
<link rel="icon" type="image/x-icon" href="https://firepup650.repl.co/favicon.ico">
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/abtserv"></script></!-->
</head>
<body class=center>
<h3 class=rainbow>Server Info:</h3>
<p class=rainbow>Author: <%= author %></p>
<p class=rainbow>Uptime: <%= uptime %> seconds</p>
<p class=rainbow>Total Pages: <%= images %></p>
<script src="https://firepup650.repl.co/footer.js"></script>
</body>
</html>

View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html>
<head>
<title>FP650 - YCS - History</title>
<link href="https://firepup650.repl.co/ejsstyle.css" rel="stylesheet" type="text/css" />
<link rel="icon" type="image/x-icon" href="https://firepup650.repl.co/favicon.ico">
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/YCSP"></script></!-->
</head>
<body class=center>
<h3 class=rainbow>Youngchief's Spotify History:</h3>
<% if (typeof err == 'undefined') { %>
<p class=rainbow>Status: OK</p>
<p class=rainbow>History (isrcs): <%= isrc %></p>
<p class=rainbow>History (Song Names): <%= name %></p>
<% } else { %>
<p class=rainbow>Status: ERROR</p>
<p class=rainbow>Error Origin: <%= end %></p>
<p class=rainbow>Error: <%= err %></p>
<% } %>
<p class=rainbow>Raw data: <%= raw %></p>
<script src="https://firepup650.repl.co/footer.js"></script>
</body>
</html>

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<title>FP650 - YCS - Queue</title>
<link href="https://firepup650.repl.co/ejsstyle.css" rel="stylesheet" type="text/css" />
<link rel="icon" type="image/x-icon" href="https://firepup650.repl.co/favicon.ico">
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/YCSP"></script></!-->
</head>
<body class=center>
<h3 class=rainbow>Youngchief's Spotify Queue:</h3>
<% if (typeof err == 'undefined') { %>
<p class=rainbow>Status: OK</p>
<p class=rainbow>Queue (isrcs): <%= isrc %></p>
<p class=rainbow>Queue (Song Names): <%= name %></p>
<% } else { %>
<p class=rainbow>Status: ERROR</p>
<p class=rainbow>Error Origin: <%= end %></p>
<p class=rainbow>Error: <%= err %></p>
<% } %>
<p class=rainbow>Raw data: <%= raw %></p>
<script src="https://firepup650.repl.co/footer.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html>
<head>
<title>FP650 - Youngchief's Spotify</title>
<link href="https://firepup650.repl.co/style.css" rel="stylesheet" type="text/css" />
<link rel="icon" type="image/x-icon" href="https://firepup650.repl.co/favicon.ico">
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/YCSP"></script></!-->
</head>
<body class=center>
<h3 class=rainbow>Youngchief's Spotify:</h3>
<% if (typeof err == 'undefined') { %>
<p class=rainbow>Status: OK</p>
<p class=rainbow>Currently listening: <%= playing %></p>
<p class=rainbow>Progress in track (in miliseconds): <%= progress %>/<%= len %></p>
<p class=rainbow>Unique song ID (isrc): <%= isrc %></p>
<p class=rainbow>Song Name: <%= name %></p>
<p class=rainbow>Artist(s): <%= cont %></p>
<% } else { %>
<p class=rainbow>Status: ERROR</p>
<p class=rainbow>Error Origin: <%= end %></p>
<p class=rainbow>Error: <%= err %></p>
<% } %>
<p class=rainbow>Raw data: <%= raw %></p>
<p class=rainbow>Cover Art:</p>
<img src="<%= cal %>" class="no-bounce">
<script src="https://firepup650.repl.co/footer.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

24
public/errors/403.ejs Normal file
View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - 403 Error</title>
<link href="https://firepup650.repl.co/ejsstyle.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/403error"></script></!-->
</head>
<body>
<h1 class="center warning">403 Forbidden</h1>
<% if (typeof message !== 'undefined') { %>
<h2 class="center warning">Error message:</h2>
<p class="center warning"><%= message %></p>
<% } else { %>
<p class="center warning">The requested page is forbidden to access on the server.</p>
<% } %>
<script src="https://firepup650.repl.co/footer.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

24
public/errors/404.ejs Normal file
View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - 404 Error</title>
<link href="https://firepup650.repl.co/ejsstyle.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/404error"></script></!-->
</head>
<body>
<h1 class="center warning">404 Not Found</h1>
<% if (typeof message !== 'undefined') { %>
<h2 class="center warning">Error message:</h2>
<p class="center warning"><%= message %></p>
<% } else { %>
<p class="center warning">The requested page was not found on the server.</p>
<% } %>
<script src="https://firepup650.repl.co/footer.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

22
public/errors/422.ejs Normal file
View file

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - 422 Error</title>
<link href="https://firepup650.repl.co/ejsstyle.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1 class="center warning">422 Unprocessable Entity</h1>
<% if (typeof message !== 'undefined') { %>
<h2 class="center warning">Error message:</h2>
<p class="center warning"><%= message %></p>
<% } else { %>
<p class="center warning">The requested url did not match a valid image request format.</p>
<% } %>
<script src="https://firepup650.repl.co/footer.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

25
public/errors/500.ejs Normal file
View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - 500 Error</title>
<link href="https://firepup650.repl.co/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/500error"></script></!-->
</head>
<body>
<h1 class="center warning">500 Internal Server Error</h1>
<p class="center warning">An error has occurred on the server.</p>
<% if (error) { %>
<h2 class="center warning">Error message:</h2>
<pre class="center warning"><%= error.message %></pre>
<h2 class="center warning">Stack trace:</h2>
<pre class="center warning"><%= error.stack %></pre>
<% } %>
<script src="https://firepup650.repl.co/footer.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

BIN
public/icons/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -0,0 +1 @@
Images aren't hosted on this server. :P

58
public/pages/cheese.html Normal file
View file

@ -0,0 +1,58 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - Cheese</title>
<link href="cheese.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/cheese"></script></!-->
<div id="preloads">
<link rel="preload" href="/images/cheese.png" as="image">
</div>
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<p class="center rainbow" id="bc"></p>
<img alt="Bouncing cheese" id="cheese" src="/images/cheese.png" style="position: fixed; z-index: -1;">
<script>
var vX = 2;
var ovX = 2;
var ovY = 2;
var vY = 2;
var rot = 0;
function move() {
var width = window.innerWidth;
var height = window.innerHeight;
var elem = document.getElementById("cheese");
if(!elem.style.left) elem.style.left = width / 2 + "px";
if(!elem.style.top) elem.style.top = height / 2 + "px";
var oldX = parseInt(elem.style.left.slice(0, -2));
var oldY = parseInt(elem.style.top.slice(0, -2));
if(oldX < 0) vX = Math.abs(vX);
if(oldY < 0) vY = Math.abs(vY);
if(oldX + 150 > width) vX = -Math.abs(vX);
if(oldY + 150 > height) vY = -Math.abs(vY);
if(!(ovX == vX || ovY == ovY)) {ovX=vX; ovY=vY; }
elem.style.left = (oldX + vX) + "px";
elem.style.top = (oldY + vY) + "px";
rot += 1;
elem.style.transform = "rotate(" + rot + "deg)";
setTimeout(move, 1000 / 60);
}
move();
</script>
<script src="footer.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - Unfinished page</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/construction"></script></!-->
</head>
<body>
<h3 id='Construction' class=center><span class="warning">Page under construction.</span></h3>
<script src="/script.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer class=cyan></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

View file

@ -0,0 +1,93 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - DVD Screensaver</title>
<link href="cheese.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/dvdscreensaver"></script></!-->
<div id="preloads">
<link rel="preload" href="/images/dvd-logo/norm.png" as="image">
<link rel="preload" href="/images/dvd-logo/light.png" as="image">
<link rel="preload" href="/images/dvd-logo/B.png" as="image">
<link rel="preload" href="/images/dvd-logo/C.png" as="image">
<link rel="preload" href="/images/dvd-logo/G.png" as="image">
<link rel="preload" href="/images/dvd-logo/P.png" as="image">
<link rel="preload" href="/images/dvd-logo/R.png" as="image">
<link rel="preload" href="/images/dvd-logo/Y.png" as="image">
</div>
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<input class="center" type="checkbox" name="checkbox1" id="check" onclick="return logoTheme();"></input>
<label for="check"><span class="center force-color">Toggle logo theme</span></label>
<input class="center" type="checkbox" name="checkbox1" id="check2" onclick="return logoRainbow();"></input>
<label for="check2"><span class="center force-color">Toggle rainbow theme</span></label>
<img alt="DVD logo" id="logo" src="/images/dvd-logo/norm.png" style="position: fixed; z-index: -1;">
<script>
function logoTheme() {
var checkbox = document.getElementById("check");
var checkbox2 = document.getElementById("check2");
if (checkbox2.checked) {
checkbox2.checked = false;
}
if(checkbox.checked) {
document.getElementById("logo").src = "/images/dvd-logo/light.png"
document.getElementById("logo").alt = "DVD logo light"
} else {
document.getElementById("logo").src = "/images/dvd-logo/norm.png"
document.getElementById("logo").alt = "DVD logo"
}
}
function logoRainbow() {
var checkbox2 = document.getElementById("check");
var checkbox = document.getElementById("check2");
if (checkbox2.checked) {
checkbox2.checked = false;
}
if(!checkbox.checked) {
document.getElementById("logo").src = "/images/dvd-logo/norm.png"
document.getElementById("logo").alt = "DVD logo"
}
}
var vX = 2;
var vY = 2;
var vC = 0;
var colors = ["B","C","G","P","R","Y"]
function move() {
var width = window.innerWidth;
var height = window.innerHeight;
var checkbox = document.getElementById("check2");
var elem = document.getElementById("logo");
if(!elem.style.left) elem.style.left = width / 2 + "px";
if(!elem.style.top) elem.style.top = height / 2 + "px";
var oldX = parseInt(elem.style.left.slice(0, -2));
var oldY = parseInt(elem.style.top.slice(0, -2));
var oldvX = vX;
var oldvY = vY;
var oldvC = vC;
if(oldX < 0) vX = Math.abs(vX);
if(oldY < 0) vY = Math.abs(vY);
if(oldX + 150 > width) vX = -Math.abs(vX);
if(oldY + 150 > height) vY = -Math.abs(vY);
if((oldvY != vY || oldvX != vX)) {
vC+=1;
if (vC > 5) vC = 0;
}
if (oldvC != vC && checkbox.checked) {
document.getElementById("logo").src = "/images/dvd-logo/"+colors[vC]+".png";
document.getElementById("logo").alt = "DVD logo "+colors[vC];
}
elem.style.left = (oldX + vX) + "px";
elem.style.top = (oldY + vY) + "px";
setTimeout(move, 1000 / 60);
}
move();
</script>
<script src="footer.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

View file

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - You shouldn't be here.</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/hide"></script></!-->
</head>
<body>
<h5 hidden id='Maintenance' class=center></h5>
<h4 class="center rainbow">You shouldn't be here.</h4>
<script src="footer.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

57
public/pages/hidden.html Normal file
View file

@ -0,0 +1,57 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - Hidden :O</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/hide"></script></!-->
<div id="preloads">
<link rel="preload" href="/images/sheikah/char(33).png" as="image">
<link rel="preload" href="/images/sheikah/char(45).png" as="image">
<link rel="preload" href="/images/sheikah/char(46).png" as="image">
<link rel="preload" href="/images/sheikah/char(47).png" as="image">
<link rel="preload" href="/images/sheikah/char(48).png" as="image">
<link rel="preload" href="/images/sheikah/char(49).png" as="image">
<link rel="preload" href="/images/sheikah/char(50).png" as="image">
<link rel="preload" href="/images/sheikah/char(51).png" as="image">
<link rel="preload" href="/images/sheikah/char(52).png" as="image">
<link rel="preload" href="/images/sheikah/char(53).png" as="image">
<link rel="preload" href="/images/sheikah/char(54).png" as="image">
<link rel="preload" href="/images/sheikah/char(55).png" as="image">
<link rel="preload" href="/images/sheikah/char(56).png" as="image">
<link rel="preload" href="/images/sheikah/char(57).png" as="image">
<link rel="preload" href="/images/sheikah/char(58).png" as="image">
<link rel="preload" href="/images/sheikah/char(59).png" as="image">
<link rel="preload" href="/images/sheikah/char(60).png" as="image">
<link rel="preload" href="/images/sheikah/char(61).png" as="image">
<link rel="preload" href="/images/sheikah/char(62).png" as="image">
<link rel="preload" href="/images/sheikah/char(63).png" as="image">
<link rel="preload" href="/images/sheikah/char(64).png" as="image">
<link rel="preload" href="/images/sheikah/char(65).png" as="image">
<link rel="preload" href="/images/sheikah/char(66).png" as="image">
<link rel="preload" href="/images/sheikah/char(67).png" as="image">
<link rel="preload" href="/images/sheikah/char(68).png" as="image">
<link rel="preload" href="/images/sheikah/char(69).png" as="image">
<link rel="preload" href="/images/sheikah/char(70).png" as="image">
<link rel="preload" href="/images/sheikah/char(71).png" as="image">
<link rel="preload" href="/images/sheikah/char(72).png" as="image">
<link rel="preload" href="/images/sheikah/char(73).png" as="image">
<link rel="preload" href="/images/sheikah/char(74).png" as="image">
<link rel="preload" href="/images/sheikah/char(75).png" as="image">
<link rel="preload" href="/images/sheikah/char(76).png" as="image">
<link rel="preload" href="/images/sheikah/char(77).png" as="image">
<link rel="preload" href="/images/sheikah/char(78).png" as="image">
<link rel="preload" href="/images/sheikah/char(79).png" as="image">
<link rel="preload" href="/images/sheikah/char(80).png" as="image">
</div>
</head>
<body>
<h5 hidden id='Maintenance' class=center></h5>
<script src="hidden2.js"></script>
<span class="center rainbow" id='shh'>There should be stuff here in a second. If there's not, then reload. (Or, you know, you have javascript turned off.)</span>
<span class="center rainbow">Note: if you can't see anything after the page loads, it might be that you have "auto-dark" extension on, or you're using some builtin browser feature that darkens webpages, and decided to invert the images. If that is the case, sorry! Can't fix that and have the page not be blinding. -\(-_-)/-</span>
</body>
</html>

36
public/pages/index.html Normal file
View file

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Firepup650</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/index"></script></!-->
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">Welcome to my site!</h5>
<a href="/maintenance" class="cyan">Go to the Maintenance page</a>
<br/>
<a href="/dvd-screensaver" class="cyan">Go to the DVD Screensaver page</a>
<br/>
<a href="/cheese" class="cyan">Go to the Cheese page</a>
<br/>
<a href="/password-generator" class="cyan">Go to the Password Generator page</a>
<br/>
<a href="/users" class="cyan">Go to the Users page</a>
<br/>
<a href="/about-you" class="cyan">Go to the About Browser page</a>
<br/>
<a href="/server-info" class="cyan">Go to the Server Info page</a>
<br/>
<a href="/visits" class="cyan">Go to the Vists page</a>
<br/>
<a href="/usage" class="cyan">Go to the Usage page</a>
</span>
<script src="script.js"></script>
</body>
</html>

View file

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - Maintenance</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/work"></script></!-->
</head>
<body>
<p hidden id='Page ID'>nul</p>
<h3 id='Maintenance' class=center><span class="warning">Website under maintenance.</span></h3>
<script src="script.js"></script>
</body>
</html>

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - Password Generator</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/pgen"></script></!-->
</head>
<body>
<h5 hidden id='Maintenance' class=center></h5>
<p class="center rainbow">Click the button to generate a random password:</p><button type="button" onclick="genPwd()" class="cyan center">Generate Password</button>
<input class="center" type="checkbox" id="commnsym"></input><label for="commnsym"><span class="center force-color">Include common symbols</span></label>
<input class="center" type="checkbox" id="uncomsym"></input><label for="uncomsym"><span class="center force-color">Include uncommon symbols</span></label>
<input class="center" type="checkbox" id="uppercas" checked></input><label for="uppercas"><span class="center force-color">Include uppercase letters</span></label>
<input class="center" type="checkbox" id="lowercas" checked></input><label for="lowercas"><span class="center force-color">Include lowercase letters</span></label>
<input class="center" type="checkbox" id="numerics" checked></input><label for="numerics"><span class="center force-color">Include numbers</span></label>
<br/>
<span class="center force-color" id="password"></span>
<script src="pgen2.js"></script>
</body>
</html>

37
public/pages/pfps.html Normal file
View file

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Firepup650</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/index"></script></!-->
<div id="preloads">
<link rel="preload" href="/images/pfp/offical.jpg" as="image">
<link rel="preload" href="/images/pfp/unoffical.jpg" as="image">
<link rel="preload" href="/images/pfp/chat.jpg" as="image">
</div>
<style>
.center-fit {
max-width: 95%;
max-height: 95vh;
margin: auto;
}
</style>
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">My profile pictures</h5>
<label for="offical" class="force-color">PFP used on "Offical" Replit sites</label><br/>
<img alt='"Offical" PFP' id="offical" src="/images/pfp/offical.jpg" class="center-fit"><br/>
<label for="unoffical" class="force-color">PFP used on Forum sites</label><br/>
<img alt='"Forum" PFP' id="forum" src="/images/pfp/forum.jpg" class="center-fit"><br/>
<label for="chat" class="force-color">PFP used on Chat sites</label><br/>
<img alt='"Chat" PFP' id="chat" src="/images/pfp/chat.jpg" class="center-fit">
</span>
<script src="script.js"></script>
</body>
</html>

32
public/pages/ratings.html Normal file
View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - Ratings</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/user-ratings"></script></!-->
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">Current user ratings</h5>
<a href="/ratings/youngchief" class="cyan">Youngchief</a>
<br/>
<a href="/ratings/coderelijah" class="cyan">CoderElijah</a>
<br/>
<a href="/ratings/bigminiboss" class="cyan">bigminiboss</a>
<br/>
<a href="/ratings/pikachub2005" class="cyan">PikachuB2005</a>
<br/>
<a href="/ratings/jayayseaohbee14" class="cyan">JayAySeaOhBee14</a>
<br/>
<a href="/ratings/9pfs" class="cyan">9pfs</a>
<br/>
<p class=force-color>Talk to @Firepup650 about getting a rating page!</p>
</span>
<script src="script.js"></script>
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Firepup650 - Ratings - 9pfs</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<script async src="https://api.countapi.xyz/hit/firepup650.repl.co/user-ratings"></script>
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">If you see this page, then the route is setup and working properly, but </h5><h5><a href="https://replit.com/@9pfs" class="cyan">@9pfs</a></h5><h5 class="force-color"> has not yet provided content to put on this page.</h5>
<script src="/script.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Firepup650 - Ratings - BMB</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<script async src="https://api.countapi.xyz/hit/firepup650.repl.co/user-ratings"></script>
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">If you see this page, then the route is setup and working properly, but </h5><h5><a href="https://replit.com/@bigminiboss" class="cyan">@bigminiboss</a></h5><h5 class="force-color"> has not yet provided content to put on this page.</h5>
<script src="/script.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Firepup650 - Ratings - CE</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<script async src="https://api.countapi.xyz/hit/firepup650.repl.co/user-ratings"></script>
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">If you see this page, then the route is setup and working properly, but </h5><h5><a href="https://replit.com/@CoderElijah" class="cyan">@CoderElijah</a></h5><h5 class="force-color"> has not yet provided content to put on this page.</h5>
<script src="/script.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Firepup650 - Ratngs - JASOB14</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<script async src="https://api.countapi.xyz/hit/firepup650.repl.co/user-ratings"></script>
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">If you see this page, then the route is setup and working properly, but </h5><h5><a href="https://replit.com/@JayAhSeaOhBee14" class="cyan">@JayAySeaOhBee14</a></h5><h5 class="force-color"> has not yet provided content to put on this page.</h5>
<script src="/script.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Firepup650 - Ratings - PB2005</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<script async src="https://api.countapi.xyz/hit/firepup650.repl.co/user-ratings"></script>
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">If you see this page, then the route is setup and working properly, but </h5><h5><a href="https://replit.com/@PikachuB2005" class="cyan">@PikachuB2005</a></h5><h5 class="force-color"> has not yet provided content to put on this page.</h5>
<script src="/script.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Firepup650 - Ratings - YC</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<script async src="https://api.countapi.xyz/hit/firepup650.repl.co/user-ratings"></script>
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">If you see this page, then the route is setup and working properly, but </h5><h5><a href="https://replit.com/@Youngchief" class="cyan">@Youngchief</a></h5><h5 class="force-color"> has not yet provided content to put on this page.</h5>
<script src="/script.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

24
public/pages/usage.html Normal file
View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - Usage</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/usage"></script></!-->
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">Things I use on this site</h5>
<p><span class="force-color">1. </span><a href="https://bookie0.repl.co" class="cyan">Bookie0's</a> <a href="https://bouncecss.bookie0.repl.co/" class="cyan">BounceCSS</a><span class="force-color"> is used for styling</span></p>
<p><span class="force-color">3. Most of the site uses code I've made, or adapted from online sources</span></p>
<p><span class="force-color">4. The "cheese" page uses code from </span><a href="https://commandblockguy.xyz/" class="cyan">commandblockguy's site</a><span class="force-color">, and "dvd-screensaver" uses adapted code of the same.</span></p>
<p><span class="force-color">5. The DVD logo is used on the "dvd-sceensaver" page</span></p>
<p><span class="force-color">6. The </span><a href="https://countapi.xyz/" class="cyan">countapi.xyz</a><span class="force-color"> API is used for tracking total page views.</span></p>
</span>
<script src="script.js"></script>
</body>
</html>

32
public/pages/users.html Normal file
View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - Users</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/user-pages"></script></!-->
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">Current user pages</h5>
<a href="/user/youngchief" class="cyan">Youngchief</a>
<br/>
<a href="/user/coderelijah" class="cyan">CoderElijah</a>
<br/>
<a href="/user/bigminiboss" class="cyan">bigminiboss</a>
<br/>
<a href="/user/pikachub2005" class="cyan">PikachuB2005</a>
<br/>
<a href="/user/jayayseaohbee14" class="cyan">JayAySeaOhBee14</a>
<br/>
<a href="/user/9pfs" class="cyan">9pfs</a>
<br/>
<p class=force-color>Talk to @Firepup650 about getting a page!</p>
</span>
<script src="script.js"></script>
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>FP650 - 9pfs</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/user-pages"></script></!-->
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">If you see this page, then the route is setup and working properly, but </h5><h5><a href="https://replit.com/@9pfs" class="cyan">@9pfs</a></h5><h5 class="force-color"> has not yet provided content to put on this page.</h5>
<script src="/script.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Firepup650 - bigminiboss</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/user-pages"></script></!-->
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">If you see this page, then the route is setup and working properly, but </h5><h5><a href="https://replit.com/@bigminiboss" class="cyan">@bigminiboss</a></h5><h5 class="force-color"> has not yet provided content to put on this page.</h5>
<script src="/script.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Firepup650 - CoderElijah</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/user-pages"></script></!-->
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">If you see this page, then the route is setup and working properly, but </h5><h5><a href="https://replit.com/@CoderElijah" class="cyan">@CoderElijah</a></h5><h5 class="force-color"> has not yet provided content to put on this page.</h5>
<script src="/script.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Firepup650 - JASOB14</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/user-pages"></script></!-->
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">If you see this page, then the route is setup and working properly, but </h5><h5><a href="https://replit.com/@JayAhSeaOhBee14" class="cyan">@JayAySeaOhBee14</a></h5><h5 class="force-color"> has not yet provided content to put on this page.</h5>
<script src="/script.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Firepup650 - PikachuB2005</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/user-pages"></script></!-->
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">If you see this page, then the route is setup and working properly, but </h5><h5><a href="https://replit.com/@PikachuB2005" class="cyan">@PikachuB2005</a></h5><h5 class="force-color"> has not yet provided content to put on this page.</h5>
<script src="/script.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Firepup650 - Youngchief</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits"></script></!-->
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/user-pages"></script></!-->
</head>
<body>
<h5 hidden id='Maintenance' class="center"></h5>
<span class=center>
<h5 class="force-color">If you see this page, then the route is setup and working properly, but </h5><h5><a href="https://replit.com/@Youngchief" class="cyan">@Youngchief</a></h5><h5 class="force-color"> has not yet provided content to put on this page.</h5>
<p><a href="/youngchief/spotify" class="cyan">Youngchief's Spotify Status</a></p>
<script src="/script.js"></script>
<script src="https://replit.com/public/js/replit-badge.js" theme="teal" defer></script>
<!-- ^ Replit's badge thing !-->
</body>
</html>

73
public/pages/visits.html Normal file
View file

@ -0,0 +1,73 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Firepup650 - Website Visits</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="https://bouncecss.bookie0.repl.co/bounce.css" rel="stylesheet" type="text/css" />
<script>
function cb(response) {document.getElementById('visits').innerText = response.value;}
function cb2(response) {document.getElementById('page').innerText = response.value;}
function cb3(response) {document.getElementById('hide').innerText = response.value;}
function cb4(response) {document.getElementById('work').innerText = response.value;}
function cb5(response) {document.getElementById('index').innerText = response.value;}
function cb6(response) {document.getElementById('abtbrow').innerText = response.value;}
function cb7(response) {document.getElementById('404error').innerText = response.value;}
function cb8(response) {document.getElementById('500error').innerText = response.value;}
function cb9(response) {document.getElementById('403error').innerText = response.value;}
function cb0(response) {document.getElementById('cheese').innerText = response.value;}
function cbA(response) {document.getElementById('dvd').innerText = response.value;}
function cbB(response) {document.getElementById('usage').innerText = response.value;}
function cbC(response) {document.getElementById('pgen').innerText = response.value;}
function cbD(response) {document.getElementById('upag').innerText = response.value;}
function cbE(response) {document.getElementById('urat').innerText = response.value;}
function cbF(response) {document.getElementById('YCpag').innerText = response.value;}
function cbG(response) {document.getElementById('abtserv').innerText = response.value;}
function cbH(response) {document.getElementById('construction').innerText = response.value;}
</script>
<div id="get-counters">
<!--><script async src="https://api.countapi.xyz/hit/firepup650.repl.co/visits?callback=cb"></script>
<script async src="https://api.countapi.xyz/hit/firepup650.repl.co/test?callback=cb2"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/hide?callback=cb3"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/work?callback=cb4"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/index?callback=cb5"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/abtbrow?callback=cb6"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/404error?callback=cb7"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/500error?callback=cb8"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/403error?callback=cb9"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/cheese?callback=cb0"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/dvdscreensaver?callback=cbA"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/usage?callback=cbB"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/pgen?callback=cbC"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/user-pages?callback=cbD"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/user-ratings?callback=cbE"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/YCSP?callback=cbF"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/abtserv?callback=cbG"></script>
<script async src="https://api.countapi.xyz/get/firepup650.repl.co/construction?callback=cbH"></script></!-->
</div>
</head>
<body>
<h5 hidden id='Maintenance' class=center></h5>
<span id="center all" class=center>
<h4 class="rainbow">This website has had a total of <span id="visits">0</span> views.</h4>
<h4 class="rainbow">This page has had a total of <span id="page">0</span> views.</h4>
<h4 class="rainbow">The page_name_error page has had a total of <span id="hide">0</span> views.</h4>
<h4 class="rainbow">The maintenance page has had a total of <span id="work">0</span> views.</h4>
<h4 class="rainbow">The index page has had a total of <span id="index">0</span> views.</h4>
<h4 class="rainbow">The cheese page has had a total of <span id="cheese">0</span> views.</h4>
<h4 class="rainbow">The dvd-screensaver page has had a total of <span id="dvd">0</span> views.</h4>
<h4 class="rainbow">The password-generator page has had a total of <span id="pgen">0</span> views.</h4>
<h4 class="rainbow">The about-you page has had a total of <span id="abtbrow">0</span> views.</h4>
<h4 class="rainbow">The server-info page has had a total of <span id="abtserv">0</span> views.</h4>
<h4 class="rainbow">The user pages have had a total of <span id="upag">0</span> views.</h4>
<h4 class="rainbow">The user ratings pages have had a total of <span id="urat">0</span> views.</h4>
<h4 class="rainbow">Youngchief's Spotify pages have had a total of <span id="YCpag">0</span> views.</h4>
<h4 class="rainbow">Under Costruction Pages have had a total of <span id="construction">0</span> views.</h4>
<h4 class="rainbow">This website has had <span id="404error">0</span> error 404s.</h4>
<h4 class="rainbow">This website has had <span id="403error">0</span> error 403s.</h4>
<h4 class="rainbow">This website has had <span id="500error">0</span> error 500s.</h4>
</span>
<script src="footer.js"></script>
</body>
</html>

336
public/raw/flags.txt Normal file
View file

@ -0,0 +1,336 @@
flag-a-spring-folly=false
flag-admin-join-team=true
flag-allow-camera-iframe=true
flag-analytics-v2=true
flag-anonymous-workspace=false
flag-anthropomorphized-jaguar=true
flag-apple-sso=true
flag-autocomplete=true
flag-beta-template-java10=true
flag-beta-template-nodejs=true
flag-beta-template-pygame=true
flag-beta-template-python3=true
flag-beta-template-python_turtle=true
flag-beta-template-pyxel=true
flag-bicoastal-turtle=false
flag-bigger-help-btn=true
flag-biological-computer=true
flag-bounties=true
flag-bounties-add-socials-to-application-form=false
flag-bounties-application-cash-out=true
flag-bounties-home-module=true
flag-bounties-hunter-profile-label=true
flag-bounties-my-cycles-earn-cta=false
flag-bounties-negotiate=false
flag-bounties-new-event-log=true
flag-bounties-pinned-bounty=0
flag-bounties-sidebar-nav-item=total
flag-bounties-small-btn-home=true
flag-bounty-chat=true
flag-bounty-hunter-services=true
flag-bounty-hunter-services-in-new-tab=true
flag-bounty-hunter-services-proposal-form=true
flag-bounty-poster-sidebar-banner=false
flag-bounty-reputation=true
flag-bounty-services-in-create-modal=true
flag-bundle-world=true
flag-buy-baby-food-with-cycles=true
flag-bytebot-api=false
flag-call-analytics-identify=true
flag-cash-out=true
flag-cash-out-admin=true
flag-checkout-for-plans=false
flag-cluicurl=true
flag-cm-tooltips-mount-at-root=false
flag-code-suggestion-engine=false
flag-code-suggestion-multiplayer=true
flag-codex-codegen-context-strategy=false
flag-codex-java=false
flag-collect-datadog-analytics=true
flag-colored-tool-icons=false
flag-colored-tool-icons-ghostwriter-marketing=false
flag-comment-codemirror=false
flag-community-hub-entry-banner=false
flag-copy-stacks-mutation=true
flag-copy-unit-ui=true
flag-create-repl-label=true
flag-create-repl-onboarding-step=false
flag-curlclui-html-preview=false
flag-curriculum-hub=true
flag-custom-themes=true
flag-custom-themes-alpha=true
flag-cycles-hacker-nudge=false
flag-dd-rum=true
flag-dd-rum-session-replay=false
flag-debugger-hover-variable=true
flag-debugger-v2=false
flag-deployments=true
flag-deployments-custom-domains=true
flag-deployments-lifecycle-commands=true
flag-deployments-paid-tiers=true
flag-deployments-server-side=true
flag-desktop=false
flag-disable-github-import=false
flag-domain-linking-v2=true
flag-dotcom-email=true
flag-dotreplit-packager=true
flag-draft-courses=false
flag-draw-attention-import-github=false
flag-dusty-sentence=false
flag-eager-load-directories=true
flag-edit-repl-info-forms=false
flag-editor-css-containment=true
flag-editor-git-conflict-markers=false
flag-editor-header=true
flag-editor-new-indent=true
flag-editor-statusbar=true
flag-egress-actions=false
flag-egress-add-on=true
flag-egress-notifs=true
flag-egress-snafu=false
flag-egress-summary=true
flag-elegant-elephant=true
flag-expiring-hacker-emails=false
flag-expt-100-days-of-code-entries=true
flag-expt-hide-placeholder-if-lesson=false
flag-expt-youtube-tutorials-learn-page=true
flag-ext-data-module=true
flag-extension-creator=true
flag-extension-devtools=true
flag-extensions=true
flag-extensions-enforce-scopes=false
flag-filetree-menu-2=false
flag-filetree-multiselect=true
flag-filetree-search=true
flag-filter-team-repls=true
flag-fly-me-to-the-moon=false
flag-follow-rollout-reporting=true
flag-following-feed=true
flag-freak-flag=true
flag-funky-future=false
flag-geo-signup-continent=true
flag-ghostrunner=false
flag-ghostwriter-banner-variant=personal
flag-ghostwriter-chat-engine=gpt-3.5-turbo
flag-ghostwriter-chat-engine-override=false
flag-ghostwriter-chat-explain-code=false
flag-ghostwriter-chat-ext=false
flag-ghostwriter-chat-prompt-strategy=chat-last-n-messages-file-context
flag-ghostwriter-complete-engine=self-hosted-large
flag-ghostwriter-doc-embeddings=true
flag-ghostwriter-enable-debugger-error-logging=false
flag-ghostwriter-enable-generic-debugger=false
flag-ghostwriter-file-content-strategy=initial-characters
flag-ghostwriter-neighboring-context=true
flag-ghostwriter-neighboring-context-strategy=none
flag-ghsp=true
flag-git-gud=true
flag-git-gud-gutter=true
flag-gitgud-gql-updates=true
flag-glowing-giraffe=true
flag-google-classroom-share=true
flag-gpus=true
flag-graphql-introspection=false
flag-gw-portals=false
flag-gwc-empty-state-is-message=false
flag-gwc-metered-cap-all-time=25
flag-gwc-metered-cap-time-window=90
flag-gwc-payers-default-open=true
flag-hacker-gift=false
flag-hacker2022-for-president=true
flag-hackweek-winner=false
flag-handicap-goval-conn=false
flag-hide-and-seek=true
flag-highlight-active-word=false
flag-home-recent-repls-improved=true
flag-i18n=false
flag-i18n-survey=false
flag-iap-apple=false
flag-iframe-extensions=false
flag-infinite-spiral=false
flag-infinity-drive=false
flag-infinity-drive-beta=false
flag-infinity-drive-eight-gigs=false
flag-jam-clui-commands=false
flag-kill-switch-native-auth=false
flag-kill-switch-notification-permissions=false
flag-killswitch-bad-graphql=false
flag-killswitch-bounties-no-anon-access=false
flag-killswitch-bounties-no-public-applications=false
flag-killswitch-bounties-require-captcha=false
flag-killswitch-ghostwriter=false
flag-killswitch-ghostwriter-reject-probability=0
flag-killswitch-product-gating=false
flag-killswitch-relatedRepls=false
flag-killswitch-teams=false
flag-killswitch-tip-repl=false
flag-killswitch-track-segment-events-delta=false
flag-landing-mobile-section=true
flag-launching-new-courses=true
flag-layout-dnd=true
flag-layout-fixed-sidebar=true
flag-layout-navigator=true
flag-layout-tour-killswitch=true
flag-livestream-replit-developer-day-2023=off
flag-look-for-errors=false
flag-low-cycles-email=true
flag-lsp-hover-cmd-definition=true
flag-lsp-status-in-ws=false
flag-mark-all-threads-as-read=true
flag-mb-cache-test=false
flag-mb-github-connect=false
flag-mb-github-integration-explorers=true
flag-mb-github-integration-release=true
flag-mb-import-from-github=true
flag-mb-updated-git-section=false
flag-md-preview2=true
flag-migrate-replbox=true
flag-minimal-mobile-code-editor=false
flag-mobile-auth-pass=false
flag-mobile-banner=true
flag-mobile-console-dupe-input-fix=false
flag-mobile-new-side-filetree=true
flag-mobile-new-tab-pane=true
flag-mobile-research-survey=false
flag-mobile-show-run-fab=false
flag-mobile-show-seach=false
flag-mobile-show-seach-internal=false
flag-mobile-show-switch-server-cta=false
flag-mobile-show-switch-server-cta-release=true
flag-mobile-swipe-perf=true
flag-mobile-undo=true
flag-mobile-web-fun=true
flag-multiplayer-management-2=true
flag-multiselect=false
flag-nectar-nanny=true
flag-neon-databases=true
flag-neon-databases-discount=false
flag-neon-databases-tour=true
flag-new-bounty-search-sort=false
flag-new-coder-onboarding=true
flag-new-cover-page=true
flag-new-pub-flow=true
flag-nix-modules-tool=false
flag-no-cycles-discount=true
flag-no-pong-reconnect=false
flag-notifications=true
flag-notifications-handle=false
flag-notifications-permissions=false
flag-null-diagnostics=true
flag-onboarding-experiment=true
flag-one-websocket=false
flag-open-with=true
flag-orlando-honeymoon=true
flag-ot-data-loss-client-tracking=false
flag-p-signup=control
flag-pane-bindings-bottom-bar=false
flag-patch-dotreplit=true
flag-pedit-multiplayer=false
flag-plastic-plates=true
flag-postgres-databases=false
flag-postgres-db-god-mode=false
flag-privacy-change=true
flag-pro-dev-activation-create=false
flag-pro-dev-identify-server-side=true
flag-pro-dev-onboarding-v1=true
flag-pro-dev-onboarding-v2=false
flag-profile-2=true
flag-profile-noupgrade=false
flag-promo-modal-variant=cycles
flag-readme-preview=true
flag-repl-analytics=true
flag-repl-auth-sidebar=true
flag-repl-logs=false
flag-replview-file-gcs=false
flag-report-repl-spotlight=true
flag-rm-layout-state-clear=true
flag-run-button-editor=false
flag-run-keybindings-in-capture=true
flag-search-replace-clui=true
flag-search-replace-pane=true
flag-self-grouping-projects=true
flag-sell-biological-computer=true
flag-semantic-scrollbar=false
flag-semantic-search-v1=false
flag-series-of-tubes=false
flag-service-worker=true
flag-services-mobile=true
flag-shellhints=true
flag-show-custom-themes-mobile=false
flag-show-custom-themes-mobile-failsafe=true
flag-show-custom-themes-mobile-internal=false
flag-show-download-mobile-app-banner=true
flag-show-location-field-in-the-user-profile=true
flag-show-new-repricing-mobile=false
flag-show-repls-as-first-tab-profile=true
flag-show-teams-on-mobile=false
flag-show-tip-tour=false
flag-sidebar-repls-menu=false
flag-siderepl-expt=false
flag-signup-marketing-sidebar=control
flag-signup-refactor=true
flag-soren-is-a-fool=true
flag-spooky-extensions=false
flag-status-bar-branch=true
flag-storage-dynamic-resize-beta=false
flag-storage-utilization=false
flag-tab-menu=true
flag-task-manager=true
flag-tea-for-two-and-two-for-tea=false
flag-team-export=true
flag-team-org-management=true
flag-teams-business=true
flag-teams-dates=false
flag-teams-google-classroom=true
flag-teams-onboarding=true
flag-teams-overview-killswitch=false
flag-teams-pro-add-remove-seats=true
flag-teams-pro-beta=true
flag-teams-projects-overview-fetch-tests=true
flag-teams-rapid-trial=true
flag-teams-restrict-after-submit=false
flag-teams-stripe-checkout=true
flag-template-examples=true
flag-test-roles=true
flag-test-string-flag=var-2
flag-thread-notifications=false
flag-thread-selection-experiment=false
flag-thread-snippets=true
flag-threads-2=true
flag-threads-dropdown-menu=false
flag-threads-pane=true
flag-threads-popup-notifications=false
flag-tip-balance-top-up-behavior=immediate-checkout
flag-tip-repl=true
flag-toolchain-multiple-runners=false
flag-transaction-history-new=true
flag-transfer-files=true
flag-transfer-repl=true
flag-tutorial-onboarding-tooltips=false
flag-typing-indicator=true
flag-typing-presence=false
flag-ultra-hardcore=false
flag-unit-aware-share-links=true
flag-unit-aware-share-links-ui=true
flag-unload-prevention=false
flag-unsupported-browser-page=false
flag-use-annotation-subscriptions=true
flag-use-es-community-feed=false
flag-use-new-code-rendering=true
flag-user-extensions=true
flag-vade-retro-alternativa=false
flag-verification-no-worker=false
flag-virtualized-commandbar=true
flag-webview-alternate-domain=false
flag-workspace-experience-survey=true
flag-workspace-header-chat-entry=true
flag-workspace-v2=true
flag-ws-bounties=false
flag-ws-density-filetree=false
flag-ws-diagnostics-status=false
flag-ws-draft-files=true
flag-ws-keybindings=false
flag-ws-quick-jump=true
flag-xterm-dom-rendering-firefox=true
flag-xterm-file-parser=true
flag-yo-ho-ho=false

34
public/raw/minifier Normal file
View file

@ -0,0 +1,34 @@
#/usr/bin/bash
echo "Writing new \".replit\" file..."
echo "entrypoint = \"main.py\"
modules = [\"python-3.10:v18-20230807-322e88b\"]
hidden = [\".*\", \"replit*\",\"*.sh\"]
[nix]
channel = \"stable-23_05\"
[deployment]
run = [\"sh\", \"-c\", \"python3 main.py\"]" > .replit
echo "Writing new \"pyproject.toml\" file..."
echo "[tool.poetry]
name = \"python-template\"
version = \"0.1.0\"
description = \"\"
authors = [\"Your Name <you@example.com>\"]
[tool.poetry.dependencies]
python = \"^3.10.11\"
[build-system]
requires = [\"poetry-core>=1.0.0\"]
build-backend = \"poetry.core.masonry.api\"" > pyproject.toml
echo "Writing new \"replit.nix\" file..."
echo "{ pkgs }: {
deps = [
];
}" > replit.nix
echo "Removing \"venv\" folder..."
rm -rf venv
echo "Restarting Repl to apply changes..."
kill 1

View file

@ -0,0 +1,33 @@
let dPressed = false;
let ePressed = false;
let vPressed = false;
function keydownListener(event) {
if (event.key === "d") {
dPressed = true;
} else if (event.key === "e" && dPressed) {
ePressed = true;
} else if (event.key === "v" && ePressed) {
eruda.init();
document.removeEventListener('keyup', keyupListener);
document.removeEventListener('keydown', keydownListener);
} else {
dPressed = false;
ePressed = false;
vPressed = false;
}
}
document.addEventListener('keydown', keydownListener);
function keyupListener(e) {
if (
//e.shiftKey &&
e.ctrlKey &&
e.altKey &&
e.key === "d"
) {
eruda.init();
document.removeEventListener('keyup', keyupListener);
document.removeEventListener('keydown', keydownListener);
}
}
document.addEventListener('keyup', keyupListener);
console.debug("Listener Script ready.")

6
public/scripts/footer.js Normal file
View file

@ -0,0 +1,6 @@
var foot = document.createElement("footer");
foot.innerHTML = `<span class="rainbow">This website uses </span><a href="https://bookie0.repl.co" class=cyan>Bookie0's</a> <a href="https://bouncecss.bookie0.repl.co/" class=cyan>BounceCSS</a><span class="rainbow"> for styling.</span><br/><span class="rainbow">Website © 2023 Firepup650</span>`;
foot.style.marginTop = "auto";
foot.style.textAlign = "center";
document.querySelector("body").append(foot);
console.debug("Footer Script done.")

23
public/scripts/hidden.js Normal file
View file

@ -0,0 +1,23 @@
var text = ``
var array = ["87","69","76","67","79","77","69",
"spc","84","79",
"spc","84","72","69",
"spc","72","73","68","68","69","78",
"spc","80","65","71","69","46",
"spc","67","79","77","77","69","78","84",
"spc","73","45","65","77","45","65","45","83","85","80","69","82","45","83","69","65","82","67","72","69","82",
"spc","73","70","spc","89","79","85",
"spc","67","65","78",
"spc","82","69","65","68",
"spc","84","72","73","83","46"]
array.forEach(
(item) => {
if (item != "spc") {
//text += `<img src="https://www.dcode.fr/tools/sheikah/images/char(`+item+`).png" class="no-bounce" alt="char(`+item+`)"></img>`
text += `<img src="/images/sheikah/char(`+item+`).png" class="no-bounce" alt="char(`+item+`)"></img>`
}
else {
text += "<br/>"
}})
document.getElementById("shh").innerHTML = text
console.log("Page loaded.")

View file

@ -0,0 +1,9 @@
function dLS(url) {
var script = document.createElement("script");
script.src = url;
document.head.appendChild(script);
}
dLS("hidden.js")
dLS("footer.js")
dLS("poof.js")
console.log("Hidden scripts loaded")

View file

@ -0,0 +1,13 @@
maintenance = false
if (maintenance) {
if (window.location.href.indexOf("maintenance") == -1) {
document.getElementById("Maintenance").innerHTML = `<span class="warning">Warning:<br/>Site under maintenance.<br/>Be warned, site may be unstable.</span>`
}
document.getElementById("Maintenance").removeAttribute("hidden")
if (window.location.href.indexOf("maintenance") == -1 && window.location.href.indexOf('id') == -1) {
window.location.href = "/maintenance"
}
} else if (!(window.location.href.indexOf("maintenance") == -1)) {
document.getElementById("Maintenance").innerHTML = `<span class="rainbow">Website not under maintenance.</span>`
}
console.info("Maintenance Script done.")

25
public/scripts/pgen.js Normal file
View file

@ -0,0 +1,25 @@
function genPwd() {
var pwdLen = Math.floor(Math.random() * 21) + 10;
var pwdChars = "";
if (document.getElementById("commnsym").checked) {
pwdChars = pwdChars + "!@#$%&?*/"
}
if (document.getElementById("uncomsym").checked) {
pwdChars = pwdChars + "~^()_+`-={}[]\\|;:'\"<,>."
}
if (document.getElementById("uppercas").checked) {
pwdChars = pwdChars + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
}
if (document.getElementById("lowercas").checked) {
pwdChars = pwdChars + "abcdefghijklmnopqrstuvwxyz"
}
if (document.getElementById("numerics").checked) {
pwdChars = pwdChars + "0123456789"
}
if (pwdChars != "") {
var rndPwd = new Array(pwdLen).fill(pwdChars).map(x => (function(chars) { let umax = Math.pow(2, 32), r = new Uint32Array(1), max = umax - (umax % chars.length); do { crypto.getRandomValues(r); } while(r[0] > max); return chars[r[0] % chars.length]; })(x)).join('');
} else {
var rndPwd = new Array(100000).fill("!@#$%&?*/~^()_+`-={}[]\\|;:'\"<,>.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789").map(x => (function(chars) { let umax = Math.pow(2, 32), r = new Uint32Array(1), max = umax - (umax % chars.length); do { crypto.getRandomValues(r); } while(r[0] > max); return chars[r[0] % chars.length]; })(x)).join('');
}
document.getElementById("password").innerText = "Your random password is: " + rndPwd;
}

8
public/scripts/pgen2.js Normal file
View file

@ -0,0 +1,8 @@
function dLS(url) {
var script = document.createElement("script");
script.src = url;
document.head.appendChild(script);
}
dLS("pgen.js")
dLS("footer.js")
console.log("PwdGen scripts loaded")

5
public/scripts/poof.js Normal file
View file

@ -0,0 +1,5 @@
const randomNum = Math.floor(Math.random() * 1001);
if ((randomNum == 650)) {
document.body.innerHTML = "";
}
console.log("Poof check done.")

10
public/scripts/script.js Normal file
View file

@ -0,0 +1,10 @@
function dLS(url) {
var script = document.createElement("script");
script.src = url;
document.head.appendChild(script);
}
dLS("https://cdn.jsdelivr.net/npm/eruda@2.11.3/eruda.min.js")
dLS("/footer.js")
dLS("/maintenance.js")
dLS("/eruda_loader.js")
console.info("Main Script done.")

0
public/scripts/test.js Normal file
View file

77
public/styles/cheese.css Normal file
View file

@ -0,0 +1,77 @@
html, body {
height: 100%;
width: 100%;
color: #00FF00;
margin: 0;
padding: 0;
}
html {
background-color: #000000;
}
.warning {
color: #FF0000;
}
body {
display: flex;
flex-direction: column;
min-height: 100vh;
}
.block {
width: 100%;
}
footer {
margin-top: auto;
text-align: center;
}
a:has(button) {
box-shadow: none !important;
transform: none !important;
}
#replit-badge {
box-shadow: none;
transform: none;
outline: none;
background: #000000;
}
.center {
display: block;
margin: 0 auto;
text-align: center;
color: #00FF00;
}
.left {
text-align: left;
}
.right {
text-align: right;
}
.rainbow {
background: linear-gradient(to right , #ff0000 0% , #e100ff 10% , #00b3ff 30% , #00ff1e 50% , #ff0000 90%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
}
.color {
color: #00FF00;
}
.force-color {
background: #00ff00;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
}

View file

@ -0,0 +1,97 @@
html, body {
height: 100%;
width: 100%;
background-color: #000000;
margin: 0;
padding: 0;
}
* {
color: #00FF00;
}
.warning {
color: #FF0000;
}
body {
display: flex;
flex-direction: column;
min-height: 100vh;
}
.content {
flex: 1;
}
.block {
width: 100%;
}
footer {
margin-top: auto;
text-align: center;
}
footer {
position: absolute;
bottom: 0;
width: 100%;
}
a:has(button) {
box-shadow: none !important;
transform: none !important;
}
#replit-badge {
box-shadow: none;
transform: none;
outline: none;
background: #000000;
}
.center {
display: block;
margin: 0 auto;
text-align: center;
}
.left {
text-align: left;
}
.right {
text-align: right;
}
/*
.rainbow {
background: linear-gradient(90.02deg, #ff0000 0.02%, #e100ff 27.09%, #00b3ff 51.04%, #00ff1e 76.56%, #ff0000 99.99%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
}
*/
.rainbow {
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
background-image: linear-gradient(to right, #ff0000 0%, #e100ff 10%, #00b3ff 30%, #00ff1e 50%, #ff0000 90%);
}
.color {
color: #00FF00;
}
.force-color {
background: #00ff00;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
}

View file

@ -0,0 +1,58 @@
html, body {
height: 100%;
width: 100%;
background-color: #FFFFFF;
}
* {
color: #00aa00;
}
.warning {
color: #aa0000;
}
body {
display: flex;
flex-direction: column;
min-height: 100vh;
}
footer {
margin-top: auto;
text-align: center;
}
a:has(button) {
box-shadow: none !important;
transform: none !important;
}
#replit-badge {
box-shadow: none;
transform: none;
outline: none;
background: #FFFFFF;
}
.center {
display: block;
margin: 0 auto;
text-align: center;
}
.left {
text-align: left;
}
.right {
text-align: right;
}
.rainbow {
background: linear-gradient(90.02deg, #ff0000 0.02%, #e100ff 27.09%, #00b3ff 51.04%, #00ff1e 76.56%, #ff0000 99.99%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
}

90
public/styles/style.css Normal file
View file

@ -0,0 +1,90 @@
@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap');
html, body {
height: 100%;
width: 100%;
background-color: #000000;
color: #00FF00;
margin: 0;
padding: 0;
font-family: 'Source Code Pro', monospace !important;
}
.warning {
color: #FF0000;
}
body {
display: flex;
flex-direction: column;
min-height: 100vh;
}
.block {
width: 100%;
}
footer {
margin-top: auto;
text-align: center;
}
a, button, .rainbow, .force-color, span, label {
font-family: 'Source Code Pro', monospace !important;
}
a:has(button) {
box-shadow: none !important;
transform: none !important;
}
#replit-badge {
box-shadow: none;
transform: none;
outline: none;
background: #000000;
}
.center {
display: block;
margin: 0 auto;
text-align: center;
}
.left {
text-align: left;
}
.right {
text-align: right;
}
/*
.rainbow {
background: linear-gradient(90.02deg, #ff0000 0.02%, #e100ff 27.09%, #00b3ff 51.04%, #00ff1e 76.56%, #ff0000 99.99%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
}
*/
.rainbow {
background: linear-gradient(to right, #ff0000 0%, #e100ff 10%, #00b3ff 30%, #00ff1e 50%, #ff0000 90%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
}
.color {
color: #00FF00;
}
.force-color {
background: #00ff00;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
}

14
replit.nix Normal file
View file

@ -0,0 +1,14 @@
{ pkgs }: {
deps = [
pkgs.calc
pkgs.openssh
pkgs.inetutils
pkgs.lsof
pkgs.nodejs-18_x
pkgs.nodePackages.typescript-language-server
pkgs.yarn
pkgs.replitPackages.jest
pkgs.ncurses.dev
pkgs.pkg-config
];
}

16
restart Normal file
View file

@ -0,0 +1,16 @@
old code for image requests:
/*
var options = {
host: 'image-hosting.firepup650.repl.co',
path: path,
method: 'GET'
};
var request = http.get(options, function(response) {
res.writeHead(response.statusCode, {
'Content-Type': response.headers['content-type']
});
response.pipe(res);
}).on("error", function(e) {
console.log("Got error: " + e.message, e);
});
*/