Shing Fui-On

Recently added

Family Honor
5.7
TS

Family Honor

May. 24, 1990

Family Honor

Norman Law directed this Hong Kong gangster film about siblings joined by a common enemy. Tao is a ruthless loan shark, whose brother, Fu Sai ...
Erotic Ghost Story III
5.3
TS

Erotic Ghost Story III

The once mighty Tang Dynasty is in its decline. The big land of China is being visited by famine, natural disasters and devils. Chu Chung is such ...
It Takes Two
5.9
SD

It Takes Two

Jul. 15, 1982

It Takes Two

It Takes Two is a 1982 Hong Kong comedy film directed by Karl Maka and starring Dean Shek and Richard Ng.
All the Wrong Spies
6.5
SD

All the Wrong Spies

Mar. 31, 1983

All the Wrong Spies

In Hong Kong, Circa 1940s, World War II, private detective Yoyo and friend Inspector Teddy Robin join a resistance group during the Japanese ...
Kung Hei Fat Choy
6
SD

Kung Hei Fat Choy

Feb. 15, 1985

Kung Hei Fat Choy

Money God was being naughty in heaven and as a punishment, he was sent to Earth to do good deeds for humans. On Earth, he meets Fung, a ...
Cop Busters
6.1
240p

Cop Busters

Jan. 24, 1985

Cop Busters

Big Bear and Big Mouth were raised in the same orphanage. They worked in the traffic division of the police department for years. They were ...
Why Me?
6.8
SD

Why Me?

Oct. 29, 1985

Why Me?

The tragic story of Fat Cat, a mentally retarded man who endures the mistreatment of the local villagers, and Koko, the idealistic social worker ...
Heartbeat 100
6.7
240p

Heartbeat 100

May. 21, 1987

Heartbeat 100

A Fiction Writer and her sister travel to the country to work on a new novel. But, local thugs and a murder complicate matters.
The Diary of a Big Man
6.7
240p

The Diary of a Big Man

A two-timing bigamist finds himself concocting scheme after scheme with his best friend, Chi Hung, to prevent either of his wives from ...
The Beloved Son of God
7
240p

The Beloved Son of God

A poignant look at mental retardation and society’s ignorance and indifference towards people that are different.
Mr. Smart
6.3
240p

Mr. Smart

Mar. 03, 1989

Mr. Smart

Smart (Kent Cheng), a sailor, returns from sea to his family to help with the family business and raise money for repairs, also teach people about love
The Fortune Code
6
240p

The Fortune Code

Jan. 19, 1990

The Fortune Code

Set in China during the Japanese occupation. A young man breaks out of a POW camp to marry his sweetheart, but finds she is now a spy for the ...
Ancient Chinese Whorehouse
4.8
240p

Ancient Chinese Whorehouse

Madam Five and carpenter Kong work together managing a famous whorehouse. Kong’s apprentice Yat fails to get along with Ching due to a ...
Fist of Fury 1991
6.5
HD

Fist of Fury 1991

Mar. 23, 1991

Fist of Fury 1991

Amusing homage to Bruce Lee’s martial arts classic featuring a young Stephen Chow. The story is about Sing, a Mainlander who came to Hong ...
Crazy Love
5.4
CAM

Crazy Love

Apr. 17, 1993

Crazy Love

What was supposed to be summer school in England becomes an adventurous exotic and romantic journey for a beautiful teenage girl. [from the Tai ...
The Spooky Family
6.6
CAM

The Spooky Family

Feb. 23, 1990

The Spooky Family

Hung Ping is a vampire buster in early 20th century China. He shares his home with his fortune teller wife, his dim-witted son, his beautiful ...
Operation Pink Squad II
6.3
360p

Operation Pink Squad II

A police sting takes place in a haunted apartment building. The sting goes bad when a female ghost crashes the party. Lots of chase scenes ...
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();