MagicMirror/js/server.js
2016-09-29 16:34:57 +02:00

42 lines
1.4 KiB
JavaScript

/* Magic Mirror
* Server
*
* By Michael Teeuw http://michaelteeuw.nl
* MIT Licensed.
*/
var express = require("express");
var app = require("express")();
var server = require("http").Server(app);
var io = require("socket.io")(server);
var path = require("path");
var ipfilter = require('express-ipfilter').IpFilter;
var Server = function(config, callback) {
console.log("Starting server op port " + config.port + " ... ");
server.listen(config.port);
if (config.ipWhitelist === undefined) {
config.ipWhitelist = ['127.0.0.1', '::ffff:127.0.0.1'];
console.log("Warning: Missing value (ipWhitelist) from config.js, assuming default (localhost access only): " + config.ipWhitelist);
}
app.use(ipfilter(config.ipWhitelist, {mode: 'allow', log: false}));
app.use("/js", express.static(__dirname));
app.use("/config", express.static(path.resolve(__dirname + "/../config")));
app.use("/css", express.static(path.resolve(__dirname + "/../css")));
app.use("/fonts", express.static(path.resolve(__dirname + "/../fonts")));
app.use("/modules", express.static(path.resolve(__dirname + "/../modules")));
app.use("/vendor", express.static(path.resolve(__dirname + "/../vendor")));
app.use("/translations", express.static(path.resolve(__dirname + "/../translations")));
app.get("/", function(req, res) {
res.sendFile(path.resolve(__dirname + "/../index.html"));
});
if (typeof callback === "function") {
callback(app, io);
}
};
module.exports = Server;