Reproducible curl binaries for Windows
- Download our
.zipor.tar.xzpackages,
PGP signed with:002C 1689 65BA C220 2118 408B 4ED8 5DF9 BB3D 0DE8 - Standalone
curl.exeandlibcurl.dll. Static libraries included. - Vista and Universal CRT required.
- HTTP/3, HTTP/2 support, and more.
- Transparent builds, using open source code, run in public, with auditable logs.
- LLVM/Clang build environment with
mingw-w64via Debian, Homebrew, MSYS2.llvm-mingwfor ARM64. - Cross-built and published from Linux via
AppVeyor CI. Using reproducible OS image
debian:testing-slimvia Docker. - We verify components using SHA-256, and PGP where provided.
- We build reproducible binaries, producing the same hash given the same input sources and C compiler.
- Patching policy: No local patches. We may apply patches if already merged upstream or — for showstoppers — had them submitted with fair confidence of getting merged.
- We plan to switch the default TLS backend to BoringSSL. This fixes a long-standing vulnerability. It also makes binaries 30% smaller. Downside is pthread dependence. Another option is LibreSSL 3.7.x stable.
- You can look up our package hashes in lines starting with
SHAin the build log. - Packages built across host platforms do not have identical hashes due to
slightly different build options and toolchain builds/versions. Except
llvm-mingwbuilds, which are reproducible across platforms. ARM64 and BoringSSL builds are such by default. - We code-sign with a self-signed certificate, and avoid trusted timestamps for reproducibility.
Features
Default build with OpenSSL (QUIC fork), and Schannel runtime-selectable option:
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli gsasl HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz MultiSSL NTLM SPNEGO SSL SSPI threadsafe TLS-SRP UnixSockets zstd
Alternate configurations with different footprints:
"big":
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli gsasl HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz MultiSSL NTLM PSL SPNEGO SSL SSPI threadsafe UnixSockets zstd
"boringssl":
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli gsasl HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz MultiSSL NTLM SPNEGO SSL SSPI threadsafe UnixSockets zstd
"noh3", HTTP/2:
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli gsasl HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz MultiSSL NTLM SPNEGO SSL SSPI threadsafe TLS-SRP UnixSockets zstd
"mini", Schannel, without brotli and zstd:
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS gsasl HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM SPNEGO SSL SSPI threadsafe UnixSockets
"micro", without libssh2 and gsasl:
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM SPNEGO SSL SSPI threadsafe UnixSockets
"nano", HTTP/1.1:
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp ws wss
Features: AsynchDNS HSTS HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM SPNEGO SSL SSPI threadsafe UnixSockets
"pico", HTTP/1.1-only:
Protocols: http https
Features: AsynchDNS HSTS HTTPS-proxy IPv6 Largefile libz SSL SSPI threadsafe UnixSockets
Downloads
- Latest version:
https://curl.se/windows/ - Specific versions, back to 7.80.0:
https://curl.se/windows/dl-<curl-version>[_<build-number>]/
Examples:
https://curl.se/windows/dl-7.80.0/
https://curl.se/windows/dl-7.83.1_2/
Build logs
https://ci.appveyor.com/project/curlorg/curl-for-win/history
Guarantees and Liability
See LICENSE.
Information in this document is subject to change without notice and does not represent or imply any future commitment by the participants of the project.
This document © Viktor Szakats, CC BY-SA 4.0