Blank out the repo. Got stuff to do.

This commit is contained in:
tgpethan 2019-11-23 20:39:17 +00:00
parent ed3973eef3
commit bf2b8e3d69
8 changed files with 0 additions and 255 deletions

View File

@ -1,14 +0,0 @@
{
"server": {
"port":8080,
"image_dir":"./i/",
"export_uri":"This url is used to return to the user when an image is uploaded e.g http://localhost:8080/",
"instance_type":"Github Open Release",
"acceptedTypes":[
".png",
".jpg",
".jpeg",
".gif"
]
}
}

View File

@ -1,33 +0,0 @@
<html>
<head>
<title>EUS - Default Page</title>
<style>
footer {
position: fixed;
background-color: #1B1C1D;
height: 30px;
width: 100%;
bottom: 0;
left: 0;
z-index: 200;
text-align: right;
}
.footer-element {
position: absolute;
right: 12px;
top: 5px;
color: white;
}
.footer-element b {
color:#008B8B;
}
</style>
</head>
<body>
<footer>
<div class="footer-element">
Running Revolution Version: <b>|replaceVersion|</b> | Instance: <b>|replaceInstance|</b>
</div>
</footer>
</body>
</html>

108
index.js
View File

@ -1,108 +0,0 @@
const express = require("express"), app = express(), config = require("./config/config.json"), emoji = require("./misc/emoji_list.json"), randomstring = require("randomstring"), fs = require("fs"), chalk = require("chalk"), busboy = require("connect-busboy"), dirname = __dirname+"/";
internals = {
version:"0.0.5 Open",
types: {
a:"INFO",
b:"REQUEST",
c:"WARN"
}
};
let dE = new Date(), startTime = dE.getTime(), endTime, modules = [], image_json;
// Clear console before printing anything
console.clear();
fs.readFile('./misc/ascii.txt', function(err, data) {
if (err) throw err;
fs.readdir(config.server.image_dir, (err, files) => {
// Generate the banner
let asciiOut = data.toString()
.replace("|replaceVersion|", `${chalk.yellow("Version:")} ${chalk.cyan(internals.version)}`)
.replace("|titlecard|", chalk.yellow("The web server made for EUS"))
.replace("DEV", chalk.red("DEV")).replace("RELEASE", chalk.green("RELEASE"))
.replace("|replaceType|", `${chalk.yellow("Type: ")}${chalk.cyan(config.server.instance_type)}`)
.replace("|replaceStats|", `${chalk.yellow("Images: ")}${chalk.cyan(files.length)}`);
// Print the banner
console.log(asciiOut);
// Get the modules from the ./modules folder
fs.readdir("./modules", (err, files) => {
if (err) throw err;
for (var i = 0; i < files.length; i++) {
/*
For every file in the array, output that it was found
in the console and attempt to load it using require.
Oh, and check that it has .js in it's file name!
*/
if (files[i].includes(".js")) {
modules[files[i].toString().replace(".js", "")] = require(`./modules/${files[i].toString()}`);
console.log(`[Modules] Found module ${files[i].toString()}`);
} else {
console.log(`[Modules] Found file ${files[i]}. It is not a module.`)
}
}
fs.access("./image-type.json", error => {
if (error) {
fs.writeFile('./image-type.json', '{\n\}', function(err) {
if (err) throw err;
modules.logger.log(internals.types.a, emoji.heavy_check, "Created image-type File!");
image_json = require("./image-type.json");
});
} else {
image_json = require("./image-type.json");
}
});
fs.access(config.server.image_dir, error => {
if (error) {
fs.mkdirSync(config.server.image_dir);
}
});
modules.logger.log(internals.types.a, emoji.wave, "Starting Revolution...");
server();
});
});
});
// File name that is returned to the uploader
let fileOutName;
function server() {
app.use(busboy());
app.route('/upload')
.post(function (req, res, next) {
dE = new Date(); startTime = dE.getTime();
var fstream;
var thefe;
req.pipe(req.busboy);
req.busboy.on('file', function (fieldname, file, filename) {
image_json = require("./image-type.json");
fileOutName = randomstring.generate(14);
modules.logger.log(`${internals.types.b}: ${req.method}`, emoji.fast_up, `Upload of ${fileOutName} started.`);
if (config.server.acceptedTypes.includes(`.${filename.split(".")[filename.split(".").length-1]}`)) {
thefe = `.${filename.split(".")[filename.split(".").length-1]}`;
} else {
res.end("This file type isn't accepted currently.");
return;
}
//Path where image will be uploaded
fstream = fs.createWriteStream(__dirname + '/i/' + fileOutName + thefe);
file.pipe(fstream);
fstream.on('close', function () {
dE = new Date();
endTime = dE.getTime();
image_json[fileOutName] = `.${filename.split(".")[filename.split(".").length-1]}`;
fs.writeFile('./image-type.json', JSON.stringify(image_json), function(err) {
if (err) throw err;
modules.logger.log(`${internals.types.b}: ${req.method}`, emoji.heavy_check, ` Upload of ${fileOutName} finished. Took ${endTime - startTime}ms`);
res.end(config.server.export_uri+""+fileOutName);
});
});
});
})
.get(function (req, res, next) {
res.status(405).send("405! You requested the \"/upload\" endpoint with method \"GET\" but it was expecting POST<hr>Revolution - A web server designed for EUS")
});
app.get('*', (req, res) => { modules.request_handler.handle(modules.logger, image_json, internals, emoji, config, fs, chalk, req, res, dirname); });
app.listen(config.server.port, () => { dE = new Date(), endTime = dE.getTime();
modules.logger.log(internals.types.a, emoji.thumb_up, `Started Revolution on port ${config.server.port}! Took ${endTime - startTime}ms`);
});
}

