James Tien Chuen

Recently added

Thunderbolt
6.4
mHD

Thunderbolt

Oct. 11, 1973

Thunderbolt

The Fei Long Society, under the administration of chiefs Lung Lin, Pei Fen, Chen Ying-Chieh and Lung’s sister Lung Chu, enjoys high ...
Game of Death Redux
0
WEBRip

Game of Death Redux

Jul. 20, 2019

Game of Death Redux

An edit of Game of Death using unreleased footage. Hai Tien, a retired martial artist, is confronted by a underground Korean gang to retrieve an ...
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.
The Invincible Eight
6.7
WEBRip

The Invincible Eight

Jan. 22, 1971

The Invincible Eight

Everyday when General Xiao and his men ride through the Imperial City, inhabitants have to scatter around in order to keep out of their path. One ...
The Crimson Charm
6.6
WEBRip

The Crimson Charm

Jul. 01, 1971

The Crimson Charm

A noble swordsman and a one-armed swordswoman go up against the vicious Crimson Charm gang of thieves and cutthroats. The lovely and lethal Ivy ...
The Big Boss
6.9
WEBRip

The Big Boss

Oct. 03, 1971

The Big Boss

Chen is a city boy who moves with his cousins to work at an ice factory. He does this with a family promise never to get involved in any fight. ...
A Man Called Tiger
6.8
WEBRip

A Man Called Tiger

Feb. 01, 1973

A Man Called Tiger

A young man suspects his father’s suicide was actually a murder committed by gangsters. Using his expertise in martial arts, he gets ...
Seaman No. 7
6.5
WEBRip

Seaman No. 7

Apr. 20, 1973

Seaman No. 7

When a sailor accidentally kills a Japanese man in a bar room brawl, he tries to escape the law by hiding himself in a freighter heading for ...
The Shaolin Plot
6.7
WEBRip

The Shaolin Plot

Apr. 06, 1977

The Shaolin Plot

When a terrible kung fu master seeks various martial arts manuals from around China to make himself even more evil, he must come to blows with a ...
The Iron-Fisted Monk
6.6
WEBRip

The Iron-Fisted Monk

Aug. 25, 1977

The Iron-Fisted Monk

Husker is a student of the Shaolin monks, learning kung fu so that he can avenge his uncle who was murdered by the Manchus who control the ...
Money Maker
5.9
WEBRip

Money Maker

May. 22, 1991

Money Maker

When expert gambler Sandra Ng is killed by a rival, her ghost enlists Wong Jing and Ng Man-Tat, two screw-up disciples of Taoist Lam Ching-Ying, ...
The Blade Spares None
6.3
WEBRip

The Blade Spares None

Apr. 30, 1971

The Blade Spares None

Ho Li-Chun, a pretty but ruthless swordswoman, and three challengers are participating in an open tournament at Prince Kuei’s Palace. A ...
None But the Brave
5.9
WEBRip

None But the Brave

May. 09, 1973

None But the Brave

Story is about how a revolutionist, played by Cheng Pei Pei, taking on the identity of a Captain’s (Ou Wei) long lost sister who is ...
Hand of Death
6
WEBRip

Hand of Death

Jul. 15, 1976

Hand of Death

A young monk must face the Extended Iron Claw technique of a powerful warlord seeking to destroy Shaolin.
Magnificent Bodyguards
5.6
WEBRip

Magnificent Bodyguards

Chan is asked by a young, wealthy lady to take her sick brother to a particular doctor in order to be cured. To reach this doctor, Chan and a ...
Half a Loaf of Kung Fu
5.6
WEBRip

Half a Loaf of Kung Fu

A young daydreamer assumes the identity of a dead martial arts hero and quickly finds himself caught up in a plot by several clans to steal ...
Spiritual Kung Fu
5.7
WEBRip

Spiritual Kung Fu

Nov. 23, 1978

Spiritual Kung Fu

Jackie Chan plays the part of the class clown in a shaolin temple whose deadliest secret is stolen. All is lost until Jackie’s character ...
Fearless Hyena
6.6
WEBRip

Fearless Hyena

Feb. 17, 1979

Fearless Hyena

Lung is a talented fighter but prefers to spend his time loafing around and picking fights, despite orders from his grandfather not to fight. ...
Dragon Fist
6.1
WEBRip

Dragon Fist

Apr. 21, 1979

Dragon Fist

After the death of his master, martial arts student Tong Huo-wan travels with his adoptive family to seek redress from the man responsible but ...
Fearless Hyena 2
5
WEBRip

Fearless Hyena 2

Mar. 04, 1983

Fearless Hyena 2

A pair of evil kung-fu artists, Heaven and Earth, are slaughtering the entire Yin-Yang brotherhood.
Pom Pom
6.1
TS

Pom Pom

Feb. 22, 1984

Pom Pom

Chau and Beethoven, two Hong Kong police detectives, go through misadventures to protect a young girl from a ruthless crime lord, as she ...
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, ...
My Lucky Stars
6.3
TS

My Lucky Stars

Feb. 10, 1985

My Lucky Stars

Two Hong-Kong cops are sent to Tokyo to catch an ex-cop who stole a large amount of money in diamonds. After one is captured by the Ninja-gang ...
Yes, Madam!
6.7
TS

Yes, Madam!

Nov. 20, 1985

Yes, Madam!

Two unlucky thieves break into a just murdered man’s hotel room and steal his passport with a hidden microfilm wanted by a triad boss. Two ...
My Cousin, the Ghost
5.7
TS

My Cousin, the Ghost

Jan. 09, 1987

My Cousin, the Ghost

Cousin Big (Richard Ng) returns home from the UK in order to find a wife and settle down. He has previously driven out his illegal immigrant ...
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();