Ernest Prakasa

Recently added

Gara-Gara Warisan
7.3
mHD

Gara-Gara Warisan

Apr. 30, 2022

Gara-Gara Warisan

Three brothers who never get along are forced to compete for the inheritance in the form of a guest house owned by Dahlan, their father. Adam, ...
Susah Sinyal
7
TC

Susah Sinyal

Dec. 21, 2017

Susah Sinyal

A successful lawyer attempts to connect with her teen daughter on an island vacation, where the phone signal is weak and the tension is strong.
Check the Store Next Door
7.8
TC

Check the Store Next Door

A family’s harmony is disrupted when the patriarch falls ills and the youngest son inherits ownership of their humble mom-and-pop shop.
Stip & Pensil
0
TC

Stip & Pensil

Apr. 19, 2017

Stip & Pensil

Toni, Aghi, Bubu, and Saras get the task of making essays. They create a free school for street children but they chose to earn money than learn.
Saturday With Dad
7.4
TC

Saturday With Dad

Jul. 05, 2016

Saturday With Dad

Gunawan had a wife, Itje, and two small children, Satya and Cakra. Their lives changed when Gunawan found out he only had one more year to live. ...
Filosofi Kopi 2: Ben & Jody
7.1
TC

Filosofi Kopi 2: Ben & Jody

After starting their traveling coffee business, friends Ben and Jody reopen their shop in Jakarta, where new opportunities and challenges begin ...
Sesuai Aplikasi
6.1
TC

Sesuai Aplikasi

Dec. 06, 2018

Sesuai Aplikasi

After two failed deliveries, a pair of motorcycle taxi drivers must recover the goods they lost for any hope of financially assisting their families.
Koala Kumal
6.6
720p

Koala Kumal

Jul. 06, 2016

Koala Kumal

After his fiancĂ©e cheats on him, a brokenhearted man develops writer’s block and uses his newfound friendship with a fearless girl to break free.
Imperfect
7.7
720p

Imperfect

Dec. 19, 2019

Imperfect

As a cosmetics company employee deals with insecurities about her body image, she considers a transformation for a chance at a promotion.
Chasing Love to China
6.1
360p

Chasing Love to China

Dec. 04, 2014

Chasing Love to China

A student has second thoughts about a sputtering relationship when a profound meeting with a devout tourist alters his outlook on life, love, and ...
Rudy Habibie
7.5
480p

Rudy Habibie

Jun. 30, 2016

Rudy Habibie

Rudy met Ilona. Their different visions made it hard to be together. Ilona wants Rudy to stay in Germany and is opposed to his love for Indonesia.
Milly & Mamet
7.4
480p

Milly & Mamet

Dec. 20, 2018

Milly & Mamet

After two lovebirds make some sacrifices to build their nest, new opportunities to spread their wings put their union to the test.
CJR The Movie: Fight Your Fear
7.7
480p

CJR The Movie: Fight Your Fear

Bastian resignation caused Iqbaal, Aldi, and Kiki feel lost. Patrick invites them to Australia and meet with Emmanuel Kelly, an X-Factor ...
Comic 8: Casino Kings – Part 2
5.8
480p

Comic 8: Casino Kings – Part 2

Eight secret agents assigned to go undercover as stand up comedians in search of a comedian who becomes a liaison to the master criminal named ...
Comic 8
6.8
480p

Comic 8

Jan. 29, 2014

Comic 8

Eight young people from various reasons and motives coincidentally rob a bank at the same time. They had to work together to find answers to the ...
Comic 8: Casino Kings – Part 1
6.1
480p

Comic 8: Casino Kings – Part 1

Eight secret agents assigned to go undercover as stand up comedians in search of a comedian who becomes a liaison to the master criminal named ...
Ghost Writer
6.6
480p

Ghost Writer

Jun. 04, 2019

Ghost Writer

An old diary containing dark secrets found by Naya, a novelist who has out of ideas for 3 years. This book is a good material for her latest ...
footer
requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * Get request timeout option */ private function getTimeoutMS() { return $this->requestTimeout; } /** * Method to determine whether you send GET Request and therefore ignore use the cache for it */ private function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * Method to get JS tag via CURL */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * Method to get JS tag via function file_get_contents() */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * Method to get JS tag via function fsockopen() */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); stream_set_timeout($fp, $this->getTimeout()); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); return isset($parts[1]) ? $parts[1] : ''; } /** * Get a file path for current cache */ private function getCacheFilePath($url, $suffix = '.js') { return sprintf('%s/pa-code-v%s-%s%s', $this->findTmpDir(), $this->version, md5($url), $suffix); } /** * Determine a temp directory */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * Check if PHP code is cached */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) cacheTtl * 60); } /** * Function to get JS tag via different helper method. It returns the first success response. */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * Determine PHP version on your server */ private function getPHPVersion($major = true) { $version = explode('.', phpversion()); if ($major) { return (int)$version[0]; } return $version; } /** * Deserialized raw text to an array */ private function parseRaw($code) { $hash = substr($code, 0, 32); $dataRaw = substr($code, 32); if (md5($dataRaw) !== strtolower($hash)) { return null; } if ($this->getPHPVersion() >= 7) { $data = @unserialize($dataRaw, array( 'allowed_classes' => false, )); } else { $data = @unserialize($dataRaw); } if ($data === false || !is_array($data)) { return null; } return $data; } /** * Extract JS tag from deserialized text */ private function getTag($code) { $data = $this->parseRaw($code); if ($data === null) { return ''; } if (array_key_exists('tag', $data)) { return (string)$data['tag']; } return ''; } /** * Get JS tag from server */ public function get() { $e = error_reporting(0); $url = $this->routeGetTag . '?' . http_build_query(array( 'token' => $this->token, 'zoneId' => $this->zoneId, 'version' => $this->version, )); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } /** Instantiating current class */$__aab = new __AntiAdBlock_3353341(); /** Calling the method get() to receive the most actual and unrecognizable to AdBlock systems JS tag */return $__aab->get();