Proton Calendar to...Android calendar? Via caldav, perhaps?

submitted by iturnedintoanewt

Hi guys! So, I have Proton Mail, and this also gives me the Calendar. I love that I have a encrypted private calendar, but it bothers me that it doesn’t play well with any other app, as it’s not officially a “calendar” to Android. This bothers me, because I use GrapheneOS, with mostly no Google services, and I'd like my Gadgetbridge-connected smartwatch to be able to display calendar events, since they're not being shared with anyone else. But I can't, because Proton Calendar isn't really an Android Calendar. There’s a way in Proton to permanently share a link to your private calendar. In effect, it’s an up-to-date .ics file, that I believe needs to be checked/downloaded every time there’s an update. Is there a way to update this in Proton? Alternatively, I wouldn’t mind creating some caldav system that imported this, but not sure if there’s already any guide for it?

Thanks so much!

Log in to comment

22 Comments

poVoq
MangoPenguin , edited

Unfortunately Proton doesn't have much in the way of standard protocols, no IMAP/SMTP, CalDAV, CardDAV, etc..

IMO Nextcloud while not great as a file syncing program, makes a pretty good Calendar and Contacts storage with full support for those protocols, and a webUI to access them.

iturnedintoanewt [OP]

Yeah... I'm afraid i might need something like that in the end. Can you hold events in different color for different categories of things?

starlord

Yes, you can, and I would also vouch for Nextcloud.

starlord

Let's not forget that the point of Proton's services is encryption. The more points you want it to go through (Proton to Cal{SVC} to Android calendar app to watch), the more you have to relinquish that security if they aren't cooperative/companion apps.

For example, I use Proton on the web (through Tor, actually) because I get the security. If I used the Bridge, I'd be decrypting a layer just so I could use a favored email application.

iturnedintoanewt [OP]

Sure. But you should be able to decrypt it, so you can use your favored application, if so you choose. Or your favored OS. Which in my case is GrapheneOS. So I'm already in a kinda private environment. I can trust the internal OS not to talk to GOS. And I can trust my watch to do the same, because it's locked completely thanks to Gadgetbridge. The official companion app only saw the watch in the initial pairing/key exchange, in a garbage separate profile that doesn't hold any useful data, and it was removed immediately after. As you can see, my scenario is full data lockdown, and yet I can't choose my favored app to use in my trusted zone.

starlord

You're not wrong, it's just about how Proton is built right now. It's still a pretty young ecosystem.

I will menton that all of their apps (both from GP and F-Droid) work great on my OOTB Galaxy 21 and send all notifications (emails, calendar events, etc.) to my Samsung Gear 3 watch no issues.

Successful_Try543 , edited

If proton supports CalDAV (I'm not sure), it should work e.g. with DAVx5 which integrates well with Android calendar.

calm.like.a.bomb

It doesn't support CalDAV. It's the main reason I gave up on them. Also, having to use their mail client is not cool.

Successful_Try543 , edited

That's odd. I hate closed eco systems.

dracs

It's not that it's closed, it's more that none of the exiting email protocols support a server which can't read your email (as it's all encrypted). They do offer Proton Bridge which you can run locally which will handle all the decryption and local mail clients can talk to that as the would any other mail server.

I don't know off hand if it supports calendar syncing though.

iturnedintoanewt [OP] , edited

Nope, not yet. Also very demanded by the users, but nothing released on that end yet.

https://protonmail.uservoice.com/forums/932842-proton-calendar/suggestions/39383308-bridge-support-for-calendar-outlook-thunderbird

iturnedintoanewt [OP]

While they're reinventing the wheel at every step, the default email protocols involve your email being unencrypted at every hop until it reaches destination. While their solution in effect also has the same issue, they allow for sending encrypted emails you can only open by clicking on a link to decrypt them, or similar. And everything at their end is fully encrypted, which is why i bought in...But its getting old at how everything is a closed ecosystem not playing nice with anything else in any OS.

lemmyvore , edited

There are two ways to use an .ics link:

  • You can add it in Google Calendar using "add URL" and it will show up in the GC app. Downside is that you need to use the app... and also it refreshes the link when it wants (you can't set it).
  • You can use a calendar app that can import .ics links directly. The one I use is called Calengoo. This way you'll be able to control when to refresh it, but it bypasses the normal Android calendars so it won't be visible to other apps or widgets except the one that imported it.

I noticed what you said about not using Google services. The Calengoo app has a version you can download on their website (as opposed to Google Play) and purchase a license code with CC or PayPal, that is not tied to Google Play.

iturnedintoanewt [OP] , edited

Thanks...one option is sharing your data from Proton back to google, which I was trying to get away from. The other involves a closed source paid app, which I'd also avoid. I'm guessing I'll have to lay down my own caldav sync container/server to sync from.

lemmyvore

There are FOSS Android apps that work with .ics URLs, like ICSDroid and DavDroid. Some of them work read-only but I guess you're ok with that.

Radicale and Baikal servers are fairly easy to set up in Docker. Let me know if you run into trouble.

I use Radicale and I expose it over the internet at my own domain. It has full support for events, tasks, contacts (and notes, if you can find an app to support them, AFAIK the only working combination is DAVx5 + jtxBoard). The data is saved in plain text files so it's very easy to backup and non-proprietary. The server itself is lightweight, it's literally only one process (Python) and uses about 100 MB of RAM. It has a basic web interface you can use to check if login credentials work and to create/import calendars and contacts. You can turn off this interface when not needed.

iturnedintoanewt [OP]

ICSDroid

Duuuude. I just wish I saw your comment BEFORE spinning and fighting with a nextcloud container. Well...At least I didn't go all the way in just yet. Just found out ICSx5 does exactly this (it popped when searching for icsdroid on f-droid). My calendar is populated with the Proton Calendar. For my use, I can create events with proton calendar, and Android gets it to the local calendar via ICSx5. Thanks man!

lemmyvore

I hope you weren't installing NextCloud just for CalDav because that would indeed be overkill. 😆 Glad you found something that works.

iturnedintoanewt [OP]

Yeah...Overkill indeed. I was considering to stop using proton calendar altogether and just migrating to NextCloud...but seems this might work much easier.

helenslunch , edited

I don't understand the question.

I use GOS with Proton Cal and it gives me notifications. These should be pushed to your watch over BT.

Proton doesn't work like other calendars because it's encrypted. I guess they could make something similar to the "mail bridge" for this purpose? In fact, that may work already with something like Thunderbird and then you could install thunderbird on Android and link them together? Not really sure.

iturnedintoanewt [OP] , edited

Yes, it gives you notifications on events about to happens (or for which you have set a timed notification ahead of the time). But can you get a week overview? Or a day overview? Do you have a calendar in the watch? Because I do, and mine is empty because it can't sync with proton (mind you, I still receive notifications for the events coming in 30mins, or a day ahead if I set it that way on the proton calendar app...but I can't view the event itself, just the notification of it!).

Android itself (GrapheneOS in my case) isn't getting calendar events, because Proton Calendar isn't an Android Calendar app. If you click on your Permission Manager, you can see the different kinds of permission specific apps can request. As in, access to the phone, to the cameras, to the SMS, to the files....to the CALENDAR. Guess which app doesn't even bother to use the Android calendar infrastructure laid for them? Because internally it's not officially an android calendar app, at least not internally in its manifest.

helenslunch

I don't have a watch because I find they add little utility and are overwhelmingly invasive and proprietary. So I don't know about any of that, sorry.