Leslie Odom Jr.

Recently added

Luna Goes Cruising
5.2
HDTV

Luna Goes Cruising

Apr. 17, 2015

Luna Goes Cruising

A dog named Luna and her owner interact with each other and other pets as they attempt to find Luna a significant other.
Hamilton: One Shot to Broadway
6.2
HDTV

Hamilton: One Shot to Broadway

It’s the hit musical that changed Broadway forever and brought the genius of Lin Manuel Miranda to the attention of legions of fans across the ...
Cabiria, Charity, Chastity
6.4
HDTV

Cabiria, Charity, Chastity

Through Lyonne’s surrealist eye, the lead character learns to reconcile with her Vaudevillian past in order to step into her life more fully. We ...
The Jazz Ambassadors
7.5
HDTV

The Jazz Ambassadors

May. 04, 2018

The Jazz Ambassadors

The Cold War and Civil Rights collide in this remarkable story of music, diplomacy and race. Beginning in 1955, when America asked its greatest ...
Harriet
6.7
HDTV

Harriet

Nov. 01, 2019

Harriet

The extraordinary tale of Harriet Tubman’s escape from slavery and transformation into one of America’s greatest heroes. Her courage, ...
Only
5.1
HDTV

Only

Mar. 06, 2020

Only

After a comet releases a mysterious virus that begins to kill all of the women in the world, a young couple’s relationship is severely ...
Hamilton
8.3
HDTV

Hamilton

Jul. 03, 2020

Hamilton

Presenting the tale of American founding father Alexander Hamilton, this filmed version of the original Broadway smash hit is the story of ...
The Undefeated Presents: Hamilton In-Depth
6.8
HDTV

The Undefeated Presents: Hamilton In-Depth

Hamilton In-Depth is a roundtable discussion with Tony winners Lin-Manuel Miranda, Renée Elise Goldsberry, Leslie Odom Jr., Daveed Diggs, ...
Hamilton: History Has Its Eyes On You
6.5
HDTV

Hamilton: History Has Its Eyes On You

An intimate discussion about the groundbreaking musical that has become a global phenomenon featuring Hamilton’s creator, its director, and ...
The Disney Holiday Singalong
5.9
HDTV

The Disney Holiday Singalong

Returning for a third iteration, “The Disney Holiday Singalong” features more music and magic just in time for the holidays. The one-hour festive ...
Music
3.2
HDTV

Music

Jan. 14, 2021

Music

Zu, a free spirit estranged from her family, suddenly finds herself the sole guardian of her half-sister, Music, a teenager on the autism ...
The Many Saints of Newark
6.3
HDTV

The Many Saints of Newark

Young Anthony Soprano is growing up in one of the most tumultuous eras in Newark, N.J., history, becoming a man just as rival gangsters start to ...
The Exorcist: Deceiver
0
HDTV

The Exorcist: Deceiver

The second installment in Blumhouse’s trilogy of legacy sequels to “The Exorcist.”
The Exorcist: Believer
5.1
HDTV

The Exorcist: Believer

When his daughter, Angela, and her friend Katherine, show signs of demonic possession, it unleashes a chain of events that forces single father ...
Murder on the Orient Express
6.5
HDTC

Murder on the Orient Express

Genius Belgian detective Hercule Poirot investigates the murder of an American tycoon aboard the Orient Express train.
Glass Onion: A Knives Out Mystery
7.1
HD Cam

Glass Onion: A Knives Out Mystery

World-famous detective Benoit Blanc heads to Greece to peel back the layers of a mystery surrounding a tech billionaire and his eclectic crew of ...
Needle in a Timestack
5.2
144p

Needle in a Timestack

Oct. 15, 2021

Needle in a Timestack

Nick and Janine live in bliss until her ex warps time to try to tear them apart by using Nick’s old girlfriend. As Nick’s memories ...
One Night in Miami…
7.1
360p

One Night in Miami…

Dec. 25, 2020

One Night in Miami…

In the aftermath of Cassius Clay’s defeat of Sonny Liston in 1964, the boxer meets with Malcolm X, Sam Cooke and Jim Brown to change the ...
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();