BtDownloader.prototype.createTorrent = function (datafile_path, torrent_path, callback) { var announceList = []; var dir = path.dirname(datafile_path); var filename = path.basename(datafile_path); var relative_path = path.relative(sys_config.public_dir + 'dist', dir); for (var i = 0; i < trackers.length; i++) { announceList.push([new Buffer(trackers[i])]); } var that = this; var rs = nt.make(trackers[0], dir, filename, { announceList: announceList, comment: 'KNA Cloud Service', }, function (err, torrent) { if (err) { callback(err); return; } fs.readFile(torrent_path, function (err, data) { if (err) { callback(err); return; } that.add(data, {download_dir:2, path: relative_path}, function (err) { console.log(err); callback(err); }); }); }); rs.pipe(fs.createWriteStream(torrent_path)); };
watcher.on('fileCreated', function(path) { var rs = nt.make('http://localhost:8080', __dirname + '/content/helloworld'); rs.pipe(fs.createWriteStream('helloworld.torrent')) .on('close', function(){ fs.readFile('helloworld.torrent', 'binary', function (err, content) { var row = { name : 'content/helloworld', file : content } A.add(row); }); console.log("Torrent Descriptor Created") service = new BTClient({ logLevel: 'DEBUG', clientId: 'helloworldID', portRangeStart: 10000, downloadPath: __dirname + "/content/helloworld", authorizer: null }); var torrent = service.addTorrent('helloworld.torrent'); }); });