Ninh Dương Lan Ngọc

Recently added

Little Teo
6.6
WEBRip

Little Teo

Dec. 20, 2013

Little Teo

The road comedy, not recommended for viewers under 16, tells the story of Ti Anh (played by Johnny Tri Nguyen) and Teo Em (played by Thai Hoa) – ...
Thuy
8.1
WEBRip

Thuy

Nov. 27, 2014

Thuy

A Vietnamese woman, Thuy, is married to a Korean man and lives with her in-laws in rural Korea. One day, her gambling-addict husband is killed in ...
Jackpot
6.5
WEBRip

Jackpot

Feb. 13, 2015

Jackpot

Inspired by a true story, Jackpot (Trúng Số) is a heartfelt comedy.
Tam Cam: The Untold
5.5
WEBRip

Tam Cam: The Untold

Aug. 19, 2016

Tam Cam: The Untold

“Tam Cam: The Untold” is inspired by the fairy tale Tam Cam. Father died early, the stepmother and Cam bullying Tam until she meet ...
Phim Trường Ma
0
WEBRip

Phim Trường Ma

Sep. 09, 2016

Phim Trường Ma

The Red Gloves is a journey to find herself of the assassin code-named No. 7. She was trained to be a assassin, that was until she returned to ...
Nắng
7.4
WEBRip

Nắng

Aug. 31, 2016

Nắng

The Red Gloves is a journey to find herself of the assassin code-named No. 7. She was trained to be a assassin, that was until she returned to ...
Killer: Number 7
5.5
WEBRip

Killer: Number 7

Nov. 24, 2016

Killer: Number 7

The Red Gloves is a journey to find herself of the assassin code-named No. 7. She was trained to be a assassin, that was until she returned to ...
Girl From The Past
5.6
WEBRip

Girl From The Past

Oct. 13, 2022

Girl From The Past

When a famous celebrity with a dark past meets an old friend from 15 years ago, secrets start to come back from the grave…
The Cougar Queen
5
WEBRip

The Cougar Queen

Dec. 14, 2018

The Cougar Queen

The life of fame is suddenly a series of bad luck that makes Ms Q face many challenges if she wants to regain her position. At the same time, ...
Floating Lives
7
WEBRip

Floating Lives

Dec. 03, 2010

Floating Lives

Set in the Mekong Delta of Vietnam, the film tells a story of Mr. Vo and his children. Vo, enraged by his wife’s infidelity, burns down his house ...
1990
0
WEBRip

1990

Feb. 01, 2022

1990

Dreams and hopes we had when we were young. Are they just dreams frozen like still pictures? Hyeonsu has been a part-time lecturer for 10 years. ...
The Tailor
6.6
WEBRip

The Tailor

Nov. 10, 2017

The Tailor

The re-enactment of the long dress (ao dai) era in 1960s, Saogon, thought to be the heyday of traditional Vietnamese costumes. Interwoven into ...
Camellia Sisters
4.7
WEBRip

Camellia Sisters

Jan. 25, 2020

Camellia Sisters

When a TV host travels to her fiance’s hometown to uncover a showbiz secret, she learns her future mother-in-law is working to stop their ...
Win My Baby Back
5.8
WEBRip

Win My Baby Back

Feb. 05, 2019

Win My Baby Back

“Win My Baby Back” is a perfect love story of Trong Thoai and Nha Linh. But life was not as dreaming as Nha Linh’s ...
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();