Hacker News new | past | comments | ask | show | jobs | submit login
EteSync – Secure Data Sync (etesync.com)
150 points by wcerfgba on Feb 2, 2021 | hide | past | favorite | 36 comments



Hey everyone, developer of EteSync here. Sorry for not answering questions earlier, I literally just woke up. :P

If you are a developer, you may be interested in our related project, Etebase[0], which is an open-source SDK for building end-to-end encrypted applications. Here's the related HN discussion[1].

For those of you that are interested to learn more about EteSync, I was on FLOSS weekly last week[2], and I'll be giving a talk about Etebase at FOSDEM this weekend[3].

[0] https://www.etebase.com

[1] https://news.ycombinator.com/item?id=25059133

[2] https://www.twit.community/t/floss-613-etesync-and-etebase/9...

[3] https://fosdem.org/2021/schedule/event/etebase/


I use EteSync both at my company and personal life to share events with the team or with my wife, and to manage my contacts and tasks on my "no Google allowed" phone.

I can integrate with calcurse[1] to stay up to date during the day or with aerc[2] when I need to send an email to someone, because they include a Dav bridge[3], but I can also integrate it with the GNOME environment because a module for evolution exists[4].

Plus, the developer[5] has been genuinely nice and handled all support, and billing questions like a champ, in a speedy manner, and always in a polite tone.

My only problem with EteSync so far is that sharing an event can only be done through the web application right now, so I need to switch from calcurse to a browser, share the event, and then come back. Minor issue in the grand scheme of things, though.

Well worth the price, in my opinion. Might be one of the few services that I do not migrate to a self-hosted instance instead.

[1] https://www.calcurse.org/

[2] https://aerc-mail.org/

[3] https://github.com/etesync/etesync-dav/blob/master/README.md...

[4] https://www.etesync.com/user-guide/evolution/

[5] https://github.com/tasn


Thanks for the kind words! (EteSync developer here)

Sharing: you can also do sharing from all of the apps (e.g. Android), but yeah, you can't share from 3rd party apps (yet!).


Thank you for sharing the resources and inspiration. What email and calendar apps do you use on your phone?


I use FairEmail[1] as my email client and Simple Calendar Pro[2] for my calendar needs, both from the F-Droid store.

[1] https://f-droid.org/en/packages/eu.faircode.email/

[2] https://f-droid.org/en/packages/com.simplemobiletools.calend...


Thanks!


Etesync is awesome. Totally worth the buck. Does one (or two things) and does them well. Support is superb.

Perfect for backing up and syncing contacts for those that don't want to give the data to Google etc.


Thanks. :)



Also 2017: https://news.ycombinator.com/item?id=13975965

(The one from 3 months ago didn't get significant attention so I don't think we'll mark it a dupe - see https://news.ycombinator.com/newsfaq.html.)


How does it do differential updates if everything is encrypted?

It would mean the server needs to keep an eternal log of operations, and each client must replay the log to perform a full sync.

This works with lightweight data like contacts and calendars.


EteSync 1.0 (released 4+ years ago), was very much inspired by Git, and it indeed suffered from this problem. Each client had to replay the full log, and it only really worked well for lightweight data. With version 2.0 of the protocol (released end of 2020), we changed it so that items (blobs of data) can be marked as changed and thus you only need to fetch the currently active items, rather than the full operations log. This works much better.


how does this fair against syncthing? i use that and "it works"


Developer of EteSync here (and a mostly happy user of Syncthing)!

EteSync focuses on syncing your contacts, calendars, tasks and notes, not just files (yet). Syncthing doesn't do any of that. There are also big advantages in having a server when it comes to efficiency, performance, and battery life (every Syncthing user knows it's a battery hog on Android). There are many advantages in having a server, and end-to-end encryption means you don't have to pay with your privacy or security to get them.


Syncthing has used 0.5% of my phone's battery over the last 7 days, despite a big photo and video sync job, while instantly syncing every change I make to my KeePass database. I can't speak for other Android users, but "every Syncthing user knows it's a battery hog on Android" definitely doesn't reflect my own experience.


