One useful tool for many groups is a shared calendar. Many people are familiar with using digital calendars in the context of Google Calendar or a similar service as a software substitute ("SaaSS") product. Those technocapitalist “services” requires you to create and use an identity you do not control; that is, you must have a Google Account, Apple ID, Microsoft Live account, etc. However, calendaring capabilities are already built-in to your devices, and do not actually require you to brand yourself, and by extension all your friends with whom you wish to share a calendar, with a corporate brand.

Background

The invention of CalDAV was spearheaded by Lisa Dusseault in the early 2000’s and has since become a widely-adopted industry standard.

All corporate services (Google Calendar, Apple iCloud Calendar, etc.) use a publicly available, standard protocol for communicating about time-based event information called CalDAV, the Calendaring extensions to the Web-based Distributed Authoring and Versioning protocol. When you’re using Google Calendar, you’re using CalDAV. But you can use CalDAV without using Google (or Apple, Microsoft, etc.) by replacing your Google-provided applications with one or more of the many alternative free software programs capable of providing the same CalDAV features. This guide shows you how.

Instructions

This section describes the general process of setting up software that understands CalDAV. We call these various software tools “CalDAV clients” or “CalDAV servers.” In most cases, you will only have to concern yourself with learning to use one CalDAV client. People who wish to administer a shared calendar service for their comrades will also need to familiarize themselves with at least one CalDAV server.

Client setup

This section describes setting up a client for a CalDAV account. Please note the following before you begin:

Apple Calendar

macOS computers supply an application called Calendar as part of their base system. If you have a Mac, you already have the “Calendar” app, which is a CalDAV client. This means you already have everything you need to use a CalDAV shared calendar (including Google Calendar, but also any other CalDAV service).

Do this to add a CalDAV calendar to your macOS computer:

  1. Open the “Calendar” application (Calendar.app) on your computer. You can do this by searching for “Calendar” from a Spotlight search, or navigate to the /Applications folder in a Finder window.
  2. Go to the application menu (the one that reads Calendar), and select Add Account…. The “Choose a Calendar account provider…” sheet will appear.
  3. Select the option that reads Other CalDAV account… and then click Continue. The “Add a CalDAV account” sheet will appear.
  4. From the Account Type drop-down menu, choose Manual. You will be presented with three text fields asking for your CalDAV account details, labelled:
    1. User Name – This is your account’s username. This is usually your email address or a name you chose. (For a Sandstorm-provided account, it will probably be sandstorm).
    2. Password – This is your account’s password. This is almost always something you chose. (For a Sandstorm-provided account, it will be a randomly generated string available from the Web Browser interface of the Radicale grain.)
    3. Server Address – This is the address of the CalDAV server itself; this will be provided to you by your system administrator or the service you use. (For a Sandstorm-provided account, it will be a regular Web address—i.e., a URL—findable by clicking the small cloud icon to the left of the Web Browser interface of the Radicale grain.)
  5. Press the Sign In button on the “Add a CalDAV account” sheet. Your new calendar will appear in the Apple Calendar application’s sidebar.

Mozilla Thunderbird

Mozilla Thunderbird is a free, cross-platform personal information manager, which is also a CalDAV client. You can use it as an alternative to Apple Calendar on macOS, or to Microsoft Outlook on Windows, as well as on GNU/Linux.

Do this to add a CalDAV calendar to your computer with Mozilla Thunderbird:

  1. Open Mozilla Thunderbird on your computer.
    1. If this is your first time running Thunderbird, it will prompt you to make a new email address or use your existing address. You can do this if you want, but for the purposes of CalDAV it is unnecessary, so you can just click “I think I’ll configure my account later.”
  2. Click on the “Calendar” icon near the upper-right corner of the Thunderbird window to view the Thunderbird calendaring interface.
  3. Right click below the Calendar menu and click New Calendar….
  4. Select the option that reads On the Network
  5. For the Format field, choose CalDAV. In the Location text field, put the address of the CalDAV server itself; this will be provided to you by your system administrator or the service you use. (For a Sandstorm-provided account, it will be a regular Web address—i.e., a URL—findable by clicking the small cloud icon to the left of the Web Browser interface of the Radicale grain.)
  6. In the next screen, enter a meaningful name for the calendar into the calendar’s Name text field.
  7. Click Finish on the next screen.
  8. After a brief pause, an Authentication Required screen will come up.
    1. User Name – This is your account’s username. This is usually your email address or a name you chose. (For a Sandstorm-provided account, it will probably be sandstorm).
    2. Password – This is your account’s password. This is almost always something you chose. (For a Sandstorm-provided account, it will be a randomly generated string available from the Web Browser interface of the Radicale grain.)
  9. After clicking OK, your new calendar should appear!

Mozilla Thunderbird with Tor

