Pada episode ini kita akan mengenal GNU Wget2 sebagai penerus Wget: arsitektur berbasis libwget yang multithread dengan HTTP/2 dan kompresi, perbandingan opsi CLI dengan Wget 1.x, migrasi yang hati-hati, serta fitur modern pada Wget 1.x stabil dari WARC hingga HSTS.

Di episode 18 kalian belajar membaca kegagalan download dengan -d, -S, dan kamus exit code. Sekarang waktunya mengalihkan pandangan ke arah perjalanan wget itu sendiri. Selama 18 episode kita memakai GNU Wget 1.x — downloader yang stabil, sederhana, dan ada di hampir setiap distro Linux. Tapi di balik itu, proyek GNU sedang membangun penerusnya: GNU Wget2.
Episode 19 ini bukan episode perang tool, melainkan peta: apa itu Wget2, mengapa ia bisa jauh lebih cepat, opsi apa saja yang berbeda dari Wget 1.x, bagaimana migrasi yang aman dilakukan, dan fitur-fitur modern apa saja yang ternyata sudah ada di Wget 1.x yang stabil. Dengan peta ini kalian bisa memilih alat yang tepat tanpa menebak.
Wget2 adalah penerus resmi GNU Wget. Berbeda dengan Wget 1.x yang berkembang dengan menambal basis kode lama, Wget2 ditulis ulang dari nol di atas library bernama libwget — kumpulan fungsi dasar yang dibutuhkan sebuah web client. Lisensinya GPLv3+ untuk program dan LGPLv3+ untuk library. Versi stabil terbarunya, 2.2.1, dirilis awal 2026 dan masih terus dipoles.
sudo apt install wget2Cek instalasi kalian dengan wget2 --version — outputnya akan menampilkan versi dan daftar fitur yang dikompilasi. Rilis 2.2.1 membawa perbaikan yang menarik untuk kalian pelajari: perbaikan regresi mirroring dan redirect, --show-progress untuk kompatibilitas dengan wget 1.x, dan satu perubahan kecil yang penting — exit status 8 kini diberikan ketika server membalas 403, menyelaraskan perilaku Wget2 dengan Wget 1.x.
Bayangkan kalian harus memindahkan seratus kardus. Wget 1.x adalah satu kurir yang mengangkut satu per satu — andal, tapi berurutan. Wget2 adalah tim kurir yang bekerja bersamaan. Ini bukan sekadar analogi: perbedaannya diukur nyata di lapangan.
Accept-Encoding untuk gzip, brotli, zstd, dan lzip — server mengirim data lebih kecil, transfer jadi lebih ringan.Arah pengembangan berikutnya adalah HTTP/3/QUIC — protokol yang dirancang untuk latensi lebih rendah di jaringan modern. Dengan kata lain, kecepatan Wget2 bukan trik, melainkan arsitektur: thread, protokol, dan kompresi bekerja sebagai satu kesatuan.
Selain kecepatan, Wget2 membawa fitur yang tidak ada di Wget 1.x:
--follow-sitemaps — membaca sitemap site untuk menemukan URL yang layak diunduh, alih-alih hanya mengikuti link yang ditemukan.--dane — memvalidasi sertifikat lewat DNS dengan DNSSEC/DANE, lapisan kepercayaan tambahan di luar CA konvensional.--robots — kontrol eksplisit atas penanganan robots.txt dari command line.Contoh praktis untuk menyalin dokumentasi lengkap sebuah proyek dengan bantuan sitemap:
wget2 --follow-sitemaps --mirror --level=3 \
https://docs.example.com/Perhatikan bahwa perintahnya terasa familiar — itu disengaja. Wget2 mempertahankan sebagian besar nama opsi Wget 1.x, sehingga transisi tidak dimulai dari nol.
Banyak opsi yang sama persis, tapi ada perbedaan penting. Berikut peta singkatnya:
| Fungsi | Wget 1.x | Wget2 |
|---|---|---|
| Download dasar | wget URL | wget2 URL |
| Resume download | -c | -c |
| Mode mirror | -m | -m |
| Batas kedalaman crawl | -l N | -l N |
| Tampilkan header respons | -S | -S |
| Koneksi paralel | Tunggal | Multi-thread |
| HTTP/2 | Tidak | Ya |
| Kompresi otomatis | Tidak | Ya |
| If-Modified-Since | Via --if-modified-since | Bawaan |
| Follow sitemaps | Tidak | --follow-sitemaps |
| DANE | Tidak | --dane |
| Metalink | --input-metalink | Ya, RFC 6249 |
| WARC | --warc-file | Belum setara |
| FTP/FTPS | Ya | Tidak didukung |
| File konfigurasi | ~/.wgetrc | ~/.config/wget2 |
Pola yang perlu kalian lihat: fungsi inti download identik, sementara keunggulan Wget2 ada di protokol modern dan paralelisasi. Dan ada dua pengecualian besar yang harus kalian catat — FTP tidak didukung Wget2, dan dukungan WARC-nya belum setara dengan Wget 1.x.
Tim Wget menyebut Wget2 sebagai pengganti yang drop-in untuk Wget dalam banyak kasus — dengan pengecualian WARC dan FTP. Kalimat itu harus dibaca dengan penuh kehati-hatian, bukan sebagai jaminan tanpa syarat. Migrasi yang aman membutuhkan tiga langkah:
~/.wgetrc menjadi ~/.config/wget2), dan beberapa opsi lama tidak diterjemahkan 1:1.Perbedaan yang paling mudah dirasakan adalah file konfigurasi: Wget 1.x membaca ~/.wgetrc, sedangkan Wget2 membaca ~/.config/wget2. Jika kalian punya kebiasaan konfigurasi global, keduanya bisa hidup bersamaan tanpa saling mengganggu.
Tip
Strategi yang paling tenang: biarkan Wget 1.x menjadi default di server lama dan alur FTP/WARC, lalu gunakan Wget2 secara bertahap untuk pekerjaan yang butuh kecepatan — mirror dokumentasi besar, crawl paralel, dan download dengan sitemap. Keduanya bisa hidup berdampingan dalam satu mesin tanpa konflik.
Penting untuk disadari: Wget 1.x bukan proyek mati. Sambil Wget2 matang, Wget 1.x terus menerima perawatan — termasuk fitur modern yang mungkin belum kalian ketahui:
--warc-file. Ini sudah kalian praktikkan di episode 17.~/.wget-hsts sehingga koneksi otomatis di-upgrade ke HTTPS untuk host yang sudah berjanji.--accept-regex dan --reject-regex memfilter URL dengan pola regex, jauh lebih kuat daripada sekadar ekstensi file.--content-disposition — memakai nama file dari header Content-Disposition, berguna untuk download dari aplikasi yang menghasilkan file dinamis. Eksperimental, jadi aktifkan dengan sadar.Dua contoh yang langsung berguna:
wget --warc-file=capture --mirror https://example.com/wget --accept-regex '\.(png|jpg)$' -r -l 2 https://example.com/Terakhir, soal keamanan: perjalanan versi 1.24.5 menuju 1.25.0 (November 2024) menutup celah keamanan — termasuk CVE-2024-10524 yang menghapus dukungan FTP URL "shorthand" yang bisa disalahgunakan. Perbaikan keamanan semacam ini terus berlanjut, jadi versi stabil terbaru bukanlah pilihan, melainkan keharusan.
Episode 19 memperluas peta kalian: mengenal Wget2 sebagai penerus yang ditulis ulang di atas libwget, memahami sumber kecepatannya (HTTP/2, koneksi paralel, kompresi, If-Modified-Since), membaca perbandingan opsi CLI antara Wget 1.x dan Wget2, mempraktikkan migrasi yang hati-hati, dan mengenali fitur modern yang sudah hidup di Wget 1.x — WARC, HSTS, regex, dan --content-disposition.
Inti yang harus dibawa pulang: dua generasi, satu tujuan. Wget 1.x adalah fondasi yang stabil dan masih dirawat; Wget2 adalah arah masa depannya. Kalian tidak wajib memilih salah satu — kalian wajib tahu kapan memakai yang mana.
Di episode 20 berikutnya kita akan menempatkan wget di tengah ekosistem yang lebih luas: ekosistem & integrasi tooling — wget di image Docker, skrip provisioning, perbandingan dengan curl, httrack, aria2, dan yt-dlp, serta alur kerja development seperti verifikasi GPG dan distribusi artefak. Sampai jumpa!