Mang Hoi

Recently added

Legacy of Rage
6
WEBRip

Legacy of Rage

Dec. 20, 1986

Legacy of Rage

Brandon plays Brandon Ma, a regular working Joe who holds down two jobs, so he can support his girlfriend May and his dream of owning a ...
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 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. ...
Pedicab Driver
7.4
WEBRip

Pedicab Driver

Feb. 24, 1989

Pedicab Driver

Lo Tung and his friend Malted Candy, pedicab drivers working the streets of Macao, have both fallen in love. The problem is that both their ...
The Tantana
5.4
WEBRip

The Tantana

Jul. 27, 1991

The Tantana

A Buddhist lama and an evil wizard battle for the Palace of Heaven.
Fist of Unicorn
6.3
WEBRip

Fist of Unicorn

Mar. 01, 1973

Fist of Unicorn

Unicorn travels to a village troubled by gangsters in search of revenge for the murder of his parents years before. The task is made more ...
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 ...
Carry on Dancing
5.4
TS

Carry on Dancing

May. 07, 1988

Carry on Dancing

Cheung Sheung and Tze Ngor are twin sisters. Tze Ngor is a lunatic and stays in a mental hospital. But out of a madcap incident, Cheung Sheung is ...
The Gambling Ghost
5.8
TS

The Gambling Ghost

Mar. 02, 1991

The Gambling Ghost

Sammo Hung plays three different characters: Fatty, Fatty’s father and Fatty’s grandfather, Hung Kau. Fatty is a hotel worker, ...
Osaka Wrestling Restaurant
5.1
SD

Osaka Wrestling Restaurant

Ricky aspires to be a famous chef. But rival restauranteur Dragon wants him to fail. So when Ricky’s brother suggests that he combine Osaka ...
The Stunt Woman
6.1
240p

The Stunt Woman

Oct. 10, 1996

The Stunt Woman

A few years in the life of Ah Kam, starting with her joining action director Master Tung’s team of regulars.
Kung Fu Jungle
6.4
HD

Kung Fu Jungle

Oct. 31, 2014

Kung Fu Jungle

A martial arts instructor working at a police academy gets imprisoned after killing a man by accident. But when a vicious killer starts targeting ...
Perfect Education 3
6.1
720p

Perfect Education 3

Dec. 07, 2002

Perfect Education 3

A lonely young Japanese student, Ai Narushima (Kana Ito) goes on a field trip with her school. At night she decides to take a taxi into the city. ...
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();