Andy Lau

Recently added

City Kids 1989
6.2
Mini HD

City Kids 1989

Aug. 05, 1989

City Kids 1989

The pressures of the gang-ridden Hong Kong streets threaten to tear two teenage friends apart. A provocative look at misunderstood youth and ...
1:99 Shorts
5.7
Mini HD

1:99 Shorts

Aug. 04, 2003

1:99 Shorts

Shorts made by 11 directors in order to fight against the SARS epidemy that occurred in China and Hong Kong in 2003. The shorts were produced by ...
Battle of the Warriors
6.7
DVDScr

Battle of the Warriors

In 370 B.C, China was separated as seven nations and several other small tribes, one of these being the city state of Liang. The nation of Zhao ...
Future X-Cops
3.5
DVDScr

Future X-Cops

Apr. 08, 2010

Future X-Cops

A cop travels back in time to take on a corporation that’s out to eliminate a doctor who has created a new technology which can break up ...
Dance of a Dream
6.1
mHD

Dance of a Dream

Dec. 21, 2001

Dance of a Dream

Namson Lau is a ballroom dancing instructor. On stage, he is a refined and suave gentleman, but in reality, he is cunning and greedy, and dancing ...
Infernal Affairs
8
mHD

Infernal Affairs

Dec. 12, 2002

Infernal Affairs

Chan Wing Yan, a young police officer, has been sent undercover as a mole in the local mafia. Lau Kin Ming, a young mafia member, infiltrates the ...
Infernal Affairs III
6.8
mHD

Infernal Affairs III

Dec. 12, 2003

Infernal Affairs III

While Yeung Kam Wing is trying to remove all connections between the mob and him, his actions are being carefully observed by Lau Kin Ming, who ...
Triad Underworld
6.2
mHD

Triad Underworld

May. 26, 2004

Triad Underworld

When Triad leader Hung considers leaving the world of the gangsters, a brutal war begins in the world of jiang-hu. Meanwhile, an internal ...
Yesterday Once More
6.2
mHD

Yesterday Once More

Oct. 14, 2004

Yesterday Once More

Mr. and Mrs. To are wealthy, creative jewel thieves who divorce for no apparent reason after a successful diamond heist. A year later, ...
A World Without Thieves
7.2
mHD

A World Without Thieves

A con-team couple head west after taking a city businessman for his BMW. But an encounter with a naive young carpenter traveling home with his ...
Wait ‘Til You’re Older
6.6
mHD

Wait ‘Til You’re Older

A troubled boy who seeks escape becomes a man through a miraculous growth formula but encounters a new troubles when the formula won’t quit.
My Mother is a Belly Dancer
6.4
mHD

My Mother is a Belly Dancer

A story of four women who take belly dancing lessons to escape from their lives.
Brothers
6.1
mHD

Brothers

Oct. 12, 2007

Brothers

An intense drama on the portrayal of brotherhood, BROTHERS depicts the mistrust and feud between two brothers through the eyes of an ...
A Simple Life
7.5
mHD

A Simple Life

Sep. 04, 2011

A Simple Life

The relationship between a middle-aged man and the elderly woman, who has been the family’s helper for sixty years.
Cold War
6.6
mHD

Cold War

Nov. 08, 2012

Cold War

Five police officers in Hong Kong are kidnapped. The police commissioner is on a business trip overseas. Two vice commissioners, Sean Rau and ...
Firestorm
6.2
mHD

Firestorm

Dec. 12, 2013

Firestorm

Hong Kong. When Cao Nan and his group of thieves rob an armored car in broad daylight, they don’t hesitate to murder innocent people on the ...
Magic Kitchen
5.3
Bluray

Magic Kitchen

Jan. 15, 2004

Magic Kitchen

Yau is on the lookout for love in modern day Hong Kong in spite of her family curse.
Everlasting Love
5.7
WEBRip

Everlasting Love

Mar. 22, 1984

Everlasting Love

An intern doctor falls in love with a 19-year-old girl, not knowing that she is a hostess at a night club and a single mother.
God of Gamblers
7.2
WEBRip

God of Gamblers

Dec. 14, 1989

God of Gamblers

Ko Chun, an extremely talented and well known gambler. On the eve of a big confrontation with a famous Singaporean gambler, Ko walks into a trap ...
A Moment of Romance
7.3
WEBRip

A Moment of Romance

Jun. 14, 1990

A Moment of Romance

During a bank heist, getaway driver Wah takes a young woman Jo Jo hostage. After preventing his accomplices from killing her, they begin a ...
Gangland Odyssey
5.2
WEBRip

Gangland Odyssey

Sep. 13, 1990

Gangland Odyssey

A retired cop is summoned by his ex-boss to save his kidnapped son from the hands of a deadly Japanese triad. Action violence and a little ...
God of Gamblers II
6.8
WEBRip

God of Gamblers II

Dec. 13, 1990

God of Gamblers II

Wong Jing’s sequel to All for the Winner and spin-off to God of Gamblers finds Chow Sing Cho looking up to Michael “Dagger” ...
Tricky Brains
7
WEBRip

Tricky Brains

Feb. 02, 1991

Tricky Brains

A trickster-for-hire, known as the Tricky Expert, is hired to ruin the lives of a father and son by making them think that he’s a part of ...
Lee Rock
7
WEBRip

Lee Rock

Sep. 18, 1991

Lee Rock

The film chronicles the rise and fall of a corrupt police force that Lee Rock becomes a part of.
Lee Rock II
6.6
WEBRip

Lee Rock II

Oct. 10, 1991

Lee Rock II

The second part of the trilogy chronicling the rise and fall of Hong Kong’s top corrupt official. During this time period, Lee Rock enjoys ...
Dances with Dragon
6.8
WEBRip

Dances with Dragon

Dec. 19, 1991

Dances with Dragon

Aaron, a young, successful Chinese businessman, drifts on to a rural island after a scuba accident. Mistaken for an illegal immigrant, he is ...
The Thief of Time
6.3
WEBRip

The Thief of Time

Jan. 01, 1992

The Thief of Time

A dimwitted thief, mistakes for a spy, in order to free himself he holds the honest driver, as a hostage. They end up in a tunnel and traveled ...
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();