Menelusuri perjalanan aria2 dari proyek ringan yang ditulis Tatsuhiro Tsujikawa dalam bahasa C++ hingga menjadi downloader multi-protokol yang mendukung multi-connection, multi-source, BitTorrent, dan Metalink, serta memahami mengapa dunia DevOps membutuhkan aria2 di samping wget dan curl.

Setelah di episode 0 kita menyiapkan environment — memastikan aria2 1.37.0 terinstall dan terverifikasi — pada episode ini kita akan menarik napas sejenak dari hands-on dan memahami mengapa aria2 ada. Sejarah dan latar belakang sebuah tool mungkin terasa tidak penting, padahal justru di sanalah letak alasan mengapa desainnya seperti sekarang.
Mengapa harus memahami sejarah aria2? Karena aria2 tidak lahir dari ruang rapat perusahaan, melainkan dari kebutuhan nyata seorang engineer yang frustrasi dengan download file besar yang lambat. Memahami asal-usulnya akan menjelaskan keputusan-keputusan desainnya — mengapa aria2 dibangun sangat ringan, mengapa ia memecah file menjadi segmen, dan mengapa ia mendukung begitu banyak protokol dalam satu binary.
Aria2 dikembangkan oleh seorang engineer bernama Tatsuhiro Tsujikawa. Pada pertengahan tahun 2000-an, ia melihat masalah yang sama dihadapi banyak orang: men-download file besar memakan waktu lama karena downloader biasa hanya memakai satu koneksi dan tidak bisa memanfaatkan bandwidth penuh. Solusinya, ia menulis proyek yang ringan dan ditulis murni dalam bahasa C++ — tanpa runtime bahasa lain yang berat, tanpa ketergantungan yang berlebihan.
Dari keputusan itulah karakter aria2 terbentuk hingga hari ini:
| Karakteristik | Arti Praktis |
|---|---|
| Ringan | Binary kecil, konsumsi CPU dan memori rendah — cocok untuk server kecil, NAS, dan Raspberry Pi |
| C++ | Performa tinggi dan kontrol penuh atas memory management |
| Single binary | Satu program (aria2c) menangani semua protokol |
| Library-light | Minim dependensi, mudah dikompilasi di mana pun |
Note
Nama aria2 tidak merujuk pada akronim teknis apa pun — sama seperti banyak proyek open source, nama itu hanya melekat begitu saja seiring proyeknya dikenal. Yang jauh lebih penting dari namanya adalah desainnya: satu binary ringan yang bisa men-download dari HTTP, FTP, BitTorrent, dan Metalink sekaligus.
Aria2 termasuk proyek yang stabil dan dewasa. Ia tidak berganti versi secara agresif; ia dirawat dengan hati-hati. Rilis terbaru, 1.37.0 (November 2023), adalah lompatan kecil dari 1.36.0 — dan justru itulah tanda kedewasaan: ketika sebuah tool sudah "selesai" dengan baik, rilis berikutnya lebih banyak berisi pemeliharaan daripada fitur baru yang menggebu-gebu.
Stabilitas ini penting bagi kalian karena dua alasan:
Masalah inti yang dipecahkan aria2 sederhana untuk diucapkan tetapi sulit dikerjakan dengan baik: men-download file besar secepat mungkin, memanfaatkan seluruh bandwidth yang tersedia. Dua teknik yang dipakainya:
| Teknik | Cara Kerja | Analogi |
|---|---|---|
| Multi-connection | Memecah file menjadi segmen-segmen, lalu men-download semua segmen secara paralel lewat beberapa koneksi | Satu tim memindahkan buku dari rak: setiap orang membawa beberapa buku sekaligus, bukan satu-satu |
| Multi-source | Mengambil file yang sama dari beberapa server/mirror sekaligus | Konvoi truk dari beberapa gudang yang berbeda menuju satu tujuan |
Kenapa ini penting? Koneksi TCP tunggal seperti jalur tol satu lajur: berapa pun lebar jalan (bandwidth) yang tersedia, satu kendaraan tidak akan pernah memanfaatkannya penuh — apalagi di koneksi dengan latensi tinggi (jaringan lintas benua, satelit, atau VPN). Dengan memecah file menjadi segmen dan men-downloadnya dari banyak koneksi, aria2 mengubah jalur tol satu lajur menjadi jalan raya berkapasitas penuh.
Salah satu kekuatan terbesar aria2 adalah cakupan protokolnya. Alih-alih butuh tool berbeda untuk setiap jenis download, aria2 menangani semuanya dalam satu binary:
| Protokol | Digunakan Untuk | Episode |
|---|---|---|
| HTTP / HTTPS | Download file dari web | 3, 4 |
| FTP | Server file legacy | 8 |
| SFTP | Transfer aman lewat SSH | 9 |
| BitTorrent | Download dari jaringan peer-to-peer | 10, 11 |
| Metalink | Download multi-mirror dari file .meta4 | 12 |
Bayangkan kalian butuh tool terpisah untuk masing-masing — itu justru alasan banyak tim memakai aria2: satu perintah, satu binary, semua protokol.
Aria2 dirancang untuk bekerja tanpa kehadiran manusia dan bisa dikendalikan dari jarak jauh. Ini dua sifat yang membuatnya ideal untuk server, NAS, dan otomasi:
Mode RPC inilah yang tidak dimiliki wget maupun curl, dan menjadi alasan aria2 dipakai sebagai basis "download server" di banyak homelab. Kita mulai menyalakannya di episode 2, dan membedahnya tuntas di episode-episode RPC. Kombinasi yang akan kalian lihat terus-menerus sepanjang series adalah aria2c -x 16 -s 16 URL.
Pertanyaan paling sering diajukan: "bukankah wget dan curl sudah bisa men-download? Kenapa masih perlu aria2?" Jawabannya: ketiganya menangani masalah yang berbeda.
| Aspek | aria2 | wget | curl |
|---|---|---|---|
| Kekuatan utama | Download paralel & multi-protokol | Recursive download & mirroring | Fleksibilitas request API |
| Multi-connection | Ya — default dirancang untuk ini | Tidak | Tidak |
| BitTorrent | Ya | Tidak | Tidak |
| Metalink | Ya | Tidak | Tidak |
| Remote control (RPC) | Ya — JSON-RPC & XML-RPC | Tidak | Tidak |
| Download non-interaktif | Ya | Ya | Ya |
| Request API yang presisi | Terbatas | Terbatas | Sangat lengkap |
Perbandingan langsungnya:
wget https://example.com/file.isoAnalogi sederhananya: curl adalah penyiar serbaguna untuk berbicara dengan server, wget adalah truk ekspedisi untuk download massal dan mirroring, dan aria2 adalah armada logistik berkecepatan tinggi yang dirancang untuk memindahkan file besar secepat mungkin. Di dunia kerja kalian akan memakai ketiganya — di series ini kita fokus ke armada logistiknya.
| Tahun | Tonggak |
|---|---|
| 2006 | Aria2 pertama kali dirilis oleh Tatsuhiro Tsujikawa |
| 2010-an | Aria2 tumbuh menjadi standar de-facto downloader multi-protokol di Linux |
| 2023-11 | Rilis 1.37.0 — versi stabil terbaru yang dipakai di series ini |
| 2026 | Aria2 1.37.x tetap dirawat, dipakai di ribuan server download, NAS, dan homelab |
Pada episode 1 ini, kalian telah menelusuri perjalanan aria2 dari proyek ringan yang ditulis Tatsuhiro Tsujikawa dalam bahasa C++ hingga menjadi downloader multi-protokol yang matang. Kalian juga memahami dua teknik intinya — multi-connection dan multi-source — serta posisinya di antara wget dan curl.
Inti yang harus dibawa pulang:
Di episode 2 selanjutnya, kita akan membedah konsep dasar dan arsitektur utama aria2 — tiga mode menjalankan aria2c (CLI, daemon, RPC server), cara kerja segment-based download di balik layar, peran file kontrol .aria2, komponen-komponen utamanya, serta opsi kunci seperti -x, -s, -j, -i, dan --enable-rpc. Sampai jumpa di episode 2!