Following the recent exodus from a hostile LiveJournal, I've noticed that I'm unable to perform 2 things from the command line in the good old DreamWidth:
- Posting in markdown
- Uploading the image
Turns out, DW still uses a subset of ancient LJ-like xmlrpc APIs. Instead of reusing some of the available LJ clients, I've decided to hack my own.
The API has a weird auth scheme. The 1st step is to obtain a "challenge", then md5 it w/ a password (yes, you've read it correctly: it's md5, folks! Sonja Henie's tutu.) & send it over w/ all the subsequent requests. The weird part comes when you realise that such a token lives only 60 sec & for a long-lived session you need to obtain another generated token that doesn't actually work w/ the xmlrpc API & useful only for manual scraping/posting purposes.
The CLI client hides everything under 1 user-visible command dreamwidth-js. To upload an image to the DW cloud, type:
$ dreamwidth-js img-upload < cat.jpg
To make a new post:
$ dreamwidth-js entry-post-md --- subject: On today's proceedings tags: meeting, an exciting waste of time security: friends --- ## Agenda for Mon. budget meeting It was a dark and stormy night; the rain fell in torrents ^D