View File

@ -1,6 +0,0 @@
____ __ __ _
/ __ \___ _ ______ / /_ __/ /_(_)___ ____ |titlecard|
/ /_/ / _ \ | / / __ \/ / / / / __/ / __ \/ __ \ |replaceVersion|
/ _, _/ __/ |/ / /_/ / / /_/ / /_/ / /_/ / / / / |replaceStats|
/_/ |_|\___/|___/\____/_/\__,_/\__/_/\____/_/ /_/ |replaceType|
--------------------------------------------------------------------------------

View File

@ -1,10 +0,0 @@
{
"wave":"👋",
"thumb_up":"👍",
"page":"📄",
"dizzy":"😵",
"heavy_check":"✔️",
"folder":"📁",
"fast_up":"⏫",
"cross":"❌"
}

View File

@ -1,19 +0,0 @@
"use strict";
const fs = require("fs");
const chalk = require("chalk");
let d = new Date();
module.exports = {
log: function(type, emoji, text) {
d = new Date();
console.log(`${chalk.green(`[${timeNumbers(d.getHours())}:${timeNumbers(d.getMinutes())}:${timeNumbers(d.getSeconds())} - ${type}]`)} ${emoji} ${text}`)
}
}
function timeNumbers(inp) {
if (inp <= 9) {
return "0"+inp;
} else {
return inp;
}
}

View File

@ -1,50 +0,0 @@
"use strict";
let d = new Date(),
startTime,
endTime,
filesC;
module.exports = {
handle: function(logger, image_json, internals, emoji, config, fs, chalk, req, res, dirname) {
d = new Date();
startTime = d.getTime();
res.set('Server-Type', 'Revolution EUS');
if (req.url == "/" || req.url == "/index.html") {
fs.readFile('./files/index.html', function(err, data) {
if (err) throw err;
fs.readdir(dirname+"i/", (err, files) => {
if (err) throw err;
filesC = data.toString().replace("|replaceVersion|", internals.version).replace("|replaceInstance|", config.server.instance_type);
res.send(filesC);
d = new Date();
endTime = d.getTime();
logger.log(`${internals.types.b}: ${req.method}`, emoji.page, `${req.ip} | ${chalk.green("[200]")} ${req.url} ${endTime - startTime}ms`)
});
});
} else {
let urs = ""+req.url; urs = urs.split("/")[1];
fs.access(config.server.image_dir+urs+image_json[urs], error => {
if (error) {
fs.access("./files"+req.url, error => {
if (error) {
res.status(404).end("404!");
d = new Date();
endTime = d.getTime();
logger.log(`${internals.types.b}: ${req.method}`, emoji.cross, `${req.ip} | ${chalk.red("[404]")} ${req.url} ${endTime - startTime}ms`);
} else {
res.sendFile(dirname+"files"+req.url);
d = new Date();
endTime = d.getTime();
logger.log(`${internals.types.b}: ${req.method}`, emoji.heavy_check, `${req.ip} | ${chalk.green("[200]")} ${req.url} ${endTime - startTime}ms`);
}
});
} else {
res.sendFile(dirname+"i/"+urs+image_json[urs]);
d = new Date();
endTime = d.getTime();
logger.log(`${internals.types.b}: ${req.method}`, emoji.heavy_check, `${req.ip} | ${chalk.green("[200]")} ${req.url} ${endTime - startTime}ms`);
}
});
}
}
}

View File

@ -1,15 +0,0 @@
{
"name": "neweus",
"version": "0.0.5",
"description": "",
"main": "index.js",
"author": "",
"license": "ISC",
"dependencies": {
"chalk": "^2.4.2",
"connect-busboy": "0.0.2",
"express": "^4.17.1",
"http": "0.0.0",
"randomstring": "^1.1.5"
}
}