Tang Ching

Recently added

Typhoon
6.7
mHD

Typhoon

Sep. 01, 1962

Typhoon

A clever and lively girl who gets lost in the world of radio drama believes the woman playing mahjong is not her mother, and runs away from home ...
Romance at Lung Shan Temple
0
mHD

Romance at Lung Shan Temple

Xiaofeng is selling medicinal herbs in Longshan Temple, but is at first driven away by Taiwanese peddlers upset by the intrusion of a mainlander ...
An Unseen Trigger-Man
0
mHD

An Unseen Trigger-Man

Jan. 09, 1965

An Unseen Trigger-Man

FAIRY, GHOST, VIXEN (1965) consists of three fanciful tales that may be loosely classified as ghost stories, but they’re presented and ...
Fairy, Ghost, Vixen
6.5
mHD

Fairy, Ghost, Vixen

May. 27, 1965

Fairy, Ghost, Vixen

FAIRY, GHOST, VIXEN (1965) consists of three fanciful tales that may be loosely classified as ghost stories, but they’re presented and ...
A Debt of Blood
0
mHD

A Debt of Blood

Apr. 07, 1966

A Debt of Blood

During the Sino-Japanese War of Resistance, the young daughter of Ma Renshan, the president of North China Hospital, was killed by the Japanese ...
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 ...
Inter-Pol
6.3
mHD

Inter-Pol

Aug. 26, 1967

Inter-Pol

Agent 009 has to break up a ring of Hong Kong counterfeiters who are shipping forged US dollars all over Asia.
Summons to Death
5.8
mHD

Summons to Death

Nov. 23, 1967

Summons to Death

A suave swinger and a cool chick have one half of a treasure map, the bad guys have the other half. Who will get the goods?
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 ...
Killers Five
6.9
mHD

Killers Five

Feb. 14, 1969

Killers Five

A group of evil bandits are terrorizing the land from their invincible mountain castle. The high commanding official decides to put a stop to ...
Vengeance Is a Golden Blade
6.2
mHD

Vengeance Is a Golden Blade

Li Zhishan is a rich man, but wealth cannot keep the loyalties of his wife, who has been visiting the bed of a rival. She helps plot against him, ...
Deaf and Mute Heroine
6.8
mHD

Deaf and Mute Heroine

Feb. 17, 1971

Deaf and Mute Heroine

Chang Cheh-influenced swordplay film puts a female spin on the genre with its titular heroine. Helen Ma stars as the “can’t hear, can’t talk” ...
The Black Enforcer
6.3
mHD

The Black Enforcer

Jan. 28, 1972

The Black Enforcer

Lawman Gong Tianlong captures vicious thief and murderer Guan Yunfei but an ambush by hired men sees the thief set free and Tianlong’s ...
Bloody Duel: Life & Death
5.3
mHD

Bloody Duel: Life & Death

Since 1895, the imperial forces of Japan have tightened their grip on Northern China, destroying all who dare oppose them. When the local kung fu ...
Love and Blood
0
mHD

Love and Blood

Jul. 12, 1972

Love and Blood

Hong Kong 1972. Shiu Pang is a poorly paid photographer with a very jealous fiancee. One day he meet an innocent girl and he falls in love with ...
The Call-Girls
7.5
mHD

The Call-Girls

Apr. 19, 1973

The Call-Girls

A story of female sex workers across all social strata.
Hiroshima 28
6.7
mHD

Hiroshima 28

Apr. 11, 1974

Hiroshima 28

Filmed on the occasion of the 28th anniversary of the bombing of Hiroshima, Hiroshima 28 was the first all-Hong Kong crew to make a feature in ...
The Happy Trio
7
mHD

The Happy Trio

Feb. 08, 1975

The Happy Trio

Following the lives of three downtrodden but resilient outcasts, John Lo Mar’s gritty social drama paints a sense of realism rarely seen in ...
Nina
0
mHD

Nina

Jan. 29, 1976

Nina

In Nina, Lung Kong explores the yet-to-be trendy discipline of psychology.
Laugh In
0
mHD

Laugh In

Jul. 01, 1976

Laugh In

A female extra-terrestrial (Chen Chen) appears on earth – in Hong Kong – to warn humankind of an impending catastrophe, but is ...
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 ...
Impetuous Fire
0
mHD

Impetuous Fire

Jan. 01, 1977

Impetuous Fire

An escaped convict meets a young girl with incurable disease and falls in love. The girl is visiting for only seven days, so they decide to hide ...
The Dragon Lives Again
5.3
mHD

The Dragon Lives Again

Everyone’s favorite martial artist “”Bruce”” winds up fighting for his life and soul in hell against an evil ...
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();