Shing Fui-On

Recently added

City Kids 1989
6.2
Mini HD

City Kids 1989

Aug. 05, 1989

City Kids 1989

The pressures of the gang-ridden Hong Kong streets threaten to tear two teenage friends apart. A provocative look at misunderstood youth and ...
Fearless Match
5.8
Mini HD

Fearless Match

May. 26, 1994

Fearless Match

Rookie PTU officers Fan and Fat manages to find themselves in a shootout with fugitives but ends up in a favorable light afterwards, earning ...
Rhythm of Destiny
6.2
DVDScr

Rhythm of Destiny

Apr. 01, 1992

Rhythm of Destiny

Two brothers Ah B and Dee live in two different worlds. Ah B decides to quit his smuggling business for a new life, but accidentally involves the ...
A Better Tomorrow
7.4
WEBRip

A Better Tomorrow

Aug. 02, 1986

A Better Tomorrow

A reforming ex-gangster tries to reconcile with his estranged policeman brother, but the ties to his former gang are difficult to break.
He Who Chases After the Wind
5.5
WEBRip

He Who Chases After the Wind

Basically a love story with a prerequisite sub-plot about a crazed killer trying to avenge his brother.
Final Justice
6.2
WEBRip

Final Justice

Jun. 23, 1988

Final Justice

A cop relies on a young car thief to take down four gangsters, who plan to rob a rich merchant for a large amount of money.
Thunder Cops II
5.3
WEBRip

Thunder Cops II

Nov. 18, 1989

Thunder Cops II

After police officer Paio is murdered, his soul cannot be at rest for his murder has been written off as a suicide…
Love Is Love
6.1
WEBRip

Love Is Love

Feb. 14, 1990

Love Is Love

Shui (Stephen Chow) and Ti (Sandra Ng) elope off, against the wishes of Ti’s father (Shing Fui-On). They live the life of a struggling ...
My Hero
5.7
WEBRip

My Hero

Mar. 22, 1990

My Hero

Sing loves to read cartoons and often daydreams of becoming a tycoon and celebrity. By accident, he becomes a follower of Wai, a gang leader, and ...
The Unmatchable Match
6.2
WEBRip

The Unmatchable Match

May. 11, 1990

The Unmatchable Match

Chow is an undercover cop who must befriend former triad kingpin Chan Wai-Man to investigate a brutal diamond heist. It turns out that Chan is ...
When Fortune Smiles
6.2
WEBRip

When Fortune Smiles

Sep. 27, 1990

When Fortune Smiles

The story revolves around a massive inheritance from a rich man, whose nephew is plotting to seize the fortune from his daughter Fei Fei. He ...
To Err Is Humane
5.9
WEBRip

To Err Is Humane

Dec. 03, 1987

To Err Is Humane

Sammo and Kenny are lowly employees if a jewelry shop. Sammo too often is the target of abuse from the manageress. One day the two are sent to ...
A Better Tomorrow II
7.2
WEBRip

A Better Tomorrow II

Dec. 17, 1987

A Better Tomorrow II

A restauranteur teams up with a police officer and his ex-con brother to avenge the death of a friend’s daughter.
Satanic Crystals
5.2
WEBRip

Satanic Crystals

Jan. 01, 1989

Satanic Crystals

Two gangs of gangsters fight over a unique crystal in the jungles of Thailand!
Killer Angels
5.8
WEBRip

Killer Angels

Apr. 07, 1989

Killer Angels

Three female cops form a special unit and get their main witness out of the clutches of a gang. The witness holds the key to Chu Chung Sing, a ...
God of Gamblers
7.2
WEBRip

God of Gamblers

Dec. 14, 1989

God of Gamblers

Ko Chun, an extremely talented and well known gambler. On the eve of a big confrontation with a famous Singaporean gambler, Ko walks into a trap ...
Triad Story
5.7
WEBRip

Triad Story

Oct. 11, 1990

Triad Story

An elderly crime family boss, Feng, is being released from prison for good behavior and bad health. In the outside world, he learns that his ...
God of Gamblers II
6.8
WEBRip

God of Gamblers II

Dec. 13, 1990

God of Gamblers II

Wong Jing’s sequel to All for the Winner and spin-off to God of Gamblers finds Chow Sing Cho looking up to Michael “Dagger” ...
The Top Bet
5.8
WEBRip

The Top Bet

Mar. 07, 1991

The Top Bet

Anita Mui plays the sister of the Saint of Gamblers, and also possesses supernatural gambling abilities. However, she chooses not to use her ...
The Night Rider
4.9
WEBRip

The Night Rider

Dec. 17, 1992

The Night Rider

Simon Yam is the greatest and craziest illegal road racer in Hong Kong.
Chez n’ Ham
5.6
WEBRip

Chez n’ Ham

Sep. 30, 1993

Chez n’ Ham

Cheese and Ham are two men with nothing better to do in their lives. Until they meet a man dying of throat cancer who will pay the two men a ...
The Eight Hilarious Gods
5.4
WEBRip

The Eight Hilarious Gods

A sad nocturnal march is suddenly interrupted for colourfull leafs falling from the sky and the presence of Buddy Wall, a young female faire that ...
The Saint of Gamblers
5
WEBRip

The Saint of Gamblers

Jun. 28, 1995

The Saint of Gamblers

Lui is the tyrant of gamblers in Macau. He puts forward a masked Saint Of Gamblers to cover for him in the casino. Meanwhile, Uncle Sam has lost ...
The Lord of Amusement
4.6
WEBRip

The Lord of Amusement

Dec. 03, 1999

The Lord of Amusement

A young police officer “makes a mess” of a police operation, shoots a man in self-defense, and ends up in prison. There he learns ...
Her Vengeance
6.3
WEBRip

Her Vengeance

Oct. 07, 1988

Her Vengeance

Kit-Ying is an unassuming nightclub employee in Macao who inadvertently angers a gang of drunken patrons. They follow her home after her shift ...
An Eternal Combat
5.5
WEBRip

An Eternal Combat

Jan. 05, 1991

An Eternal Combat

1000 years before our time: Master Cho-Lo, a Taoist priest (Lam Ching-Ying) and his two understudies (Parkman Wong and Shing Fui On) go on a ...
Thunderbolt
6.3
WEBRip

Thunderbolt

Sep. 08, 1995

Thunderbolt

In order to release his kidnapped sister, sports car mechanic Jackie Chan has to beat a super-criminal street racer.
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();