Fixed CDN problem with KabelDeutschland streaming proxy

What’s new

As some of you already noted, there have been some issues with getting the channel-list from the KabelDeutschland API. They migrated to a new Content-Delivery-Network which does not support a get-header-Request anymore. This causes the proxy to generate invalid channel-links and your were unable to watch the streams.

This should be fixed by now. I committed the fix within the PHP and the GO version of the proxy and also compiled the binaries to a new version 0.1.3.

Please give me feedback if the problem is solved for you.

Binaries Download

Shared Folder at mega.co.nz (mirror at dropbox)

Sourcecode Repositories

PHP

https://github.com/edi-design/kd-streaming-proxy

GO

https://github.com/edi-design/kd-go

Code of the KabelDeutschland streaming proxy is available as open source

Why

A couple of times (stadt-bremerhaven.dedo-it-neat.com) I have been asked to open up the source code of my KabelDeuschland Streaming Proxy. There has been the PHP version available for quite some time on github (kd-streaming-proxy) but until now I was not able to open-source the version written in GO.

Now I got the time to clean up everything, wrote a lot of comments and put it on github for everyone to contribute.

https://github.com/edi-design/kd-go/

I hope there are a lot of developers out there using my proxy and are willing to help me with the further development.

About the code

The code is completely written in GO. It should be able to compile with any version above 1.3, but to be able to generate the cross-platform binaries you need version 1.5 of GO.

Dependencies

It only has one dependency to the gorilla mux router. You can install it by entering the following command.

Build the source

To build the source for various platforms, simply run the build-script provided under scripts/build.sh.
It relies on a proper configured go-environment with GOPATH and GOROOT set up.

By now, I only tested the build process on OS X but it should not be a problem to run the commands on Linux.

Configuration

Place a config.json next to the binary and fill it with the following content, including your KabelDeutschland credentials.

Run the binary

The easiest way, is to run the binary without any params. It searches automatically for the config.json next to the binary.

 

 

PowerPC 64bit version of the KabelDeutschland streaming proxy

What’s new

Since golang updated their compiler to version 1.5 a couple of weeks ago, I am now able to use their new cross-compile toolchain to provide you some more binaries. By now there are two new, PPC64 and PPC64le. Both of them are, as the name says, for the PowerPC architecture with a 64bit bus system. The second one is directly compiled for the low-energy profiled CPUs. This build can be used on the Synology DS213+ for example.

Below you can see the full list of all supported platforms.

Download

Shared Folder at mega.co.nz (mirror at dropbox)

Usage

 

 

Take the binary that fits to your environment and run it.

 

Version 0.1.2 of the KabelDeutschland streaming proxy

What’s new

This time, it is only a small update. I just added some improvements a couple of the users asked for. The most notable new feature is the ability to skip the certificate check. User Michael had the problem that his QNAP (TS-210) has no root certificates installed. This ended him up with an error message and prevented him from using the proxy.

I added a start-up trigger to disable the CA-Check. It is called -no-check-certificate.

 

Download

Shared Folder at mega.co.nz (mirror at dropbox)

Usage

To see a list of all triggers the proxy supports simply add -h.

If you want to see, if the disabling of the certificate check works, add -v -no-check-certificate. This disables the check and enables verbose mode to see a lot more informations.