Use javascript to download file via aria2

aria2 download aria2 is a utility for downloading files. The supported protocols are HTTP(S), FTP, SFTP, BitTorrent and Metalink.

Create aria2.conf:

enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
rpc-listen-port=6800
max-concurrent-downloads=5
continue=true
max-connection-per-server=5
min-split-size=10M
split=10
max-overall-download-limit=0
max-download-limit=0
max-overall-upload-limit=0
max-upload-limit=0
dir=D:\Downloads
file-allocation=prealloc
check-certificate=false

Run aria2c:

aria2c.exe --conf=aria2.conf

Script:

function aria2c(url,callback,host,port){var stamp=new Date().getTime();fetch('http://'+String(host?host:'127.0.0.1')+':'+String(port?port:6800)+'/jsonrpc',{body:JSON.stringify({jsonrpc:'2.0',method:'aria2.addUri',id:stamp,params:[[url],{split:5,'max-connection-per-server':5,'seed-ratio':0}]}),headers:{Accept:'application/json','Content-Type':'application/json'},method:'POST'}).then(function(response){return response.json()}).then(function(json){if(callback)callback(url,json)});return stamp}

Usage:

aria2c('https://www.apache.org/licenses/LICENSE-2.0.txt',function(url,json){console.log(url,json)});