const express = require('express'); const sqlite3 = require('sqlite3').verbose(); const bodyParser = require('body-parser'); const app = express(); // --- CONFIGURAÇÃO DO BANCO DE DADOS (Persistente) --- const db = new sqlite3.Database('./rede_dominios.db'); db.serialize(() => { db.run(`CREATE TABLE IF NOT EXISTS dominios ( id INTEGER PRIMARY KEY AUTOINCREMENT, url TEXT UNIQUE, titulo TEXT, conteudo TEXT )`); // Inserindo dados iniciais apenas se a tabela estiver vazia db.get("SELECT count(*) as count FROM dominios", (err, row) => { if (row.count === 0) { db.run(`INSERT INTO dominios (url, titulo, conteudo) VALUES ('verificador-secure-fb.com', 'Validador de Portfólio v1', '

SISTEMA DE VERIFICAÇÃO ATIVO

Protocolo: FB-SEC-9982

'), ('analise-criativos-pro.net', 'Check-in de Segurança', '

Autenticador de Portfólio


Status: Aguardando Verificação...

')`); } }); }); app.use(bodyParser.json()); // --- ROTAS DA API --- app.get('/api/dominios', (req, res) => { db.all("SELECT * FROM dominios", [], (err, rows) => res.json(rows)); }); app.post('/api/save', (req, res) => { const { id, conteudo } = req.body; db.run("UPDATE dominios SET conteudo = ? WHERE id = ?", [conteudo, id], () => res.json({ success: true })); }); app.post('/api/novo', (req, res) => { const { url, titulo } = req.body; db.run("INSERT INTO dominios (url, titulo, conteudo) VALUES (?, ?, 'Novo Portfólio')", [url, titulo], () => res.json({ success: true })); }); // --- INTERFACE INTEGRADA (HTML/CSS/JS) --- app.get('/', (req, res) => { res.send(` Painel de Controle | Rede Juliana Nunes Lima
● SERVIDOR EM SÃO PAULO: ONLINE
`); }); app.listen(3000, () => { console.log('Painel JULIANA NUNES LIMA Ativo: http://localhost:3000'); });