An example plugin for the Quicktime Streaming Server / Darwin Streaming Server (dss) that authenticates people streaming using the icecast url authentication api (see This essentially allows people to easily authenticate and track users on a dss server using a simple HTTP based API
C++ Shell C
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


WARNING: This code is a testing prototype, so is bad and has
buffer overflows and will cause the world to end.

This is the auth module for qtss auth and dss

Sample configuration:

<MODULE NAME="QTSSIcecastAuthModule" >
    <PREF NAME="enabled" TYPE="Bool16" >true</PREF>
    <PREF NAME="IPBypassList">127.0.0.*</PREF>
    <PREF NAME="StartSessionEndpoint">http://server/stream_auth/start_session</PREF>
    <PREF NAME="EndSessionEndpoint">http://server/stream_auth/end_session</PREF>

For multiple IPs, set the list to something like this:

<LIST-PREF NAME="IPBypassList" >

When the server rejects the module as being not valid, run this on the server:

g++ -ldl mod_load_test.c && ./a.out

This will build and run a tester app that will try to load the module - this will
report any errors while loading (mostly unresolved symbols)