A few days go i wrote about How to reverse engineer the KabelDeutschland API. Attached to this post there was a PHP script hosted on github to get your own streaming proxy running.
After testing and spreading the word with some people i came to the decision that the procedure was far too complicated. The need of a webserver and the large number of configuration options were unnecessary.
That’s why i build a single binary version, written in go.
This tool does not remove the restrictions made by KabelDeutschland. You will need an internet and a TV contract with them. It only give you the ability to use their streams besides the iOS app.
Binaries for all major platforms can be found at the shared folder.
Shared Folder at mega.co.nz (mirror at dropbox)
Select the binary suitable for your machine.
- Macbook Pro Mid 2012, OSX 10.10.2
- Synology DS215j (arm)
- RaspberryPi (arm)
- Windows XP 32bit
Please drop me a line if it works or not on your system.
Grab the config.json and edit it with your customer-service-center credentials. You can also change the port if you like.
On windows, double-click the executable file. On Linux/Mac you have to use your terminal, navigate to the folder you downloaded the binary and type the following command.
If you got a permission denied error, you have to set the executable bit for the binary
On all systems you will see the same output if everything went fine.
== Checking credentials
== Listening ...
You will see the list of interfaces, the proxy listens to. All of them are ready to use to serve the channel playlist.
On certain Windows systems, it is not possible to display the interface list. The proxy will work nevertheless. Simply paste your known IP-Adress or one of your loopback addresses.
Installation on a Synology Diskstation
By now the easiest way to install the KabelDeutschland proxy is to download the arm-version of the binary and put it to your home-folder on the diskstation. Put the edited config.json next to it. Now you have to log into your nas using ssh as your user and run the following command.
TERM=xterm-xfree86 screen -S kd-proxy -d -m './kd_proxy'
This creates a new screen, starts the proxy and immediately detaches the screen. That means the process runs in the background.
In order to be able to use the screen command, your box has to be bootsrapped. You can find the instructions to do this here: Bootrap the DS215j. Installation of screen will be done with this command as root.
You can connect to the proxy using the IP-address of your diskstation. http://[diskstation]:8787.
To stop the process, attach to the screen and press control+c. Attaching works using this command.
TERM=xterm-xfree86 screen -r kd-proxy
Synology has its own package manager and I’ll try to build a repository containing the proxy as a installable package. This will provide a way more easier solution. I will keep you updated.
Copy one of the links form the terminal output and paste it into your desired media player. It should load the playlist automatically. In VLC it looks like on the screenshot. You can now switch between the channels. The playlist contains links pointing to the proxy. This link handles the license generation, KabelDeutschland used to verify the stream.
The playlist loaded to VLC