- We are switching the default TLS backend to LibreSSL upon the next curl release when LibreSSL 3.8.x stable becomes available. This fixes a long-standing OpenSSL vulnerability on Windows. It also makes binaries 40% smaller. Major crypto and curl features remain the same.
- Download our
.zip
or.tar.xz
packages,
PGP signed with:002C 1689 65BA C220 2118 408B 4ED8 5DF9 BB3D 0DE8
- Standalone
curl
tool andlibcurl
DLL. Static libraries included. - Required: Windows Vista and Universal CRT, macOS 10.9 Mavericks Intel or Apple Silicon, any Linux arm64 with the MUSL builds.
- HTTP/3, HTTP/2 support, and more.
- ARM64 Windows builds are Control Flow Guard enabled [EXPERIMENTAL].
- Transparent builds, using open source code, run in public, with auditable logs.
- LLVM/Clang build environment with
mingw-w64
via Debian, Homebrew, MSYS2.llvm-mingw
for ARM64. - Windows cross-built and published from Linux via
AppVeyor CI. Using reproducible OS image
debian:testing-slim
via Docker. macOS built on native OS. Linux MUSL built on Alpine. - Linux and macOS builds are experimental and not official curl builds.
- 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.
- You can look up our package hashes in lines starting with
SHA
in 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-mingw
builds, which are reproducible across platforms. ARM64 and BoringSSL builds are such by default. - We code-sign with a self-signed certificate on Windows, and avoid trusted timestamps for reproducibility.
Uses quictls TLS backend.
Windows with runtime-selectable option Schannel:
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 HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz MultiSSL NTLM SPNEGO SSL SSPI threadsafe UnixSockets zstd
macOS with runtime-selectable option SecureTransport:
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 HSTS HTTP2 HTTP3 HTTPS-proxy IPv6 Largefile libz MultiSSL NTLM SSL threadsafe UnixSockets zstd
Linux:
Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli HSTS HTTP2 HTTP3 HTTPS-proxy IPv6 Largefile libz NTLM SSL threadsafe UnixSockets zstd
Alternate configurations:
"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 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 HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz MultiSSL NTLM SPNEGO SSL SSPI threadsafe UnixSockets zstd
"mini", without brotli and zstd, with OS TLS backend (Schannel, SecureTransport) if available:
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 HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM SPNEGO SSL SSPI threadsafe UnixSockets
"micro", without libssh2:
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
- Latest version for Windows:
https://curl.se/windows/ - Specific versions for Windows, back to 8.2.0:
https://curl.se/windows/dl-<curl-version>_<build-1-to-N>/
Example:
https://curl.se/windows/dl-8.2.0_1/
https://ci.appveyor.com/project/curlorg/curl-for-win/history
https://github.com/curl/curl-for-win/actions/workflows/daily.yml
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