The configuration page is self explanatory and should be very easy to configure.
Important Note: This plugin use the hostname of each server you set in WHMCS in order to know which IP to unblock on which server. You must provide correct server hostname on your WHMCS server configuration exactly as the server hostname is set on your physical server.
How to find out your server's actual hostname:
Just log in to your server using SSH and type hostname
On each of the server you setup in your WHMCS, do this step.
The two files you need to place on your /etc/csf on each server is NOT encoded (open source) so you can see what these two scripts are doing.You are welcome to modify the scripts, but we will not support modified scripts.
Open up your WHMCS client area product details template folder (the one you use), for example: /templates/portal/clientareaproductdetails.tpl
Just after {if $username} place this code:
<table cellpadding="4" cellspacing="4" align="center"><tr><td>
<center><font color="red"><strong>Can't Connect? Gain Access Below</strong></font></center><br />
We enforce a strict security and firewall systems on all of our servers to prevent abuse and attacks from outside of our network. If you are unable to connect to your server/account at the moment, please click on the UNBLOCK ME button below and we will unblock your computer from our firewall.
<br /><br />You should be able to access the server within 15 minutes of clicking the button below. Please make sure you do not have any FAILED log in attempt afterwards. Our firewall trace every single failed log in attempt to your account. This includes, failed attempt to access FTP, cPanel, even your Mails.<br /><br />
<center>
<form method="post" action="csf.php">
<input type="hidden" value="{$username}" name="hosting_username">
<input type="submit" value="UNBLOCK ME NOW">
</form>
</center>
</td></tr></table>
Pay close attention to the form elements as they are required to be just like that. Do not alter it. You can change everything else.
That's it. You're now set. Every time a client clicks on the UNBLOCK ME button, their IP will automatically unblocked within the time frame you set your whmcs_unblock.php cron to run (if you set to 15 minutes, your client needs to wait 15 minutes or less).
You don't need a module to do just this. All you need to do is to run a cron which will syncronize your csf.conf file between all servers and that's it. Here is an example:
127.0.0.77 is the Master Server's IP Address where you want to syncronize CSF rules from
ftp_user is the FTP Username which has access to your /etc/csf folder - make a new FTP account for this
ftp_pwd is the FTP Password
That's it. The file will only be updated when there is a new version, otherwise wget will not get the file if it's just the same file. That is why we use option -N -P