1. Control Panel Domain
Host this HTML page as a static site on Cloudflare Pages or GitHub Pages mapped to smpsgen.xyz.
2. API CNAME Record
In Cloudflare DNS, set CNAME api.smpsgen.xyz pointing to redline-backend.onrender.com with Proxy Enabled.
3. Database Connection
Set environment variable MONGO_URI on Render pointing to your free MongoDB Atlas cluster.
Complete Node.js Express Backend Code (server.js)
Copy Code
const express = require('express');
const mongoose = require('mongoose');
const cors = require('cors');
const jwt = require('jsonwebtoken');
const app = express();
app.use(express.json());
app.use(cors({ origin: 'https://smpsgen.xyz' }));
const JWT_SECRET = process.env.JWT_SECRET || 'rl_jwt_secret_99812';
// MongoDB Schema
const LicenseSchema = new mongoose.Schema({
licenseKey: { type: String, required: true, unique: true },
serverIp: { type: String, required: true },
serverName: String,
status: { type: String, default: 'ACTIVE' }, // ACTIVE, SUSPENDED, EXPIRED
expiresAt: Date
});
const License = mongoose.model('License', LicenseSchema);
// License Check Endpoint (Called every 10 min by RedlineShield)
app.post('/api/v1/license/verify', async (req, res) => {
const { licenseKey, serverIp } = req.body;
try {
const lic = await License.findOne({ licenseKey });
if (!lic) return res.status(403).json({ valid: false, reason: "INVALID_KEY" });
if (lic.status !== 'ACTIVE') return res.status(403).json({ valid: false, reason: "LICENSE_REVOKED" });
if (lic.serverIp !== serverIp) return res.status(403).json({ valid: false, reason: "IP_MISMATCH" });
return res.json({ valid: true, status: "LICENSED" });
} catch (err) {
return res.status(500).json({ valid: false, reason: "SERVER_ERROR" });
}
});
// Admin Authentication
app.post('/api/admin/login', (req, res) => {
const { email, secret } = req.body;
if (secret === process.env.ADMIN_SECRET || secret === 'rl_master_secret_2026') {
const token = jwt.sign({ email, role: 'SUPER_ADMIN' }, JWT_SECRET, { expiresIn: '24h' });
return res.json({ success: true, token });
}
return res.status(401).json({ success: false, message: 'Invalid Admin Secret' });
});
const PORT = process.env.PORT || 3000;
mongoose.connect(process.env.MONGO_URI || 'mongodb://localhost:27017/redline')
.then(() => app.listen(PORT, () => console.log(`Redline API running on port ${PORT}`)));