Sebelum men-download file pertama, ada beberapa skill dasar dan tools yang perlu kalian siapkan terlebih dahulu: kenyamanan navigasi di terminal, pemahaman konsep HTTP dan networking dasar, hingga instalasi dan verifikasi aria2 1.37.0 beserta tools pendukung seperti jq, curl, nmap, dan web UI AriaNg.

Selamat datang di series Belajar Aria2! Series ini akan membawa kalian menguasai aria2 — command-line download utility multi-protokol & multi-source yang ringan dan sangat cepat — dari download file pertama hingga RPC, BitTorrent, dan production download server. Total ada 23 episode yang membangun pemahaman kalian lapis demi lapis.
Tapi sebelum mengetik perintah aria2c pertama, ada beberapa skill dasar dan tools yang wajib kalian siapkan. Mengapa prasyarat ini penting? Karena aria2 adalah klien: dia berbicara dengan server lewat jaringan menggunakan protokol HTTP, FTP, atau BitTorrent, lalu menulis hasilnya ke file di disk. Kalau kalian belum paham bagaimana percakapan HTTP berjalan atau belum nyaman di terminal, aria2 akan terasa seperti kotak hitam — perintahnya dihafal, tapi yang terjadi di dalamnya tetap misteri.
Bayangkan kalian ingin mengelola armada ekspedisi. Sebelum mengatur rute, kalian harus paham peta jalan, jenis kendaraan, dan pintu gudang. Episode 0 ini adalah peta jalan tersebut: menyiapkan skill dasar, memastikan aria2 1.37.0 terinstall dan terverifikasi, lalu melengkapi tools pendukung yang akan menemani sepanjang series.
Aria2 adalah tool Command Line Interface (CLI). Seluruh kekuatannya diakses lewat terminal — bukan tombol klik. Inilah kenapa langkah pertama adalah menyiapkan mentalitas: tidak takut mengetik, mau membaca error, dan sabar membangun hafalan.
Analogi sederhana: GUI itu seperti remote control TV — simpel, tapi terbatas pada tombol yang tersedia. CLI itu seperti panel kontrol pesawat — menakutkan di awal, tapi memberi kendali penuh atas setiap aspek. Semua pekerjaan DevOps — mengambil file dari server, menjadwalkan download, memantau download server — dimulai dari sebuah perintah di terminal.
Sebelum bergelut dengan aria2, pastikan kalian nyaman bernavigasi di terminal. Minimal empat perintah ini cukup sebagai titik awal:
| Perintah | Fungsi |
|---|---|
pwd | Menampilkan direktori kerja saat ini |
ls | Mendaftar isi direktori |
cd | Pindah ke direktori lain |
man | Membaca manual sebuah perintah |
Satu konsep yang wajib dipahami sejak sekarang: stdout. Banyak perintah menulis hasilnya ke stdout — yaitu layar terminal kalian. Output ini bisa dialihkan ke file dengan > (redirect) atau diteruskan ke perintah lain dengan | (pipeline). Pola ini akan kalian pakai terus, misalnya saat mengecek download via RPC nanti di episode-episode lanjutan.
Aria2 mendukung banyak protokol, tapi dua yang paling sering dipakai adalah HTTP/HTTPS dan FTP. HTTP berjalan lewat benda yang disebut URL — alamat tujuan transfer. Anatomi URL bisa dipecah menjadi lima komponen:
| Komponen | Contoh | Fungsi |
|---|---|---|
| Scheme | https | Protokol yang digunakan |
| Host | example.com | Nama domain server tujuan |
| Port | 443 | Pintu koneksi di server (default jika tidak ditulis) |
| Path | /files/ | Lokasi resource di server |
| Query | ?id=1 | Parameter tambahan untuk request |
Setelah URL dipahami, pahami bentuk percakapannya: request dan response. Klien (aria2) mengirim request berisi method dan header, lalu server menjawab dengan status code, header, dan body. Kelas status code adalah "nilai rapor" setiap download:
| Kelas | Arti | Contoh |
|---|---|---|
| 2xx | Sukses | 200 OK, 206 Partial Content |
| 3xx | Redirect | 301 Moved Permanently, 302 Found |
| 4xx | Kesalahan klien | 403 Forbidden, 404 Not Found |
| 5xx | Kesalahan server | 500 Internal Server Error |
Perhatikan 206 Partial Content — ini status yang memungkinkan aria2 meminta sebagian file lewat header Range. Tanpa itu, fitur multi-connection dan resume tidak akan berjalan. Header lain yang penting: Content-Length (panjang file dalam byte) dan Content-Disposition (nama file yang disarankan). FTP sendiri berguna untuk server legacy yang tidak menyediakan HTTP.
Selain protokol, ada empat konsep jaringan yang terus muncul sepanjang series:
| Konsep | Penjelasan | Analogi |
|---|---|---|
| DNS | Menerjemahkan nama domain menjadi alamat IP | Buku telepon: kalian ingat namanya, sistem yang mencari nomornya |
| IP Address | Alamat unik sebuah server di internet | Alamat rumah |
| Port | Pintu spesifik di sebuah server | Nomor unit apartemen: 80 untuk HTTP, 443 untuk HTTPS, 6800 untuk RPC aria2 |
| TLS/SSL | Enkripsi data selama transit | Amplop bersegel: isinya aman dibaca hanya oleh penerima |
| Proxy | Perantara antara klien dan server | Resepsionis yang meneruskan surat kalian |
Kenapa penting? Saat aria2 mengunduh dari https://example.com, ia melakukan resolusi DNS, membuka koneksi TCP ke port 443, melakukan TLS handshake, lalu mengirim HTTP request. Dan ketika kalian mengaktifkan mode RPC nanti, port 6800 menjadi pintu yang harus kalian jaga dan periksa.
Aria2 tidak harus diatur lewat baris perintah setiap kali. Sebagian besar opsi bisa diletakkan di file konfigurasi — default-nya ~/.aria2/aria2.conf — sehingga berlaku untuk semua sesi. Selain itu, aria2 menghormati environment variable jaringan standar seperti http_proxy dan https_proxy, sehingga pengaturan proxy bisa diwarisi dari sistem, bukan ditulis per-perintah. Analoginya: baris perintah adalah keputusan sekali jalan, konfigurasi file adalah kebiasaan yang konsisten, dan environment variable adalah warisan dari lingkungan sekitar. Untuk melihat seluruh opsi yang tersedia, jalankan aria2c --help.
Target kita adalah aria2 1.37.0 — versi stabil terbaru. Beruntung, aria2 sudah dibundel di repositori hampir semua sistem operasi utama, jadi instalasinya cukup lewat package manager:
sudo apt update
sudo apt install aria2Versi yang terinstall mungkin sedikit di belakang 1.37.0 di beberapa distro — itu tidak masalah untuk belajar. Yang penting binary-nya tersedia dan fitur intinya aktif.
Di Windows, aria2 tidak dibundel dengan sistem. Kalian bisa mengunduh binary resmi bernama aria2c.exe dari halaman release proyek (aria2 bisa dijalankan langsung tanpa install — cukup taruh exe-nya di direktori mana pun). Untuk pengalaman yang lebih mirip server production, WSL2 juga menjadi pilihan yang nyaman.
Di Android, pengguna Termux cukup menjalankan pkg install aria2. Ya — dengan Termux, ponsel kalian bisa menjadi download server berbasis aria2 yang sesungguhnya.
Setelah install, verifikasi dengan aria2c --version:
aria2c --versionaria2 version 1.37.0
Copyright (C) 2006, 2019 Tatsuhiro Tsujikawa
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
** Configuration **
Enabled Features: Async DNS, BitTorrent, Firefox3 Cookie, GZip, HTTPS,
Message Digest, Metalink, XML-RPC, SFTP
Hash Algorithms: sha-1, sha-224, sha-256, sha-384, sha-512, md5, adler32
Libraries: libssl/3.0, zlib/1.3
Compiler: GCC 13.2.0Perhatikan baris Enabled Features — di situlah kalian memastikan build aria2 sehat:
| Fitur | Gunanya Nanti Di |
|---|---|
| HTTPS | Download aman lewat TLS (episode 3, 18) |
| BitTorrent | Download file .torrent (episode 11) |
| Metalink | Download multi-mirror dari file .meta4 (episode 12) |
| SFTP | Transfer aman lewat SSH (episode 9) |
| XML-RPC | Interface kontrol jarak jauh (episode 14) |
Tip
Jika sebuah fitur tidak ada di daftar Enabled Features, build aria2 kalian dikompilasi tanpa fitur tersebut — bukan bug, melainkan keputusan saat kompilasi. Untuk series ini pastikan minimal HTTPS dan XML-RPC muncul, karena keduanya dipakai di hampir semua episode.
Aria2 hebat sendirian, tapi beberapa pekerjaan akan jauh lebih mudah dengan empat tools pendamping:
| Tools | Kegunaan di Series Ini | Verifikasi |
|---|---|---|
curl | Menguji request RPC ke server aria2 | curl --version |
jq | Mem-parse dan mewarnai output JSON dari RPC | jq --version |
ss | Memeriksa port RPC (6800) sedang mendengarkan atau tidak | ss -tlnp |
nmap | Memindai port dari host lain (termasuk dari luar) | nmap --version |
jq dan curl menjadi senjata utama saat kita masuk ke episode RPC. ss dan nmap berguna untuk memverifikasi bahwa server aria2 benar-benar mendengarkan di port yang diharapkan. Pastikan keempatnya siap:
curl --version
jq --version
ss -tlnpUntuk memantau download secara visual, siapkan juga browser favorit kalian — nanti kita akan menggunakan AriaNg, web UI populer yang berbicara dengan server aria2 lewat RPC. Cukup taruh di browser, arahkan ke endpoint RPC, dan seluruh antrean download terlihat seperti aplikasi downloader modern.
pwd, ls, cd, man).aria2c --version menampilkan aria2 1.37.x dengan fitur HTTPS dan XML-RPC aktif.curl, jq, ss, dan nmap sudah terinstall.Di episode 0 ini kalian sudah menyiapkan pijakan untuk seluruh series: memahami skill dasar CLI dan konsep HTTP (URL, request/response, status code, header), mengenal networking dasar (DNS, port, TLS, proxy), memahami peran konfigurasi file dan environment variable, memastikan aria2 1.37.0 terinstall dan terverifikasi dengan fitur HTTPS serta XML-RPC aktif, serta melengkapi tools pendukung curl, jq, ss, nmap, dan browser untuk AriaNg.
Inti yang harus dibawa pulang:
Range dan Content-Length) adalah bahasa yang akan kalian bicarakan dengan aria2 setiap hari.aria2c --version: pastikan versi 1.37.x dan fitur HTTPS aktif.curl, jq, ss, nmap, dan browser sebagai pendamping sepanjang series.Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa dunia membutuhkan aria2 — proyek ringan yang ditulis Tatsuhiro Tsujikawa dalam bahasa C++, masalah besar yang dipecahkannya (file raksasa dengan multi-connection dan multi-source), serta posisi aria2 di antara wget dan curl. Pastikan environment kalian sudah siap, karena perjalanan Belajar Aria2 baru saja dimulai!