aria2.js
JavaScript (Node.js and browsers) library for aria2, "The next generation download utility."
![Build Status](https://travis-ci.org/sonnyp/aria2.js.png?branch=master)
![devDependency Status](https://david-dm.org/sonnyp/aria2.js/dev-status.png)
Intro
aria2.js supports the WebSocket, HTTP and JSONP transports.
Browser
bower install aria2
<script src="bower_components/aria2/dist/aria2.min.js"></script>
Node.js
npm install aria2
var Aria2 = require('aria2');
Init
var aria2 = new Aria2([options]);
default options are
{
host: 'localhost',
port: 6800,
secure: false,
secret: ''
}
Secret is optional and refers to --rpc-secret.
Open
aria2.open() will open the WebSocket connexion.
aria2.onopen = function() {
console.log('I\'m open!');
};
aria2.open();
Close
aria2.close() will close the WebSocket connexion.
aria2.onclose = function() {
console.log('I\'m closed!');
};
aria2.close();
onsend and onmessage
onsend() is called everytime a message is being sent, onmessage() is called everytime a message has been received.
aria2.onsend = function(m) {
console.log('OUT', m);
};
aria2.onmessage = function(m) {
console.log('IN', m);
};
Methods
For a complete listing see aria2 methods.
Note that if you have passed the secret option to aria2.js, it will be automatically added it to every request so there is no need to include it.
When sending a request to aria2, if the WebSocket isn't available or closed, aria2.js will use the HTTP transport.
For every aria2 methods you can use
aria2.getVersion([params,] function(err, res) {
console.log(err || res);
});
or
aria2.send('getVersion', [params,] function(err, res) {
console.log(err || res);
});
Notifications
For a complete listing see aria2 notifications.
For every notifications you can bind a function.
aria2.onDownloadStart = function(gid) {
console.log(gid);
};
Example
See example.js