Belajar Aria2 - Integrasi dengan Tools & Workflows
Episode 21 of 23

Belajar Aria2 - Integrasi dengan Tools & Workflows

Pada episode ini kita akan menghubungkan aria2 dengan dunia sekitarnya: membangun download center pribadi dengan AriaNg dan ekstensi browser, berinteroperasi dengan tool download lain, serta mengotomasi verifikasi checksum dan pemindahan file untuk download besar di server.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

Di episode 20 aria2 berdiri sebagai daemon produksi — tetapi daemon yang kesepian adalah daemon yang setengah berguna. Episode 21 ini menghubungkannya dengan ekosistem: web UI AriaNg sebagai layar kendali, ekstensi browser sebagai pintu masuk URL, interoperabilitas dengan tool download lain, serta alur kerja modern di server — verifikasi checksum dan pemindahan file otomatis. Di akhir episode kalian punya download center pribadi yang utuh.

Download Center Pribadi: aria2 + AriaNg

AriaNg adalah web UI modern yang berbicara ke daemon lewat RPC. Ia bukan server — ia klien yang menampilkan status, antrean, dan opsi download dalam satu halaman. Karena murni statis, kalian bisa menjalankannya dari mana saja: dibuka langsung sebagai file, disajikan nginx, atau sudah terbundel dalam image wappjzdstar/aria2 dari episode 20.

Alur kerja lengkapnya menjadi:

  1. AriaNg membuka koneksi RPC ke daemon (port 6800).
  2. Kalian memasukkan URL — atau ekstensi browser yang mengirimkannya.
  3. Daemon mengeksekusi download, AriaNg menampilkan progress secara real-time.
  4. Hook dari episode 18 memindahkan atau memproses file setelah selesai.

Perhatikan pembagian peran: aria2 yang melakukan, AriaNg yang menampilkan. Memahami batas ini penting — ketika UI tidak menampilkan sesuatu, masalahnya hampir selalu di koneksi RPC atau sekret, bukan di daemon.

Tip

AriaNg hanya butuh alamat RPC dan sekret untuk terhubung: http://localhost:6800/jsonrpc dengan sekret token:RAHASIA. Jika AriaNg menampilkan error koneksi, periksa sekret dulu, lalu firewall port 6800 — dua penyebab ini mencakup hampir semua kasus.

Ekstensi Browser: Pintu Masuk URL

Gaya paling praktis memakai download center: saat menemukan file di browser, klik satu tombol dan URL langsung terkirim ke daemon. Ini cara kerja ekstensi seperti Aria2 Explorer di Chrome dan Chromium serta ekstensi sejenis di Firefox — mereka mengintersepsi download browser lalu meneruskannya ke RPC.

Keuntungannya besar: browser tidak lagi menangani file besar yang rawan terputus saat laptop tidur, dan daemon yang selalu menyala yang menyelesaikannya. Untuk pengguna yang tidak suka ekstensi, alternatifnya sederhana — tempel URL ke AriaNg secara manual, atau tulis ke file input:

input-file.sh
printf '%s\n' \
  "https://cdn.example.com/dataset.zip" \
  "https://mirror.example.com/os.iso" > /tmp/queue.txt
 
aria2c -i /tmp/queue.txt --dir=/srv/downloads

File input dari episode 6 menjadi format interoperable: kalian bisa membangun daftar URL dari skrip, spreadsheet, atau bookmark, dan daemon memakannya apa adanya.

Integrasi dengan Download Manager Lain

aria2 sering menjadi engine di balik tool lain. Motrix, misalnya, adalah download manager desktop yang dibangun di atas aria2 — kalian membuka GUI-nya untuk kenyamanan, sementara mesinnya tetap aria2. Ini pola yang berharga: antarmuka boleh berganti, mesin tetap sama.

Sebaliknya, jika kalian pindah dari tool lain, daftar URL biasanya bisa diekspor dan diimpor:

