const express = require('express'); const path = require('path'); const fs = require('fs'); // Servidor simples para servir sites clonados const app = express(); const PORT = 8080; // Middleware para servir arquivos estáticos com CORS habilitado app.use((req, res, next) => { res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS'); res.setHeader('Access-Control-Allow-Headers', 'Content-Type'); next(); }); // Servir arquivos estáticos do diretório cloned-sites const clonedSitesDir = path.join(__dirname, '..', 'cloned-sites'); app.use(express.static(clonedSitesDir)); // Listar sites clonados app.get('/api/sites', (req, res) => { try { const dirs = fs.readdirSync(clonedSitesDir) .filter(file => fs.statSync(path.join(clonedSitesDir, file)).isDirectory()) .map(dir => ({ name: dir, path: `/${dir}/index.html`, fullPath: path.join(clonedSitesDir, dir) })); res.json({ sites: dirs }); } catch (error) { res.status(500).json({ error: error.message }); } }); // Página inicial com lista de sites app.get('/', (req, res) => { try { const dirs = fs.readdirSync(clonedSitesDir) .filter(file => fs.statSync(path.join(clonedSitesDir, file)).isDirectory()); const html = `
Servidor local rodando em http://localhost:${PORT}
Sem problemas de CORS ou permissões!
Nenhum site clonado ainda.
Use o CloneWeb para clonar um site!