It's actually fairly simple. It's just not documented and you have to hack around to get it working.
Here's a few pointers (giving away the weeks of work I did getting this up and running) using the cPanel Pro API (so cPanel Pro needs to be installed):
1. Application in WHM itself:
Check out existing perl CGI scripts in /usr/local/cpanel/whostmgr/docroot/cgi/addon_*.cgi
2. Adding a selectable feature for cPanel accounts:
Create a new file in /usr/local/cpanel/whostmgr/addonsfeatures/ with a unique name as:
/usr/local/cpanel/whostmgr/addonsfeatures/uniquename
With:
Code:
cpanelpro_unqiuename:This is my cPanel Feature
To use that feature:
/usr/local/cpanel/base/frontend/x/cells/uniquename.html
With:
Code:
<cpanelfeature cpanelpro_uniquename>
<cpanelcell align="center" valign="top">
<td width="75" nowrap><a href="cells/uniquename/index.html"><img border="0" src="cells/uniquename/myapp.gif" width="32" height="32"></a><br>
<br>
<a href="cells/uniquename/index.html">My cPanel Feature</a></td>
</cpanelcell>
</cpanelfeature>
/usr/local/cpanel/base/frontend/x/cells/uniquename/index.html contains the calls to your application depending on how you're going to implement it. I'll leave you to work out that bit
