control rtorrent with your nodejs project !
check in config file (/home/user/.rtorrent.rc) that this line exist :
scgi_port = 127.0.0.1:5000
now rtorrent is available (only from localhost) with scgi on :
127.0.0.1:5000/
open apache config file and add :
SCGIMount /RPC2 127.0.0.1:5000
<Location "/RPC2">
AuthType Basic
AuthName "Rtorrent"
AuthUserFile /home/www-data/.rtorrent-htpasswd
Require valid-user
</Location>
create a password file
htpasswd -cb /home/www-data/.rtorrent-htpasswd user password
restart apache
apachectl restart
now rtorrent is available with xmlrpc on
user:password@server:80/RPC2
npm install node-rtorrent
var Rtorrent = require ('node-rtorrent');
var rtorrent = new Rtorrent({
mode: 'xmlrpc',
host: 'yourserver',
port: 80,
path: '/RPC2'
user: 'bob'
pass: 'marley'
});
rtorrent.getAll(function (err, data) {
if (err) return console.log('err: ', err);
console.log(data);
// data is : {torrents: [{hash: 'XXXXXX', name: 'ubuntu.iso', path: '/xxx', bitfield: ......... }, {...}], up_total: ...}
});
rtorrent.start('XXXXXXXX', function (err, data) {
if (err) return console.log('err: ', err);
console.log(data);
});
rtorrent.loadLink(...
rtorrent.loadFile(...
and more : Click here !
USAGE: node-rtorrent cmd ...
Exemples:
node-rtorrent get download_list
node-rtorrent get d.multicall main d.name= d.get_base_path
node-rtorrent get t.multicall XXXXXXX t.id= t.url=
node-rtorrent get load "magnet:?xt=urn:xxxx"
node-rtorrent get load "http://xxx/xxx.torrent"
node-rtorrent getAll