Additional configuration steps are required for Mozilla Thunderbird to successfully route its requests through the Tor privacy-enhancing overlay network. Note that if you will be accessing an authenticated Tor Onion service ("hidden service"), you will also need to configure your Tor client itself.

Do this to have Mozilla Thunderbird connect to servers over Tor:

  1. Download and install the Tor Browser. The Tor Browser installer contains a Web browser and bundles the complete Tor software along with it.
  2. Open (launch) the Tor Browser. To use your CalDAV client through Tor, the Tor Browser must be open and running at all times.
  3. Open (launch) Mozilla Thunderbird, if it is not already open.
  4. Configure Thunderbird to use a SOCKS proxy from its Preferences window, which is accessible under the Thunderbird (macOS) or Tools (Windows and GNU/Linux) menu, depending on your Operating System:
    1. Click on the Advanced pane.
    2. Click on the Network & Disk Space tab.
    3. Under the Connection heading, click the Settings… button. The “Configure Proxies to Access the Internet” sheet will appear:
      1. Choose the Manual proxy configuration radio button.
      2. For SOCKS Host, enter 127.0.0.1.
      3. For Port, enter 9150; this is the default port number used by Tor Browser. If your Tor uses a different SocksPort, you should enter it here.
      4. Choose the SOCKS v5 radio button.
      5. Press the OK button to save your new settings.
  5. Configure Thunderbird to use the same SOCKS proxy for its DNS resolution queries; this is required to access CalDAV servers running as Tor Onion services (i.e., servers available at domain names that end in .onion addresses).
    1. From Thunderbird’s Preferences window:
      1. Click on the Advanced pane.
      2. Click on the General tab. (Do not confuse this with the “General” pane.)
      3. Click on the Config Editor… button. Thunderbird’s about:config interface will appear.
        1. If this is the first time you have opened the Config Editor, you may be presented with a warning telling you that you will “void your warranty” if you continue. This is a joke in arguably poor taste; Mozilla Thunderbird provides users with no warranties of any kind, and never has. Proceed through the warning to access the Config Editor.
        2. In the Search field, enter network.proxy.socks_remote_dns to filter the advanced configuration options down to this specific option:
        3. Double-click on the network.proxy.socks_remote_dns line item to toggle its value from false to true:
  6. Close (quit) and re-open (launch) Mozilla Thunderbird again.

Finally, note that in situations where Tor Onion services are provided over TLS-encrypted connections and the TLS certificate presented to the client does not contain the .onion address as a Subject Alternative Name, an additional configuration step is required. In these situations, Thunderbird will likely complain with a certificate validation error, typically a hostname mismatch. To correct this, configure your Tor client to translate the domain presented in the TLS certificate with the .onion domain of the Onion service using the Tor MapAddress configuration directive. For more details, see Connecting to Freenode § Verifying Tor TLS connections.

iOS

Apple-branded products run a proprietary Operating System called iOS. Thankfully, iOS features built-in support for the CalDAV protocol and its iCalendar file format. If you have an iPhone, an iPad, or another Apple-branded handheld or mobile smart-device, you already have everything you need to use CalDAV seamlessly and easily.

Do this to configure a new CalDAV account in your iOS device:

  1. Open your iOS device’s built-in Settings app.
  2. Tap on Accounts & Password. (On older versions of iOS, this item used to be called “Mail, Contacts, and Calendars.”)
  3. Tap Add Account, and choose Other at the bottom of the list:
  4. Under the Calendars heading, tap Add CalDAV Account:
  5. In the fields that follow, you will be asked for some information:
    • Server is the address of the CalDAV server; this will be provided to you by your system administrator or the service you use. (For a Sandstorm-provided account, it will be a regular Web address—i.e., a URL—findable by clicking the small cloud icon to the left of the Web Browser interface of the Radicale grain.)
    • User name is your CalDAV account’s username; this is usually your email address or a name you chose. (For a Sandstorm-provided account, it will probably be sandstorm).
    • Password is your CalDAV account’s password; this is almost always something you chose. (For a Sandstorm-provided account, it will be a randomly generated string available from the Web Browser interface of the Radicale grain.)
    • Description can be anything you like. This is a personalized label intended to help you remember the purpose of the new calendar account you are adding.
      After filling in the details for your new CalDAV account, tap the Next button.
  6. In the following screen, you will see two toggles, one for Calendars and one for Reminders. Leave both turned on (green) to enable automatic synchronization and reminders/notifications from the calendar’s events:
  7. Tap Save in the upper right-hand corner to commit the configuration for your new CalDAV account to your device.

Android-based phone

Most Android smartphones come with a calendaring application, typically called “Calendar,” but out-of-the-box support for CalDAV sync features is arbitrarily limited to technocapitalist products such as Google Calendar that demand possession of all your data (which is why we call them “possessors”). Thankfully, several free software alternatives exist for Android, but you will need to install them yourself. This section shows you how.

