Livestreamer: Downloading Twitch Streams Results in 400 Client Error:Bad Request

I use Livestreamer to download my own VOD files when I dun goofed and break my local recordings. This used to work perfectly, but as I write this, the software is broken due to an update in the Twitch API that enforces authentication.

error: Unable to open URL: 
https://api.twitch.tv/api/channels/havejoystick/access_token.json 
(400 Client Error: Bad Request)

There is a workaround, however; you can hand over a client specific token. Right now, this is the one used by Twitch’s web player:

livestreamer --http-header Client-ID=jzkbprff40iqj646a697cyrvl0zt2m6

This works like a charm. For now.

OpenVPN: IP packet with unknown IP version seen

While setting up a new OpenVPN, I got this message:

Sep 23 21:05:25 ascalon openvpn[18770]: krynn/aaa.bbb.ccc.ddd:xxxxx IP packet with unknown IP version=3 seen

The cause was that I had set my OpenVPN server to “dev tun”, while setting my Windows client to “dev tap” in the configuration. Changing the client to also be “dev tun” fixed the issue.

Easy-RSA Jabber SSL Certificate Problems

I’m currently setting up a new server and ran into something odd. Connecting to ejabberd with Pidgin, the later would reject the SSL certificate outright. At first I thought I had messed up the hostnames, or used an outdated Hash algorithm or whatever.

The errors I saw in the debug window were:

(22:17:42) nss: ERROR -8102: SEC_ERROR_INADEQUATE_KEY_USAGE
(22:17:42) nss: ERROR -8101: SEC_ERROR_INADEQUATE_CERT_TYPE

It turns out that SSL certificates can be flagged for what they can be used for, and I had simply created the certificate with the ./build-key command. Using ./build-key-server instead fixes the issue. The difference is that this will set nsCertType=server in the certificate.

I hope this helps anybody who runs into the same issue – it certainly had me pulling out my hair for a while.