Lâm Thanh Mỹ

Recently added

Hollow
5.6
WEBRip

Hollow

Jul. 18, 2014

Hollow

A young girl falls into a river and drowns. When her body is found in a remote village along the river, her uncle arrives to claim her body, only ...
Tenacious Ghost
4.7
WEBRip

Tenacious Ghost

Apr. 28, 2015

Tenacious Ghost

The film revolves around two main characters are the Lam (Ngan Khanh) and Thố (Duc Thinh). They have nothing in common but ironic fate binds them ...
Yellow Flowers On the Green Grass
7.4
WEBRip

Yellow Flowers On the Green Grass

After and act of violence leaves his brother Tuong paralyzed, Thieu discovers the true meaning of brotherhood.
Love: Yeu
7.2
WEBRip

Love: Yeu

Nov. 20, 2015

Love: Yeu

LOVE explores the relationship between friends, family, and lovers. This story begins with the origins of a blossoming friendship between two ...
Bitcoin Heist
5.8
WEBRip

Bitcoin Heist

Feb. 05, 2016

Bitcoin Heist

To catch Interpol’s most-wanted hacker, special Agent Dada must assemble a team of criminals with various special skillsets.
First Love
5.3
WEBRip

First Love

Feb. 14, 2019

First Love

My An has a crush on the good-looking and rich Thien. He is labeled “The Prince of the Dreams” in the school, but in the same time he ...
Truyên Ngan
5.9
WEBRip

Truyên Ngan

Sep. 27, 2019

Truyên Ngan

An (Phuong Anh Dao) – Phat (Lien Binh Phat) has a sweet love relationship. From childhood to becoming young people, both have for each ...
The Ancestral
4.3
WEBRip

The Ancestral

Mar. 24, 2022

The Ancestral

After suffering a family tragedy, a widower named Thanh moves his two daughters to a centuries-old ancestral home. Both daughters fall prey to ...
Extremely Easy Job
5.4
WEBRip

Extremely Easy Job

Apr. 29, 2022

Extremely Easy Job

Mr. Thai is a retired police officer. Every day, he still goes looking for petty criminals. Hoang – a newly released drug lord opened a ...
The Third Wife
6.6
WEBRip

The Third Wife

Jan. 11, 2019

The Third Wife

Though only 14 years old, May is selected to be the third wife of a wealthy landowner. Her new home seems idyllic, her husband favours her, and ...
Between Shadow and Soul
5.5
WEBRip

Between Shadow and Soul

Mây, a fourteen year-old girl is being married as the third wife to a rich landowner in the late 19th century Northern Vietnam. A black & ...
Let Hoi Decide
5.7
WEBRip

Let Hoi Decide

Jan. 01, 2014

Let Hoi Decide

A transgender Vietnamese businessman who becomes poor every time he falls in love with someone.
Kumanthong
5.5
WEBRip

Kumanthong

Oct. 09, 2019

Kumanthong

Set in a poor countryside in the Southwest region in the 1990s, That Son Tam Linh tells the story in which the central character is a scholar ...
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();