Fan Mei-Sheng

Recently added

The Criminals, Part 3: Arson
5.2
Mini HD

The Criminals, Part 3: Arson

Part 1 : ‘Gun Snatchers’ – Two criminals wanted for murder are turned in by one of their own. Part 2: ‘Arson’ ...
Riki-Oh: The Story of Ricky
7
Mini HD

Riki-Oh: The Story of Ricky

Hard man Ricky is incarcerated in a futuristic prison where ultra-violence is his only means of survival in the corrupt, sadistic system. He must ...
Angel with the Iron Fists
6.4
mHD

Angel with the Iron Fists

Via an IMDb reviewer: “The plot involves a high-tech gang of thieves, a legit jeweler (Tang Ching) caught up in their racket, and a female ...
The Angel Strikes Again
6.3
mHD

The Angel Strikes Again

Lily Ho, a secret agent out to thwart the sale of a powerful explosive to the wrong people. It’s a female, Chinese James bond.
The Jade Raksha
6.9
mHD

The Jade Raksha

Nov. 14, 1968

The Jade Raksha

A fearsome swordswoman known as The Jade Raksha appears in the martial arts world and begins killing people whose surname is Yan. A swordsman ...
The Magic Blade
7
mHD

The Magic Blade

Jul. 10, 1976

The Magic Blade

Two rival swordsmen in imperial China, poncho-clad Fu Hung-Hsueh and Yen nan-Fei vie with a power-hungry villain for the deadly Peacock Dart and ...
Squadron 77
4.8
mHD

Squadron 77

Dec. 02, 1965

Squadron 77

Spy thriller set in occupied Shanghai. Li Lihua stars as the woman who is thrust into the role of nationalist freedom fighter when she discovers ...
The Monkey Goes West
6.6
mHD

The Monkey Goes West

Jan. 18, 1966

The Monkey Goes West

THE MONKEY GOES WEST is the first entry in the studio’s epic, four-part screen adaptation of “Journey to the West,” a 16th-century novel ...
Hitman in the Hand of Buddha
6.2
mHD

Hitman in the Hand of Buddha

A country bumpkin arrives to help his brother’s rice business. Things get out of hand while a rival company becomes corrupt. The bumpkin, ...
The Golden Knight
6.2
WEBRip

The Golden Knight

Apr. 17, 1970

The Golden Knight

Respected veteran Yueh Feng made this “Martial Arts World” saga of a masked master of the “Black Sand Hand Technique,” while Lily Ho, the star of ...
The Magnificent Butcher
7.2
WEBRip

The Magnificent Butcher

A plump butcher student of Wong Fei Hung, Lam Sai-Wing gets into trouble with a rival kung-fu school known as Five Dragons. He is accused of ...
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 ...
The Magnificent Swordsman
0
720p

The Magnificent Swordsman

Lone swordsman Jiang Dan-Feng (Wong Chung-Shun) is ambushed by a pair of bandits and quickly despatches them. One of them, as he is dying, asks ...
The Sentimental Swordsman
6.6
720p

The Sentimental Swordsman

Due to his own extreme ideals, famed swordsman Li has lost everyone dear to him. After his life is saved by a rival swordsman, Li’s ...
The One-Armed Swordsman
7.3
720p

The One-Armed Swordsman

A noble swordsman, whose arm had been chopped off, returns to his former teacher to defend him from a villainous gang of rival swordsmen.
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();