ToolBagaimana bergabung dengan aria2
wget atau curlURL diambil dari history atau skrip, dimasukkan ke input file
GUI download managerLink list diekspor sebagai teks, lalu aria2c -i
yt-dlpDiarahkan memakai aria2 sebagai downloader (lihat bagian berikut)
MotrixSudah berbasis aria2 — RPC bisa diarahkan langsung

--input-file adalah format jembatan: hampir semua tool bisa menghasilkan daftar URL teks, dan aria2 menerimanya tanpa ubahan.

Workflow Modern: Download Besar di Server

Skenario yang paling sering di dunia nyata: dataset riset, mirror distro, atau video berukuran besar harus diunduh di server — bukan di laptop. Prinsipnya sama seperti sejak episode 1, ditambah dua disiplin: verifikasi dan pemindahan otomatis.

Verifikasi Checksum Otomatis

File besar dari internet hampir selalu disertai checksum yang diterbitkan sumbernya. aria2 bisa memverifikasinya secara native begitu download selesai:

checksum.sh
aria2c --checksum=sha-256=4d5f...9a1c \
  https://cdn.example.com/dataset.zip

Formatnya sha-256=HASH. Jika hasil verifikasi tidak cocok, download dianggap gagal dan aria2 keluar dengan exit code 32 (dari episode 18). Inilah jaring pengaman terbaik untuk file yang akan dipakai sebagai input pipeline — jauh lebih baik daripada menemukan korupsi di tengah proses.

Pemindahan File Otomatis

Setelah file turun dan terverifikasi, ia harus pindah ke tempat final. Gabungkan verifikasi dengan hook --on-download-complete dari episode 18 menjadi satu skrip:

hook-dataset.sh
#!/usr/bin/env bash
GID="$1"
NUM_FILES="$2"
FILE_PATH="$3"
DEST="/srv/data/datasets"
 
if sha256sum --status -c "sha256sums.txt"; then
  mv "$FILE_PATH" "$DEST/"
  echo "$(date +%F_%T) OK: $GID -> $DEST" >> /var/log/dataset.log
else
  echo "$(date +%F_%T) GAGAL: $GID" >&2
fi

Alur ini meniru cara repo besar seperti distro Linux mengelola mirror: download, verifikasi, baru pindahkan ke lokasi yang dikonsumsi user lain. File yang belum terverifikasi tidak pernah sampai ke tangan pemakainya.

Sinkronisasi Berkala dengan cron

Untuk mirror yang diperbarui berkala, jadwalkan skripnya lewat cron. Skrip sama seperti pola di episode 18 — membaca exit code dan mencetak log — hanya sekarang dijalankan setiap hari:

crontab-mirror
0 2 * * * /opt/mirror/sync.sh >> /var/log/mirror.log 2>&1

Pada pukul 02.00 setiap hari, server memeriksa daftar URL, mengunduh yang berubah, memverifikasi checksum, memindahkan file final, dan mencatat semuanya ke log. Tidak ada yang perlu menunggu atau mengingat. Untuk video dari platform streaming, ingat bahwa aria2 tidak bisa mem-parsing halaman web — di sanalah peran yt-dlp yang akan kita bandingkan di episode 22.

Penutup

Episode 21 menghubungkan aria2 dengan ekosistemnya: membangun download center pribadi dengan AriaNg dan ekstensi browser, memakai file input sebagai jembatan interoperabilitas dengan tool lain, serta mengotomasi alur download besar di server dengan verifikasi checksum dan pemindahan file.

Inti yang harus dibawa pulang: download bukan tujuan, melainkan tahap dalam alur kerja. File yang turun tanpa verifikasi dan tanpa tujuan hanyalah sampah di disk — file yang terverifikasi dan terpindahkan otomatis adalah aset yang bisa dikonsumsi pipeline berikutnya.

Di episode 22 — episode terakhir — kita akan menutup seluruh perjalanan: ekosistem alternatif dan refleksi akhir dari 23 episode Belajar Aria2. Sampai jumpa!