Put the Revolution stuff in the repo
This commit is contained in:
commit
9f2cfc58c7
8 changed files with 163 additions and 0 deletions
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Revolution stuff
|
||||
.vscode
|
||||
node_modules/
|
||||
package-lock.json
|
||||
config/config.json
|
6
config/config.example.json
Normal file
6
config/config.example.json
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"server": {
|
||||
"port":5906,
|
||||
"instance_type":"Default"
|
||||
}
|
||||
}
|
54
index.js
Normal file
54
index.js
Normal file
|
@ -0,0 +1,54 @@
|
|||
let dE = new Date();
|
||||
var startTime = dE.getTime();
|
||||
var endTime;
|
||||
|
||||
const express = require("express"),
|
||||
app = express(),
|
||||
randomstring = require("randomstring"),
|
||||
fs = require("fs"),
|
||||
chalk = require("chalk"),
|
||||
busboy = require("connect-busboy");
|
||||
const config = require("./config/config.json")
|
||||
let modules = {};
|
||||
console.clear();
|
||||
|
||||
fs.readFile('./misc/ascii.lol', function(err, data) {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
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)}`);
|
||||
console.log(asciiOut);
|
||||
fs.readdir("./modules", (err, files) => {
|
||||
for (var i = 0; i < files.length; i++) {
|
||||
modules[files[i].toString().replace(".js", "")] = require(`./modules/${files[i].toString()}`);
|
||||
console.log(`[Modules] Found module ${files[i].toString()}`)
|
||||
}
|
||||
modules.logger.log(internals.types.a, emoji.wave, "Starting Revolution...");
|
||||
server();
|
||||
});
|
||||
});
|
||||
const emoji = require("./misc/emoji_list.json");
|
||||
const internals = {
|
||||
version:"0.0.4 RELEASE",
|
||||
instance:"Dev Instance", //Deprecated, does absolutely nothing.
|
||||
types: {
|
||||
a:"INFO",
|
||||
b:"REQUEST",
|
||||
c:"WARN"
|
||||
}
|
||||
}
|
||||
|
||||
function server() {
|
||||
app.get('*', (req, res) => {
|
||||
modules.request_handler.handle(modules, internals, emoji, req, res);
|
||||
});
|
||||
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`);
|
||||
});
|
||||
}
|
6
misc/ascii.lol
Normal file
6
misc/ascii.lol
Normal file
|
@ -0,0 +1,6 @@
|
|||
____ __ __ _
|
||||
/ __ \___ _ ______ / /_ __/ /_(_)___ ____ |titlecard|
|
||||
/ /_/ / _ \ | / / __ \/ / / / / __/ / __ \/ __ \ |replaceVersion|
|
||||
/ _, _/ __/ |/ / /_/ / / /_/ / /_/ / /_/ / / / /
|
||||
/_/ |_|\___/|___/\____/_/\__,_/\__/_/\____/_/ /_/ |replaceType|
|
||||
--------------------------------------------------------------------------------
|
9
misc/emoji_list.json
Normal file
9
misc/emoji_list.json
Normal file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"wave":"👋",
|
||||
"thumb_up":"👍",
|
||||
"page":"📄",
|
||||
"dizzy":"😵",
|
||||
"heavy_check":"✔️",
|
||||
"folder":"📁",
|
||||
"fast_up":"⏫"
|
||||
}
|
37
modules/logger.js
Normal file
37
modules/logger.js
Normal file
|
@ -0,0 +1,37 @@
|
|||
"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 == 0) {
|
||||
return "00";
|
||||
} else if (inp == 1) {
|
||||
return "01";
|
||||
} else if (inp == 2) {
|
||||
return "02";
|
||||
} else if (inp == 3) {
|
||||
return "03";
|
||||
} else if (inp == 4) {
|
||||
return "04";
|
||||
} else if (inp == 5) {
|
||||
return "05";
|
||||
} else if (inp == 6) {
|
||||
return "06";
|
||||
} else if (inp == 7) {
|
||||
return "07";
|
||||
} else if (inp == 8) {
|
||||
return "08";
|
||||
} else if (inp == 9) {
|
||||
return "09";
|
||||
} else {
|
||||
return inp;
|
||||
}
|
||||
}
|
25
modules/request_handler.js
Normal file
25
modules/request_handler.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
const fs = require("fs");
|
||||
|
||||
module.exports = {
|
||||
handle:function(modules, internals, emoji, req, res) {
|
||||
/*
|
||||
req - Request from client
|
||||
res - Response from server
|
||||
*/
|
||||
res.set("Server-Type", "Revolution");
|
||||
if (req.url == "/") {
|
||||
modules.logger.log(`${internals.types.b}: ${req.method}`, emoji.page, `${req.url} was requested`);
|
||||
res.end(); // Send a blank response, this can be changed to make it do whatever.
|
||||
} else {
|
||||
fs.access(__dirname + req.url, fs.constants.F_OK | fs.constants.W_OK, (err) => {
|
||||
if (err) {
|
||||
modules.logger.log(`${internals.types.b}: ${req.method}`, emoji.page, `${req.url} was requested - Returned 404`);
|
||||
res.status(404).send("404!<hr>Revolution");
|
||||
} else {
|
||||
modules.logger.log(`${internals.types.b}: ${req.method}`, emoji.page, `${req.url} was requested`);
|
||||
res.sendFile(__dirname + req.url);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
21
package.json
Normal file
21
package.json
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"name": "neweus",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"chalk": "^2.4.2",
|
||||
"connect-busboy": "0.0.2",
|
||||
"express": "^4.17.1",
|
||||
"get-folder-size": "^2.0.1",
|
||||
"http": "0.0.0",
|
||||
"randomstring": "^1.1.5",
|
||||
"request": "^2.88.0",
|
||||
"semantic-ui": "^2.4.2"
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue