Skip to content

curl/curl-for-win

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build status Daily status

Reproducible curl binaries for Linux, macOS and Windows

  • We plan to stop building and distributing 32-bit Windows binaries on 2025-Aug-20. Custom 32-bit builds remain available with a deprecated, community-supported status. We recommend migrating to 64-bit Intel or ARM binaries.
  • Download our .tar.xz or .zip packages,
    PGP signed with: BDCF 067D 3908 B272 7A4A 9487 67C1 0037 40BF 8DC2
  • Standalone curl tool and libcurl DLL. Static libraries included.
  • Required: Windows Vista with Universal CRT (x64, ARM64 or x86), macOS 10.9 Mavericks (Intel or ARM), any Linux (amd64, arm64, RISC-V 64) with MUSL builds.
  • HTTP/3, HTTP/2 support, and more.
  • ARM64 Windows builds are Control Flow Guard enabled. Intel builds have CET enabled. All builds have frame pointers enabled.
  • 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 via AppVeyor CI. Linux built via GHA. Using reproducible OS image debian:testing-slim via Docker. macOS built via GHA.
  • Linux and macOS builds are 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 builds are such by default.
  • We code-sign with a self-signed certificate on Windows, and avoid trusted timestamps for reproducibility.

Features

Uses LibreSSL TLS backend.

Windows:
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli CAcert HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL SSPI threadsafe UnixSockets zstd

macOS:
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli CAcert HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6          Largefile libz NTLM PSL        SSL      threadsafe UnixSockets zstd

Linux:
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns            mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli CAcert HSTS HTTP2 HTTP3 HTTPS-proxy     IPv6          Largefile libz NTLM PSL        SSL      threadsafe UnixSockets zstd
Alternate configurations:

"noh3", HTTP/2:
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli CAcert HSTS HTTP2       HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL 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 ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS        CAcert HSTS HTTP2       HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL SSPI threadsafe UnixSockets

"micro", without libssh2:
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp          smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS        CAcert HSTS HTTP2       HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL SSPI threadsafe UnixSockets

"nano", HTTP/1.1:
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp          smb smbs smtp smtps telnet tftp ws wss
Features:         AsynchDNS        CAcert HSTS             HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL SSPI threadsafe UnixSockets

"pico", HTTP/1.1-only:
Protocols:                                   http https
Features:         AsynchDNS        CAcert HSTS             HTTPS-proxy     IPv6          Largefile libz      PSL        SSL      threadsafe

Downloads

Build logs

https://ci.appveyor.com/project/curlorg/curl-for-win/history

Unstable/development daily builds

https://github.com/curl/curl-for-win/actions/workflows/daily.yml

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