# Server Folders mit Parametern ## Backend-Proxy Der bestehende Frontend-Endpunkt bleibt: ```http GET /admin/server-folders?path=D:\Milestone POST /admin/server-folders ``` Zusätzlich kann der Proxy diese Parameter auswerten: ```http GET /admin/server-folders?path=D:\Milestone&schema=http&port=8099&token=CHANGE-ME ``` Aliasnamen: - `schema`, `scheme`, `agentSchema`, `agentScheme` - `port`, `agentPort` - `token`, `agentToken` Der Proxy entfernt diese Parameter, bevor er an den Agent weiterleitet. Der Token wird als Header weitergegeben: ```http X-Server-Folders-Token: ``` ## Token-Handling (automatisch) Der Agent wird **ohne** Token gestartet. Das Backend erzeugt beim Speichern der Milestone-Einstellungen automatisch einen zufälligen Token und überträgt ihn per `PUT /agent-token` an den Agent. Der Agent persistiert den Token in einer Datei (Standard: neben der `.exe`) und nutzt ihn danach für alle weiteren Anfragen – auch nach einem Neustart. ```http PUT /agent-token X-Server-Folders-Token: # nur nötig, wenn bereits ein Token gesetzt ist Content-Type: application/json { "token": "" } ``` Solange noch kein Token gesetzt ist, akzeptiert der Agent `PUT /agent-token` auch ohne Header (Bootstrap). Betreibe den Agent daher in einem vertrauenswürdigen Netzwerk und speichere die Einstellungen nach dem Start zeitnah. ## Agent starten ```powershell .\server-folders-agent.exe -port 8099 -roots "Milestone D=D:\Milestone;Milestone E=E:\Milestone" ``` Alternativ weiter per ENV: ```powershell $env:LISTEN_ADDR=":8099" $env:SERVER_FOLDER_ROOTS="Milestone D=D:\Milestone;Milestone E=E:\Milestone" .\server-folders-agent.exe ``` Optionale Parameter: - `-token` / `SERVER_FOLDER_AGENT_TOKEN`: nur als Start-Seed, falls noch keine Token-Datei existiert (in der Regel nicht nötig). - `-token-file` / `SERVER_FOLDER_AGENT_TOKEN_FILE`: Pfad der Token-Datei (Standard: `server-folders-agent.token` neben der `.exe`).