Welcome the CSP WIKI Page
CSP (Cardservproxy) is a scalable open source proxy primarily for the newcamd protocol, with load balancing and cluster handling built in.
It will keep track of 2 or more cardservers (typically newcs) and accept incoming connections from clients (any client that supports the newcamd or radegast protocols). It removes the need for complex clients or servers, by centralizing all of the complexity.
- The proxy hides the servers from the clients. New servers can be added/removed on the fly without affecting traffic or having to change the clients configurations.
- The proxy hides the clients from the servers, the servers will only ever have a single very busy user (the proxy)from a fixed ip.
- User management is centralized in the proxy, the servers will not have to be updated to add new users. The proxy user manager is pluggable and can be connected to any external user database with a minimum of coding.
- Connected servers don't have to have identical card subscriptions, the proxy can keep track of which services will decode on which card, and route requests accordingly (assuming clients accurately set the SID in their requests).
- The proxy will use fairly sophisticated load balancing to make sure requests are routed to the least loaded card that has the service in question. It will monitor the utilization for each card and give a clear indication when there are bottlenecks or excess capacity.
- Multiple providers with different ca-systems can be hosted by the same proxy, by defining separate profiles. Each profile is assigned its own listener port(s) and any number of card servers (exactly which ca-systems are used or whether it is dvb-s/c/t doesn't matter).
- Caching is centralized to the proxy (ideally the caches of the individual cardservers will never score a hit). This means that as long as someone in the same proxy or proxy cluster is watching a service, an infinite number of others can watch the same service without causing any extra traffic towards the card servers. Once there are enough cards connected to always keep all the providers services in cache at any given moment, the number of users becomes limited only by bandwidth.
- The proxy is prepared for integration into existing communities (irc bots, web forums, torrent trackers) and provides an example webgui on top of an ajax-friendly generic http/xml query interface (faux-RESTful).
- Multiple proxies can be clustered together by real time cache-sharing. If user a is watching a service on proxy1, then user b can watch the same service on proxy2 without causing any requests towards a card server.
- The proxy can be used as a protocol analyzer or general troubleshooting tool, since it decrypts/encrypts newcamd and allows user created plugins to be added.
- Nearly all changes to configuration can be performed without restarts, the proxy monitors the config file proxy.xml and most other resources.
- As of 0.8.10, new user created connector implementations (protocols) can be added in the same manner as plugins.
- As of 0.9.0, multi-context connectors and sessions are supported, primarily the mgcamd-specific newcamd extensions. This makes it feasible to use the proxy for satellite setups where users typically access many profiles at the same time (but in general it is still a bad idea to use the proxy for situations like that).
If you want to download the SVN version, just do:
svn co http://streamboard.tv/svn/CSP/trunk CSP-svn
to compile CSP just go to the folder CSP-svn/ and type
ant build ant tar-app
you will find the cardservproxy.tar.gz in the CSP-svn/dist/ folder
Download Binary Distribution
Binaries are available in the forum.