﻿Analyst: NasoSan | Dev: Claude AI
Licenza: CC BY 4.0 - nasosan.it | https://creativecommons.org/licenses/by/4.0/

CARTELLA testDU/ - kit per il test di velocita' download (D) e upload (U) di NasoSanDownload

COSA CONTIENE
- down.php    : genera byte (zeri) al volo per il test download. Nessun file grosso memorizzato: niente spazio occupato.
- up.php      : riceve e SCARTA i byte del test upload (un pezzo multipart per richiesta, nulla salvato su disco).
- .htaccess   : niente elenco cartella, forza HTTPS, nega l'accesso diretto ai file di configurazione.
- .user.ini   : impostazioni PHP di questa cartella (non serve modificarlo; necessario perche' up.php legga
                correttamente i pezzi multipart - vedi nota tecnica piu' sotto).

NESSUN DATO PERSONALE: questo kit e' generico, non contiene indirizzi o token legati a una persona o a un sito
in particolare. L'indirizzo e il token si scelgono liberamente e si impostano nell'app.

DOVE METTERLA
Caricare l'intera cartella su un proprio sito web (anche hosting gratuito/condiviso, purche' supporti PHP), oppure
su un PC della propria rete con PHP installato (in tal caso l'indirizzo e' quello della rete locale, es.
http://192.168.1.10/testDU/). Nell'app, riquadro "Prova velocità" della schermata principale: scegliere il preset
"Personalizzato" e scrivere l'indirizzo nel campo "Sito test".

PRESET NELL'APP (proposte.txt punto 7)
L'app offre tre destinazioni per il test, scelte con il selettore "Destinazione della prova":
- Cloudflare (predefinito): server pubblico Cloudflare, nessuna configurazione richiesta, usato subito da chiunque.
- nasosan.it/testDU: questo stesso kit, gia' pubblicato sul sito dell'autore - scelta manuale, serve solo per
  confrontare due siti diversi.
- Personalizzato: il proprio sito, con questo kit caricato come sopra.

COME SI USA DALL'APP
Download: GET  <indirizzo>/down.php?mb=500|1000|2000        (header X-Test-Token)
Upload:   POST <indirizzo>/up.php   (un pezzo multipart per richiesta, dimensione dalle Impostazioni, header X-Test-Token)
Ogni prova usa Wi-Fi e dati insieme (se entrambi attivi) e mostra un solo numero: la velocita' della linea,
rispettivamente D (download) e U (upload).

TOKEN ANTI-ABUSO
E' una parola scelta liberamente, serve solo a evitare che altri consumino la banda di questo endpoint; non e' una
password e non protegge dati sensibili (qui non ce ne sono).
Per impostarlo: scrivere la stessa parola nel campo "Token" dell'app e nella riga $tokenatteso dentro down.php e up.php.
Per disattivarlo del tutto: mettere $tokenatteso = '' in entrambi i file (e lasciare vuoto il campo Token nell'app).

NOTA TECNICA SU up.php (proposte.txt punto 7)
up.php legge il pezzo caricato da $_FILES (un campo file multipart per richiesta), NON da php://input: su alcuni
hosting condivisi a FastCGI (es. Aruba) la lettura diretta di php://input torna sempre 0 byte pur arrivando il corpo
per intero, mentre il parsing normale di PHP ($_FILES) funziona sempre. Per questo .user.ini abilita
enable_post_data_reading e alza i limiti di dimensione (post_max_size/upload_max_filesize) a 64 MB: se si cambia la
dimensione del blocco nelle Impostazioni dell'app a un valore piu' grande, alzare di conseguenza anche questi limiti.

NOTE HOSTING CONDIVISO
- Se mod_headers non e' attivo sull'hosting, le intestazioni di sicurezza sono comunque emesse via PHP (logica 128).
- Ogni test consuma banda reale dell'hosting/della rete: circa 500 MB / 1 GB / 2 GB per prova, a scelta dell'utente.
