persist-request
will download a file and cache it in a user specified cache
directory. Subsequent requests to the same file will be returned a stream from
the cache rather than from the original source.
npm install --save persist-request
var persistRequest = require('persist-request')('/tmp/');
var stream = persistRequest.get('http://example.com/example.tar.gz');
stream.pipe(/* to whatever */);