SolusVM API PHP Script
The client API is a http based API that allows you and your clients to interact directly with a virtual server with security and ease. The client API can be disabled at any time and access is only granted with a key and hash on a per vps basis.Currently available options are:
Here is the script:
<?php /** * A php script to show you information of your vps run by solusvm. * by Fahad Ahammed */ set_time_limit(180); $serv_array = array( array(//VPS-1 'api_server' => 'https://vps1.domain.com:5656', //panel login page 'api_key' => 'AAAAA-BBBBB-CCCCC', //Replace by yours 'api_hash' => '1a1a1a1a1a1a1a1a1a1aa1a1a1a1a1a1aa1a1a1a', //Replace by yours ), array(//VPS-2 'api_server' => 'https://vps2.domain.com:5656', //panel login page 'api_key' => 'AAAAA-BBBBB-CCCCC', //Replace by yours 'api_hash' => '1a1a1a1a1a1a1a1a1a1aa1a1a1a1a1a1aa1a1a1a', //Replace by yours ); define('URL_FORMAT', '%s/api/client/command.php?key=%s&hash=%s&action=info&ipaddr=true&bw=true&mem=true&hdd=true&status=true'); //url key hash foreach ($serv_array as $server) { $url = sprintf(URL_FORMAT, $server['api_server'], $server['api_key'], $server[api_hash]); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER , true); $data = curl_exec($ch); curl_close($ch); preg_match("/<hostname>(.*)</hostname>/", $data, $hostname); preg_match("/<vmstat>(.*)</vmstat>/", $data, $vmstat); preg_match("/<ipaddr>(.*)</ipaddr>/", $data, $ipaddr); preg_match("/<hdd>(.*),(.*),(.*),(.*)</hdd>/", $data, $hdd); preg_match("/<bw>(.*),(.*),(.*),(.*)</bw>/", $data, $bw); preg_match("/<mem>(.*),(.*),(.*),(.*)</mem>/", $data, $mem); $hdd[2] = format_bytes($hdd[2]); $mem[2] = format_bytes($mem[2]); $bw[2] = format_bytes($bw[2]); echo "<strong>Server: </strong>$hostname[1]<br />n"; echo "<strong>Status: </strong>$vmstat[1]<br />n"; echo "<strong>IP: </strong>$ipaddr[0]<br />n"; echo "<strong>HDD used: </strong>$hdd[2], $hdd[4]%<br />n"; echo "<strong>Memory used: </strong>$mem[2], $mem[4]%<br />n"; echo "<strong>Bandwidth used: </strong>$bw[2], $bw[4]%<br />n"; echo "<hr />"; } function format_bytes($size) { $units = array(' B', ' KB', ' MB', ' GB', ' TB'); for ($i = 0; $size >= 1024 && $i < 4; $i++) $size /= 1024; return round($size, 2).$units[$i]; } ?>
From above image , you are seeing some button to reboot, shutdown, boot, reload. They are just html links having desired pattern of solusvm.
Links are:
Shutdown
https://vps1.domain.com:5656/api/client/command.php?key=AAAAA-BBBBB-CCCCC&hash=1a1a1a1a1a1a1a1a1a1aa1a1a1a1a1a1aa1a1a1a&action=shutdown
Reboot
https://vps1.domain.com:5656/api/client/command.php?key=AAAAA-BBBBB-CCCCC&hash=1a1a1a1a1a1a1a1a1a1aa1a1a1a1a1a1aa1a1a1a&action=reboot
Boot
https://vps1.domain.com:5656/api/client/command.php?key=AAAAA-BBBBB-CCCCC&hash=1a1a1a1a1a1a1a1a1a1aa1a1a1a1a1a1aa1a1a1a&action=boot
Reload
https://vps1.domain.com:5656/api/client/command.php?key=AAAAA-BBBBB-CCCCC&hash=1a1a1a1a1a1a1a1a1a1aa1a1a1a1a1a1aa1a1a1a&action=reload
Just replace your api key and hash and url of solusvm.
Thank You.