1 / server.js
senku21230's picture
Update server.js
5d814f2 verified
const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');
const cookieParser = require('cookie-parser');
const path = require('path');
const app = express();
app.use(express.urlencoded({ extended: true }));
app.use(cookieParser());
const SECRET_PASSWORD = process.env.TERMINAL_PASSWORD || 'ayon123';
app.get('/login', (req, res) => res.sendFile(path.join(__dirname, 'login.html')));
app.post('/login', (req, res) => {
if (req.body.password === SECRET_PASSWORD) {
res.cookie('auth_token', 'secure_session_active', { httpOnly: true, maxAge: 24 * 60 * 60 * 1000 });
res.redirect('/');
} else res.redirect('/login?error=1');
});
const checkAuth = (req, res, next) => {
if (req.cookies.auth_token === 'secure_session_active') next();
else res.redirect('/login');
};
app.use('/', checkAuth, createProxyMiddleware({
target: 'http://127.0.0.1:8080',
ws: true,
logLevel: 'silent'
}));
app.listen(7860, () => console.log('🛡️ Gatekeeper active on port 7860'));