Advertisement
Guest User

Untitled

a guest
May 10th, 2017
590
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.52 KB | None | 0 0
  1. <?php
  2.  
  3. session_start();
  4. set_time_limit(0);
  5. error_reporting(0);
  6.  
  7. $authPass="deaf555b170bc30dab4e83b36dbbf62f"; // default pass: @syifa@ ( md5 hash )
  8.  
  9. include("dataLogin.php");
  10.  
  11. echo'<!DOCTYPE html><html lang="en"><head><title>:: Simple Remote WHM ::</title><link rel="stylesheet" href="koboi.css" media="all, handheld" type="text/css"><meta name="author" content="Adip Perdana"><meta name="viewport" content="width=device-width,initial-scale=1.0"></head><body><div id="wrapper"><div id="content">';
  12.  
  13. if (isset($_REQUEST["logout"]))
  14. unset($_SESSION["login"]);
  15. if (!isset($_SESSION["login"])){
  16. if (isset($_POST["login"]) && !empty($_POST["login"]) && md5($_POST["login"])==$authPass){
  17. $_SESSION["login"]=md5($_SERVER["REMOTE_ADDR"]);
  18. }
  19. else{
  20. echo'<div class="box"><h3>:: Enter Password ::</h3><form method="POST"><input type="password" name="login" placeholder="Enter Password"><input type="submit" value="Login ##"></form></div>';
  21. exit();
  22. }
  23. }
  24.  
  25. $getHostname="https://".$dataLogin["hostname"].":2087/json-api/gethostname?api.version=1";
  26. $hostname=json_decode(getData($getHostname), true);
  27. $getLoadavg="https://".$dataLogin["hostname"].":2087/json-api/systemloadavg?api.version=1";
  28. $loadavg=json_decode(getData($getLoadavg), true);
  29. if (!isset($hostname["data"]["hostname"]) || empty($hostname["data"]["hostname"]) && !isset($loadavg["data"]["one"]) || empty($loadavg["data"]["one"]))
  30. echo'<div class="box"><font color="#e74c3c">Your data login can\'t connect to the server, please check dataLogin.php</font></div>';
  31. else
  32. echo'<div class="box">Hostname : <font color="#1abc9c"><b>'.$hostname['data']['hostname'].'</b></font><br>System Load : <font color="#3498db"><b>'.$loadavg['data']['one'].' '.$loadavg['data']['five'].' '.$loadavg['data']['fifteen'].'</b></font></div>';
  33.  
  34. // CREATE ACCOUNTS
  35.  
  36. if (isset($_REQUEST["action"]) && $_REQUEST["action"]=="create"){
  37. echo'<div class="box"><h3>:: CPanel Account Creator ::</h3><form method="POST"><input type="text" name="domain" placeholder="Domain : Input Valid Domain"><input type="text" name="username" placeholder="Username : Input Valid, Max 16 Chars"><input type="text" name="password" placeholder="Password : Create a Secure Password"><input type="text" name="email" placeholder="Contact Email : Input Valid Email Address"><select name="package">';
  38. if ($dataLogin["username"]=="root")
  39. echo'<option value="default">default [ Disk : unlimited | Bw : unlimited ]</option>';
  40. $packageList=json_decode(getData("https://".$dataLogin["hostname"].":2087/json-api/listpkgs?api.version=1"), true);
  41. foreach ($packageList["data"]["pkg"] as $package){
  42. echo'<option value="'.$package['name'].'">'.$package['name'].' [ Disk : '.$package['QUOTA'].' | Bw : '.$package['BWLIMIT'].' ]</option>';
  43. }
  44. echo'</select>';
  45. if ($dataLogin["username"]=="root"){
  46. echo'<input type="checkbox" name="reseller" value="1"> Create account with Reseller<br><input type="checkbox" name="global" value="1"> Create reseller allow to use global packages<br>';
  47. }
  48. echo'<input type="checkbox" name="ip" value="y"> Create account with Dedicated IP<br><input type="checkbox" name="cgi" value="1" checked> Create account with CGI<br><input type="checkbox" name="shell" value="1"> Create account with SSH Access<br>';
  49. if ($dataLogin["username"]=="root") echo'If you create account to reseller, please input max create cpanel account to your reseller or fill 0 to create unlimited cpanel<input type="text" name="max_reseller" value="0">';
  50. echo'<input type="hidden" name="action" value="create"><input type="submit" value="CREATE"></form></div>';
  51. if (isset($_POST["action"]) && $_POST["action"]=="create"){
  52. if (strpos($_POST["domain"], ".")) $dataValid["Domain"]=$_POST["domain"];
  53. else $dataError["Domain"]="Please input valid domain";
  54. if (preg_match("/^[0-9a-zA-Z]+$/", $_POST["username"]) && strlen($_POST["username"]) <= 16 && strlen($_POST["username"]) >= 1) $dataValid["Username"]=$_POST["username"];
  55. else $dataError["Username"]="Please input valid username with a-z A-Z 0-9 and chars must 16 or less";
  56. if (strlen($_POST["password"]) >= 8) $dataValid["Password"]=$_POST["password"];
  57. else $dataError["Password"]="Pleas input valid password with minimun 8 chars";
  58. if (isset($_POST["email"]) && !empty($_POST["email"])){
  59. if (preg_match("/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])(([a-z0-9-])*([a-z0-9]))+(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i", $_POST["email"])) $dataValid["Email"]=$_POST["email"];
  60. else $dataError["Email"]="Please input valid email address and we will send information to your email";
  61. }
  62. else {
  63. $dataValid["Email"]="koboijnck@gmail.com";
  64. }
  65. $dataValid["Package"]=urlencode($_POST["package"]);
  66. if (isset($dataError) && !empty($dataErro)){
  67. foreach ($dataError as $keyError=>$valueError){
  68. echo $keyError." : ".$valueError;
  69. }
  70. }
  71. else{
  72. $createAddress="https://".$dataLogin["hostname"].":2087/json-api/createacct?api.version=1&domain=".$dataValid["Domain"]."&username=".$dataValid["Username"]."&password=".$dataValid["Password"]."&plan=".$dataValid["Package"]."&contactemail=".$dataValid["Email"];
  73. if (isset($_POST["ip"]) && !empty($_POST["ip"])) $createAddress.="&ip=".$_POST["ip"];
  74. if (isset($_POST["cgi"]) && !empty($_POST["cgi"])) $createAddress.="&cgi=".$_POST["cgi"];
  75. if (isset($_POST["reseller"]) && !empty($_POST["reseller"])) $createAddress.="&reseller=".$_POST["reseller"];
  76. if (isset($_POST["shell"]) && !empty($_POST["shell"])) $createAddress.="&hasshell=".$_POST["shell"];
  77. $createAccount=json_decode(getData($createAddress), true);
  78. if (isset($_POST["reseller"]) && !empty($_POST["reseller"])){
  79. if ($_POST["max_reseller"] != 0)
  80. getData("https://".$dataLogin["hostname"].":2087/json-api/setresellerlimits?api.version=1&user=".$dataValid["Username"]."&enable_account_limit=1&account_limit=".$_POST["max_reseller"]);
  81. // getData("https://".$dataLogin["hostname"].":2087/json-api/setupreseller?api.version=1&user=".$dataValid["Username"]."&makeowner=1");
  82. $reselleracl="https://".$dataLogin["hostname"].":2087/json-api/setacls?api.version=1&reseller=".$dataValid["Username"]."&acl-edit-pkg=1&acl-add-pkg=1&acl-list-accts=1&acl-kill-dns=1&acl-edit-dns=1&acl-park-dns=1&acl-create-dns=1&acl-ssl=1&acl-create-acct=1&acl-suspend-acct=1&acl-res-cart=1&acl-passwd=1&acl-ssl-buy=1&acl-ssl-gencrt=1&acl-kill-acct=1&acl-disallow-shell=1&acl-allow-addoncreate=1&acl-allow-parkedcreate=1&acl-allow-unlimited-disk-pkgs=1&acl-allow-unlimited-pkgs=1&acl-allow-unlimited-bw-pkgs=1";
  83. if ( $_POST["global"] == 1 ) {
  84. $reselleracl.="&acl-viewglobalpackages=1";
  85. }
  86. getData($reselleracl);
  87. }
  88. }
  89. echo'<div class="box"><h3>:: Result Create cPanel ::</h3><textarea name="result">';
  90. if ($createAccount["metadata"]["result"]==0) echo $createAccount["metadata"]["reason"];
  91. else echo cutData($createAccount['metadata']['output']['raw'], 'Dns Zone check is enabled.', '...Done');
  92. echo'</textarea></div>';
  93. }
  94. }
  95. }
  96.  
  97. // TERMINATE ACCOUNT
  98.  
  99. if (isset($_REQUEST["action"]) && $_REQUEST["action"]=="terminate"){
  100. if (isset($_POST["username"]) && !empty($_POST["username"])){
  101. $terminateAddress="https://".$dataLogin["hostname"].":2087/json-api/removeacct?api.version=1&user=".$_POST["username"];
  102. if (isset($_POST["keepdns"]) && !empty($_POST["keepdns"]) && $_POST["keepdns"]==1) $terminateAddress.="&keepdns=1";
  103. $terminateAccount=json_decode(getData($terminateAddress), true);
  104. echo'<div class="box">'.$terminateAccount['metadata']['reason'].'</div>';
  105. }
  106. echo'<div class="box"><h3>:: Terminate Account ::</h3><form method="POST"><select name="username">';
  107. $listAccts=json_decode(getData("https://".$dataLogin["hostname"].":2087/json-api/listaccts?api.version=1"), true);
  108. foreach ($listAccts["data"]["acct"] as $accts){
  109. echo'<option value="'.$accts['user'].'">'.$accts['domain'].' [ User : '.$accts['user'].' | Owner : '.$accts['owner'].' ]</option>';
  110. }
  111. echo'</select><input type="checkbox" name="keepdns" value="1"> Keepdns to retain the account\'s DNS entries<input type="hidden" name="action" value="terminate"><input type="submit" value="Terminate Account"></form></div>';
  112. }
  113.  
  114. // SUSPEND ACCOUNT
  115.  
  116. if (isset($_REQUEST["action"]) && $_REQUEST["action"]=="suspend"){
  117. if (isset($_POST["username"]) && !empty($_POST["username"])){
  118. $suspendAddress="https://".$dataLogin["hostname"].":2087/json-api/suspendacct?api.version=1&user=".$_POST["username"];
  119. if (isset($_POST["reason"]) && !empty($_POST["reason"])) $suspendAddress.="&reason=".urlencode($_POST["reason"]);
  120. if (isset($_POST["disallowun"]) && !empty($_POST["disallowun"]) && $_POST["disallowun"]==1) $suspendAddress.="&disallowun=1";
  121. $suspendAccount=json_decode(getData($suspendAddress), true);
  122. echo'<div class="box">Suspend Username '.$_POST['username'].' : '.$suspendAccount['metadata']['reason'].'</div>';
  123. }
  124. echo'<div class="box"><h3>:: Suspend Account ::</h3><form method="POST"><select name="username">';
  125. $listAccts=json_decode(getData("https://".$dataLogin["hostname"].":2087/json-api/listaccts?api.version=1"), true);
  126. foreach ($listAccts["data"]["acct"] as $accts){
  127. if ($accts['suspended'] != 0) continue;
  128. echo'<option value="'.$accts['user'].'">'.$accts['domain'].' [ User : '.$accts['user'].' | Owner : '.$accts['owner'].' ]</option>';
  129. }
  130. echo'</select>';
  131. if ($dataLogin["username"]=="root") echo'<input type="checkbox" name="disallowun" value="1"> Only the root user can unsuspend the account<br>';
  132. echo'You can input reason for suspending this account<input type="text" name="reason" value="Not Payment"><input type="hidden" name="action" value="suspend"><input type="submit" value="Suspend Account"></form></div>';
  133. }
  134.  
  135. // UNSUSPEND ACCOUNT
  136.  
  137. if (isset($_REQUEST["action"]) && $_REQUEST["action"]=="unsuspend"){
  138. if (isset($_POST["username"]) && !empty($_POST["username"])){
  139. $unsuspendAddress="https://".$dataLogin["hostname"].":2087/json-api/unsuspendacct?api.version=1&user=".$_POST["username"];
  140. $unsuspendAccount=json_decode(getData($unsuspendAddress), true);
  141. echo'<div class="box">Unsuspend Username '.$_POST['username'].' : '.$unsuspendAccount['metadata']['reason'].'</div>';
  142. }
  143. echo'<div class="box"><h3>:: Unsuspend Account ::</h3><form method="POST"><select name="username">';
  144. $listAccts=json_decode(getData("https://".$dataLogin["hostname"].":2087/json-api/listaccts?api.version=1"), true);
  145. foreach ($listAccts["data"]["acct"] as $accts){
  146. if ($accts['suspended'] != 1) continue;
  147. echo'<option value="'.$accts['user'].'">'.$accts['domain'].' [ User : '.$accts['user'].' | Owner : '.$accts['owner'].' ]</option>';
  148. }
  149. echo'</select><input type="hidden" name="action" value="unsuspend"><input type="submit" value="Unsuspend Account"></form></div>';
  150. }
  151.  
  152. // LIST SUSPEND ACCOUNT
  153.  
  154. if (isset($_REQUEST["action"]) && $_REQUEST["action"]=="listsuspend"){
  155. $listSuspendAccts=json_decode(getData("https://".$dataLogin["hostname"].":2087/json-api/listsuspended?api.version=1"), true);
  156. echo'<div class="box"><h3>:: List Suspend Account ::</h3></div>';
  157. foreach ($listSuspendAccts["data"]["account"] as $suspended){
  158. echo'<div class="box">Username : <b>'.$suspended['user'].'</b><br>Locked : '.$suspended['is_locked'].'<br>Reason : "'.$suspended['reason'].'"<br>Owner : '.$suspended['owner'].'<br>Time Suspend : '.$suspended['time'].'</div>';
  159. }
  160. }
  161.  
  162. // CHANGE PASSWORD
  163.  
  164. if (isset($_REQUEST["action"]) && $_REQUEST["action"]=="changepassword"){
  165. if (isset($_POST["username"]) && !empty($_POST["username"]) && isset($_POST["password"]) && !empty($_POST["password"])){
  166. $passwdAddress="https://".$dataLogin["hostname"].":2087/json-api/passwd?api.version=1&user=".$_POST["username"]."&password=".$_POST["password"];
  167. if (isset($_POST["enabledigest"]) && !empty($_POST["enabledigest"]) && $_POST["enabledigest"]==1) $passwdAddress="&enabledigest=1";
  168. if (isset($_POST["db_pass_update"]) && !empty($_POST["db_pass_update"]) && $_POST["db_pass_update"]==1) $passwdAddress="&db_pass_update=1";
  169. $passwd=json_decode(getData($passwdAddress), true);
  170. echo'<div class="box">Change Password '.$_POST['username'].' : '.$passwd['metadata']['reason'].'</div>';
  171. }
  172. echo'<div class="box"><h3>:: Change Password ::</h3><form method="POST"><select name="username"><option value="'.$dataLogin['username'].'">'.$dataLogin['username'].' ( Self Server )</option>';
  173. $listAccts=json_decode(getData("https://".$dataLogin["hostname"].":2087/json-api/listaccts?api.version=1"), true);
  174. foreach ($listAccts["data"]["acct"] as $accts){
  175. echo'<option value="'.$accts['user'].'">'.$accts['domain'].' [ User : '.$accts['user'].' | Owner : '.$accts['owner'].' ]</option>';
  176. }
  177. echo'</select><input type="checkbox" name="enabledigest" value="1"> Enable Digest Authentication for the account<br><input type="checkbox" name="db_pass_update" value="1"> Change the MYSQL account<br>Please using with high security and minimun 6 chars<input type="text" name="password" placeholder="Input Password"><input type="hidden" name="action" value="changepassword"><input type="submit" value="Change Password"></form></div>';
  178. }
  179.  
  180. // LIST ACCOUNTS
  181.  
  182. if (isset($_REQUEST["action"]) && $_REQUEST["action"]=="listaccounts"){
  183. $listAccts=json_decode(getData("https://".$dataLogin["hostname"].":2087/json-api/listaccts?api.version=1"), true);
  184. echo'<div class="box"><h3>:: List Accounts ::</h3></div>';
  185. foreach ($listAccts["data"]["acct"] as $list){
  186. echo'<div class="box">Domain : <a href="http://'.$list['domain'].'" target="_blank">'.$list['domain'].'</a><br>Username : <b>'.$list['user'].'</b><br>Locked : '.$list['is_locked'].'<br>Suspended : '.$list['suspended'].'<br>Suspend Time : '.$list['suspendtime'].'<br>Reason : "'.$list['reason'].'"<br>Owner : '.$list['owner'].'<br>Time Start : '.$list['startdate'].'<br>Email : '.$list['email'].'<br>IP : '.$list['ip'].'<br>Disklimit : '.$list['disklimit'].'<br>Plan : '.$list['plan'].'</div>';
  187. }
  188. }
  189.  
  190. // SUSPEND RESELLER
  191.  
  192. if (isset($_REQUEST["action"]) && $_REQUEST["action"]=="suspendreseller"){
  193. if (isset($_POST["username"]) && !empty($_POST["username"])){
  194. $suspendAddress="https://".$dataLogin["hostname"].":2087/json-api/suspendreseller?api.version=1&user=".$_POST["username"];
  195. if (isset($_POST["reason"]) && !empty($_POST["reason"])) $suspendAddress.="&reason=".urlencode($_POST["reason"]);
  196. $suspendReseller=json_decode(getData($suspendAddress), true);
  197. if (isset($suspendReseller["metadata"]["reason"])) echo'<div class="box">Suspend Reseller '.$_POST['username'].' : '.$suspendReseller['metadata']['reason'].'</div>';
  198. }
  199. $listRes=json_decode(getData("https://".$dataLogin["hostname"].":2087/json-api/listresellers?api.version=1"), true);
  200. echo'<div class="box"><h3>:: Suspend Reseller ::</h3><form method="POST"><select name="username">';
  201. foreach ($listRes["data"]["reseller"] as $reseller){
  202. echo'<option value="'.$reseller.'">'.$reseller.'</option>';
  203. }
  204. echo'</select>The reason for the reseller suspension<input type="text" name="reason" value="Not Payment"><input type="hidden" name="action" value="suspendreseller"><input type="submit" value="Suspend Reseller"></form></div>';
  205. }
  206.  
  207. // UNSUSPEND RESELLER
  208.  
  209. if (isset($_REQUEST["action"]) && $_REQUEST["action"]=="unsuspendreseller"){
  210. if (isset($_POST["username"]) && !empty($_POST["username"])){
  211. $unsuspendAddress="https://".$dataLogin["hostname"].":2087/json-api/unsuspendreseller?api.version=1&user=".$_POST["username"];
  212. $unsuspendReseller=json_decode(getData($unsuspendAddress), true);
  213. if (isset($unsuspendReseller["metadata"]["reason"])) echo'<div class="box">Unsuspend Reseller '.$_POST['username'].' : '.$unsuspendReseller['metadata']['reason'].'</div>';
  214. }
  215. $listRes=json_decode(getData("https://".$dataLogin["hostname"].":2087/json-api/listresellers?api.version=1"), true);
  216. echo'<div class="box"><h3>:: Unsuspend Reseller ::</h3><form method="POST"><select name="username">';
  217. foreach ($listRes["data"]["reseller"] as $reseller){
  218. echo'<option value="'.$reseller.'">'.$reseller.'</option>';
  219. }
  220. echo'</select><input type="hidden" name="action" value="unsuspendreseller"><input type="submit" value="Unsuspend Reseller"></form></div>';
  221. }
  222.  
  223. // TERMINATE RESELLER
  224.  
  225. if (isset($_REQUEST["action"]) && $_REQUEST["action"]=="terminatereseller"){
  226. if (isset($_POST["username"]) && !empty($_POST["username"])){
  227. $terminateAddress="https://".$dataLogin["hostname"].":2087/json-api/terminatereseller?api.version=1&user=".$_POST["username"];
  228. if (isset($_POST["terminatemain"]) && !empty($_POST["terminatemain"]) && $_POST["terminatemain"]==1) $terminateAddress.="&terminatereseller=1";
  229. else $terminateAddress.="&terminatereseller=0";
  230. $terminateReseller=json_decode(getData($terminateAddress), true);
  231. if (isset($terminateReseller["metadata"]["reason"])) echo'<div class="box">Terminate Reseller '.$_POST['username'].' : '.$terminateReseller['metadata']['reason'].'</div>';
  232. }
  233. $listRes=json_decode(getData("https://".$dataLogin["hostname"].":2087/json-api/listresellers?api.version=1"), true);
  234. echo'<div class="box"><h3>:: Terminate Reseller ::</h3><form method="POST"><select name="username">';
  235. foreach ($listRes["data"]["reseller"] as $reseller){
  236. echo'<option value="'.$reseller.'">'.$reseller.'</option>';
  237. }
  238. echo'</select><input type="checkbox" name="terminatemain" value="1"> Terminate the reseller main account<input type="hidden" name="action" value="terminatereseller"><input type="submit" value="Terminate Reseller" style="background: #e74c3c;"></form></div>';
  239. }
  240.  
  241. // MENU FUNCTIONS
  242.  
  243. if (!empty($hostname["data"]["hostname"])){
  244. echo'<div class="box"><h3>:: Menu Functions ::</h3><div><a href="'.$_SERVER['PHP_SELF'].'?action=listaccounts" title="List Accounts" class="button">List Accounts</a></div><div><a href="'.$_SERVER['PHP_SELF'].'?action=changepassword" title="Change Password" class="button">Change Password</a></div><div><a href="'.$_SERVER['PHP_SELF'].'?action=create" title="Create Account" class="button">Create Account</a></div><div><a href="'.$_SERVER['PHP_SELF'].'?action=terminate" title="Terminate Account" class="button">Terminate Account</a></div><div><a href="'.$_SERVER['PHP_SELF'].'?action=suspend" title="Suspend Account" class="button">Suspend Account</a></div><div><a href="'.$_SERVER['PHP_SELF'].'?action=unsuspend" title="Unsuspend Account" class="button">Unsuspend Account</a></div><div><a href="'.$_SERVER['PHP_SELF'].'?action=listsuspend" title="List Suspend Account" class="button">List Suspend Account</a></div>';
  245. if ($dataLogin["username"]=="root")
  246. echo'<div><a href="'.$_SERVER['PHP_SELF'].'?action=suspendreseller" title="Suspend Reseller" class="button">Suspend Reseller</a></div><div><a href="'.$_SERVER['PHP_SELF'].'?action=unsuspendreseller" title="Unsuspend Reseller" class="button">Unsuspend Reseller</a></div><div><a href="'.$_SERVER['PHP_SELF'].'?action=terminatereseller" title="Terminate Reseller" class="button">Terminate Reseller</a></div>';
  247. echo'<div><a href="'.$_SERVER['PHP_SELF'].'?logout" title="Logout" class="button" style="background: #e74c3c;">Logout</a></div></div>';
  248. }
  249.  
  250. echo'</div></div></body></html>';
  251.  
  252. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement