Commit Graph

16 Commits

Author SHA1 Message Date
262cffe4a6 Translate all user-facing output to English
- Scripts: start-webdav.cmd, stop-webdav.cmd (echo messages, REM comments)
- Server: server.js (console.log, HTTP error messages)
- Token tools: token-test.js, token-refresh.js
- Other: auth-poc.js, debug-name-decrypt.js, internxt-client.js, upload.js
- Docs: README, .env.example, docs/*.md

Made-with: Cursor
2026-02-28 16:37:28 +01:00
19dd30e0fb Logging konfigurierbar via WEBDAV_LOG; DEBUG entfernt
- WEBDAV_LOG=debug|error|off steuert Datei-Logging
- DEBUG durch WEBDAV_LOG in server.js ersetzt
- .env.example: WEBDAV_LOG-Doku
- Doku: Troubleshooting mit WEBDAV_LOG=debug

Made-with: Cursor
2026-02-28 16:28:09 +01:00
b463579896 restic/rclone: PROPFIND für Dateien, MKCOL-Fix, Logging, Cache
- PROPFIND auf Dateipfade (rclone-Verifizierung nach PUT)
- MKCOL: 'already exists' -> 201 statt 500
- resolveResource: name.bin-Fallback für Dateien ohne Erweiterung
- recentFileCache für neu erstellte Dateien (API-Verzögerung)
- Logging: webdav-debug.log, webdav-errors.log, REQ/RES
- start-webdav.cmd: Log-Ausgabe in Datei, PORT aus .env
- Troubleshooting-Doku für restic 500-Fehler

Made-with: Cursor
2026-02-28 16:11:22 +01:00
bbf3b899f7 Restic-Kompatibilität, POST, rekursives MKCOL, findstr /C: Fix
- Server: POST für Uploads, rekursives MKCOL/PUT, ensureFolderExists
- PUT: fehlende Elternordner werden erstellt
- Scripts: findstr /C: für Literalsuche (Punkt-Konflikt behoben)
- Docs: Restic + rclone Hinweis

Made-with: Cursor
2026-02-28 15:18:57 +01:00
378fb59912 Scripts: netstat sprachunabhaengig (0.0.0.0:0 statt LISTENING)
Made-with: Cursor
2026-02-28 14:58:47 +01:00
0a02f4f849 Scripts: Port konfigurierbar (SET/Argument), stop-webdav findstr-Fix
Made-with: Cursor
2026-02-28 14:53:58 +01:00
eceb9c297a start-webdav: .env/Token-Prüfung, Server-Health-Check
Made-with: Cursor
2026-02-28 12:49:36 +01:00
de2484bdc3 Duplicati Post-Backup-Script: scripts/stop-webdav.cmd
Made-with: Cursor
2026-02-28 12:46:56 +01:00
d5bf242588 Duplicati Pre-Start-Script: scripts/start-webdav.cmd
Made-with: Cursor
2026-02-28 12:44:44 +01:00
c0d15a18ba token-test: Textkorrektur gebaut → gestartet
Made-with: Cursor
2026-02-28 12:40:53 +01:00
0002af207a token-refresh: .env automatisch aktualisieren
Made-with: Cursor
2026-02-28 12:36:30 +01:00
6ca6132cf8 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
2026-02-28 12:32:03 +01:00
7dbc6c8fe4 Duplicati/rclone-Fixes, Basic Auth, Repo-Aufräumen
- Basic Auth: beliebige oder WEBDAV_USER/WEBDAV_PASS
- MKCOL: 201 bei existierendem Ordner (Duplicati-Kompatibilität)
- PUT: Leere Dateien, Retry bei File-already-exists
- Aufräumen: bridge-test, debug-files entfernt, webdav-server-Dep
- .env.example: API-Credentials entfernt, drive-web in gitignore
- README: Docs verlinkt, Schnellstart aktualisiert

Made-with: Cursor
2026-02-28 12:21:01 +01:00
406e31f338 Namensentschlüsselung, Phase 4 PUT, Bridge-Fix, Debug-Tools
- name-decrypt.js: AES-Entschlüsselung für Datei-/Ordnernamen (CRYPTO_SECRET2)
- path-resolver.js: getPlainName für alle Pfad-Operationen
- upload.js: PUT mit Verschlüsselung, Bridge API v2
- download.js: Bridge 400-Fix (x-api-version, Header)
- debug-name-decrypt.js: Test-Skript für Namensentschlüsselung
- docs: CRYPTO_SECRET/CRYPTO_SECRET2 dokumentiert

Made-with: Cursor
2026-02-28 11:49:26 +01:00
43b814d984 Phase 2: MKCOL, DELETE, MOVE implementiert
- resolveResource() für Pfad→UUID (Datei/Ordner)
- MKCOL: Ordner anlegen (createFolderByUuid)
- DELETE: Datei/Ordner löschen
- MOVE: Verschieben + Umbenennen mit Destination-Header

Made-with: Cursor
2026-02-28 11:06:56 +01:00
7c1866e6fc Initial commit: WebDAV-Adapter für Internxt Drive
- Browser-Token-Auth (INXT_TOKEN, INXT_MNEMONIC)
- Phase 1: PROPFIND (Verzeichnis auflisten)
- Drive API + Pfad-Resolver
- Dokumentation: Auth, Architektur, WSL

Made-with: Cursor
2026-02-28 10:54:29 +01:00