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.

 

 

4 thoughts on “Code of the KabelDeutschland streaming proxy is available as open source

  1. Sush says:

    Thanks for this step, for my machine I changed the location of config.json to /etc/kd_config.json .
    After ‘go get bitbucket.org/gotamer/cfg’ build process was completing without any problems on OS X.

    • Thanks for pointing me to the missing dependency.
      I just added gotamer/cfg to the list at github.

      You could also change the location of the config, by adding -c param with the path to the config.json.

      Best regards,
      André

Leave a Reply

Your email address will not be published. Required fields are marked *