-
Notifications
You must be signed in to change notification settings - Fork 164
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
End-to-end encrypted storage type #254
Comments
In the meantime I took a look at the remotestorage protocol, and can say that it's a perfect fit (as already said by rhodey). Apart from the crypto, it does everything right, both in simplicity and security/usability. It's a perfect drop-in replacement for the WebDAV that Flock uses. There has been some discussion about adding an transparent encryption layer to the remoteStorage JS library. I have a local branch that implements a (unencrypted) remoteStorage storage type, with OAuth support and everything. It's not ready yet:
What I'd like to see is (in that order):
|
By the way, it would only make sense for this to get implemented if there were mobile apps supporting the same protocol. Otherwise you might as well just use BitTorrent Sync or Syncthing. |
EteSync looks like a very promising successor to Flock. It is a fork of DavDroid, but communicating over a non-standard protocol with a custom (OSS) server. @tasn, two questions:
|
I'm very happy to discover this project, it looks like a perfect match for desktop support.
I removed it when I changed the protocol, just so I can develop faster, but I plan on adding it back. I can look into it soon.
There is one change I would like to make to the protocol before I can consider it stable, though this changed has been planned for a while, and apart from it I think the protocol is pretty future proof, and even this change can (and will) be done in a backwards compatible way. Essentially, at the moment I derive the encryption password from the user password and use it for all of the journals. This is absolutely fine in a single-user environment, but I would like to be able to let users share journals with other users (think shared calendars), so generating a secure password per-journal is needed. I plan on changing it very soon, so it'll probably already be fixed by the time you get to this part. As for reimplementing it: I'd be more than happy to help creating a reusable python library that interacts with EteSync. It should be fairly simple. I made sure to keep the protocol as simple as possible. The java code that deals with the journal is tiny, and vCard and iCal libraries are readily available for many languages. Please let me know if you need anything else from me. |
I don't parse vCard and iCal very extensively because CalDAV and CardDAV can be treated like glorified BLOB storages. Is there anything in your protocol that would prevent me from downloading and uploading entire VEVENTs or VCARDs? EDIT: Yes, it is end-to-end encrypted but it could be that you encrypt per-property or something like that. |
What do you mean by entire VEVENT or VCARD? You mean not dealing with the content? If so, then yes. That's it. |
Yeah that's what I mean. 👍 |
Just adding it here for reference, work seems to be well on the way (by @untitaker) |
Flock was shut down (see https://gist.github.com/rhodey/873ae9d527d8d2a38213), but I'd like to see a successor.
See also signalapp/Flock#93
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: