var express = require("express");
var fs = require("fs");
var escapeHtml = require("escape-html");
var app = express();
app.set("trust proxy", "127.0.0.1");
app.listen(8080, "127.0.0.1");
var html_top = fs.readFileSync("template.html", "utf8");
app.use((req, res, next) => {
let url = `${req.protocol}://${req.hostname}${req.url}`;
let ua = req.headers["user-agent"] && escapeHtml(req.headers["user-agent"]);
let referer = req.headers['referer'] && escapeHtml(req.headers['referer']);
let line =
`[${new Date().toISOString()}] ${req.ip} ` +
`${req.headers["x-forwarded-tlsversion"]||'-'} ` +
`${req.headers["x-forwarded-realproto"]||req.httpVersion} ` +
`${req.method} ${escapeHtml(url)}` +
` ${ua ? `"${ua}"` : '-'} ` +
`${referer ? `${referer}` : '-'}`
;
fs.appendFileSync("log.html", line + '\n');
next();
});
app.use((req, res, next) => {
if (req.protocol != "https" || req.hostname != "c-73-189-133-150.hsd1.ca.comcast.net") {
res.redirect("https://c-73-189-133-150.hsd1.ca.comcast.net/");
} else next();
});
app.get("/", (req, res) => {
res.write(html_top);
fs.createReadStream("log.html").pipe(res);
});
app.use(express.static(process.cwd()));
app.get("*", (req, res) => {
res.redirect('/');
});