@echo off REM Duplicati Pre-Start: WebDAV-Server starten REM In Duplicati: Einstellungen -> Erweitert -> Scripts -> Vor dem Backup ausfuehren REM Pfad: C:\Pfad\zu\internxt-webdav\scripts\start-webdav.cmd REM Optional: Port als Argument (z.B. start-webdav.cmd 8080) if "%1"=="" (set PORT=3005) else (set PORT=%1) cd /d "%~dp0.." REM .env und Token pruefen if not exist .env ( echo FEHLER: .env fehlt. Bitte von .env.example kopieren und INXT_TOKEN eintragen. exit /b 1 ) findstr /B "INXT_TOKEN=" .env 2>nul | findstr "INXT_TOKEN=." > nul 2>&1 if %errorlevel% neq 0 ( echo FEHLER: INXT_TOKEN fehlt oder leer in .env. Token abgelaufen? npm run token-refresh ausfuehren. exit /b 1 ) REM Pruefen ob Server bereits laeuft netstat -an | findstr ":%PORT%.*LISTENING" > nul 2>&1 if %errorlevel% equ 0 ( echo WebDAV-Server laeuft bereits. exit /b 0 ) echo Starte WebDAV-Server... start /B node src/server.js > nul 2>&1 REM Warten und pruefen ob Server antwortet (OPTIONS braucht keine Auth) set RETRIES=0 :wait timeout /t 2 /nobreak > nul powershell -NoProfile -Command "try { (Invoke-WebRequest -Uri http://127.0.0.1:%PORT%/ -Method OPTIONS -UseBasicParsing -TimeoutSec 2).StatusCode -eq 200 } catch { exit 1 }" > nul 2>&1 if %errorlevel% equ 0 ( echo WebDAV-Server gestartet. exit /b 0 ) set /a RETRIES+=1 if %RETRIES% geq 5 ( echo FEHLER: Server antwortet nicht. Token pruefen: npm run token-test exit /b 1 ) goto wait