Chin Siu-ho

Recently added

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 ...
Let’s Go!
4.3
mHD

Let’s Go!

Nov. 10, 2011

Let’s Go!

Siu Sheung (Juno Mak) is a solitary and frustrated young man. He works as a delivery boy at a small noodle shop and lives with his mother (Pat ...
Hand Rolled Cigarette
6.6
mHD

Hand Rolled Cigarette

Jun. 17, 2021

Hand Rolled Cigarette

A retired British Chinese soldier, a young South Asian man, an encounter at Chungking Mansions. Coincidentally, they both offended the same gang ...
Vampire Vs Vampire
6.1
WEBRip

Vampire Vs Vampire

Jul. 26, 1989

Vampire Vs Vampire

Lam Ching-Ying returns as the famous “Vampire Buster,” this time starring as the One-Eyebrown Priest. To save the village from ...
Goodbye Hero
5.7
WEBRip

Goodbye Hero

Jun. 07, 1990

Goodbye Hero

Frustration and recovery of a stunt man after his partner’s accident.
The Ultimate Vampire
6.2
WEBRip

The Ultimate Vampire

Jan. 01, 1991

The Ultimate Vampire

“Vampire Buster” Lam Ching-Ying returns as Master Gao in this vampire-filled adventure. Here, he joins forces with his colleagues in ...
Mr. Vampire 1992
6.3
WEBRip

Mr. Vampire 1992

Aug. 08, 1992

Mr. Vampire 1992

Master Lam and his two disciples must battle a horde of Chinese vampires in order to get the teeth dust needed to cure an ailing general. ...
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, ...
New Kids in Town
5.2
WEBRip

New Kids in Town

Oct. 05, 1990

New Kids in Town

Two exceptional kung fu students leave the mainland to work for their uncle in Hong Kong. Before long the students and their cousin, get mixed up ...
Iron Fists and Kung Fu Kicks
6.7
TS

Iron Fists and Kung Fu Kicks

The fantastic story of how an ancient martial art, Chinese kung fu, conquered the world through the hundreds of films that were produced in Hong ...
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 ...
Vampire Cleanup Department
5.6
TS

Vampire Cleanup Department

Attacked by vampire, Spring, a born loser is saved by three street cleaners. When he wakes up, he finds himself in a government secret facilities ...
Bio Raiders
0
TS

Bio Raiders

Aug. 24, 2017

Bio Raiders

Hong Kong veterans Chin Siu Ho and Richard Ng, who recently co-stared in Vampire Cleanup Department, take on the old-school vampire genre again ...
Revenge: A Love Story
6.7
720p

Revenge: A Love Story

Oct. 22, 2010

Revenge: A Love Story

A serial murderer has brutally killed several policemen and their pregnant wives. After a quick investigation, the murderer is revealed to be ...
Maoshan
0
CAM

Maoshan

Jan. 28, 2021

Maoshan

Yin Shouyi, a young man from Taoyuan Township, grew up admiring the legendary exploits of the “Three Sons of Mount Maoshan”: Yu ...
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();