Use like google drive

Is it possible and reasonable to use IPFS like a storage in the same service like google drive disk?
Any pros and cons for that?
And a little schema how it could be implemented?

I guess we can do something like that for implement it and manage access right to share file with users to each other.

  1. web interface on typical hosting or vps
  2. web server to process user’s request and accessing IPFS.
  3. Once user registered he creates private and public keys for futher management files and rights.
  4. upload/download file ecnrypt/dycrypt using keys from account
  5. and when we want to share any file to other users, our web server use the same keys from file’s owner account

What could goes wrong?
And we use IPFS just for storing, but we still have “bottleneck” regarding to our web-server on vps with user’s data.
And last question, where we can use blockchain here?

1 Like

I know of at least two programs that implements something similar to what you’re requesting, Peergos which describes itself like this:

A decentralised, secure file storage, sharing and social network that’s surveillance resistant and doesn’t expose your friend network.

And Partyshare which is newer, a bit more barebones but is very easy to get started with and use (also with any access controls currently)

Maybe you can look at their architecture and implementation, getting some inspiration.

Partyshare is just a GUI menu bar implementation of a default IPFS node. You could automate this yourself, e.g. on macOS with a LaunchAgent that monitors a local directory for changes, keeps the ipfs daemon alive, and adds files to the IPFS whenever you drop something into that folder, writes filename & IPFS hash to a database, and so on. You could probably script a BitBar plugin with loads of additional functionality, e.g. encryption, ipns functionality etc. But Partyshare is not cloud storage on top of IPFS. To my knowledge, such a thing doesn’t exist yet. It would need users to adopt such a service, offer some local storage space for the distributed cloud beyond running a default IPFS node, and I fear any large scale storage solution would need Filecoin and dedicated IPFS providers who actually pin the objects, unless every user by default shares at least a couple of GB locally. So for example, if the IPFS cloud service gives you free storage of 5 GB, you’d need at least double that amount locally; and I assume it needs to be more than double because the system needs to distribute objects to several nodes, otherwise, if one node is offline, and only that node has a block another user needs, that user won’t have access to his file(s). Furthermore you would need to save any file’s history, so users can revert to previous version, which would increase the storage needs greatly. So my hunch is that these kinds of services can only be offered, if you have Filecoin and IPFS providers, either private or corporate. And in the end, the big corporations like Dropbox might just switch to IPFS themselves, run their own large-scale nodes, and suddenly we might be dealing with a re-centralization.

It would be nice to see https://mountainduck.io support IPFS.

As well as a service where you upload to a bucket in Backblaze B2 / Microsoft Azure / Google Cloud Storage / Amazon S3, and a service adds whatever is in that bucket to IPFS.

They could probably work in tandem.

Use case that I am thinking of are:

  • file sharing of huge directories of content with friends and coworkers (family photos and videos, company document storage)
  • youtube like alternative services, where one presents a zeronet website, and storage is uploaded to the cloud (for the original seed), and then replicated and served via ipfs

For the encryption discussions, mountainduck and cyberduck use https://cryptomator.org

You can use eCryptfs and IPFS for this, there is no need to reinvent the wheel. All you need to do is periodically add the source directory to IPFS.

If you’re handling large folders you can’t store, it would be trivial to write a script that uses ipfs object patch to update the source directory on IPFS without storing the entire directory. You can then publish this to an IPNS key.
For access control you can either simply distribute the keys to multiple people (read-only: only encryption key, read and write: both keys), or you could write some simple script for access control however you want it.

Why can’t you just use the VPS for storage?

What do you need a blockchain for?

You can mount IPFS directories locally with ipfs mount. All the other protocols mentioned on that site have FUSE implementations as well, so I really don’t see what that brings to the table.

Doesn’t amazon AWS give bargain prices on transfer to/from S3?

IPFS is better for running websites due to deduplication and performance. Why pay for storage when you can use your own computer? For the price of cloud storage for a few months, you could buy an old computer from craigslist. It will cost you less and you can use it for more than storage, as well as giving you actual physical control.

https://www.backblaze.com/b2/cloud-storage-pricing.html

ipfs mount is read only

What happens when you have petabytes of data, there is more to running youtube than a computer at home can offer - uptime, security compliance, etc etc

Yes, it’s still cheaper to transfer from S3 to AWS than Backblaze to AWS.

This is due to limitations in the IPFS protocol, so mountainduck IPFS support wouldn’t change anything.

Storing petabytes of data in cloud storage is extremely expensive. Since this would be decentralized, the individual uploader would be responsible for providing a backup of their videos.

Relevant: https://ipfs.io/docs/commands/#ipfs-files

Check out IpfsCloud: http://ipfscloud.store

Read more about it here: https://medium.com/ipfscloud

Contribute to the project here: https://github.com/vasa-develop/ipfscloud