items URL da scaricare | string | yes | — https://x.com/img/a.png
https://x.com/img/b.jpg
— OR — JSON [{"url":"...","savePath":"img/a.png"}] | Uno per riga o virgola-separati. In alternativa JSON array di {url, savePath?}. savePath è relativo a basePath; se omesso, derivato da URL.pathname. |
basePath Directory base (assoluta) | string | yes | — /opt/zeliai/shared/mirror/zelistore.it | Directory dove salvare. DEVE essere assoluta. Verrà creata se non esiste. Tutti i file finiscono dentro questa cartella (traversal-safe). |
concurrency Concorrenza download | number | no | 4 | Numero di download paralleli. Default 4. Max 16. Più alto = più veloce ma più aggressivo sul server. |
perHostMinDelayMs Delay minimo per host (ms) | number | no | 100 | Pausa minima tra request allo stesso host. Asset = file statici servibili da CDN, default 100ms basso. |
timeoutMs Timeout per asset (ms) | number | no | 30000 | Timeout sulla singola download. Default 30s. Aumenta per video grandi. |
maxAssets Max asset per run | number | no | 1000 | Hard cap sul numero di asset scaricati. Default 1000, max 50000. |
maxTotalBytes Max bytes totali | number | no | 1073741824 | Hard cap sui bytes totali scaricati nella run. Default 1 GiB. Quando raggiunto, gli asset rimanenti vengono marcati "skipped-cap". |
maxPerAssetBytes Max bytes per asset | number | no | 52428800 | Hard cap sulla singola download. Default 50 MiB. Asset più grandi vengono marcati "skipped-cap". |
resumeOnSha256Match Resume su SHA256 esistente | boolean | no | true | Se ON e il file esiste già su disco, calcola SHA-256 locale e skippa la fetch (risparmia banda). Spegnere per forzare re-download. |
referer Referer (esplicito) | string | no | — https://x.com/ | Header Referer da inviare. Alcuni CDN bloccano hotlink senza Referer corretto. |
userAgent User-Agent | string | no | FlowForge-AssetFetch/1.0 | User-Agent dichiarato. Default RFC-compliant. |