Jackie Chan

Recently added

The Face Behind the Mask
5.3
WEBRip

The Face Behind the Mask

When the three most feared fighters in the land are defeated by The First Family and leader Chen Tien Wei is elected Chief of the Martial World, ...
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. ...
The Young Master
7.1
WEBRip

The Young Master

Feb. 09, 1980

The Young Master

Youthful martial arts master Lung is searching for his missing brother, when he is mistaken for a criminal on the run. He must prove his ...
Dragon Lord
6.3
WEBRip

Dragon Lord

Jan. 21, 1982

Dragon Lord

Dragon and his madcap pal Cowboy spend their days getting into mischief, frustrating the elders, chasing girls, and competing in the village ...
Project A
7.3
WEBRip

Project A

Dec. 22, 1983

Project A

In late 19th Century Hong Kong the British may rule the land, but the pirates rule the waters. One Coast Guard officer is Dragon Ma, who is ...
Police Story
7.5
WEBRip

Police Story

Dec. 14, 1985

Police Story

Officer Chan Ka Kui manages to put a major Hong Kong drug dealer behind the bars practically alone, after a shooting and an impressive chase ...
Armour of God
6.9
WEBRip

Armour of God

Aug. 16, 1986

Armour of God

Jackie Chan stars as Asian Hawk, an Indiana Jones-style adventurer looking to make a fortune in exotic antiquities. After Hawk discovers a ...
Project A: Part II
7
WEBRip

Project A: Part II

Aug. 19, 1987

Project A: Part II

Dragon is now transferred to be the police head of Sai Wan district, and has to contend with a gangster kingpin, anti-Manchu revolutionaries, ...
Police Story 2
7.1
WEBRip

Police Story 2

Aug. 13, 1988

Police Story 2

The Hong Kong super-cop must stop a group of blackmailing bombers at the same time that the villains of the first Police Story are out for revenge.
Operation Condor
7.2
WEBRip

Operation Condor

Feb. 07, 1991

Operation Condor

Hired by a Spanish baron, Hong Kong treasure hunter Jackie, a.k.a. “Asian Hawk” and his entourage seek WWII Nazi gold buried in the ...
Who Am I?
6.8
WEBRip

Who Am I?

Jan. 17, 1998

Who Am I?

A group of covert CIA operatives trailing a potential new energy source are double-crossed by corrupt agent Morgan, who causes a helicopter crash ...
Jackie Chan: My Story
6.8
WEBRip

Jackie Chan: My Story

Jul. 17, 1998

Jackie Chan: My Story

Jackie Chan is one of the world’s biggest action stars, famed for his wacky sense of humor, remarkable martial arts techniques, and ...
Jackie Chan: My Stunts
7.6
WEBRip

Jackie Chan: My Stunts

Jackie Chan: My Stunts shows some of the tricks of the trade that Jackie and his stunt team utilize to perform their stunts. This is not an ...
1911
5.7
TS

1911

Jul. 03, 2011

1911

China’s first President Sun Yat-Sen and military commander Huang Xing lead the revolutionary Wuchang Uprising in a bid to put an end to the ...
Miracles
6.9
TS

Miracles

Jun. 15, 1989

Miracles

A country boy becomes the head of a gang through the purchase of some lucky roses from an old lady. He and a singer at the gang’s nightclub ...
Around the World in 80 Days
5.8
SD

Around the World in 80 Days

A bet pits a British inventor, a Chinese thief and a French artist on a worldwide adventure that they can circle the globe in 80 days.
Chinese Zodiac
6
HD

Chinese Zodiac

Dec. 20, 2012

Chinese Zodiac

Asian Hawk leads a mercenary team to recover several lost artifacts from the Old Summer Palace, the bronze heads of the 12 Chinese Zodiac animals ...
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();