Initial commit
This commit is contained in:
commit
208e773d65
62 changed files with 4545 additions and 0 deletions
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
__pycache__/**
|
||||||
|
.upm
|
||||||
|
venv/**
|
||||||
|
**/__pycache__/**
|
||||||
|
.pythonlibs/**
|
||||||
|
.config/**
|
||||||
|
replit*txt
|
||||||
|
node_modules/**
|
81
.replit
Normal file
81
.replit
Normal 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
513
index.js
Normal 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
5
nodemon.json
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"ignore": ["public/**","views/**"],
|
||||||
|
"watch": ["index.js","nodemon.json","restart"],
|
||||||
|
"ext": "js,mjs,json"
|
||||||
|
}
|
22
old-index.js
Normal file
22
old-index.js
Normal 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
2035
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
23
package.json
Normal file
23
package.json
Normal 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"
|
||||||
|
}
|
||||||
|
}
|
25
public/dynamic/about-you.ejs
Normal file
25
public/dynamic/about-you.ejs
Normal 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
20
public/dynamic/raw.ejs
Normal 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>
|
18
public/dynamic/server-info.ejs
Normal file
18
public/dynamic/server-info.ejs
Normal 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>
|
25
public/dynamic/spotify-history.ejs
Normal file
25
public/dynamic/spotify-history.ejs
Normal 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>
|
27
public/dynamic/spotify-queue.ejs
Normal file
27
public/dynamic/spotify-queue.ejs
Normal 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>
|
32
public/dynamic/spotify.ejs
Normal file
32
public/dynamic/spotify.ejs
Normal 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
24
public/errors/403.ejs
Normal 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
24
public/errors/404.ejs
Normal 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
22
public/errors/422.ejs
Normal 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
25
public/errors/500.ejs
Normal 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
BIN
public/icons/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
1
public/images/not-here.txt
Normal file
1
public/images/not-here.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Images aren't hosted on this server. :P
|
58
public/pages/cheese.html
Normal file
58
public/pages/cheese.html
Normal 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>
|
18
public/pages/construction.html
Normal file
18
public/pages/construction.html
Normal 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>
|
93
public/pages/dvd-screensaver.html
Normal file
93
public/pages/dvd-screensaver.html
Normal 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>
|
19
public/pages/forbidden.html
Normal file
19
public/pages/forbidden.html
Normal 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
57
public/pages/hidden.html
Normal 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
36
public/pages/index.html
Normal 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>
|
17
public/pages/maintenance.html
Normal file
17
public/pages/maintenance.html
Normal 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>
|
24
public/pages/password-generator.html
Normal file
24
public/pages/password-generator.html
Normal 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
37
public/pages/pfps.html
Normal 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
32
public/pages/ratings.html
Normal 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>
|
20
public/pages/ratings/9pfs.html
Normal file
20
public/pages/ratings/9pfs.html
Normal 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>
|
20
public/pages/ratings/bigminiboss.html
Normal file
20
public/pages/ratings/bigminiboss.html
Normal 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>
|
20
public/pages/ratings/coderelijah.html
Normal file
20
public/pages/ratings/coderelijah.html
Normal 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>
|
20
public/pages/ratings/jayayseaohbee14.html
Normal file
20
public/pages/ratings/jayayseaohbee14.html
Normal 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>
|
20
public/pages/ratings/pikachub2005.html
Normal file
20
public/pages/ratings/pikachub2005.html
Normal 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>
|
20
public/pages/ratings/youngchief.html
Normal file
20
public/pages/ratings/youngchief.html
Normal 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
24
public/pages/usage.html
Normal 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
32
public/pages/users.html
Normal 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>
|
20
public/pages/users/9pfs.html
Normal file
20
public/pages/users/9pfs.html
Normal 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>
|
20
public/pages/users/bigminiboss.html
Normal file
20
public/pages/users/bigminiboss.html
Normal 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>
|
20
public/pages/users/coderelijah.html
Normal file
20
public/pages/users/coderelijah.html
Normal 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>
|
20
public/pages/users/jayayseaohbee14.html
Normal file
20
public/pages/users/jayayseaohbee14.html
Normal 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>
|
20
public/pages/users/pikachub2005.html
Normal file
20
public/pages/users/pikachub2005.html
Normal 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>
|
21
public/pages/users/youngchief.html
Normal file
21
public/pages/users/youngchief.html
Normal 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
73
public/pages/visits.html
Normal 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
336
public/raw/flags.txt
Normal 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
34
public/raw/minifier
Normal 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
|
33
public/scripts/eruda_loader.js
Normal file
33
public/scripts/eruda_loader.js
Normal 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
6
public/scripts/footer.js
Normal 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
23
public/scripts/hidden.js
Normal 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.")
|
9
public/scripts/hidden2.js
Normal file
9
public/scripts/hidden2.js
Normal 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")
|
13
public/scripts/maintenance.js
Normal file
13
public/scripts/maintenance.js
Normal 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
25
public/scripts/pgen.js
Normal 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
8
public/scripts/pgen2.js
Normal 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
5
public/scripts/poof.js
Normal 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
10
public/scripts/script.js
Normal 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
0
public/scripts/test.js
Normal file
77
public/styles/cheese.css
Normal file
77
public/styles/cheese.css
Normal 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;
|
||||||
|
}
|
97
public/styles/ejsstyle.css
Normal file
97
public/styles/ejsstyle.css
Normal 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;
|
||||||
|
}
|
58
public/styles/old.hidden.css
Normal file
58
public/styles/old.hidden.css
Normal 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
90
public/styles/style.css
Normal 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
14
replit.nix
Normal 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
16
restart
Normal 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);
|
||||||
|
});
|
||||||
|
*/
|
Loading…
Reference in a new issue