Pada episode ini kalian memindahkan semua opsi yang berulang ke file konfigurasi aria2.conf, memahami sintaks option dan value, memuat konfigurasi khusus dengan conf-path, serta menjadikannya kebijakan global yang konsisten untuk direktori, log, proxy, RPC, dan limit.

Tiga episode terakhir penuh dengan opsi: -d, -x, -j, --ftp-user, --continue, dan seterusnya. Mengetik semuanya setiap kali menjalankan aria2 itu membosankan dan rawan inkonsistensi — satu sesi lupa -x 4, sesi lain lupa -d. Episode ini mengubah cara kalian bekerja: semua opsi yang berulang dipindahkan ke file konfigurasi aria2.conf, sehingga setiap sesi download otomatis berjalan dengan pengaturan yang sama.
Pola ini mirip dengan konfigurasi program lain yang pernah kalian gunakan: ~/.bashrc untuk shell, ~/.ssh/config untuk SSH. Satu file, dibaca otomatis di setiap startup, dan menjadi kebijakan yang konsisten tanpa perlu diingat-ingat.
Saat dijalankan, aria2 mencari file konfigurasi secara otomatis. Lokasi utamanya adalah ~/.aria2/aria2.conf — direktori tersembunyi ~/.aria2 di home kalian. Jika file itu tidak ada, aria2 mencari di direktori konfigurasi XDG (~/.config/aria2/aria2.conf). Selama file tersebut ditemukan, opsi di dalamnya berlaku untuk semua download, seolah-olah diketik di command line.
Dua opsi yang mengatur perilaku ini:
--conf-path=<PATH> — memaksa aria2 membaca konfigurasi dari path tertentu, misalnya aria2c --conf-path=/etc/aria2/download-server.conf. Berguna untuk memilih profil konfigurasi berbeda.--no-conf — mematikan pemuatan konfigurasi sama sekali. Praktis untuk debugging ketika kalian ingin memastikan perilaku murni default.aria2c http://example.com/file.isoSintaksnya sederhana dan mirip dengan opsi command line: satu pasangan nama=nilai per baris, tanpa awalan dua strip (--). Baris yang dimulai dengan # dianggap komentar.
# Kebijakan global download
dir=/srv/downloads
max-concurrent-downloads=5
max-connection-per-server=4
split=5
continue=true
min-split-size=20M
file-allocation=falloc
log=/var/log/aria2/aria2.log
all-proxy=http://proxy.internal.example.com:8080
enable-rpc=true
rpc-listen-port=6800
rpc-secret=gantiDenganTokenKuatPerhatikan kesesuaiannya dengan opsi yang sudah kalian kenal: max-connection-per-server setara dengan -x, max-concurrent-downloads setara dengan -j, dan continue setara dengan -c. Hampir semua opsi di manual punya padanan di file konfigurasi, jadi apa yang sudah kalian pelajari tetap berlaku — hanya tempat penulisannya yang berubah.
Ada satu detail halus yang sering membingungkan. Di shell, $HOME diekspansi sebelum aria2 berjalan. Di dalam aria2.conf, itu tidak terjadi — tapi aria2 sendiri memperluas variabel home untuk opsi-opsi tertentu seperti dir, log, dan dht-file-path:
dir=${HOME}/downloads
log=${HOME}/.aria2/aria2.logKarena shell tidak ikut campur, dua baris di atas benar-benar menunjuk ke direktori home kalian — bukan sekadar string literal. Cek manual untuk daftar lengkap opsi yang mendukung ekspansi semacam ini.
Ketika opsi yang sama muncul di beberapa tempat, siapa yang menang? Aturannya linear dan mudah diingat:
Artinya, konfigurasi memberikan nilai awal yang konsisten, tetapi kalian tetap bisa menimpa sesekali. Misalnya, dir di konfigurasi menunjuk ke /srv/downloads, namun sekali saja kalian menjalankan aria2c -d /tmp/x url, download itu memakai /tmp/x tanpa mengubah konfigurasi. Fleksibilitas ini adalah desain yang baik: default aman, override mudah.
Manfaat terbesar file konfigurasi bukan sekadar menyingkat perintah, melainkan menjadikannya kebijakan. Pertimbangkan apa yang pantas tinggal permanen di konfigurasi:
dir) dan aturan penamaan — agar file tidak tersebar acak di seluruh filesystem.max-concurrent-downloads, max-connection-per-server, split) — agar beban jaringan dapat diprediksi.log, max-download-result) — jejak audit untuk setiap download.all-proxy, http-proxy) — semua sesi otomatis lewat proxy yang sama.enable-rpc, rpc-listen-port, rpc-secret) — menyiapkan aria2 sebagai daemon yang bisa dikendalikan dari web UI di episode-episode selanjutnya.Karena konfigurasi hanyalah file, kalian juga bisa memiliki beberapa profil untuk peran berbeda: satu profil downloader harian, satu profil server RPC. Pilih lewat --conf-path, atau symlink file yang aktif.
Tip
Mengingat file ini bisa memuat kredensial seperti rpc-secret, ftp-passwd, atau password proxy, kunci izin file menjadi penting. Terapkan chmod 600 ~/.aria2/aria2.conf agar pengguna lain tidak bisa membaca isinya — dokumentasi resmi aria2 menyarankan hal yang sama.
Satu file konfigurasi tidak harus melayani semua kasus. Kalian bisa menyimpan beberapa profil dan memilih lewat --conf-path. Perhatikan dua peran yang paling umum di produksi: mesin download harian dan server RPC.
dir=${HOME}/downloads
max-concurrent-downloads=3
max-connection-per-server=4
continue=trueProfil pertama ringan dan aman untuk workstation pribadi. Profil kedua menyiapkan daemon yang siap dikendalikan dari jarak jauh — topik yang akan dibahas lebih dalam di episode RPC nanti. Memilih profil tinggal menambahkan --conf-path, misalnya aria2c --conf-path=$HOME/.aria2/server-rpc.conf url.
Note
Cara lain menjaga beberapa profil tetap rapi: simpan semuanya di satu direktori (misalnya ~/.aria2/conf.d/), lalu buat symlink dari ~/.aria2/aria2.conf ke profil yang sedang aktif. Tidak ada perintah yang perlu diubah — aria2 tetap membaca lokasi default seperti biasa.
Pada episode 8 ini kalian sudah memindahkan pengaturan berulang ke ~/.aria2/aria2.conf, memahami sintaks option=value dengan komentar, memuat konfigurasi khusus lewat --conf-path, menonaktifkannya dengan --no-conf, menguasai urutan precedence command line di atas konfigurasi di atas default, dan menjadikan konfigurasi sebagai kebijakan global yang konsisten untuk direktori, log, proxy, RPC, dan limit.
Yang paling penting untuk dibawa pulang: konfigurasi mengubah aria2 dari perintah menjadi kebijakan. Setelah file ini ada, aria2c url saja sudah cukup — seluruh detail teknis berjalan di balik layar secara konsisten.
Di episode 9 berikutnya kita masuk wilayah baru yang menarik: BitTorrent — download dari file torrent dan magnet link, perilaku seeding, serta DHT dan penemuan peer. Sampai jumpa!