This has been the number one Syncthing complaint since the beginning. Here are just some of the top search results:

https://www.reddit.com/r/Syncthing/comments/g5fe9l/there_are...

https://www.reddit.com/r/Syncthing/comments/8ra7s7/how_to_av...

https://forum.syncthing.net/t/android-app-consumes-too-much-...

The solution most people resort to is to just disable syncing when not connected to power (which is what I do). Maybe you are lucky, I don't know, but I've always had terrible battery life with Syncthing, and it's a common complaint.


It looks like it is mostly end to the same end encryption. So they could of saved some words and just said it was encrypted.

Waiting for the marketing people to start calling disk encryption E2EE...


Developer of EteSync here.

You can share your collections with other users, so it's definitely end-to-end encryption. Though I'd argue that even if it was just single-player, it was still e2ee, because you have multiple devices and the server is oblivious to the contents of the data. Sure, you could maybe call that client-side encryption to have a different term, but that would just confuse people.


There is a convention to the use of the E2EE term. All encryption involves a party that encrypts and one that decrypts. When the German U-boat operator used an Enigma machine to decode a message off the radio no one then or now would call what had happened E2EE. That is even in the face of the fact that many operators in many U-boats were decoding the same message. EteSync works in the same way.

E2EE is a term normally only used when some distinction from a default case is important. It is in a sense a weaker term than just "encryption". It is normally only used for particular cases in messaging.

Something like: "All data is strongly encrypted at all times when off the users devices." strikes me as stronger, better and easier to understand in this case.


Is there a more detailed "How does it work?" available? For example, how end-to-end is the calendar functionality, does the server side see your calendar entries?


It uses the Etebase[0] SDK behind the scenes, so you can look at how Etebase works for how EteSync works. Here are the docs: https://docs.etebase.com/protocol-specs/introduction

The gist of it is: everything is encrypted. We can't see your calendar entries.

[0] https://www.etebase.com


I wish it support ProtonMail address book.


We wish it did too (developer of EteSync here). The problem is not on our end though, the problem is that ProtonMail uses their own proprietary (and closed) protocols and don't interact with the rest of the apps.


How does it compare to Nextcloud?


It's for contacts, calendar, tasks, and notes. It's more of a CalDAV/CardDAV replacement with end-to-end encryption than a Nextcloud replacement, which AFAIK doesn't have E2EE for syncing these bits.

Also, as it doesn't directly use CalDAV/CardDAV it depends on a client app. At least on Android, the app syncs to the system calendar/contacts so it works just as seamlessly as Nextcloud's recommendation of DAVx5 or any other contacts/calendar/tasks service in that you can access the data from any standard calendar or contacts application.


So it is basically the same... except that you can't share pictures, videos, or other file types? I wonder why you need a DAVx5-like app with EteSync if that is all it does?


It's not basically the same. Encryption makes the whole difference. With NextCloud all of your data is accessible by your provider, its employees, hackers, and everyone who gains access to the server. This is not theoretical, hacks happen all the time.


The provider is me... so if I get hacked, they could get the data while it is unencrypted on the client side.


Not everyone is a techie and can self host. You'd also need to self-host at home (even more of a pain). And anyhow, even if you are hosting at home, an internet connected server is much more of a target than a usually-behind-NAT phone.


It is not externally accessible... only the home VPN is (I'm also using DDNS just in case my semi-static IPv4 changes). But of course nothing is 100% secure.


Sure, if you have a VPN that's probably fine. Though this is another piece of tech you need to setup, and thus another barrier for non techies. That's why encryption (secure by default) is better than having users know how to securely setup things, and even needing to know that it's a concern.


> which AFAIK doesn't have E2EE for syncing these bits

Which ends do you mean? It supports TLS, so it's E2EE (between server and client).


The relevant “ends” in end-to-end encryption are usually clients, and that’s the case here.


NextCloud uses the protocol/you can sync your NextCloud account with it.


NextCloud doesn't support the EteSync protocol, so you can't sync your EteSync account with it. NextCloud is not encrypted.


Awesome!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: