Upload-Freigabe: öffentlicher Upload-Link mit Passwort, Ablaufzeit, max. Größe; Admin-Verwaltung

This commit is contained in:
2026-06-05 20:01:52 +02:00
parent 8a5e8cc003
commit dd9a91b5d7
6 changed files with 647 additions and 12 deletions

View File

@@ -68,6 +68,7 @@ fs.readdirSync(toolsDir, { withFileTypes: true })
app.use('/api/tools/snippets', require('./tools/snippets/routes'));
app.use('/api/tools/qrcodes', require('./tools/qrcodes/routes'));
app.use('/api/upload-shares', require('./tools/dateien/upload-share'));
app.use('/api/search', require('./routes/search'));
const PUBLIC = path.join(__dirname, '../public');
@@ -84,6 +85,13 @@ app.get('/sw.js', (_req, res) => {
res.sendFile(path.join(PUBLIC, 'sw.js'));
});
// Öffentliche Upload-Seite (kein Login erforderlich)
const UPLOAD_HTML = path.join(__dirname, '../upload-page.html');
app.get('/u/:token', (_req, res) => {
if (require('fs').existsSync(UPLOAD_HTML)) res.sendFile(UPLOAD_HTML);
else res.status(404).send('Upload-Seite nicht gefunden');
});
app.use(express.static(PUBLIC, {
setHeaders: (res, filePath) => {
// JS/CSS Assets haben Hash im Namen → lang cachen