Alternatives to EteSync for contacts sync?
Since Etesync has become abandonware with next to no code maintenance and communication having become an afterthought I wanted to move away from Etesync in a way that minimizes risks on data leakage and maintain my privacy in other aspects as well.
As there is pretty much no other application that hosts both a calendar and address book client side encrypted, choosing any online service runs the risk of being read by third parties. Also, in terms of security I think the biggest big tech companies would be safest but they also invade your privacy the most, by far. And any company hosting stuff for many clients is an interesting target for hackers. Then there is the option to rent a NextCloud instance or so. But that still has many of the above risks. Privacy concerns mainly concern three risks:
- Data leakage/hackers
- Privacy invasion
- Authorities using either illegal or legal power
I decided the latter was a lesser risk (for now) than the other 3, seeing that I live in West Europe. So I decided to self host. First I thought about Radicale but there seems to be a reasonable amount of users experiencing problems. In the end I decided on Davis, a SabreDav fork with a really nice UI and decent feature set. So this is how I did it:
- Tried to install myself but I didn’t get it to work. I’m no Docker expert. I installed Yunohost and installed Davis as a Yunohost app. Installation works nicely, but it needed one modification for my dav clients to be able to connect. Can be found in the issues for the specific Yunohost app repo on github.
- I had 5 agenda’s to migrate. I exported every calendar seperately in an .ics file. I then disabled the Etesync app.
- I then created the agenda’s in the Davis user account. If you need to share agenda’s between accounts then that’s no problem BUT first fully create the agenda’s before you share! Any changes in display name, color etc AFTER you shared are not automatically available for the account you shared with. I needed to navigate to the user account I shared a few agenda’s with → agenda’s → open agenda shared with account → manually add the edits. A small point of improvement for Davis.
- Installed KashCal for caldav sync and import of the exported agenda’s. Connect your account. The dav endpoint is
<davis local domain>/dav/. Then in the settings choose import appointments. You can choose the file to import, then the new agenda in Davis to import it to. This way you can restore all your agenda’s. - I use a different calendar app (fossify) because it has a widget feature I really like. After the steps in KashCal you can install Davx5 for sync . Then the agenda’s could also be found in the Fossify agenda.
- On my partners phone I also did these things. That was a new phone with GOS and no contacts yet. I exported all contacts on the old phone to a vcf file (warning: Google Dialer supposedly uses a very old format that is not compatible with new apps). It can then be imported with the GOS contacts app or any other supporting this. Be sure though to choose the carddav enabled account and not local phone storage.
You have now succesfully migrated away from Etesync or any other service you want to get rid off It takes some time but it’s very doable in an afternoon or shorter.
Discussion in the ATmosphere