Collin Chou

Recently added

The Death Games
6.7
Mini HD

The Death Games

Dec. 26, 1997

The Death Games

Tong causes the death of a drug lord called Lion. Years later, his vengeance obsessed son Tiger Shelly (Kim-Maree Penn) are back to settle the ...
No Problem 2
0
mHD

No Problem 2

Feb. 06, 2002

No Problem 2

Kimura wins a trip to Hong Kong, but once he arrives, he is mistaken as a hitman and is assigned to kill Yumiko, the female successor to the Ota ...
Hail the Judge
7.5
WEBRip

Hail the Judge

Mar. 31, 1994

Hail the Judge

Pao Lung-Sing, a descendant of the famous Judge Pao Ching Tient, is a 9th degree corrupt judge who changes his tune when he tries to champion a ...
Teenage Master
6.3
WEBRip

Teenage Master

Jan. 01, 1995

Teenage Master

A father and his son are named as the best in Kung Fu. One day, they receive distress signal from the predecessor, then they start their ...
Shy Spirit
5.9
WEBRip

Shy Spirit

Jan. 01, 1988

Shy Spirit

Two feuding families brag about their sons on christening day. One, called Long-life, is destined to die early, while Sing, the other, will do ...
Lover’s Tear
6
WEBRip

Lover’s Tear

Jan. 01, 1992

Lover’s Tear

A cop in the Hong Kong anti-smuggling unit goes to mainland China to retrieve some confiscated contraband. His real objective, though, is to ...
Exorcist Master
5.8
WEBRip

Exorcist Master

Jan. 08, 1993

Exorcist Master

When a Catholic church in a small Chinese town falls prey to an evil combing the powers of Western and Chinese vampirism, Taoist priest Uncle ...
License to Steal
6.3
TS

License to Steal

Nov. 01, 1990

License to Steal

Godenzi plays an acrobatic thief who, after taking part in an elaborate burglary, is double-crossed by her partner (Aurelio) and is captured by ...
Slickers vs. Killers
6.3
TS

Slickers vs. Killers

Sep. 13, 1991

Slickers vs. Killers

Success Hung, an ace cell phone salesman who his feeling the heat from young, up and comer Miss Cheng. One day, Hung witnesses a mob hit. Though ...
Banana Spirit
5.9
TS

Banana Spirit

Jan. 01, 1992

Banana Spirit

Francis Ng stars as Chic, who helps his friend Che, a Taoist ghostbuster, with various assignments. They both owe gambling debts to the nasty ...
Don’t Give a Damn
6
TS

Don’t Give a Damn

Feb. 17, 1995

Don’t Give a Damn

Sammo Hung plays a cop on the trail of drug dealers. Customs officer Yuen Biao is investigating the same gang. Sammo’s new partner is ...
The Bodyguard from Beijing
6.4
240p

The Bodyguard from Beijing

A corrupt businessman commits a murder and the only witness is the girlfriend of another businessman with close connections to the Chinese ...
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 ...
The Forbidden Kingdom
6.5
144p

The Forbidden Kingdom

Apr. 18, 2008

The Forbidden Kingdom

An American teenager who is obsessed with Hong Kong cinema and kung-fu classics makes an extraordinary discovery in a Chinatown pawnshop: the ...
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();