var express = require("express"); require("express-async-errors"); var serveFavicon = require("serve-favicon"); var morgan = require("morgan"); var {getList} = require("./metalist"); var app = module.exports.app = express(); app.set("env", process.env.NODE_ENV || "production"); app.set("trust proxy", ["loopback","linklocal","uniquelocal","173.245.48.0/20","103.21.244.0/22","103.22.200.0/22","103.31.4.0/22","141.101.64.0/18","108.162.192.0/18","190.93.240.0/20","188.114.96.0/20","197.234.240.0/22","198.41.128.0/17","162.158.0.0/15","104.16.0.0/13","104.24.0.0/14","172.64.0.0/13","131.0.72.0/22","2400:cb00::/32","2606:4700::/32","2803:f800::/32","2405:b500::/32","2405:8100::/32","2a06:98c0::/29","2c0f:f248::/32"]); module.exports.server = app.listen(process.env.PORT, process.env.ADDR); app.use(morgan(`:date[iso] :remote-addr :method :url ":req[user-agent]" :referrer`)); app.use(serveFavicon("favicon.ico")); app.use("/v/", express.static(process.env.DOWNLOADS)); app.get("/api/list", async (req, res) => { res.send(await getList()); }); app.use(express.static("public"));