openssl
https://github.com/openssl/openssl/blob/master/INSTALL.md#quick-installation-guide
# https://github.com/openssl/openssl/releases/download/openssl-3.5.0/openssl-3.5.0.tar.gz
tar zxvf openssl-3.5.0.tar.gz
cd openssl-3.5.0
./Configure --prefix=/opt/openssl/3.5.0 --libdir=lib \
-Wl,-rpath=/opt/openssl/3.5.0/lib -Wl,--enable-new-dtags \
no-legacy no-tests no-docs
make -j$(nproc)
sudo make -j$(nproc) install_sw
c-ares
# https://github.com/c-ares/c-ares/releases/download/v1.34.5/c-ares-1.34.5.tar.gz
tar zxvf c-ares-1.34.5.tar.gz
cd c-ares-1.34.5
./configure --prefix=/opt/c-ares/1.34.5
make -j$(nproc)
sudo make -j$(nproc) install
编译安装 curl
https://everything.curl.dev/build/deps.html
apt install libpsl-dev libbrotli-dev libzstd-dev librtmp-dev libssh-dev libnghttp2-dev libnghttp3-dev
https://curl.se/docs/install.html
# https://github.com/curl/curl/releases/download/curl-8_14_0/curl-8.14.0.tar.gz
tar zxvf curl-8.14.0.tar.gz
cd curl-8.14.0
LDFLAGS="-Wl,-rpath=/opt/openssl/3.5.0/lib -Wl,--enable-new-dtags" \
./configure --prefix=/opt/curl/8.14.0 \
--with-openssl=/opt/openssl/3.5.0 --with-openssl-quic \
--enable-ares=/opt/c-ares/1.34.5 \
--with-zlib --with-brotli --with-zstd \
--with-nghttp2 --with-nghttp3 --with-librtmp --with-libssh
make -j$(nproc)
sudo make install -j$(nproc)
测试
/opt/curl/8.14.0/bin/curl --dns-servers 223.5.5.5 https://httpbin.org/status/200
/opt/curl/8.14.0/bin/curl --http3-only https://cloudflare.com
/opt/curl/8.14.0/bin/curl --curves X25519MLKEM768 https://cloudflare.com -Iv 2>&1 | grep SSL