v3.0.0/lolisafe.js

38 lines
1.1 KiB
JavaScript

const config = require('./config.js')
const api = require('./routes/api.js')
const routes = require('./routes/routes.js')
const express = require('express')
const db = require('knex')(config.database)
const fs = require('fs')
const safe = express()
require('./database/db.js')(db)
fs.existsSync('./' + config.uploads.folder) || fs.mkdirSync('./' + config.uploads.folder)
fs.existsSync('./' + config.logsFolder) || fs.mkdirSync('./' + config.logsFolder)
safe.enable('trust proxy')
let prefix = config.uploads.prefix
if( prefix !== '' )
prefix = prefix + '/'
safe.use('/' + prefix, express.static('./uploads'))
safe.use('/', express.static('./public'))
safe.use('/', routes)
safe.use('/api', api)
safe.use(function (req, res, next) {
res.status(404).sendFile('404.html', {
root: './public/error/',
})
})
safe.use(function (err, req, res, next) {
res.status(500).end()
})
safe.listen(config.port, () => console.log(`loli-safe started on port ${config.port}`))
if(config.TOKEN !== '') console.log('Use the following token as the \'auth\' header in your requests to the API: ' + config.TOKEN)
else console.log('Running lolisafe in public mode. No token required.')