Files
sqlmon/server.js
2025-09-07 05:20:25 +02:00

44 lines
1.2 KiB
JavaScript

const express = require('express');
const fs = require('fs');
const path = require('path');
const app = express();
const PORT = 3000;
const DIRECTORY = path.join(__dirname, 'tables'); // Change to your directory
app.get('/', (req, res) => {
fs.readdir(DIRECTORY, (err, files) => {
if (err) return res.status(500).send('Error reading directory');
let html = '<h1>File Index</h1><ul>';
files.forEach(file => {
html += `<li><a href="/file/${encodeURIComponent(file)}">${file}</a></li>`;
});
html += '</ul>';
res.send(html);
});
});
app.get('/file/:filename', (req, res) => {
const filename = req.params.filename;
const filepath = path.join(DIRECTORY, filename);
fs.readFile(filepath, 'utf8', (err, data) => {
if (err) return res.status(404).send('File not found');
res.send(`<h1>${filename}</h1><pre>${escapeHtml(data)}</pre><a href="/">Back</a>`);
});
});
function escapeHtml(text) {
return text.replace(/[&<>"']/g, function(m) {
return ({
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&#39;'
})[m];
});
}
app.listen(PORT, () => {
console.log(`Server running at http://localhost:${PORT}`);
});