Docker, Token-Refresh mit Puppeteer, 401-Hinweise

- Dockerfile + .dockerignore
- token-refresh: Chromium öffnet drive.internxt.com, extrahiert Tokens
- 401-Antworten: Link zu drive.internxt.com
- Docs: Token-Erneuerung Option A (automatisch) / B (manuell)

Made-with: Cursor
This commit is contained in:
2026-02-28 12:32:03 +01:00
parent 7dbc6c8fe4
commit 6ca6132cf8
8 changed files with 1503 additions and 10 deletions

View File

@@ -234,7 +234,7 @@ async function handlePropfind(req, res) {
} catch (err) {
console.error('PROPFIND Fehler:', err.message);
if (err.message?.includes('Token') || err.response?.status === 401) {
res.status(401).send('Nicht autorisiert Token erneuern');
res.status(401).send('Nicht autorisiert Token abgelaufen. Neu einloggen: https://drive.internxt.com');
return;
}
res.status(500).send(err.message || 'Interner Fehler');
@@ -304,7 +304,7 @@ async function handleMkcol(req, res) {
} catch (err) {
console.error('MKCOL Fehler:', err.message);
if (err.message?.includes('Token') || err.response?.status === 401) {
res.status(401).send('Nicht autorisiert');
res.status(401).send('Nicht autorisiert Token erneuern: https://drive.internxt.com');
return;
}
res.status(500).send(err.message || 'Interner Fehler');
@@ -343,7 +343,7 @@ async function handleDelete(req, res) {
} catch (err) {
console.error('DELETE Fehler:', err.message);
if (err.message?.includes('Token') || err.response?.status === 401) {
res.status(401).send('Nicht autorisiert');
res.status(401).send('Nicht autorisiert Token erneuern: https://drive.internxt.com');
return;
}
res.status(500).send(err.message || 'Interner Fehler');
@@ -429,7 +429,7 @@ async function handleMove(req, res) {
} catch (err) {
console.error('MOVE Fehler:', err.message);
if (err.message?.includes('Token') || err.response?.status === 401) {
res.status(401).send('Nicht autorisiert');
res.status(401).send('Nicht autorisiert Token erneuern: https://drive.internxt.com');
return;
}
res.status(500).send(err.message || 'Interner Fehler');
@@ -499,7 +499,7 @@ async function handleGet(req, res) {
} catch (err) {
console.error('GET Fehler:', err.message);
if (err.message?.includes('Token') || err.response?.status === 401) {
res.status(401).send('Nicht autorisiert');
res.status(401).send('Nicht autorisiert Token erneuern: https://drive.internxt.com');
return;
}
if (!res.headersSent) res.status(500).send(err.message || 'Interner Fehler');
@@ -666,7 +666,7 @@ async function handlePut(req, res) {
} catch (err) {
console.error('PUT Fehler:', err.message);
if (err.message?.includes('Token') || err.response?.status === 401) {
res.status(401).send('Nicht autorisiert');
res.status(401).send('Nicht autorisiert Token erneuern: https://drive.internxt.com');
return;
}
if (!res.headersSent) res.status(500).send(err.message || 'Interner Fehler');