LINUXSEC

Compile cURL dengan Dukungan HTTP/3 di Ubuntu dan Debian

Compile cURL dengan Dukungan HTTP/3 di Ubuntu dan Debian. Oke di tutorial ini saya akan sharing sedikit mengenai bagaimana cara install curl versi terbaru dengan dukungan HTTP/3. Sayangnya repository Ubuntu maupun Debian belum menyediakan curl dengan dukungan HTTP/3. Wajar, karena fitur ini sebenarnya masih tahap eksperimental. Namun jika kalian ingin mencobanya, kalian bisa compile curl dari source.

Install Dependensi
Pertama, kita install beberapa dependensi yang bisa kita dapatkan dari repository Ubuntu.

sudo apt-get update
sudo apt install git zlib1g-dev libcunit1 libcunit1-dev libev-dev libc-ares-dev libxml2-dev libjansson-dev libjemalloc-dev libsystemd-dev libevent-dev libunwind-dev cython python3-dev python-setuptools -y

Nah, selanjutnya adalah instalasi modul modul yang tidak tersedia di repository, atau yang tersedia di repository namun terlalu jadul sehingga kita compile saja dari source.

Patched OpenSSL
Kita akan compile openssl versi patched. Tidak diinstall ke sistem, hanya sebagai modul pendukung curl.

cd /tmp  
git clone --depth 1 -b OpenSSL_1_1_1d-quic-draft-24 https://github.com/tatsuhiro-t/openssl  
cd openssl  
./config enable-tls1_3 --prefix=$PWD/build  
make -j$(nproc)  
make install_sw

Nghttp3
Modul ini juga dibutuhkan untuk dukungan HTTP/3 di curl.

cd /tmp  
git clone https://github.com/ngtcp2/nghttp3  
cd nghttp3  
autoreconf -i  
./configure --prefix=$PWD/build --enable-lib-only  
make -j$(nproc) check  
make install

Ngtcp2

cd /tmp  
git clone https://github.com/ngtcp2/ngtcp2  
cd ngtcp2  
autoreconf -i
./configure PKG_CONFIG_PATH=$PWD/../openssl/build/lib/pkgconfig:$PWD/../nghttp3/build/lib/pkgconfig LDFLAGS="-Wl,-rpath,$PWD/../openssl/build/lib"
make -j$(nproc) check  
sudo make install

Nghttp2
Ini adalah dukungan HTTP/2 untuk curl.

cd /tmp  
git clone https://github.com/tatsuhiro-t/nghttp2.git  
cd nghttp2  
autoreconf -i  
automake  
autoconf  
./configure  
make -j$(nproc) check  
sudo make install

Install cURL
Terakhir adalah install curl. Masih di direktori /tmp, download source code curl dari link berikut https://curl.haxx.se/download.html. Saat artikel ini ditulis, versi terbarunya adalah curl 7.67.0.

cd /tmp  
https://curl.haxx.se/download/curl-7.67.0.tar.gz  
tar -xzvf curl-7.67.0.tar.gz  
cd curl-7.67.0
./configure PKG_CONFIG_PATH=/usr/lib/pkgconfig --libdir=/tmp/curl-7.67.0/lib/  --with-ssl=/tmp/openssl/build --with-nghttp3=/tmp/nghttp3/build --with-ngtcp2 --with-nghttp2 --enable-ares --enable-threaded-resolver --disable-static
make -j$(nproc) check  
sudo make install

Selesai.

 Oke mungkin sekian tutorial kali ini, semoga bermanfaat. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.

Komentar

    Tinggalkan Komentar

    Silahkan tinggalkan komentar jika ada masukan, pertanyaan, kritik ataupun dukungan. Namun pastikan untuk berkomentar secara sopan.