Extremely early version of the browser library for Storj.io.
- Install core-cli
npm install storj-cli --global
storj login
- Generate a deterministic seed
storj generate-seed
- Create a new bucket and make it public for downloads
storj add-bucket PublicBucket
storj make-public PublicBucket --pull
- Upload a small image file
storj upload-file PublicBucket test.png
- Download the file in a browser
<html>
<head>
<title>Storj Download Example</title>
</head>
<body>
<script type="text/javascript" src="../build/Storj.js"></script>
<script>
var options = {
bucketId: '<bucket-id>', // || user: <email>, bucket: <bucket-name>
file: 'test.png'
};
var downloader = new Storj.Downloader(options, function(err, data) {
var blob = new Blob([data], {type: "image/jpg"});
var url = URL.createObjectURL(blob);
var img = new Image();
img.src = url;
document.body.appendChild(img);
});
</script>
</body>
</html>
- Download files in public buckets
- Initial version of audio and video streaming
- Create documentation for creating public buckets
- Refacto Stream.js to use Download.js logic
- Add concurrent downloads for streaming
- Perform decryption in separate thread or in way that doesn't freeze interface
- Add progress indication for files and streams
- Solve mixed content errors on https pages (important!)
- WebRTC or "Let's Encrypt"
- Automatically replace special browser storj tags with equivalent elements
- Use supplied file size, requires PR deployment
- Use supplied mimetype of file and create DOM element
- Requires this pull request to be merged
- Properly handle errors and issue X retries per shard
- Add failed pointers to exclude list
- Figure out efficient distributed streaming method
- Requires out of order decryption
- Get seek to working for audio/video streams
- Requires out of order decryption + more meta data