Pada episode ini kalian mengunduh file lewat FTP dan FTPS, memakai autentikasi user dan password, menangani download direktori, serta berpindah ke SFTP yang berjalan di atas SSH lengkap dengan verifikasi host key dan perbedaan perilakunya terhadap FTP.

Di episode 6 kalian sudah mengubah aria2 menjadi download manager batch lewat input file. Sekarang kita meluaskan medan tempur: bukan hanya HTTP/HTTPS, tetapi juga FTP dan SFTP. Di dunia nyata, banyak server file internal — mirror paket, server backup, atau penyimpanan data laboratorium — masih melayani FTP, dan hampir semua server Linux modern membuka akses file lewat SFTP. Menguasai keduanya membuat kalian bisa menarik data dari mana pun, tanpa menunggu tim lain menyediakan HTTP.
Satu hal yang perlu diluruskan sejak awal: FTP dan SFTP adalah protokol yang berbeda sama sekali. FTP berusia puluhan tahun dan tidak terenkripsi, sedangkan SFTP berjalan di atas SSH dan seluruh transfernya terenkripsi. Jangan menyebutnya satu keluarga — perbedaan itulah yang akan menentukan pilihan kalian di lapangan.
aria2 memakai skema ftp:// untuk FTP biasa. Tanpa kredensial, aria2 mencoba login sebagai user anonymous — pola lama untuk mirror publik. Untuk server yang membutuhkan akun, gunakan --ftp-user dan --ftp-passwd.
aria2c --ftp-user=deploy --ftp-passwd=gantiPassword \
ftp://mirror.internal.example.com/pub/build-2026-08.isoKredensial juga bisa disisipkan langsung di URL dengan format ftp://user:pass@host/path. Ini ringkas, tetapi berbahaya: kredensial akan tampil di log proses dan riwayat shell. Lebih aman tetap menggunakan opsi, apalagi jika nanti dipindahkan ke file konfigurasi di episode 8.
Dua perilaku bawaan yang perlu diketahui:
--ftp-pasv bernilai true). Server membuka koneksi data kedua untuk mengirim file. Cocok untuk mesin di belakang NAT/firewall — kalian tidak perlu membuka port inbound.--ftp-type=binary). Hanya ubah ke ascii jika server menuntutnya, misalnya untuk file teks lama yang menggunakan konvensi baris baru platform tertentu.FTPS adalah FTP yang dibungkus TLS — sama seperti HTTPS terhadap HTTP. Kredensial dan data tidak lagi melintas dalam bentuk teks polos. Karena itulah server FTP modern hampir selalu menawarkan mode ini.
Warning
Sayangnya, aria2 tidak mendukung skema ftps://. Periksa daftar protokol resminya: HTTP(S), FTP, SFTP, BitTorrent, dan Metalink — FTPS tidak ada di daftar itu. Jika server kalian hanya melayani FTPS, aria2 bukan pilihannya; gunakan SFTP bila tersedia, atau tool lain seperti curl untuk kasus itu.
Ini contoh yang bagus bahwa membaca dokumentasi sebelum menulis script bisa menghemat jam debugging. Kebiasaan "coba saja ftps://" akan berakhir dengan error yang membingungkan.
Menulis --ftp-user dan --ftp-passwd di setiap perintah itu tidak praktis dan berisiko tercecer. aria2 mendukung file ~/.netrc untuk autentikasi FTP, SFTP, dan HTTP secara terpusat. Bisa dianggap seperti "brankas kredensial" per mesin.
machine ftp.example.com
login deploy
password gantiPasswordFile ini dibaca otomatis saat startup selama izinnya 600 — jika terlalu terbuka, aria2 menolak memakainya. Itu fitur keamanan yang bagus: file berisi password tidak boleh terbaca oleh pengguna lain.
chmod 600 ~/.netrc
aria2c ftp://ftp.example.com/pub/file.tar.gzDengan netrc, perintah tetap pendek dan kredensial tersimpan di satu tempat.
Kebutuhan umum berikutnya: menarik semua file dari satu direktori FTP. Perlu diingat, aria2 tidak punya mode rekursif seperti wget -r — ia mengunduh daftar URL yang diberikan, bukan menjelajah struktur direktori. Ini keputusan desain yang membuat aria2 tetap sederhana dan bisa diandalkan.
Solusinya tetap memanfaatkan kekuatan episode 6: bangun daftar URL, lalu serahkan ke input file. Listing direktori FTP bisa diperoleh dari klien apa pun yang tersedia, misalnya curl.
curl -u deploy:gantiPassword -s ftp://ftp.example.com/pub/dumps/ | \
grep -oE '[^ ]+\.sql\.gz$' | \
sed "s#^#ftp://ftp.example.com/pub/dumps/#" | \
aria2c -i - -j 4Output dari pipeline adalah satu baris URL per file, yang langsung dibaca aria2 dari stdin. Parser listing di atas bergantung pada format server FTP, jadi sesuaikan pola grep dan sed dengan struktur direktori kalian. Yang penting pola pikirnya: daftar URL adalah data, dan aria2 tinggal memakannya.
SFTP memakai skema sftp:// dan berjalan di atas koneksi SSH — biasanya port 22. Tidak ada dua channel seperti FTP; seluruh sesi, autentikasi, dan transfer berada dalam satu koneksi terenkripsi. Jika kalian sudah nyaman dengan SSH, konsep SFTP langsung terasa akrab.
aria2c --ftp-user=deploy --ftp-passwd=gantiPassword \
sftp://files.example.com/backups/db-2026-08-03.sql.gzKredensial untuk SFTP memakai opsi FTP yang sama — sesuai catatan manual aria2, mayoritas opsi FTP juga berlaku untuk SFTP. Jika port SSH bukan 22, tambahkan ke URL: sftp://deploy@files.example.com:2222/path.
Identitas server SSH dijamin oleh host key. aria2 bisa memverifikasinya dengan --ssh-host-key-md, membandingkan sidik jari (fingerprint) SHA-1 kunci server dengan nilai yang kalian tetapkan. Ambil sidik jarinya lewat perintah SSH standar:
ssh-keyscan -t rsa files.example.com | ssh-keygen -E sha1 -lf -Outputnya mirip 2048 SHA1:b030503d4de4539dc7885e6f0f5e256704edf4c3 files.example.com (RSA). Hilangkan titik dua lalu berikan ke aria2 sebagai hex biasa:
aria2c --ssh-host-key-md=sha-1=b030503d4de4539dc7885e6f0f5e256704edf4c3 \
sftp://deploy@files.example.com/backups/db-2026-08-03.sql.gzImportant
Ingat perbedaan ini: --ssh-host-key-md memverifikasi kunci server. aria2 tidak mendukung autentikasi klien berbasis private key — ia hanya mengautentikasi dengan password. Server yang mengunci akses hanya lewat public key tidak bisa dipakai langsung oleh aria2; sediakan akun berpassword atau gunakan tool lain.
Beberapa opsi FTP tidak berpengaruh pada SFTP, dan ini wajar karena protokolnya memang berbeda:
--ftp-pasv diabaikan. Konsep mode pasif/aktif tidak ada di SFTP; koneksi data tidak terpisah, jadi tidak ada masalah NAT.--ftp-type diabaikan. Transfer SFTP selalu binary; tidak ada mode ascii.--continue dari episode 5 tetap berlaku.Intinya: FTP cepat dan sederhana untuk mirror publik; SFTP adalah pilihan aman untuk data internal yang sensitif.
Pada episode 7 ini kalian sudah mengunduh via FTP dengan --ftp-user dan --ftp-passwd, menyadari bahwa ftps:// tidak didukung aria2, memusatkan kredensial di ~/.netrc, menangani direktori FTP lewat input file, dan berpindah ke SFTP dengan verifikasi host key serta pemahaman perbedaan perilakunya terhadap FTP.
Yang paling penting untuk dibawa pulang: kenali protokol sebelum memilih tool. FTPS membutuhkan tool lain, dan SFTP mengorbankan beberapa opsi FTP demi enkripsi menyeluruh.
Di episode 8 berikutnya kita berhenti mengetik opsi berulang-ulang — semua pengaturan akan dipindahkan ke file konfigurasi aria2.conf agar setiap sesi download konsisten. Sampai jumpa!