Chan Sing

Recently added

The Kung Fu Brothers
4.8
HDTC

The Kung Fu Brothers

Jan. 01, 1973

The Kung Fu Brothers

Two half-brothers are reunited after a long break, only to perpetuate an old feud over their desire for the same woman.
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 ...
The Amsterdam Kill
5.3
WEBRip

The Amsterdam Kill

Dec. 26, 1977

The Amsterdam Kill

Former DEA Agent Quinlan, removed from the force some years earlier for stealing confiscated drug money, is hired by Chung Wei, a leader in the ...
Amsterdam Connection
4.8
WEBRip

Amsterdam Connection

May. 24, 1978

Amsterdam Connection

When two Hong Kong buddies become rivals for the same woman, their friendship ends, and they join rival tong gangs. Later, a tong boss cleverly ...
The Bloody Fists
5.6
WEBRip

The Bloody Fists

May. 17, 1972

The Bloody Fists

Yuen Woo Ping, who would in time become one of the world’s leading martial arts choreographers, blocked the fight scenes for this Kung Fu ...
The Brutal Boxer
4.9
WEBRip

The Brutal Boxer

Oct. 04, 1972

The Brutal Boxer

The bloodiest Kung Fu battles ever fought. The subtitle says it all, as there is hardly any story, but all the more raw fighting.
The Himalayan
6.1
WEBRip

The Himalayan

Feb. 20, 1976

The Himalayan

The Tseng family is one of the most noble and respected clans in a small village in Tibet. The patriarch of the Tseng family wants to marry off ...
New Fist of Fury
5.5
WEBRip

New Fist of Fury

Jul. 08, 1976

New Fist of Fury

A brother and sister escape from Japanese-occupied Shanghai to Japanese-occupied Taiwan, to stay with their grandfather who runs a Kung-Fu school ...
The Wandering Swordsman
6.5
720p

The Wandering Swordsman

In this thrilling martial arts twist on the tale of Robin Hood, a charismatic highwayman with formidable sword skills decides to help the poor by ...
The New One-Armed Swordsman
7.2
720p

The New One-Armed Swordsman

Lei Li lost his right-arm in a sword duel with the master of a martial arts school, long ago. Now, he is able to defend himself well with just ...
Aces Go Places
6.6
CAM

Aces Go Places

Jan. 16, 1982

Aces Go Places

King Kong, a clever thief who steals a cache of diamonds from some gangsters, frames another thief called White Glove for the crime. That’s ...
The Tattoo Connection
5.2
480p

The Tattoo Connection

Jul. 27, 1978

The Tattoo Connection

When a diamond is stolen in Hong Kong, the company insuring the diamond sends a former CIA agent to Hong Kong to retrieve it. Meanwhile, one of ...
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();