Edi Gathegi

Recently added

Crank
6.9
R5

Crank

Aug. 31, 2006

Crank

Chev Chelios, a hit man wanting to go straight, lets his latest target slip away. Then he awakes the next morning to a phone call that informs ...
Death Sentence
6.7
R5

Death Sentence

Aug. 31, 2007

Death Sentence

Nick Hume is a mild-mannered executive with a perfect life, until one gruesome night he witnesses something that changes him forever. Transformed ...
Gone Baby Gone
7.6
R5

Gone Baby Gone

Sep. 18, 2007

Gone Baby Gone

When 4 year old Amanda McCready disappears from her home and the police make little headway in solving the case, the girl’s aunt, Beatrice ...
The Fifth Patient
4.9
R5

The Fifth Patient

Oct. 23, 2007

The Fifth Patient

John Reilly wakes up in an African Hospital with only fragments of his memory intact. An officer of the local regime, Mugambe, accuses him of ...
Operating Instructions
5.1
R5

Operating Instructions

A sergeant that came back from Iraq traumatized, find out the difficult about working on General hospital in San Diego.
My Bloody Valentine
5.4
R5

My Bloody Valentine

Jan. 16, 2009

My Bloody Valentine

Ten years ago, a tragedy changed the town of Harmony forever. Tom Hanniger, an inexperienced coal miner, caused an accident in the tunnels that ...
Page 36
6
R5

Page 36

Jan. 01, 2010

Page 36

To save his ailing son from certain death, a father voluntarily sells himself into slavery through an underground corporation. After entering ...
This Is Not a Movie
4.4
R5

This Is Not a Movie

Jan. 28, 2011

This Is Not a Movie

Twisted, apocalyptic satire, THIS IS NOT A MOVIE envisions the end of the world through the bi-polar mind of a strung-out pop-culture addict. ...
Wild Card
0
R5

Wild Card

Jan. 01, 2013

Wild Card

What happens in Vegas stays in Vegas… but only if you have a good lawyer. In this witty procedural about people behaving badly, two very ...
Bleeding Heart
5.1
R5

Bleeding Heart

Apr. 16, 2015

Bleeding Heart

Reserved yoga instructor May’s peaceful, clean-living life is thrown out of balance by the arrival of her long-lost sister Shiva, a ...
This Isn’t Funny
6.2
R5

This Isn’t Funny

Nov. 06, 2015

This Isn’t Funny

Meeting the right person at the wrong time can be the best thing that ever happened to you.
The Watcher
5.4
R5

The Watcher

Oct. 01, 2016

The Watcher

Unaware of its terrible history, a young couple purchases their dream home. But it soon becomes clear that they may not be alone in the ...
Better Start Running
5.3
R5

Better Start Running

Apr. 28, 2018

Better Start Running

An eclectic band of misfits becomes an unlikely family as they take a wild journey in the name of love while on the run from an overzealous FBI ...
Pimp
6.1
R5

Pimp

Nov. 09, 2018

Pimp

An urban love story set on the hard streets of the Bronx. A struggling female pimp, named Wednesday, grows up learning the game from her dad. ...
The Last Thing He Wanted
4.3
R5

The Last Thing He Wanted

At the turning point of the Iran-Contra affair, Elena McMahon, a fearless investigative journalist covering the 1984 US presidential campaign, ...
Princess of the Row
6.4
R5

Princess of the Row

Nov. 27, 2020

Princess of the Row

The inspiring tale of a runaway foster child who will stop at nothing to live with the only family she knows: her homeless, mentally-ill veteran ...
Caged
4
R5

Caged

Jan. 26, 2021

Caged

An African American male is imprisoned and placed in solitary confinement after being found guilty of murdering his wife, as he’s haunted ...
The Harder They Fall
6.6
R5

The Harder They Fall

Oct. 22, 2021

The Harder They Fall

Gunning for revenge, outlaw Nat Love saddles up with his gang to take down enemy Rufus Buck, a ruthless crime boss who just got sprung from prison.
Mendo’s Carousel
0
R5

Mendo’s Carousel

A young woman crashes on the precipice between truth and denial.
Reunited
0
R5

Reunited

Ariana, a devoted young Ukrainian mother, who has escaped domestic violence with her small son, struggles to survive in LA, with the help of a ...
Aporia
5.5
R5

Aporia

Aug. 11, 2023

Aporia

Since losing her husband, Sophie has struggled to manage grief, a full-time job, and parenting her devastated daughter, but when a former ...
Criminal Activities
5.8
360p

Criminal Activities

Nov. 20, 2015

Criminal Activities

Four young men make a risky investment together that gets them into trouble with the mob.
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();