Louis Koo

Recently added

On His Majesty’s Secret Service
4.2
Mini HD

On His Majesty’s Secret Service

Louis Koo plays 009, or translated literally from its aural pronunciation, double-O Dog. He’s one of 12 special Royal Bodyguards of a ...
A Chinese Fairy Tale
5.6
Mini HD

A Chinese Fairy Tale

Apr. 21, 2011

A Chinese Fairy Tale

Government official Ling Choi Sin journeys to the parched Black Mountain Village, to help its inhabitants find water. As he leads a group of ...
New Kung Fu Cult Master
5.1
Mini HD

New Kung Fu Cult Master

Wudang master Zhang Cuishan who lives in the Shangri-La Ice and Fire Island with his family, away from the dissension and bloodshed, ambushed and ...
The Lion Roars
5.9
DVDScr

The Lion Roars

Sep. 28, 2002

The Lion Roars

During the Soong Dynasty, a beautiful woman named Liu is searching for a husband, but is unable to find one until she hears the avant-garde ...
League of Gods
4.5
DVDScr

League of Gods

Jul. 28, 2016

League of Gods

During the reign of King Zhou, an official enters his bedchamber, and is devoured by the monstrous tails of Daji, his concubine. Outside their ...
Born Wild
5.9
mHD

Born Wild

May. 31, 2001

Born Wild

Upon discovering that his estranged twin brother Lok has died, Joe’s investigation of Lok’s troubled past sends him to the world of ...
Election
7.1
mHD

Election

Oct. 20, 2005

Election

After losing an election to become chairman of the Wo Lin Shing triad, a gang leader lashes out and tries to seize the dragon-head baton, the ...
Election 2
7.4
mHD

Election 2

Apr. 27, 2006

Election 2

As election time nears, current Triad chairman Lok faces competition from his godsons. At the same time, Jimmy looks to increase his business ...
Triangle
6.2
mHD

Triangle

Oct. 01, 2007

Triangle

Life has not been kind to drinking buddies Sam, Fai, and Mok as they struggle to make ends meet, until one stormy evening a mysterious old man ...
Drug War
7
mHD

Drug War

Nov. 15, 2012

Drug War

A drug cartel boss is arrested in a raid and coerced into betraying his former accomplices as part of an undercover operation.
Z Storm
5.4
mHD

Z Storm

Jun. 19, 2014

Z Storm

ICAC principal investigator William Luk takes his job seriously, and he needs every last scintilla of support from his team to take on the ...
An Inspector Calls
4.9
mHD

An Inspector Calls

Feb. 19, 2015

An Inspector Calls

An unexpected inspector drops by a lavish party of a notable family in order to investigate the suicide of a pregnant girl. This breaks the joy ...
Paradox
6.5
mHD

Paradox

Aug. 25, 2017

Paradox

When a Hong Kong police negotiator is informed about the sudden disappearance of his 16-year-old daughter in Thailand, he travels there to search ...
Always Be with You
5.3
mHD

Always Be with You

Oct. 26, 2017

Always Be with You

Taxi driver David, who’s doomed after a terminal cancer diagnosis, accidentally kills hotel owner Patrick in a car crash. Patrick’s ...
P Storm
5.8
mHD

P Storm

Apr. 04, 2019

P Storm

Liu Yue Ping reports to the ICAC about a rich 2G Cao Yuen Yuen who bribed officers of the Hong Kong Correctional Services (HKCS) from inside the ...
Anita
7
mHD

Anita

Nov. 12, 2021

Anita

This long-awaited biopic provides a vivid account of the remarkable life of Anita Mui in and behind the limelight, chronicling her journey from a ...
The Strangled Truth
0
mHD

The Strangled Truth

Two policemen, intent on their dangerous mission to uncover the truth at all costs. Putting into question the price of their friendship.
When It All Begins
0
mHD

When It All Begins

Long has two sons. His adopted son Fei helps him run his tiny store that sells charcoal grilled egg puffs. His own son Ho was a hairstylist and ...
Beyond the Sin
0
mHD

Beyond the Sin

This suspense drama follows a fugitive magician hiding out on an island where he meets a young boy who may unlock his past and bring his magic ...
On Fire
4.8
WEBRip

On Fire

Jul. 18, 1996

On Fire

Tung Choi Street Car God Chan Mo Nam and his best buddy Sam Bat Jai, Tung Tung all worship sex symbol Francoise Yip Fong Fa. Their biggest wish ...
Aberdeen
6.3
WEBRip

Aberdeen

May. 08, 2014

Aberdeen

The extended Cheng family, which, like Aberdeen harbor’s Chinese namesake, represents today’s Little Hong Kong and its myriad of contradictions ...
Overheard 3
6
WEBRip

Overheard 3

May. 30, 2014

Overheard 3

Law was a chauffeur for the rural tycoon Luk, and he was jailed for killing a major land owner in a car accident. It was rumored that Luk was ...
Dealer/Healer
5.5
WEBRip

Dealer/Healer

May. 18, 2017

Dealer/Healer

The movie is based on a true story about a repented gangster preaching the word of God and guiding his brotherhood to turn over a new leaf. Chen ...
Happy Birthday
6.4
TS

Happy Birthday

Jan. 18, 2007

Happy Birthday

Rene Liu successfully delivers the complex role of Mi, who chooses to remain single rather than risking the slightest chance of being dumped. She ...
Little Big Master
7.2
TS

Little Big Master

Mar. 19, 2015

Little Big Master

The story of a hopeful headmaster who perseveres in running a kindergarten for underprivileged children in Yuen Long, despite many challenges and ...
Let’s Go Slam Dunk
5.7
240p

Let’s Go Slam Dunk

Jul. 16, 1994

Let’s Go Slam Dunk

To save her father’s basketball franchise, daughter KK recruits a team of misfits, each with inner demons to overcome, to challenge an ...
Flash Point
6.7
240p

Flash Point

Jul. 26, 2007

Flash Point

Detective Sergeant Ma Jun, known for dispensing his own brand of justice during arrests, teams up with an undercover cop, Wilson, to try and ...
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();