Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //
- $settings = [
- 'api_key' => '0wNRmkuYK0hamW0cQ0Zpzw9RFvMi0BRhgtbmNLA1qrF44KsO5RZfsYFnhmcoIYNh',
- 'userscript' => 170066,
- 'image' => 124,
- 'size1' => 5000,
- 'size2' => 500,
- 'kernal' => 138,
- 'password' => 'unHuW9dypTRjGaLjeBEU',
- ];
- //
- set_time_limit(0);
- //
- function request($data)
- {
- $url = 'https://api.linode.com/';
- $url .= '?';
- $url .= http_build_query($data);
- $url = file_get_contents($url);
- $url = json_decode($url, true);
- return $url;
- }
- //
- $data = [
- 'api_key' => $settings['api_key'],
- 'api_action' => 'linode.list',
- ];
- $result = request($data);
- if (!empty($result['ERRORARRAY'])) {
- die('Invalid API KEY.');
- }
- //
- if ($_POST) {
- //
- $output = [];
- $msgS = null;
- $msgE = null;
- //
- if (isset($_POST['list'])) {
- $data = [
- 'api_key' => $settings['api_key'],
- 'api_action' => 'linode.ip.list',
- ];
- $result = request($data);
- if (!empty($result['DATA'])) {
- $msgS = 'Success!';
- foreach ($result['DATA'] as $ip) {
- $output[] = $ip['IPADDRESS'] . trim($_POST['prefix']);
- }
- } else {
- $msgE = 'Error! You do not have any virtual machines.';
- }
- }
- //
- if (isset($_POST['create'])) {
- $msgS = 'Success!';
- for ($i = 0; $i < trim($_POST['quantity']); $i++) {
- $data = [
- 'api_key' => $settings['api_key'],
- 'api_action' => 'linode.create',
- 'DatacenterID' => $_POST['location'],
- 'PlanID' => 1,
- ];
- $result = request($data);
- $data = [
- 'api_key' => $settings['api_key'],
- 'api_action' => 'linode.disk.createfromstackscript',
- 'LinodeID' => $result['DATA']['LinodeID'],
- 'StackScriptID' => $settings['userscript'],
- 'StackScriptUDFResponses' => '{}',
- 'DistributionID' => $settings['image'],
- 'Label' => 'MAIN',
- 'Size' => $settings['size1'],
- 'rootPass' => $settings['password'],
- ];
- $disk1 = request($data);
- $data = [
- 'api_key' => $settings['api_key'],
- 'api_action' => 'linode.disk.create',
- 'LinodeID' => $result['DATA']['LinodeID'],
- 'Label' => 'SWAP',
- 'Type' => 'swap',
- 'Size' => $settings['size2'],
- ];
- $disk2 = request($data);
- $data = [
- 'api_key' => $settings['api_key'],
- 'api_action' => 'linode.config.create',
- 'LinodeID' => $result['DATA']['LinodeID'],
- 'KernelID' => $settings['kernal'],
- 'Label' => 'DEFAULT',
- 'DiskList' => $disk1['DATA']['DiskID'] . ',' . $disk2['DATA']['DiskID'],
- ];
- request($data);
- $data = [
- 'api_key' => $settings['api_key'],
- 'api_action' => 'linode.boot',
- 'LinodeID' => $result['DATA']['LinodeID'],
- ];
- request($data);
- $output[] = 'Created ID : ' . $result['DATA']['LinodeID'];
- }
- }
- //
- if (isset($_POST['delete'])) {
- $data = [
- 'api_key' => $settings['api_key'],
- 'api_action' => 'linode.list',
- ];
- $result = request($data);
- if (empty($result['DATA'])) {
- $msgE = 'Error! You do not have any virtual machines.';
- } else {
- $msgS = 'Success!';
- foreach ($result['DATA'] as $linode) {
- $data = [
- 'api_key' => $settings['api_key'],
- 'api_action' => 'linode.shutdown',
- 'LinodeID' => $linode['LINODEID'],
- ];
- request($data);
- $data = [
- 'api_key' => $settings['api_key'],
- 'api_action' => 'linode.disk.list',
- 'LinodeID' => $linode['LINODEID'],
- ];
- $disks = request($data);
- foreach ($disks['DATA'] as $disk) {
- $data = [
- 'api_key' => $settings['api_key'],
- 'api_action' => 'linode.disk.delete',
- 'LinodeID' => $linode['LINODEID'],
- 'DiskID' => $disk['DISKID'],
- ];
- request($data);
- }
- $status = true;
- while ($status) {
- $data = [
- 'api_key' => $settings['api_key'],
- 'api_action' => 'linode.job.list',
- 'LinodeID' => $linode['LINODEID'],
- ];
- $jobs = request($data);
- if ($jobs['DATA'][0]['HOST_SUCCESS'] == 1) {
- $status = false;
- }
- }
- $data = [
- 'api_key' => $settings['api_key'],
- 'api_action' => 'linode.delete',
- 'LinodeID' => $linode['LINODEID'],
- ];
- request($data);
- $output[] = 'Deleted Linode ID : ' . $linode['LINODEID'];
- }
- }
- }
- }
- ?>
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="robots" content="none">
- <title>TheProxyGuru - API Manager (Linode)</title>
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/cyborg/bootstrap.min.css">
- <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
- <!--[if lt IE 9]>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script>
- <![endif]-->
- <style>
- * {
- }
- html {
- }
- body {
- padding-top: 50px;
- }
- a, a:link, a:active, a:hover {
- text-decoration: none;
- }
- </style>
- </head>
- <body>
- <!-- -->
- <div class="container-fluid">
- <div class="row">
- <div class="col-lg-3 text-center">
- <h6><a href=".">LINODE</a></h6>
- <hr>
- </div>
- </div>
- </div>
- <!-- -->
- <?php if (!empty($msgS)): ?>
- <div class="container-fluid">
- <div class="row">
- <div class="col-lg-3">
- <div class="alert alert-success">
- <?= $msgS ?>
- </div>
- </div>
- </div>
- </div>
- <?= PHP_EOL ?>
- <?php endif; ?>
- <!-- -->
- <?php if (!empty($msgE)): ?>
- <div class="container-fluid">
- <div class="row">
- <div class="col-lg-3">
- <div class="alert alert-danger">
- <?= $msgE ?>
- </div>
- </div>
- </div>
- </div>
- <?= PHP_EOL ?>
- <?php endif; ?>
- <!-- -->
- <div class="container-fluid">
- <div class="row">
- <div class="col-lg-3">
- <div class="well">
- <?php if (!empty($output)): ?>
- <?php foreach ($output as $o): ?>
- <?= $o ?>
- <br>
- <?php endforeach; ?>
- <?= PHP_EOL ?>
- <?php endif; ?>
- </div>
- </div>
- </div>
- </div>
- <!-- -->
- <div class="container-fluid">
- <div class="row">
- <div class="col-lg-3">
- <div class="panel panel-default">
- <div class="panel-heading">List</div>
- <div class="panel-body">
- <form class="form" method="post">
- <div class="form-group">
- <input class="form-control" id="prefix" type="text" name="prefix" placeholder=":port:user:pass">
- </div>
- <button class="btn btn-info btn-lg btn-block" id="list" type="submit" name="list">List Proxies</button>
- </form>
- </div>
- </div>
- </div>
- </div>
- </div>
- <!-- -->
- <div class="container-fluid">
- <div class="row">
- <div class="col-lg-3">
- <div class="panel panel-default">
- <div class="panel-heading">Create</div>
- <div class="panel-body">
- <form class="form" method="post">
- <div class="form-group">
- <input class="form-control" id="quantity" type="text" name="quantity" placeholder="Quantity ..." required>
- </div>
- <div class="form-group">
- <select class="form-control" id="location" name="location">
- <option value="2">Dallas, TX, USA</option>
- <option value="3">Fremont, CA, USA</option>
- <option value="4">Atlanta, GA, USA</option>
- <option value="6">Newark, NJ, USA</option>
- <option value="7">London, England, UK</option>
- <option value="8" disabled>Tokyo, JP</option>
- <option value="9">Singapore, SG</option>
- <option value="10">Frankfurt, DE</option>
- <option value="11">Tokyo 2, JP</option>
- </select>
- </div>
- <button class="btn btn-success btn-lg btn-block" id="create" type="submit" name="create">Create</button>
- </form>
- </div>
- </div>
- </div>
- </div>
- </div>
- <!-- -->
- <div class="container-fluid">
- <div class="row">
- <div class="col-lg-3">
- <div class="panel panel-default">
- <div class="panel-heading">Delete</div>
- <div class="panel-body">
- <form class="form" method="post">
- <button class="btn btn-danger btn-lg btn-block" id="delete" type="submit" name="delete">Delete</button>
- </form>
- </div>
- </div>
- </div>
- </div>
- </div>
- <!-- -->
- <div class="container-fluid">
- <div class="row">
- <div class="col-lg-3 text-center">
- <hr>
- <p><small>© <?= date('Y') ?> <a href="https://TheProxyGuru.com" target="_blank">TheProxyGuru</a></small></p>
- </div>
- </div>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement