Last active
August 17, 2025 19:00
-
-
Save sinwoobang/c83af540a2df8b149a59007e5f5814ec to your computer and use it in GitHub Desktop.
Install curl supporting HTTP/3 on Apple Silicon
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Referred to https://dev.to/gjrdiesel/installing-curl-with-http3-on-macos-2di2 | |
# Clean up any old version of curl you may have already tried to install | |
brew remove -f curl | |
# Download the curl ruby install script provided by cloudflare | |
curl -O https://gist.githubusercontent.com/sinwoobang/bfc7cc8d4d38157bde064fc2ccb60c64/raw/bf55b7c6af9ed06d2cd909ea167a69948a800e7d/curl.rb | |
# Install curl via that script from the latest git repos | |
brew install --HEAD -s curl.rb | |
# Tell your cli to use the curl version just installed (if you're using zsh, othwerise you might need `~/.bashrc`) | |
echo 'export PATH="/opt/homebrew/opt/curl/bin:$PATH"' >> ~/.zshrc | |
# Reload your config | |
source ~/.zshrc | |
# Double check it's using the right curl | |
which curl # Should output "/opt/homebrew/opt/curl/bin/curl" | |
# Double check http3 | |
curl --version | grep HTTP3 | |
# Try curl on any HTTP/3 enabled sites. | |
curl --http3 https://blog.cloudflare.com -I |
The latest version of cURL (8.15.0) in Homebrew already supports HTTP3.
curl 8.15.0 (aarch64-apple-darwin24.4.0) libcurl/8.15.0 OpenSSL/3.5.1 zlib/1.2.12 brotli/1.1.0 zstd/1.5.7 AppleIDN libssh2/1.11.1 nghttp2/1.66.0 ngtcp2/1.13.0 nghttp3/1.10.1 librtmp/2.3
Release-Date: 2025-07-16
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Ok, I found the problem, openssl version can't be 1.1. I successfully installed it using the commands in the dev.to article
curl.rb: https://github.com/cloudflare/homebrew-cloudflare/blob/7a0927bdac1622196c7ea2aaec5a9d569836e9e0/curl.rb