60 lines
No EOL
1.7 KiB
JavaScript
60 lines
No EOL
1.7 KiB
JavaScript
const express = require('express'),
|
|
path = require('path'),
|
|
fs = require('fs'),
|
|
pageUpdater = require('./pageUpdater.js'),
|
|
WebSocket = require("ws")
|
|
|
|
var app = express()
|
|
|
|
const PORT = process.env.PORT || 8080
|
|
|
|
const staticpath = path.join(__dirname, 'static')
|
|
const cachePath = path.join(__dirname, 'cached')
|
|
const assetPath = path.join(__dirname, "assets")
|
|
const configPath = path.join(__dirname, 'config')
|
|
|
|
const configFile = path.join(configPath, "config.json")
|
|
const announcementFile = path.join(configPath, "announcement.html")
|
|
|
|
if (!fs.existsSync(configPath)) {
|
|
fs.mkdirSync(configPath)
|
|
}
|
|
|
|
if (!fs.existsSync(configFile)) {
|
|
fs.writeFileSync(configFile, fs.readFileSync(path.join(assetPath, "defaults/config.json")))
|
|
}
|
|
|
|
if (!fs.existsSync(announcementFile)) {
|
|
fs.writeFileSync(announcementFile, ``)
|
|
}
|
|
|
|
var constants = JSON.parse(fs.readFileSync(path.join(__dirname, 'constants.json')))
|
|
|
|
app.listen(PORT, () => {
|
|
console.log("Violet's Purgatory is now listening on port: " + PORT)
|
|
})
|
|
|
|
app.use("/fonts", express.static(path.join(assetPath, "fonts")))
|
|
app.use("/cached", express.static(cachePath))
|
|
app.use("/imgs", express.static(path.join(assetPath, "Images")))
|
|
app.use("/snds", express.static(path.join(assetPath, "Sounds")))
|
|
|
|
app.use("/emojis", express.static(path.join(cachePath, "emojis")))
|
|
|
|
if (!fs.existsSync(cachePath)) {
|
|
fs.mkdirSync(cachePath)
|
|
}
|
|
|
|
if (!fs.existsSync(path.join(cachePath, "emojis"))) {
|
|
fs.mkdirSync(path.join(cachePath, "emojis"))
|
|
}
|
|
|
|
app.use(pageUpdater.middleWare)
|
|
|
|
process.on('uncaughtException', (err, origin) => {
|
|
fs.writeSync(
|
|
process.stderr.fd,
|
|
`Caught exception: ${err}\n` +
|
|
`Exception origin: ${origin}`,
|
|
);
|
|
});
|