mirror of
https://github.com/filecoffee/filehost.git
synced 2024-11-13 19:49:56 +01:00
40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
JavaScript
require("dotenv").config();
|
|
const express = require("express");
|
|
const fileRoutes = require("./routes/file.routes");
|
|
const helmet = require("helmet");
|
|
const initializeLocalStorage = require("./engines/local.engine");
|
|
const initializeS3Storage = require("./engines/s3.engine");
|
|
|
|
const app = express();
|
|
const port = process.env.PORT;
|
|
const hosterEmail = process.env.HOSTER_EMAIL;
|
|
|
|
const localStorage = initializeLocalStorage({}, 10, "./uploads");
|
|
const s3Storage = initializeS3Storage({}, 10, {
|
|
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
|
|
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
|
|
endpoint: process.env.AWS_S3_ENDPOINT,
|
|
bucketName: process.env.AWS_S3_BUCKET_NAME,
|
|
});
|
|
|
|
app.set("view engine", "ejs");
|
|
app.use(fileRoutes);
|
|
app.use(helmet());
|
|
|
|
app.get("/", async (req, res) => {
|
|
const localStats = localStorage.gatherStatistics();
|
|
const s3Stats = await s3Storage.gatherStatistics();
|
|
|
|
const totalUploads = localStats.totalUploads + s3Stats.totalUploads;
|
|
const totalSize = (localStats.totalSize + s3Stats.totalSize) / (1024 * 1024); // Convert to MB
|
|
|
|
res.render("index", {
|
|
totalUploads: totalUploads,
|
|
totalSize: totalSize.toFixed(2),
|
|
hosterEmail: hosterEmail,
|
|
});
|
|
});
|
|
|
|
app.listen(port, () => {
|
|
console.log(`Server is running on port ${port}`);
|
|
});
|