*If you use Thunderbird, the world has moved on and become simpler since I wrote this. Go to updated Blog
Not just linux but any application that supports WebDAV or CardDAV.
Once you have found the dsid for your iCloud account you will also need to setup two factor authentication for the computer/device you are setting up your address book on.
. Log into you apple accoun management page via icloud.com to setup TFA
For the next step, I’m using Evolution Mail, but you can use any application that supports CardDAV or WebDAV
If you followed the steps in one of the two links above, you would have you CalDAV addess that looks something similar to:
Convert this to the iCloud CardDAV address:
So the important information is:
User Name: your iCloud login
Password: your iCloud two factor authentication password for the device/computer
Name: iCloud Adressbook (or what ever)
In Evolution Mail (one of a couple very popular linux mail and calendar applications) create a new address book.
File -> New -> Address book
Type: = WebDAV
Name = iCloud
select “Mark as deault address book” (optional)
select “autocomplete with this address book”
select “Copy book content locally for offline operation”
URL: = https://p10-contacts.icloud/223445234/carddavhome/card/ (<-e.g.)
User: = your_iCloud_login
When you first sync to the address book you will be prompted for a password, don’t use your iCloud accound password, this will fail, use the Two Factor Authentication password you setup for the device/computer.
Done, beer and profit.