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
This commit is contained in:
69
README.md
69
README.md
@@ -1,34 +1,34 @@
|
||||
# Internxt WebDAV Wrapper
|
||||
|
||||
WebDAV-Zugang zu Internxt Drive für Account-Tiers ohne CLI- oder Rclone-Native-Zugang.
|
||||
WebDAV access to Internxt Drive for account tiers without native CLI or Rclone access.
|
||||
|
||||
## Hintergrund
|
||||
## Background
|
||||
|
||||
Internxt blockiert für bestimmte Account-Typen (z.B. Free, Partner) den Zugang über CLI und Rclone.
|
||||
Internxt blocks CLI and Rclone access for certain account types (e.g. Free, Partner).
|
||||
|
||||
**Lösung:** Das Web-UI (drive.internxt.com) funktioniert – es nutzt `clientName: "drive-web"`. Dieser Wrapper imitiert diese Auth und bietet einen WebDAV-Server.
|
||||
**Solution:** The web UI (drive.internxt.com) works – it uses `clientName: "drive-web"`. This wrapper mimics that auth and provides a WebDAV server.
|
||||
|
||||
## Schnellstart
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
npm install
|
||||
cp .env.example .env
|
||||
# .env: INXT_TOKEN, INXT_MNEMONIC, CRYPTO_SECRET eintragen (siehe docs/browser-token-auth.md)
|
||||
# .env: Add INXT_TOKEN, INXT_MNEMONIC, CRYPTO_SECRET (see docs/browser-token-auth.md)
|
||||
npm start
|
||||
```
|
||||
|
||||
Server läuft auf `http://127.0.0.1:3005`.
|
||||
Server runs at `http://127.0.0.1:3005`.
|
||||
|
||||
## Docker
|
||||
|
||||
```bash
|
||||
# Image bauen
|
||||
# Build image
|
||||
docker build -t internxt-webdav .
|
||||
|
||||
# Container starten (Umgebungsvariablen aus .env)
|
||||
# Start container (env vars from .env)
|
||||
docker run -d --name internxt-webdav -p 3005:3005 --env-file .env internxt-webdav
|
||||
|
||||
# Oder einzelne Variablen übergeben
|
||||
# Or pass individual variables
|
||||
docker run -d -p 3005:3005 \
|
||||
-e INXT_TOKEN="..." \
|
||||
-e INXT_MNEMONIC="..." \
|
||||
@@ -36,38 +36,39 @@ docker run -d -p 3005:3005 \
|
||||
internxt-webdav
|
||||
```
|
||||
|
||||
WebDAV erreichbar unter `http://localhost:3005`.
|
||||
WebDAV available at `http://localhost:3005`.
|
||||
|
||||
## WebDAV-Funktionen
|
||||
## WebDAV Features
|
||||
|
||||
- **PROPFIND** – Verzeichnis auflisten
|
||||
- **MKCOL** – Ordner erstellen
|
||||
- **DELETE** – Dateien/Ordner löschen
|
||||
- **MOVE** – Verschieben/Umbenennen
|
||||
- **GET** – Dateien herunterladen
|
||||
- **PUT** – Dateien hochladen
|
||||
- **PROPFIND** – List directory
|
||||
- **MKCOL** – Create folder
|
||||
- **DELETE** – Delete files/folders
|
||||
- **MOVE** – Move/rename
|
||||
- **GET** – Download files
|
||||
- **PUT** – Upload files
|
||||
|
||||
## Clients
|
||||
|
||||
- **Duplicati** – Backup-Destination (Pre: `scripts/start-webdav.cmd`, Post: `scripts/stop-webdav.cmd`)
|
||||
- **Duplicati** – Backup destination (Pre: `scripts/start-webdav.cmd`, Post: `scripts/stop-webdav.cmd`)
|
||||
- **rclone** – `rclone config` → WebDAV, URL `http://127.0.0.1:3005`
|
||||
- **Windows Explorer** – Netzlaufwerk verbinden
|
||||
- **restic** via rclone – `restic -r rclone:internxt-webdav:restic init`
|
||||
- **Windows Explorer** – Map network drive
|
||||
|
||||
## Dokumentation
|
||||
## Documentation
|
||||
|
||||
| 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 |
|
||||
| File | Description |
|
||||
|------|-------------|
|
||||
| [docs/browser-token-auth.md](docs/browser-token-auth.md) | Extract tokens from browser, WebDAV credentials |
|
||||
| [docs/webdav-architektur.md](docs/webdav-architektur.md) | Architecture overview |
|
||||
| [docs/wsl-setup.md](docs/wsl-setup.md) | WSL setup (login with keys) |
|
||||
| [docs/auth-analysis.md](docs/auth-analysis.md) | Web vs CLI auth analysis |
|
||||
| [docs/crypto-secret-extract.md](docs/crypto-secret-extract.md) | Extract CRYPTO_SECRET from drive.internxt.com |
|
||||
|
||||
## Scripts
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|-------|--------------|
|
||||
| `npm start` | WebDAV-Server starten |
|
||||
| `npm run token-test` | Token prüfen |
|
||||
| `npm run token-refresh` | Browser öffnen, einloggen → Tokens automatisch extrahieren |
|
||||
| `npm run debug-names` | Namensentschlüsselung testen |
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `npm start` | Start WebDAV server |
|
||||
| `npm run token-test` | Verify token |
|
||||
| `npm run token-refresh` | Open browser, login → tokens extracted automatically |
|
||||
| `npm run debug-names` | Test name decryption |
|
||||
|
||||
Reference in New Issue
Block a user