HTTP/1.1, HTTP/2 e HTTP/3 utilizzano lo stesso client arricciatura bundle. macOS arm64 e Linux x64 uso arricciatura 8.22.0, OpenSSL 3.5.9, nghttp2 1.70.0, ngtcp2 1.25.0 e nghttp3 1.18.0. Windows x64 utilizza la versione ufficiale curl.se curl-for-win 8.22.0_3 con LibreSSL 4.3.3 e le stesse librerie HTTP. Non è necessario alcun ripiego del sistema, download runtime o autorizzazione dell'amministratore. La ricetta di generazione riproducibile a monte Windows è https://github.com/curl/curl-for-win/tree/9d77e31e.
Costruisci con python3 scripts/native/build.py (Windows: python scripts/native/build.py) prima della confezione. macOS/Linux richiede strumenti C/C++, CMake, Ninja, Perl, make e pkg-config. Le fonti sono bloccate dalla versione e dall'alto SHA-256 in scripts/native/dependencies.lock.json. Lo script verifica ogni download, collega staticamente le librerie di trasporto di terze parti e fallisce senza HTTP2/HTTP3/SSL. Solo le librerie del sistema operativo rimangono dinamiche. Windows utilizza l'archivio binario ufficiale, non uno stack di trasporto Windows compilato localmente. Il file CA in bundle ha il suo hash; le licenze dei componenti e la provenienza upstream build accompagnano il runtime.
Il client e il Trust Store sono installati al di fuori di app.asar in resources/native-runtime/<platform>-<arch>/. Ogni diagnostica verifica i hash dei componenti, l'architettura e le funzionalità eseguibili prima dell'uso. Sono esclusi file di configurazione, proxy, ambienti di fiducia TLS overrides e variabili di iniezione libreria. curl funziona con un percorso assoluto, shell disabilitato, CA trust verificato, una famiglia di IP risolti esplicitamente, nessun cookie, nessun reindirizzamento automatico, uscita e tempo limitati. I redirect sono convalidati e ri-risolti dall'applicazione. HTTPS su porte diverse da 443 è supportato.
HTTP/3 utilizza --http3-only ed è confermato solo dopo aver completato il trasferimento riportando la versione HTTP 3 e verifica del certificato. Le risposte di errore HTTP come 404 possono confermare il protocollo. Alt-Svc è un annuncio pubblicitario, non una prova. Il timeout QUIC, il mancato certificato, il fallimento DNS, il rifiuto della connessione, il protocollo incompatibile e il guasto del componente rimangono distinti. Un timeout UDP lascia il supporto del server non verificato. Il tempo di stretta di mano QUIC non è riportato come tempo TCP.
Ogni misura inizia un processo/connessione separato. L'opzione warm non richiede il riutilizzo della connessione per il client in bundle. Questo mantiene i confronti di protocollo coerenti. I report includono versioni runtime, funzionalità, verifica TLS e tempi QUIC, mentre cronologia/esportazione rimuove i corpi, le query URL e le intestazioni di autenticazione.
Aggiornare questi pin e ricostruire ogni piattaforma supportata durante l'aggiornamento dello stack di trasporto o CA trust store. Gli artefatti pubblicati e le istantanee dei sorgenti sono immutabili.