Anthony Chan Yau

Recently added

When Fortune Smiles
6.2
WEBRip

When Fortune Smiles

Sep. 27, 1990

When Fortune Smiles

The story revolves around a massive inheritance from a rich man, whose nephew is plotting to seize the fortune from his daughter Fei Fei. He ...
To Err Is Humane
5.9
WEBRip

To Err Is Humane

Dec. 03, 1987

To Err Is Humane

Sammo and Kenny are lowly employees if a jewelry shop. Sammo too often is the target of abuse from the manageress. One day the two are sent to ...
Mr Vampire Saga 4
6.3
WEBRip

Mr Vampire Saga 4

Dec. 22, 1988

Mr Vampire Saga 4

A Taoist priest protests against the idea of a Buddhist priest being his neighbour. They often argue with each other until a vampire is at large ...
Mr. Vampire
7.3
WEBRip

Mr. Vampire

Nov. 07, 1985

Mr. Vampire

The planned reburial of a village elder goes awry as the corpse resurrects into a hopping, bloodthirsty vampire, threatening mankind. Therefore, ...
The Return of Pom Pom
6.1
TS

The Return of Pom Pom

Jun. 22, 1984

The Return of Pom Pom

Hong Kong detectives Chau and Beethoven return in this sequel to “Pom Pom.” This time out, they join forces with their boss, ...
Spooky, Spooky
6.3
TS

Spooky, Spooky

Oct. 19, 1988

Spooky, Spooky

Years ago, a village head in the Hong Kong countryside executed a man for committing adultery by drowning him in the ocean. His mistress, in ...
Till Death Shall We Start
6.1
TS

Till Death Shall We Start

David died a virgin, and the Doomsday Book says a virgin ghost has no right for reincarnation until he deflowers a human virgin. So David assumes ...
The Nocturnal Demon
5.6
TS

The Nocturnal Demon

Dec. 22, 1990

The Nocturnal Demon

Tow truck driver Tin bears an uncanny resemblance to a psychotic, serial killer, taxi driver — and now the cops are chasing the wrong man. ...
Rigor Mortis
6.3
TS

Rigor Mortis

Sep. 06, 2013

Rigor Mortis

When a former actor moves into an apartment building with the intention of commiting suicide, he is saved by a Taoist priest who used to ...
The Trail
4.9
SD

The Trail

Mar. 31, 1983

The Trail

A gang of opium smugglers, disguised as Taoist Priests transporting hopping corpses, are hired to transport a real dead body to it’s final ...
Lucky Stars Go Places
5.4
240p

Lucky Stars Go Places

Jun. 20, 1986

Lucky Stars Go Places

Lucky Stars Go Places, also known as The Luckiest Stars, is a 1986 Hong Kong action comedy film directed by Eric Tsang. It is the fourth film in ...
The Good, The Bad & The Beauty
5.4
240p

The Good, The Bad & The Beauty

Director-actor Frankie Chan does multiple duty in the action comedy vehicle The Good, The Bad & The Beauty. Frankie Chan is Inspector Hor ...
The Strange Bedfellow
5.7
144p

The Strange Bedfellow

Jan. 11, 1986

The Strange Bedfellow

1. IDENTIKIT LOVE Chan has difficulties solving the case since the piece of skull was so incomplete. Chan is inspired to use Winnie’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();