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
This commit is contained in:
82
README.md
82
README.md
@@ -1,62 +1,54 @@
|
||||
# Internxt WebDAV Wrapper
|
||||
|
||||
WebDAV-Zugang zu Internxt Drive für Account-Tiers, die keinen CLI- oder Rclone-Zugang haben.
|
||||
WebDAV-Zugang zu Internxt Drive für Account-Tiers ohne CLI- oder Rclone-Native-Zugang.
|
||||
|
||||
## 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)
|
||||
Internxt blockiert für bestimmte Account-Typen (z.B. Free, Partner) den Zugang über CLI und Rclone.
|
||||
|
||||
**Lösung:** Das Web-UI (drive.internxt.com) funktioniert – es nutzt `login()` mit `clientName: "drive-web"`. Der Wrapper imitiert diese Auth.
|
||||
**Lösung:** Das Web-UI (drive.internxt.com) funktioniert – es nutzt `clientName: "drive-web"`. Dieser Wrapper imitiert diese Auth und bietet einen WebDAV-Server.
|
||||
|
||||
## Auth-Proof-of-Concept
|
||||
## Schnellstart
|
||||
|
||||
1. Abhängigkeiten installieren:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
```bash
|
||||
npm install
|
||||
cp .env.example .env
|
||||
# .env: INXT_TOKEN, INXT_MNEMONIC, CRYPTO_SECRET eintragen (siehe docs/browser-token-auth.md)
|
||||
npm start
|
||||
```
|
||||
|
||||
2. `.env` anlegen (von `.env.example` kopieren):
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
Server läuft auf `http://127.0.0.1:3005`.
|
||||
|
||||
3. Credentials eintragen:
|
||||
```
|
||||
INXT_EMAIL=deine@email.de
|
||||
INXT_PASSWORD=dein_passwort
|
||||
INXT_2FA=123456 # Falls 2FA aktiv
|
||||
```
|
||||
## WebDAV-Funktionen
|
||||
|
||||
4. Auth testen:
|
||||
```bash
|
||||
npm run auth-test
|
||||
```
|
||||
- **PROPFIND** – Verzeichnis auflisten
|
||||
- **MKCOL** – Ordner erstellen
|
||||
- **DELETE** – Dateien/Ordner löschen
|
||||
- **MOVE** – Verschieben/Umbenennen
|
||||
- **GET** – Dateien herunterladen
|
||||
- **PUT** – Dateien hochladen
|
||||
|
||||
Bei Erfolg erscheint „Login erfolgreich!“ – dann kann der WebDAV-Server gebaut werden.
|
||||
## Clients
|
||||
|
||||
- **Duplicati** – Backup-Destination
|
||||
- **rclone** – `rclone config` → WebDAV, URL `http://127.0.0.1:3005`
|
||||
- **Windows Explorer** – Netzlaufwerk verbinden
|
||||
|
||||
## Dokumentation
|
||||
|
||||
- [docs/auth-analysis.md](docs/auth-analysis.md) – Analyse Web vs CLI Auth, clientName-Unterschied
|
||||
| Datei | Beschreibung |
|
||||
|-------|---------------|
|
||||
| [docs/browser-token-auth.md](docs/browser-token-auth.md) | Token aus Browser extrahieren, WebDAV-Credentials |
|
||||
| [docs/webdav-architektur.md](docs/webdav-architektur.md) | Architektur-Übersicht |
|
||||
| [docs/wsl-setup.md](docs/wsl-setup.md) | WSL-Setup (login mit Keys) |
|
||||
| [docs/auth-analysis.md](docs/auth-analysis.md) | Analyse Web vs CLI Auth |
|
||||
| [docs/crypto-secret-extract.md](docs/crypto-secret-extract.md) | CRYPTO_SECRET aus drive.internxt.com ermitteln |
|
||||
|
||||
## Browser-Token-Auth (Alternative)
|
||||
## Scripts
|
||||
|
||||
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
|
||||
| Befehl | Beschreibung |
|
||||
|-------|--------------|
|
||||
| `npm start` | WebDAV-Server starten |
|
||||
| `npm run token-test` | Token prüfen |
|
||||
| `npm run auth-test` | API-Login testen (E-Mail/Passwort) |
|
||||
| `npm run debug-names` | Namensentschlüsselung testen |
|
||||
|
||||
Reference in New Issue
Block a user