Live data from Hacker News

Show HN: Encrypt and upload files to IPFS from browser

thirdcloud.org

11–20 of 43 posts

Re: Show HN: Encrypt and upload files to IPFS from browser

#11

How is encrypted? Is it content-based encryption so files can be shared? How are the encryption keys stored? Who is pinning the files in IPFS? How are you planning on charging for storage? Are you going to use Filecoin?

It's encrypted directly on your browser, you can download the encryption key after file is uploaded. Not content-based (because the header is randomly generated & you keep the encryption key) but you can share to secret file to others and they will be able to download the file.

Files are pinned mainly by NFTStorage.

Currently it's free because NFTStorage is free. If things change I would allow buying storage using Filecoin (~$0.2/TB/month).

Re: Show HN: Encrypt and upload files to IPFS from browser

#12
post #11

How is encrypted? Is it content-based encryption so files can be shared? How are the encryption keys stored? Who is pinning the files in IPFS? How are you planning on charging for storage? Are you going to use Filecoin?

It's encrypted directly on your browser, you can download the encryption key after file is uploaded. Not content-based (because the header is randomly generated & you keep the encryption key) but you can share to secret file to others and they will be able to download the file. Files are pinned mainly by NFTStorage. Currently it's free because NFTStorage is free. If things change I would allow buying storage using Fi…

According to NFTStorage's Terms and Conditions:

> The Service is offered for the creation and storage of NFTs. Use of the Service to store other types of data is not permitted.

Do you have a special agreement with NFTStorage which overrules the general Terms and Conditions?

Re: Show HN: Encrypt and upload files to IPFS from browser

#13
This is amazing, great work! I love that it does everything in-browser.

A handful of questions:

Your currently uploading to a gateway and are considering moving to your own gateway backed by filecoin. Have you considered ditching the gateway and using the libp2p WebRTC and/or WebSocket transports to upload directly to the network via the browser tab?

Where are you hosting this and how are you protecting against "supply chain attacks" where your hosting provider (either maliciously or through their service being compromised) injects additional JS that exfiltrates secrets? Have you explored managed/trusted upgrades to the existing user's apps through browser storage and a service worker? I don't know of any surefire ways to protect against the first delivered page being compromised, or a compromised browser environment, but could you lock down the upgrade path for the app for returning users by moving it outside of the page load path? (Not just a question for OP, I've been wondering about this for a bit now, it's kinda critical path for delivering P2P experiences to a browser tab - you need a way to minimize trust of the server hosting the HTML/JS files otherwise it can trivially exfiltrate your secrets)

What is the migration path off of this? If I have this metadata file, how do I use it locally to fetch my encrypted files directly from the IPFS pinning server without having to return to your site?

How does multi-user access work?

What do you think the path to beating Google Drive on UI/UX is with P2P software?

---

We are working on a very similar problem to this right now, using the guts of IPFS and some stuff borrowed from Secure Scuttlebutt et. al. to manage encrypted files, identities, and capabilities. We also have a way to encrypt a file once and share individual per-user encryption keys on-demand bound to the user's private key. This lets the decryption keys be mirrored by nodes (i.e. put it on IPFS!), without the corresponding private key the decryption key is worthless. Next we are exploring UCAN for managing capabilities and granting access. And an overlay network to power it all. I'd love to compare notes with you.

Do you want a job? There is an open spot on my team working on exactly this stuff. Our goal is to make an SDK for building these exact types of apps.

Salary bands max out at $250k. Fully remote team, nomad friendly, 4 day work weeks. Time is spent roughly 50/50 implementing stuff and reading research papers (like Filecoin, IPFS, Scuttlebutt, etc.).

We have an open interview challenge for the team that gives some good insight into what the role is and what a "day in the life" will be like: https://gitlab.com/webai-open/network/interview-challenge

Re: Show HN: Encrypt and upload files to IPFS from browser

#14
post #12
post #11

Earlier quoted context omitted.

It's encrypted directly on your browser, you can download the encryption key after file is uploaded. Not content-based (because the header is randomly generated & you keep the encryption key) but you can share to secret file to others and they will be able to download the file. Files are pinned mainly by NFTStorage. Currently it's free because NFTStorage is free. If things change I would allow buying storage using Fi…

According to NFTStorage's Terms and Conditions: > The Service is offered for the creation and storage of NFTs. Use of the Service to store other types of data is not permitted. Do you have a special agreement with NFTStorage which overrules the general Terms and Conditions?

[deleted]

Re: Show HN: Encrypt and upload files to IPFS from browser

#15
It's hardly unlimited though. I can't even upload a 1.82kB image file to test it. Probably because whatever service it uses to access IPFS is saturated. So that wouldn't be unlimited in my book.

I love selfhosted stuff like IPFS, but keep expectations realistic or people will just leave with a bad impression of them.

Re: Show HN: Encrypt and upload files to IPFS from browser

#18
Encryption gets broken eventually as we get more compute power, and the current algorithms could have problems we're not yet aware of. IPFS requires every node to agree to your delete request (if I'm understanding it correctly).

What's stopping someone from just vacuuming all the data they can until codebreaking catches up with encryption?

Is there a way to remove malicious content? For example, if someone uses this to store some malware's payload and you don't want your project being used for that, what happens?

That said, IPFS is cool, and this project is a neat application of it

Re: Show HN: Encrypt and upload files to IPFS from browser

#19

Neato! My main concern is reliability of this type of service. Given the boom/bust cycle of crypto I have my hesitations. Anyway to download a file via curl? I wouldn't mind setting up a cronjob to periodically download a testfile to track the reliability over time.

I think curl added some support for ipfs recently. Saw a previous discussion here https://news.ycombinator.com/item?id=37628525

Re: Show HN: Encrypt and upload files to IPFS from browser

#20

This is amazing, great work! I love that it does everything in-browser. A handful of questions: Your currently uploading to a gateway and are considering moving to your own gateway backed by filecoin. Have you considered ditching the gateway and using the libp2p WebRTC and/or WebSocket transports to upload directly to the network via the browser tab? Where are you hosting this and how are you protecting against "supp…

It's always very cool to see ShowHN posts result in a job offer. Seems to happen often enough here, but I never really see it on any other forum
Post reply on HN