Overview for Android:

  1. Install F-Droid
  2. Install DAVx5
  3. Configure DAVx5

Install F-Droid

F-Droid is an app store for Android phones, much like the Google Play Store, but enhanced with a number of important features. It gives you access to numerous apps that you would otherwise have to pay for if you bought them on the Google Play Store, as well as additional apps not available on the Play Store because their developer cannot afford the listing fee Google requires to list apps in the Play Store in the first place. Moreover, F-Droid also allows you to share an app without the Internet; if you and a friend both have F-Droid installed, but you have an app your friend doesn’t, your friend can get the app onto their phone from your phone instead of from a far away device across the Internet.

Installing F-Droid from the Internet

If you don’t have a friend with F-Droid installed on their phone physically near you already, you need to get F-Droid from the Internet.

Do this to download and install F-Droid from the Internet:

  1. In your phone’s Web browser, visit F-Droid.org. The F-Droid homepage will load.
  2. Click the Download F-Droid button on the F-Droid homepage. The F-Droid installation package for Android (.apk file) will be downloaded to your phone.
  3. Open the downloaded installer package using the notification shade or any file manager. Your phone’s package installer will open.
  4. If this is the first time you’ve tried to install an app from somewhere other than the Google Play Store, you will see a dialogue box that reads something like “For security, your phone is set to block installation of apps obtained from unknown sources.” If you see this, Tap the Settings button to go to the Security section of your phone’s system settings.
    1. Toggle the Unknown sources option on (enable it). This allows you to install software from downloaded files. After you finish this procedure, we recommend that you return here and toggle the option back off.
    2. Return to your file manager and re-open the F-Droid installer package.
  5. Tap Install to install F-Droid.
Installing F-Droid from a friend’s phone
TK-TODO

Install DAVx5

DAVx5 is a CalDAV client that integrates well with the built-in calendaring applications on Android phones. It is available for purchase from the Google Play Store and is available for free from the free software F-Droid catalog. We recommend you install DAVx5 from the free software F-Droid catalog. If you don’t have F-Droid yet, install F-Droid first, then return here.

Another good option is a related tool called ICSx5, though it only supports read-only calendar subscriptions. If DAVx5 gives you trouble but you merely need to receive event information (and not edit those events’s data using your phone), give ICSx5 a try.

Do this to install DAVx5:

  1. Open the F-Droid app on your phone.
  2. Tap the magnifying glass icon and search for DAVx5, then tap on the DAVx5 search result to view the DAVx5 package detail screen.
  3. Tap the Install button to download DAVx5 from the Internet and attempt to install it. The package installer will open.
  4. If this is the first time you’ve tried to install an app from somewhere other than the Google Play Store, you will see a dialogue box that reads something like “For security, your phone is set to block installation of apps obtained from unknown sources.” If you see this, Tap the Settings button to go to the Security section of your phone’s system settings.
    1. Toggle the Unknown sources option on (enable it). This allows you to install software from downloaded files. After you finish this procedure, we recommend that you return here and toggle the option back off.
    2. Return to F-Droid’s package detail page and tap the Install button again.

Configure DAVx5

Do this to configure DAVx5 to sync with a CalDAV server:

  1. Open the DAVx5 app on your phone.
  2. Tap the + (add new account) button. The “Add Account” activity screen will open.
  3. Tap Login with URL and user name. Three text fields will appear:
    • Base URL is the server address of the CalDAV server; this will be provided to you by your system administrator or the service you use. (For a Sandstorm-provided account, it will be a regular Web address—i.e., a URL—findable by clicking the small cloud icon to the left of the Web Browser interface of the Radicale grain.)
    • User name is your CalDAV account’s username; this is usually your email address or a name you chose. (For a Sandstorm-provided account, it will probably be sandstorm).
    • Password is your CalDAV account’s password; this is almost always something you chose. (For a Sandstorm-provided account, it will be a randomly generated string available from the Web Browser interface of the Radicale grain.)
  4. Tap the Login button. The “Create Account” screen will appear.
  5. Give the account a meaningful name.
  6. Tap the Create Account button. The DAVx5 main activity screen will appear.
  7. Tap the account you created. The account detail screen will appear, showing a list of the calendars available to your account.
  8. Tap the checkbox next to the calendars you want to synchronize to your phone from the CalDAV server.
  9. Tap the “Synchronize now” button to begin syncing. DAVx5 will now periodically check for updates to the selected calendar(s).

Your smartphone’s built-in calendaring application should now be able to display events from the synchronized calendar. If you have permission to make changes to the events on the calendar, you can use your smartphone’s built-in calendaring application to update the synchronized calendar, as well.

Server setup

TK-TODO

Self-hosted Radicale instance as a Tor Onion service

See Radicale.

Radicale+InfCloud on Sandstorm

TK-TODO

See also

Address book
Digital business cards and contact information (using CardDAV).