WebDAV from the command line

Recently, I have been working on bootstrapping my very own cloud. I have found that using the services I already pay for and use is crucial in getting things done. But also, that many ways of getting things done do not mesh well with a text-driven command line life. There does seem to be a renewed interest in doing as much from the command line as possible - which I am happy to see, and I look forward to continuing to share more.

One thing I have noticed is that so much of the world is going to web-based software-as-a-service - which is better than nothing, but it does also mean that one must have a perfectly set up desktop environment for the GUI. On servers, I do not want a GUI, and on some of my endpoints, they work better without one. The overwhelming majority of browsers are either very thick and heavy (like Firefox, Chrome, etc.) or have odd dependencies (Midori comes to mind - it is lightweight, but it often clashes with zeitgeist - and many distros do not resolve that conflict well). Lynx is awesome, text only, but can be tedious when accessing certain heavily styled sites - particularly since it cannot show graphics. An entire generation of web designers appear to have totally forgotten about this - or screen readers as well, for that matter.

So, I have been paying attention to terminal friendly ways of doing things. As I discovered, moving files from one platform to another is not neceassarily as easy as it could be, at least not out of th box. And until my private cloud is ready, there is not one place I can point things to - or is there ?

Now, my personal cloud does partially work, but as I discovered, Fastmail have provisoned some rather interesting features - including 10GB storage included with an active subscription. Further investigation reveals that not only can you deploy a photo gallery with that storage, but that you can also store other files there. And not only can you access those files with a web portal, but you can also use WebDAV as well.

WebDAV is a protocol that allows for file sync and transfer over HTTP. Many phones - both iOS and Android - already have this baked in, along with CalDAV and CardDAV (for calendar data and contact data, respectively). As an early adopter of the old Windows CE and Palm OS devices of yore, I can personally attest to how much easier life was to have a fairly open standard for these things. On a practical basis, these protocols mean that I can move data from my mobile devices to my laptop to my server to my Mac - as long as suitable clients can be found. Using the GUI environment for what it does best, using my phone and its camera for what it does best, and using my servers for what they do best is a great thing.

Now, many places on the internet presume that you are using a GUI or mobile application for WebDAV. So, I was very excited to learn about a nice utility called Cadaver. This project is a commandline WebDAV client that will run on any Unix OS - I use it on FreeBSD - and it will run on MacOS and Linux as well. While the Fastmail documentation makes no mention of this - and while I do intend to document this further, I was able to successfully use cadaver to connect to the 10GB provisioned as a part of my account. This is the perfect sized staging area for bootsrapping my private cloud. I was able to use it to get screenshots off of both my phone and my netbook to the website :

/images/desktop.thumbnail.png

Above, a screenshot of my netbook Egodoge in WindowMaker, before I added RAM. Below, a follow-up in CoolRetroTerm :

/images/coolretrodesktop.thumbnail.png

And finally, a picture of one anthophila halictidae that I ecountered this past weekend, otherwise known as a sweat bee :

/images/sweatbee.thumbnail.jpeg

I have some cool ideas on how to document the process of using cadaver with Fastmail, and am working on making the steps repeatable and showable soon.