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
This commit is contained in:
2026-02-28 10:54:29 +01:00
commit 7c1866e6fc
15 changed files with 2170 additions and 0 deletions

62
README.md Normal file
View File

@@ -0,0 +1,62 @@
# Internxt WebDAV Wrapper
WebDAV-Zugang zu Internxt Drive für Account-Tiers, die keinen CLI- oder Rclone-Zugang haben.
## Hintergrund
Internxt blockiert für bestimmte Account-Typen (z.B. Free, Partner-Accounts) den Zugang über:
- Internxt CLI (`cli access not allowed for this user tier`)
- Rclone Native-Backend (`rclone access not allowed for this user tier`, Status 402)
- Docker-Image `internxt/webdav` (nutzt dieselbe Auth)
**Lösung:** Das Web-UI (drive.internxt.com) funktioniert es nutzt `login()` mit `clientName: "drive-web"`. Der Wrapper imitiert diese Auth.
## Auth-Proof-of-Concept
1. Abhängigkeiten installieren:
```bash
npm install
```
2. `.env` anlegen (von `.env.example` kopieren):
```bash
cp .env.example .env
```
3. Credentials eintragen:
```
INXT_EMAIL=deine@email.de
INXT_PASSWORD=dein_passwort
INXT_2FA=123456 # Falls 2FA aktiv
```
4. Auth testen:
```bash
npm run auth-test
```
Bei Erfolg erscheint „Login erfolgreich!“ dann kann der WebDAV-Server gebaut werden.
## Dokumentation
- [docs/auth-analysis.md](docs/auth-analysis.md) Analyse Web vs CLI Auth, clientName-Unterschied
## Browser-Token-Auth (Alternative)
Falls der API-Login blockiert ist (z.B. Partner-Account):
1. Auf https://drive.internxt.com einloggen
2. DevTools (F12) → Console: `localStorage.getItem('xNewToken')` und `localStorage.getItem('xMnemonic')` ausführen
3. Werte in `.env` als `INXT_TOKEN` und `INXT_MNEMONIC` eintragen
4. Testen: `npm run token-test`
Details: [docs/browser-token-auth.md](docs/browser-token-auth.md)
## WSL (login mit Keys)
Unter Windows schlägt Kyber-WASM fehl. Unter WSL: [docs/wsl-setup.md](docs/wsl-setup.md)
## Nächste Schritte
- WebDAV-Server mit Token-Auth implementieren
- Storage-Client für Datei-Operationen anbinden