- 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
75 lines
2.2 KiB
Markdown
75 lines
2.2 KiB
Markdown
# Internxt WebDAV Wrapper
|
||
|
||
WebDAV access to Internxt Drive for account tiers without native CLI or Rclone access.
|
||
|
||
## Background
|
||
|
||
Internxt blocks CLI and Rclone access for certain account types (e.g. Free, Partner).
|
||
|
||
**Solution:** The web UI (drive.internxt.com) works – it uses `clientName: "drive-web"`. This wrapper mimics that auth and provides a WebDAV server.
|
||
|
||
## Quick Start
|
||
|
||
```bash
|
||
npm install
|
||
cp .env.example .env
|
||
# .env: Add INXT_TOKEN, INXT_MNEMONIC, CRYPTO_SECRET (see docs/browser-token-auth.md)
|
||
npm start
|
||
```
|
||
|
||
Server runs at `http://127.0.0.1:3005`.
|
||
|
||
## Docker
|
||
|
||
```bash
|
||
# Build image
|
||
docker build -t internxt-webdav .
|
||
|
||
# Start container (env vars from .env)
|
||
docker run -d --name internxt-webdav -p 3005:3005 --env-file .env internxt-webdav
|
||
|
||
# Or pass individual variables
|
||
docker run -d -p 3005:3005 \
|
||
-e INXT_TOKEN="..." \
|
||
-e INXT_MNEMONIC="..." \
|
||
-e CRYPTO_SECRET="6KYQBP847D4ATSFA" \
|
||
internxt-webdav
|
||
```
|
||
|
||
WebDAV available at `http://localhost:3005`.
|
||
|
||
## WebDAV Features
|
||
|
||
- **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`)
|
||
- **rclone** – `rclone config` → WebDAV, URL `http://127.0.0.1:3005`
|
||
- **restic** via rclone – `restic -r rclone:internxt-webdav:restic init`
|
||
- **Windows Explorer** – Map network drive
|
||
|
||
## Documentation
|
||
|
||
| 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
|
||
|
||
| 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 |
|