Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Has anyone here ever set up a CalDAV server on Windows for use with Android CalDAV clients?

680 views
Skip to first unread message

arlen holder

unread,
Jan 11, 2019, 9:34:49 AM1/11/19
to
Has anyone here ever set up a freeware CalDAV server on Windows for use
with Android (and iOS) CalDAV clients?

If you have NOT set up a personal CalDAV server on Windows for use with
Android clients, then please DO NOT RESPOND to this thread.
(It's ok if nobody knows the technical answer.)

If you have set up a CalDAV server, on Windows & Linux specifically,
for use with Android (and iOS clients), then I would like to simply ask you
how you set it up.

I'm already asking the Windows folks which CalDAV server is best:
<https://groups.google.com/forum/#!topic/alt.os.linux/ydQ9sG-8Y08>

And, as always, functionality lags woefully far behind for iOS clients:
<https://groups.google.com/forum/#!topic/misc.phone.mobile.iphone/OzUOmgJLmZs>

In summary, if you have ALREADY set up a freeware CalDAV server on Windows
that works on your personal home LAN with your Android (and iOS) clients,
all I ask is HOW did you do it?

--
If you've never set up a CalDAV server, please do not respond. Thanks!
(An empty thread is ok ... it just means nobody has done it yet.)

arlen holder

unread,
Jan 12, 2019, 11:40:28 PM1/12/19
to
> In summary, if you have ALREADY set up a freeware CalDAV server on Windows
> that works on your personal home LAN with your Android (and iOS) clients,
> all I ask is HOW did you do it?

UPDATE:
Here is a response I just made to Mike Easter, on the Linux newsgroup...
o Can we come up with a free, ad free, cloud-free calendaring system that works with Windows and Linux and mobile devices?
<https://groups.google.com/forum/#!topic/alt.os.linux/ydQ9sG-8Y08>

On Fri, 11 Jan 2019 08:12:49 -0800, Mike Easter wrote:
> The Radicale Project runs on most of the UNIX-like platforms (Linux, BSD,
> MacOS X) and Windows.

Hi Mike,
Sorry I haven't responded sooner, as today I finally realized what I'm up
against - which isn't fitting into the original plan due to pragmatics.
1. Linux
2. Windows
3. iCalendar

Your advice, and the information you found, was, as usual, fantastic, and,
just as usual, your advice was crucial, where I've belatedly come to 3
fundamental "conclusions" based on the links you (& others) provided.

1. Fundamentally, *Linux servers are the (best) way to go*, with
"NextCloud" or "Radicale" being the top two to consider ("OwnCloud" having
severe business problems that NextCloud doesn't seem to have).

2. Fundamentally, Windows "can" be done (based on what you've unearthed) -
but - setting up *Windows CalDAV servers are likely not for mere mortals*
(particularly those who know nothing of Python and who care nothing for
Python) - and even so - in my 80/20 dual-boot situation - I'd _still_ need
to interface with a Linux CalDAV server. (So Windows CalDav servers are
essentially out of the question, sadly.)

3. Fundamentally, simple *iCalendar standard text files work* on
intelligent clients, which, in the short term works rather well for me
simply because at any one point in time, I'm either on the desktop (Windows
80%, Linux 20%) or on the mobile device (Android 90%, iOS 10%) - where
judiciously chosen clients can export/import all events, en masse.

Hence, after deep rumination, I realize there are two "best" solutions...
A: Full-time Linux server (best) using almost any calendaring client
B: Extemporaneous iCalendar files (second best) using well-chosen clients

*Full-time LINUX Server:*
A: The "best" personal server/client solution is obvious - which is to
maintain a full-time Linux server on the personal LAN that the CalDav
server runs on - which can be a raspberry pi - or a spare old plugged-in
laptop (of which I have plenty whose batteries are dead).

*Extemporaneous iCalendar files:*
B. With or without a home CalDAV server, standard-format text iCalendar
*.ics files are perfect for passing the entire set of extemporaneous events
between well-chosen clients. The only caveat is that the client has to be
"intelligently chosen" since most clients I've tested do NOT both export
and import iCalendar text files (e.g., 24 out of 25 tested on Android
failed to both import and export iCalendar files - and 20 out of 20 tested
on iOS failed that same test).

The list of free clients that do not import & export iCalendar files is,
surprisingly, immense, so I will only list the free clients that I've found
that both import & export all calendar events via *.ics text files
(although I'm sure there are others that I hope to find over time).

*WINDOWS:*
<https://alt.comp.os.windows-10.narkive.com/GroR2PfU/can-we-come-up-with-a-free-ad-free-cloud-free-calendaring-system-that-works-with-windows-and-linux>
a. Rainlendar2 (aka Rainlendar Lite)
b. Thunderbird <https://lettoknow.com/export-ics-to-thunderbird/>
c. Outlook <https://www.techhit.com/outlook/export_calendar_icalendar_ics.html>

*LINUX*
<https://groups.google.com/forum/#!topic/alt.os.linux/ydQ9sG-8Y08>
a. Rainlendar2 (aka Rainlendar Lite)
b. Thunderbird <https://lettoknow.com/export-ics-to-thunderbird/>

*ANDROID*
<https://groups.google.com/forum/#!topic/comp.mobile.android/52iSsFUQinE>
a. Simple Calendar (mine is the free pro version only on F-Droid)

*iOS*
<https://groups.google.com/forum/#!topic/comp.mobile.ipad/2tzv74EJY_s>
a. I haven't found any Calendars yet that import/export *ics on iOS

NOTE: Every app shown above is both completely free & completely ad free.

In addition, on Android, there are 'odd' utilities that claim to somehow
(magically?) add import/export of ICS to other apps (mostly to email), but
I'm not sure how they can play a role yet - but they may be useful:
o <https://play.google.com/store/apps/details?id=tk.drlue.icalimportexport>
o <https://play.google.com/store/apps/details?id=tk.drlue.icalimportexport.linkcatcher>

Bear in mind, for Android, there are 3 different Simple Calendar links:
FREE: <https://play.google.com/store/apps/details?id=com.simplemobiletools.calendar>
FREE: <https://f-droid.org/en/packages/com.simplemobiletools.calendar.pro/>
PAID: <https://play.google.com/store/apps/details?id=com.simplemobiletools.calendar.pro>

arlen holder

unread,
Jan 13, 2019, 12:25:02 AM1/13/19
to
UPDATE 2:

On Fri, 11 Jan 2019 10:20:58 -0500, Big Al wrote:
> I'll play devil's advocate, what good does any of this do when you walk
> out the door?

It's a valid question, where I'll assume you already know the server/client
conclusions I belatedly came to after long though, which are explained to
Mike Easter et. al in this updated post:
<https://groups.google.com/d/msg/comp.mobile.ipad/2tzv74EJY_s/iDfTeXWlEAAJ>
o Linux server (it's a home-based CalDAV server)
o Android/Windows/Linux clients (essentially, it's a home-based "dropbox")

Both server & client solutions should work rather well even after you walk
out the door (i.e., a CalDAV server running on a raspberry pi or old
plugged-in Linux laptop) simply because you will already have the latest
calendar on your mobile device at the time you "walk out the door".

AT HOME:
o At home, you manually pass iCalendar text files between PC & mobile.

OUT THE DOOR:
o When you leave the house, you have the *latest* calendar files on both.
o If you need to *update* your calendar, you manually update on the device.

BACK AT HOME:
o At return, you again manually pass iCalendar files between PC & mobile.

The good news is that, at least with Android (not so much for iOS), you can
easily save the ics calendar files in a single location that all devices
can access.

Unfortunately, SMB is "problematic" on un-rooted Android, but a WebDAV or
FTP server is quite easily set up on Android, such that Windows/Linux has
no problem getting and putting files from and to Android over the WiFi LAN.

Likewise, USB works fine for Android on both Linux & Windows, such that
copying the files between the two platforms is as easy as sliding them back
and forth using the native Android/Windows/Linux file managers.

That means you can store the "master" ics files on any platform's storage.

It's only iOS that is incapable of these simplest of file-transfer actions.
However, since iOS doesn't yet have import/export of ICS files (that anyone
yet knows of), it's moot if iOS can't also easily transfer ics event files.

arlen holder

unread,
Jan 13, 2019, 1:11:56 AM1/13/19
to
UPDATE 3:

On Fri, 11 Jan 2019 17:02:19 -0000 (UTC), Dan Purgert wrote:

> Don't think Owncloud does caldav, but then I haven't dug _that_ deeply
> into its featureset. "Easily share pictures with non-computery family
> WITHOUT using facebook" was really all I needed.

I agree with you Dan Purgert, that it's *easy* to share files among
the mobile devices (Android & iOS) and the PC (both Linux & Windows).

In fact, for all but iOS, I've already implemented the _simplest_ possible
solution, which is so simple that I wonder why everyone who doesn't wish to
use an Internet-based calendaring system doesn't set this up.

It's as simple as 1-2-3:
1. Select capable clients that can import/export a master iCal event file.
2. Store the single master iCal event file on the mobile device (or PC).
3. On any device, import/export to/from that one "master" iCal event file.

The good news is that Android, Windows, & Linux filesystems share well.
Hence, _plenty_ of use models will be easy to devise that import and export
to and from a *single* ICS master event file (containing the entire
calendar in a single file).

You can easily keep that single ICS master file on the Android filesystem.

For example, I tested a free WebDAV server on Android to share over WiFi:
<https://play.google.com/store/apps/details?id=com.theolivetree.webdavserver>
o Which says, when run "WebDAV server available on http://192.168.1.3:8080"

Given that address, on Windows, I ran the following command as a user:
o net use X: \\http://192.168.1.3:8080/#/
o This "mounts" the Android filesystem over WiFi as a "network location"

For the record, here's an example using this free FTP server on Android:
<https://f-droid.org/en/packages/be.ppareit.swiftp_free/>
o Which says "FTP Server available at ftp://192.168.1.3/2221/"

Given that address, on Windows, you have many options to share files:
o You can use "FTPUSE" to "mount" that ftp share as a "removable drive"
o FTPUSE <https://www.ferrobackup.com/map-ftp-as-disk.html>

o Or you can use a variety of freeware to sync Android/Windows over WiFi:
o WinSCP <https://winscp.net/eng/download.php>
o FileZilla <https://filezilla-project.org/download.php>

Or, you can simply connect the Android device to Windows/Linux over USB.
o That instantly "mounts" the entire Android filesystem to the PC.

You can then share the master ics file if you wish to keep it on Android.

For automation, plenty of command-line methods access Android files over
USB, e.g., Android Studio "adb" will copy _any_ file on the Android file
system to Windows or Linux over USB:
<https://developer.android.com/studio/command-line/adb>

So will libmtp:
o libMTP <https://sourceforge.net/projects/libmtp/>

(Yes, you heard right - any file - even system files - and yes, even if the
Android device is not rooted - e.g., you can copy the hosts file as one
simple example):
o How to modify the hosts file on your Android device
<https://www.modmy.com/how-modify-hosts-file-your-android-device>

For iOS, USB works great on Linux - but USB doesn't work as well on Windows
(long story which we have discussed in gory detail elsewhere), nor does
FTP/WebDAV work as well on iOS as it does with Android (gory details
elsewhere which only the diehard Apple Apologists can possibly deny).

arlen holder

unread,
Jan 14, 2019, 1:09:21 PM1/14/19
to
SOL VED (with workarounds)

Since I'm, by my own definition, one of the best types of Usenet posters, I
will attempt, in this response, to "give back to the team" what I've
learned, by way of short summary (with adequate details).

Had I known a week ago what I know now, I would have completely skipped the
whole 'server/client' approach, or, I would have set up a raspberry pi as
the full-time CalDAV server.

Given that approach wasn't how I started this quest, it's shockingly
surprising how 24 out of 25 so-called calendar apps are utterly devoid of
ics export/import functionality (e.g., I only found 1 on Android, 2 on
Linux, and 3 on Windows, with 0 found to date on iOS).

However, you only need 1 calendar app that imports/exports ICS files.
Given I've found them, I gave up yesterday on setting up a CalDAV server.

To be clear, I'm only human, which, I say jokingly because when I searched
for a calendaring solution, the vast majority (9,999 out of 10,000
articles) talk about using someone elses' CalDAV server:
o Google Calendar, or,
o Apple iCloud Calendar, or
o Microsoft Outlook, Live, Hotmail, & Office 365 calendars, or
o Facebook events, or
etc.

Notice that they _all_ require you to store your private info on the net!
And they all (apparently) require a login, which adds insult to injury.

> And the secondary discovery (snipped for brevity) that it's a right pain
> in the ass to do.

The only options that involved servers that can be set up at home were
o Exchange servers (i.e., email/passwd), or
o CalDAV servers (i.e., username/passwd/server), or
o WebCAL servers (i.e., webcal://)

If we give up on the calendaring servers, we're left sharing an ICS file.
//share/calendar/my_events.ics

The good news is that there are so many ways to share a *single* ICS file
between Android, Windows, & Linux, that multiple approaches will work:
o USB shares (e.g., adb, libmtp, manual file manager, etc.)
o FTP shares (e.g., FTPUse mounts, winscp, filezilla, etc.)
o WebDAV shares (e.g., The Olive Tree WebDAV servers)
o SMB shares (these are problematic for Android due to non-root issues)
o DropBox-like home-cloud solutions
etc.

As always, on iOS, things are harder on Windows (but not with iOS to Linux,
where, surprisingly, iOS is treated by native Ubuntu 18.04 as it should be,
which is as a plain jane read/write USB stick).

In summary, I have given up on CalDAV servers on my personal LAN.
I've opted for the lower-tech simpler solution of a single event.ics file.

ANDROID: I use the F-Droid Simple Calendar Pro freeware to import/export
LINUX: I use the Rainlendar Lite freeware to import/export "my_events.ics"
WINDOWS: I use the Rainlendar Lite freeware to import/export events
IOS: I am still searching for a non-brain-dead iOS app that imports/exports

Currently I'm storing the "master" ICS file on the external SD card of my
$130 64GB LG Stylo 3 Plus where the 64GB external SD card is enough for me
(but it can handle up to 2 TB if I had a card that big).

USE MODEL ON THE DESKTOP:
a. I manage my email & calendar with big screens & keyboards!
b. The best advantage of the desktop is "cut and paste"!
c. When I change the calendar, I add a simple export-to-Android step

USE MODEL ON THE MOBILE DEVICE:
a. I rarely add events on the mobile device due to the lousy keyboard
b. When I add events, I first import the events.ics calendar file
c. After I add events, I then export the events.ics calendar file

In short, there is a _single_ events.ics file that is stored on the Android
external SD card that Linux, Windows, Android (and, someday, iOS) easily
access.

My contribution to the tribal knowledge of the team is that this works
as I stated, where you can use WiFi or USB to access the single ICS file.

arlen holder

unread,
Jan 18, 2019, 3:18:38 AM1/18/19
to
On Mon, 14 Jan 2019 18:09:20 -0000 (UTC), arlen holder wrote:

> In summary, I have given up on CalDAV servers on my personal LAN.
> I've opted for the lower-tech simpler solution of a single event.ics file.

Another update, for the tribal record, and perhaps particularly useful for
those of you who use Google, iOS, Facebook, Microsoft, etc., CalDAV servers
is that there is this DavX5 capability, on Android, which seems to be
what I'd need if I did set a (raspberry pi?) CalDAV server on my home LAN:
o <https://www.davx5.com/>
o <https://f-droid.org/en/packages/at.bitfire.davdroid/>

*CalDAV/CardDAV solution for Android*
"DAVx5 (formerly DAVdroid) is a CalDAV/CardDAV management
and synchronization app for Android which natively integrates
with Android calendar/contact apps. Use it with your own server
or with a trusted hoster to keep your contacts, events and tasks
under your control."

If any of you with Google or other calendars can test that freeware out,
what you learn could be of use to many other Android users here.

arlen holder

unread,
Jan 20, 2019, 8:33:50 PM1/20/19
to
IMPORTANT UPDATE!
(This makes setting up the master events.ics on Windows much easier!)

See also new information from Frank Slootweg & Paul & Dan Purgert & Poutnik
in this thread from today where we figured out that the Android freeware
SMB clients are using (apparently) SMBv1 while Windows 10 SMB server,
by default, expressly does not enable SMBv1 (Windows 10 apparently only
enables SMBv2 or SMBv3).
<https://groups.google.com/forum/#!topic/comp.mobile.android/iIjcGCYnm-E>

The error message you get using the AndSMB client is cryptic:
o "at jcifs.e.a.c.run(Unknown Source) at java.lang.Thread.run(Thread.java: 761)"
o "Connecting, please wait ..."
o "Cannot change directory to /pubpc2"
<http://www.bild.me/bild.php?file=5615405smb_win10_default03.jpg>

What that AndSMB client error actually indicates is something like:
"The AndSMB client, using SMBv1, cannot connect to your Windows 10
SMB server because SMBv2 or SMBv3 is enabled, but not SMBv1."

To enable SMBv1 in Windows 10, all you need to do are these steps:
o Start > Run > control > OK
o Programs > Programs and Features > Turn Windows Features on or off >
o Change from:
[_]SMB 1.0/CIFS File Sharing Support
[_]SMB 1.0/CIFS Automatic Removal <=== I'm not sure what this is???
[_]SMB 1.0/CIFS Client
[_]SMB 1.0/CIFS Server
[x]SMB Direct

o Change to:
[x]SMB 1.0/CIFS File Sharing Support
[x]SMB 1.0/CIFS Automatic Removal <=== I'm not sure what this is???
[x]SMB 1.0/CIFS Client
[x]SMB 1.0/CIFS Server
[x]SMB Direct
o Reboot

Here's what one machine had as the defaults (and what I changed it to):
<http://www.bild.me/bild.php?file=2299279smb_win10_default01.jpg>

Here's the similar (slightly different) default on the other Win10 machine:
<http://www.bild.me/bild.php?file=3580897smb_win10_default02.png>

Here is what AndSMB looks like once you have SMBv1 running on Win10:
<http://www.bild.me/bild.php?file=9491157smb_win10_default04.jpg>

Here is SyncMe WiFi working once you have SMBv1 running on Win10:
<http://www.bild.me/bild.php?file=4819399smb_win10_default05.jpg>

In summary, thanks to Paul & Dan Purgert & Poutnik, and particularly
to Frank Slootweg, we can now get an SMBv1 *client* to talk to Windows 10.

This is useful for a variety of purpose, e.g., for passing CalDAV exports
back and forth between Windows, Linux, Mac, iOS, and Android,
so as to manage a calendar on your home LAN sans need for putting your
calendar on the Internet:
o Can we come up with a free, ad free, cloud-free calendaring system that works with Windows and Linux and mobile devices?
<https://groups.google.com/forum/#!topic/alt.os.linux/ydQ9sG-8Y08>

Or, for passing a KeePass passwd.kdbx encrypted password file db
across your personal LAN to all your Windows, Linux, Mac, iOS, and
Android devices, again, sans need for putting passwds on the Internet:
o Have You Been Pwned? Do you have a working cross-platform PASSWD database for Windows, Linux, Mac, iOS, & Android on your home LAN?
<https://groups.google.com/forum/#!topic/comp.mobile.android/iIjcGCYnm-E>

CAVEAT: This only works for SMB *clients* on Android.

The Android SMB *server* still has the deadly catch22 of:
o Windows SMB clients are hard coded to TCP port 445 traffic
o Unrooted Android SMB severs are not allowed to use ports 1-1024

arlen holder

unread,
Jan 23, 2019, 9:22:08 PM1/23/19
to
Update:

The use model is working GREAT where there is no "master" iCalendar file.
o On any platform, I add to the calendar using appropriate free software
o Then I "export" that full or partial events.ics iCalendar file
o On any platform, I "import" that partial or full iCalendar file

This use model of "merging" iCalendar files from any platform over the LAN
seems to be working well.

Interestingly, this "merge" use model may very well be what we use for
our home-LAN-based password managers across all the platforms.
o Which free Android KeePass kdbx-compatible password database manager do you recommend?
o <https://groups.google.com/forum/#!topic/comp.mobile.android/yUrCZ2v0tmg>

This works well once we solved the cross-platform file-transfer problem:
o Do you know of a free Android SMBv2 (or SMBv3) client?
<https://groups.google.com/forum/#!topic/comp.mobile.android/tl3Q05QGyAw>
0 new messages