robotman3000 / iCloud-Linux

Archive - A iCloud Library for Linux and Windows
GNU General Public License v3.0
6 stars 3 forks source link

Investigate adding support for bookmarks #18

Open robotman3000 opened 9 years ago

robotman3000 commented 9 years ago

Look into adding support for apples private undocumented "bookmarkDAV" protocol. the protocol appears to be an extention of the webdav protocol

abl commented 9 years ago

Hey, I saw you starred my icloud-bookmarks project. Unfortunately I can't maintain/patch it anymore and it's pretty hacky and out of date. Please feel free to file issues against me and I'll answer them in the most detailed fashion I can - fwiw, I ended up throwing out most of the code from the project I started with.

As you noticed, BookmarkDAV is 95% WebDAV and can be used, naively, as WebDAV. This will be kind of slow, since bookmark filenames are not titles but UUIDs. If you traverse using REPORT, you can get titles and types in one request. I started to document this in abl/icloud-bookmarks#2

As far as the file format, it's standard-ish XBEL. Reading List bookmarks are stored in a particular directory and have one additional node that is a bplist; that bplist holds all of the reading-centric metadata. You can see an example of the bplist data in abl/icloud-bookmarks#1 - it's certainly possible to do without it, but it's nice to have.

I did not investigate any of the create/edit/delete calls - mostly I wanted to copy my reading list in to Pinboard - but I'm happy to set my proxy up again and watch how Safari's doing it.