Files
knightcrawler/addon/index.js
2023-10-31 14:21:04 +02:00

23 lines
777 B
JavaScript

import express from 'express';
import rateLimit from 'express-rate-limit';
import requestIp from 'request-ip';
import serverless from './serverless.js';
import { initBestTrackers } from './lib/magnetHelper.js';
const app = express();
app.enable('trust proxy');
const limiter = rateLimit({
windowMs: 60 * 60 * 1000, // 1 hours
max: 300, // limit each IP to 300 requests per windowMs
headers: false,
keyGenerator: (req) => requestIp.getClientIp(req)
});
app.use(express.static('static', { maxAge: '1y' }));
app.use(/^\/.*stream\/.+/, limiter);
app.use((req, res, next) => serverless(req, res, next));
app.listen(process.env.PORT || 7000, () => {
initBestTrackers()
.then(() => console.log(`Started addon at: http://localhost:${process.env.PORT || 7000}`));
});