Awkwafina

Recently added

Bad Rap
6.5
R5

Bad Rap

Apr. 16, 2016

Bad Rap

The lives and careers of four Asian-American rappers trying to break into a world that often treats them as outsiders. Sharing dynamic live ...
Dude
5.1
R5

Dude

Apr. 20, 2018

Dude

Four best friends negotiate loss and major life changes during the last two weeks of high school.
Ocean’s Eight
6.3
R5

Ocean’s Eight

Jun. 07, 2018

Ocean’s Eight

Debbie Ocean, a criminal mastermind, gathers a crew of female thieves to pull off the heist of the century at New York’s annual Met Gala.
Crazy Rich Asians
6.9
R5

Crazy Rich Asians

Aug. 15, 2018

Crazy Rich Asians

An American-born Chinese economics professor accompanies her boyfriend to Singapore for his best friend’s wedding, only to get thrust into ...
Ocean’s Team 3.0
6.6
R5

Ocean’s Team 3.0

Sep. 11, 2018

Ocean’s Team 3.0

Director Gary Ross and participants from the previous extras discuss the challenge of casting a film where group chemistry is even more important ...
Reimagining The Met Gala
7.1
R5

Reimagining The Met Gala

Director Ross, various cast and crew and members of the Met staff discuss how the film took over the famous museum for its version of the gala. ...
The Farewell
7.5
R5

The Farewell

Jul. 12, 2019

The Farewell

A headstrong Chinese-American woman returns to China when her beloved grandmother is given a terminal diagnosis. Billi struggles with her ...
The Angry Birds Movie 2
6.4
R5

The Angry Birds Movie 2

Red, Chuck, Bomb and the rest of their feathered friends are surprised when a green pig suggests that they put aside their differences and unite ...
Paradise Hills
5.2
R5

Paradise Hills

Aug. 29, 2019

Paradise Hills

A young woman is sent to Paradise Hills to be reformed, only to learn that the high-class facility’s beautiful facade hides a sinister secret.
Call Your Mother
6.5
R5

Call Your Mother

Apr. 15, 2020

Call Your Mother

A hilarious ode to moms and the way they have shaped the work of some of comedy’s biggest stars.
Breaking News in Yuba County
5.8
R5

Breaking News in Yuba County

An overlooked pencil-pusher catches her husband in bed with another woman, the shock of which causes him to die of a heart attack. So she buries ...
Swan Song
6.8
R5

Swan Song

Dec. 17, 2021

Swan Song

In the near future, Cameron Turner is diagnosed with a terminal illness. Presented with an experimental solution to shield his wife and son from ...
The Bad Guys
6.8
R5

The Bad Guys

Mar. 17, 2022

The Bad Guys

When the Bad Guys, a crew of criminal animals, are finally caught after years of heists and being the world’s most-wanted villains, Mr. Wolf ...
Maraschino Ruby
6.5
R5

Maraschino Ruby

Jun. 15, 2022

Maraschino Ruby

Misty Luggins sets a trap for the Bad Guys, but they were already caught and in custody for another crime; stealing a push pop… allegedly.
Renfield
6.4
R5

Renfield

Apr. 07, 2023

Renfield

Having grown sick and tired of his centuries as Dracula’s lackey, Renfield finds a new lease on life — and maybe even redemption — when he ...
Migration
6.9
R5

Migration

Dec. 06, 2023

Migration

After a migrating duck family alights on their pond with thrilling tales of far-flung places, the Mallard family embarks on a family road trip, ...
Wildwood
0
R5

Wildwood

Set beyond Portland’s city limits, in Wildwood. You’re not supposed to go there. You’re not even supposed to know it exists. But Prue McKeel is ...
Quiz Lady
6.7
R5

Quiz Lady

Sep. 09, 2023

Quiz Lady

A brilliant but tightly wound, gameshow-obsessed young woman, Anne, and her estranged, train-wreck of a sister Jenny, must work together to help ...
Jumanji: The Next Level
6.7
1080p

Jumanji: The Next Level

As the gang return to Jumanji to rescue one of their own, they discover that nothing is as they expect. The players will have to brave parts ...
The Little Mermaid
0
SD

The Little Mermaid

May. 18, 2023

The Little Mermaid

The youngest of King Triton’s daughters, and the most defiant, Ariel longs to find out more about the world beyond the sea, and while visiting ...
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();