Feature compatible curl built with OpenSSL 4. Also supports ECH/HTTPS RR, HTTP/3 and PQC.
10K+
i81b4u/byo-curl is a custom curl image built primarily for experimenting with modern TLS features, HTTP/2, HTTP/3 and post-quantum cryptography.
It includes a recent curl build with OpenSSL 4.0.2 and support for features such as:
The image is intended both as a convenient TLS/PQC test client and as an alternative curl environment when these features are not available in the curl build provided by the host operating system.
latestcurl 8.22.0-i81b4u (x86_64-pc-linux-musl)
libcurl/8.22.0-i81b4u
OpenSSL/4.0.2
zlib/1.3.2
brotli/1.2.0
zstd/1.5.7
c-ares/1.34.8
libidn2/2.3.8
libpsl/0.23.3
libssh/0.12.2/openssl/zlib
nghttp2/1.70.0
ngtcp2/1.25.0
nghttp3/1.18.0
mit-krb5/1.22.2
OpenLDAP/2.7.1
Release-Date: 2026-09-09
Supported protocols:
dict file ftp ftps gopher gophers http https imap imaps
ipfs ipns ldap ldaps mqtt mqtts pop3 pop3s rtsp scp sftp
smtp smtps telnet tftp ws wss
Enabled features:
alt-svc AsynchDNS brotli ECH GSS-API HSTS HTTP2 HTTP3
HTTPS-proxy HTTPSRR IDN IPv6 Kerberos Largefile libz PSL
SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd
The OpenSSL 4.0.2 build makes the image particularly useful for experimenting with post-quantum and hybrid TLS key exchange.
For example:
docker run --rm i81b4u/byo-curl:latest \
--silent --head --tlsv1.3 \
--curves MLKEM1024 \
https://www.google.com
Or using the hybrid X25519MLKEM768 group together with HTTP/3:
docker run --rm i81b4u/byo-curl:latest \
--silent --head --tlsv1.3 \
--curves X25519MLKEM768 \
--http3 \
https://www.cloudflare.com
docker run --rm i81b4u/byo-curl:latest \
--silent --head --http2 \
https://www.cloudflare.com
docker run --rm i81b4u/byo-curl:latest \
--silent --head --http3 \
https://www.cloudflare.com
HTTP/3 can of course be combined with PQC/hybrid groups as shown above.
Example using ECH together with DNS-over-HTTPS:
docker run --rm i81b4u/byo-curl:latest \
--verbose \
--no-progress-meter \
--tlsv1.3 \
--ech hard \
--doh-url https://cloudflare-dns.com/dns-query \
https://crypto.cloudflare.com/cdn-cgi/trace
Running the image without additional arguments displays the curl version and enabled capabilities:
docker run --rm i81b4u/byo-curl:latest
The runtime image contains a smoke-test script:
docker run --rm \
--entrypoint /opt/byo-curl/bin/test-curl.sh \
i81b4u/byo-curl:latest
To inspect the runtime environment:
docker run --rm -it \
--entrypoint /bin/sh \
i81b4u/byo-curl:latest
The custom curl installation can be found under:
/opt/byo-curl
i81b4u/byo-nginx provides the server-side counterpart: a custom nginx image with OpenSSL 4.0.2, HTTP/3, Brotli, certificate compression and PQC-related TLS capabilities.
Together, byo-curl and byo-nginx provide a convenient client/server environment for experimenting with modern and post-quantum TLS features.
They can also be used independently as alternatives to their original counterparts where the additional functionality is useful.
Have fun!
Content type
Image
Digest
sha256:89085410d…
Size
26.1 MB
Last updated
7 days ago
docker pull i81b4u/byo-curl