this post was submitted on 08 Jun 2024
33 points (97.1% liked)

Selfhosted

39435 readers
3 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

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!

all 22 comments
sorted by: hot top controversial new old
[–] [email protected] 14 points 6 months ago
[–] [email protected] 11 points 6 months ago* (last edited 6 months ago) (1 children)

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.

[–] [email protected] 1 points 6 months ago (1 children)

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?

[–] [email protected] 2 points 6 months ago

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

[–] [email protected] 5 points 6 months ago (1 children)

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.

[–] [email protected] 1 points 6 months ago (1 children)

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.

[–] [email protected] 2 points 6 months ago

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.

[–] [email protected] 3 points 6 months ago* (last edited 6 months ago) (1 children)

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

[–] [email protected] 10 points 6 months ago (1 children)

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.

[–] [email protected] 3 points 6 months ago* (last edited 6 months ago) (2 children)

That's odd. I hate closed eco systems.

[–] [email protected] 4 points 6 months ago

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.

[–] dracs 4 points 6 months ago (1 children)

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.

[–] [email protected] 1 points 6 months ago* (last edited 6 months ago)
[–] [email protected] 3 points 6 months ago* (last edited 6 months ago) (1 children)

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.

[–] [email protected] 1 points 6 months ago* (last edited 6 months ago) (1 children)

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.

[–] [email protected] 2 points 6 months ago (1 children)

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.

[–] [email protected] 1 points 6 months ago (1 children)

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!

[–] [email protected] 2 points 6 months ago (1 children)

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

[–] [email protected] 1 points 6 months ago

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