Gordon Chan

Recently added

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 ...
A-1 Headline
5.7
mHD

A-1 Headline

Sep. 09, 2004

A-1 Headline

Ling is a fashion columnist whose ex-boyfriend died in a car accident. Debt collectors Fei and Ma are eyewitnesses on the scene and Fei is ...
Tales From The Dark 2
5.6
mHD

Tales From The Dark 2

Sep. 20, 2013

Tales From The Dark 2

In “Haunted Pillow,” TVB starlet Fala Chen is still obsessed with her lover (Gordon Lam) after their breakup and invariably suffers ...
The King of Fighters
3.1
Bluray

The King of Fighters

Aug. 26, 2010

The King of Fighters

The King of Fighters movie will introduce a new science fiction spin into the setting established in the games universe by following the ...
Golden Destroyers
4.6
HDTC

Golden Destroyers

Jan. 01, 1985

Golden Destroyers

The legendary 18 Bronzemen of Shaolin are unearthed after a long slumber by an evil monk. They are ready to take on the modern world, but is the ...
Fight Back to School
7.1
WEBRip

Fight Back to School

Jul. 18, 1991

Fight Back to School

Star Chow is about to be kicked out of the Royal Hong Kong Police’s elite Special Duties Unit (SDU). But a senior officer decides to give ...
Fight Back to School 2
6.6
WEBRip

Fight Back to School 2

Star Chow is an officer in the Royal Hong Kong Police’s elite Special Duties Unit (SDU). During a meeting with his senior officer, ...
Gameboy Kids
5
WEBRip

Gameboy Kids

Jun. 12, 1992

Gameboy Kids

Andy act a successor to a criminal society. While knowing their boss is coming down from an airplane. They got the wrong guy. A taller but ...
King of Beggars
6.8
WEBRip

King of Beggars

Dec. 17, 1992

King of Beggars

The heir to a noble and influential family finds the love of his life, but she will only accept him if he becomes a kung-fu master. He becomes a ...
Thunderbolt
6.3
WEBRip

Thunderbolt

Sep. 08, 1995

Thunderbolt

In order to release his kidnapped sister, sports car mechanic Jackie Chan has to beat a super-criminal street racer.
The Medallion
5.2
TS

The Medallion

Aug. 15, 2003

The Medallion

A Hong Kong detective suffers a fatal accident involving a mysterious medallion and is transformed into an immortal warrior with superhuman powers.
Mr. 3 Minutes
5.2
TS

Mr. 3 Minutes

Nov. 16, 2006

Mr. 3 Minutes

American journalist Nick Orton is caught up in the world of Chinese gods and monsters while on a search for the long lost manuscript to ...
Okinawa Rendez-vous
6
480p

Okinawa Rendez-vous

Jul. 27, 2000

Okinawa Rendez-vous

Jimmy Tong is an expert blackmailer and thief who specialises in white-collar crimes. With his side-kick, Jimmy steals a personal diary belonging ...
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();