Lee Hoi-Sang

Recently added

Legend of the Dragon
6.4
WEBRip

Legend of the Dragon

Mar. 07, 1991

Legend of the Dragon

Chow plays a naive young kung fu student who leaves his rural home on a small island to find his fortune in Hong Kong under the dubious guidance ...
Executioners from Shaolin
6.9
WEBRip

Executioners from Shaolin

A couple unite – she is fluent in the crane style of kung fu, he in tiger style. They have a son, but the boy’s father is killed by ...
Enter the Fat Dragon
6.6
WEBRip

Enter the Fat Dragon

Jul. 13, 1978

Enter the Fat Dragon

Ah Lung is a pig farmer and a devoted Bruce Lee fan who is anxious to follow in Lee’s footsteps, but only ridiculed for his attempts. He is ...
Warriors Two
7.2
WEBRip

Warriors Two

Dec. 28, 1978

Warriors Two

In an attempt to save his village from being taken over by brutes, Wah is beaten to a pulp and his mother brutally murdered. Determined to take ...
The Incredible Kung Fu Master
6.4
WEBRip

The Incredible Kung Fu Master

Tung Wei (18 Fatal Strikes Enter The Dragon) is a lad who wants to learn kung fu. He trains in two different styles: Hung Gar and Wing Chun. ...
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 ...
Two Toothless Tigers
6.3
WEBRip

Two Toothless Tigers

Jan. 01, 1980

Two Toothless Tigers

Two men each possess half of a treasure map, but over the years, their greed has prevented either from actually finding the treasure. But it ...
The Prodigal Son
7.3
WEBRip

The Prodigal Son

Nov. 10, 1981

The Prodigal Son

A rich man’s son believes himself to be the best kung fu fighter in Canton. Unfortunately, his father, anxious for his son’s safety, ...
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 ...
Money Crazy
5.8
TS

Money Crazy

Jul. 28, 1977

Money Crazy

Ducky is hired by Rich Chen to transport the “diamonds” he stole from Uncle Pai Mary. Uncles Tough Guy and Mary would like to get the ...
Million Dollars Snatch
0
HD Cam

Million Dollars Snatch

A career criminal, Ah Sang, engineers a bank robbery to be carried out by a gang of recruited hoodlums led by himself. It takes only three ...
Winner Takes All!
4.7
SD

Winner Takes All!

Dec. 29, 1977

Winner Takes All!

Winner Takes All! is a Hong Kong Action-Comedy starring Sammo Hung and Richard Ng.
Dirty Tiger, Crazy Frog
6.2
SD

Dirty Tiger, Crazy Frog

Multi-Hand Chick asks Crazy Frog for protection after stealing someone’s wallet at the casino. Foolishly he accepts, and even more ...
Hello, Late Homecomers
5.2
SD

Hello, Late Homecomers

An omnibus of tales from the three directors, Sit, Maka and Woo. Each dealing with true love and romance. The third and the best one of the tales ...
Knockabout
7.2
SD

Knockabout

Apr. 12, 1979

Knockabout

After being cheated out of some money, two small time crooks convince a martial arts expert to take them on as students.
Odd Couple
7.1
SD

Odd Couple

Aug. 09, 1979

Odd Couple

Hailed as possibly the greatest classical weapons movie ever made and starring world-renowned martial arts master, director and ...
The Best Hustler Wins
0
SD

The Best Hustler Wins

Jan. 18, 1979

The Best Hustler Wins

The Best Hustler Wins is a Hong Kong Comedy starring Leung Tin and Ku Kuan-Chung.
Last Hurrah for Chivalry
7
720p

Last Hurrah for Chivalry

Kao has purchased a new wife, but an enemy has paid her more money to kill him. Kao must recruit a pair of swordsmen to help defend himself and ...
The Supreme Swordsman
6.4
720p

The Supreme Swordsman

Oct. 10, 1984

The Supreme Swordsman

A rampaging swordsman slices and dices his way across China on a bloody mission to cut down every warrior in his way, and claim the blade of the ...
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();