Hacker News new | ask | show | jobs
by guessmyname 483 days ago
I created a super-simple CalDav-esque web endpoint in my personal website that receives HTTP requests from a command line tool, stores the calendar events, and then returns them as a dynamic ICS file. Then, I use Apple’s Calendar app to subscribe to a “hidden” URL and iCloud automatically distributes the subscription to all my devices.

It sounds super dumb but it works so well.

The main feature is that I can categorize the events (personal, family, work, friends, etc.) and share individual URL’s with other people. Admitedly, I didn’t try solving this problem with Google Calendar, Apple Calendar, or any other calendar service, mostly because I wanted to own my data and also learn a bit more about CalDav itself.

3 comments

This is close to what I want. I manage all my calendars in radical caldav server and want a sharable calendar that just shows the empty spots between all calendars with minimal detail fo easy scheduling.
It would be nice if Radicale could serve a FREEBUSY URL which takes contents from a your calendars. Some applications support this format and can help with scheduling meetings. I never got to use it in practice though.
Would love to see the code for this! Do you have it available?
Could you elaborate on the "hidden URL"?
Just a hard to guess one. Like using UUID or things.
I'd be way more comfortable with a VPN or some kind of access-gating for a personal calendar compared to just exposing it on the web and relying on obscurity..
Web calendars don't offer authentication. You have to build it into the URL anyway. If a service I use -- let's say my bank's chequing account, wants to offer a calendar I can subscribe to, I'll be given a URL that looks like https://somebank.com/api/cal?token=abc12345. Anyone who knows that URL can see the calendar as well. No different than my own web app where the URL is https://mysite.com/dev/cal_abc12345.ics.

For a personal calendar, I see no reason to make it any more secure than an obscure URL.