# Pastebin FGfIGp9e var Hyperdrive = require('hyperdrive') var Level = require('level') var Swarm = require('discovery-swarm') var swarmDefaults = require('datland-swarm-defaults') // run this like: node thisfile.js 4c325f7874b4070blahblahetc var link = new Buffer(process.argv[2], 'hex') var LOCAL_PORT = Number(process.argv[3]) || 3282 // specify port or use 3282 var db = Level('./dat.db') var drive = Hyperdrive(db) var config = swarmDefaults(drive, {opts}) var swarm = Swarm(config) swarm.once('listening', function () { console.log('joining swarm: ', link) swarm.join(link) // start downloading to ./data var archive = drive.get(link, process.cwd() + '/data') archive.ready(function (err) { // a stream of all metadata. needs to download once then will cache var metadata = archive.createEntryStream() // start downloading all entries metadata.on('data', function (entry) { var dl = archive.download(entry) dl.on('end', function () { console.log('download finished', entry.name) }) }) }) }) swarm.listen(LOCAL_PORT)