Example #1
0
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));
};
Example #2
0
File: 6.js Project: No9/scotlandjs
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');
		 });
});