Tien Feng

Recently added

The Kung Fu Brothers
4.8
HDTC

The Kung Fu Brothers

Jan. 01, 1973

The Kung Fu Brothers

Two half-brothers are reunited after a long break, only to perpetuate an old feud over their desire for the same woman.
The Golden Triangle
4.6
HDTC

The Golden Triangle

Jan. 01, 1975

The Golden Triangle

A Thai army undercover drug agent infiltrates an opium ring in the Golden triangle, but falls in love with the woman ring leader.
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.
Brothers Five
6.6
WEBRip

Brothers Five

Mar. 26, 1970

Brothers Five

The 5 Kao brothers, separated since childhood, are unaware that the master Teng Lung Manor, Lung Chen-feng has killed their father. All five, ...
A Man Called Tiger
6.8
WEBRip

A Man Called Tiger

Feb. 01, 1973

A Man Called Tiger

A young man suspects his father’s suicide was actually a murder committed by gangsters. Using his expertise in martial arts, he gets ...
Seaman No. 7
6.5
WEBRip

Seaman No. 7

Apr. 20, 1973

Seaman No. 7

When a sailor accidentally kills a Japanese man in a bar room brawl, he tries to escape the law by hiding himself in a freighter heading for ...
The Cub Tiger from Kwang Tung
5.2
WEBRip

The Cub Tiger from Kwang Tung

Hsiao Hu has been secretly training in martial arts, as his father (Tien Feng) has forbidden him. Later, some local store owners ask Ah to help ...
The Awaken Punch
5.6
WEBRip

The Awaken Punch

May. 23, 1973

The Awaken Punch

A man takes on a gang that has been terrorizing a small village.
Dragon Lord
6.3
WEBRip

Dragon Lord

Jan. 21, 1982

Dragon Lord

Dragon and his madcap pal Cowboy spend their days getting into mischief, frustrating the elders, chasing girls, and competing in the village ...
Miracles
6.9
TS

Miracles

Jun. 15, 1989

Miracles

A country boy becomes the head of a gang through the purchase of some lucky roses from an old lady. He and a singer at the gang’s nightclub ...
The Saviour
5
SD

The Saviour

Jan. 08, 1980

The Saviour

Inspectors Tong (Shaw Brothers regular Pai Ying) and Cheng (Kent Cheng) are investing a psychopathic serial killer who has been raping and ...
Sentenced to Hang
6.5
240p

Sentenced to Hang

Nov. 02, 1989

Sentenced to Hang

After being fired by his penny-pinching boss, Wai and his two life-long friends decide to kidnap and ransom his son. The situation spirals out of ...
Sex and Zen
5.6
240p

Sex and Zen

Nov. 30, 1991

Sex and Zen

A recently married scholar goes on a quest for knowledge of other people’s wives, based on his philosophical differences with the Sack ...
Fist of Fury
7.2
HD

Fist of Fury

Mar. 22, 1972

Fist of Fury

Chen Chen returns to his former school in Shanghai when he learns that his beloved instructor has been murdered. While investigating the ...
The Magnificent Swordsman
0
720p

The Magnificent Swordsman

Lone swordsman Jiang Dan-Feng (Wong Chung-Shun) is ambushed by a pair of bandits and quickly despatches them. One of them, as he is dying, asks ...
Return of the One-Armed Swordsman
7.2
720p

Return of the One-Armed Swordsman

Eight demon swordsmen and their gang have spread menace across many sword teaching schools. The students seek the help of Fang who alone can ...
The One-Armed Swordsman
7.3
720p

The One-Armed Swordsman

A noble swordsman, whose arm had been chopped off, returns to his former teacher to defend him from a villainous gang of rival swordsmen.
The Martyrs
0
360p

The Martyrs

Jul. 07, 1975

The Martyrs

Patriot warriors battle the Manchu invaders hoping to one day restore the Ming.
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();