Ryôichi Kusanagi

Recently added

Prey
6.1
CAM

Prey

Jun. 23, 1979

Prey

A rock singer who has returned to the U.S. approaches his former musician friends with the soulful sound of reggae that he encountered during his ...
Kagura Me
7.7
CAM

Kagura Me

Oct. 24, 2015

Kagura Me

A woman bears a 13 year grudge with her father over the traditional dance he was performing that caused him to be absent from her mother’s ...
Dark
0
CAM

Dark

Jan. 21, 2011

Dark

We don’t have an overview translated in English. Help us expand our database by adding one.
Heisei Zankeiden: Blood Blade Dos Barks!
0
CAM

Heisei Zankeiden: Blood Blade Dos Barks!

A lone wolf yakuza vs detective. It was supposed to be an undercover investigation into the Yakuza organization… A drama of friendship and ...
Rape Hunter: Target Woman
4.5
CAM

Rape Hunter: Target Woman

Fuyuko, a married woman filled with grief after a miscarriage, has an affair with a younger man and finds herself involved in a robbery plot. For ...
Dead End
5.4
480p

Dead End

Mar. 04, 1978

Dead End

A man and a woman who met in a park in the city draw a figure that desperately loves each other while being chased by the hardship.
Young Beast: Secret Pleasures
0
480p

Young Beast: Secret Pleasures

Yasuji Hajima runs a butcher shop. When he was younger, he was just as interested in the sex as the next man but lately he has a hard time ...
Angel Guts: Red Classroom
6
480p

Angel Guts: Red Classroom

When Muraki, a porn producer, watches a blue film depicting a gang rape in a school, he becomes obsessed with the lead actress. Quite by chance, ...
Angel Guts: Nami
6.1
480p

Angel Guts: Nami

Jul. 07, 1979

Angel Guts: Nami

Whilst researching an article about rape for a magazine article, Nami starts having fantasies of rape as she comes closer to a fate that could be ...
Bridal Doll
6.7
480p

Bridal Doll

Oct. 06, 1979

Bridal Doll

A man visiting a fun fair spots a young woman entranced by an exhibit of torture in the wax museum, and is compelled to follow her out…
Woman in Black Lingerie
5.5
480p

Woman in Black Lingerie

Roman Porno from 1982. A young woman embezzles five million yen from her company and flees with her boyfriend, attempting to start a new life…
Blue Woman
5.7
480p

Blue Woman

Aug. 28, 1982

Blue Woman

A young woman marries into a wealthy household…
Impurity Relation
0
480p

Impurity Relation

May. 11, 1984

Impurity Relation

A sensual drama depicting a man who lives like a pimp with his wife and three other women.
The Discarnates
7.1
480p

The Discarnates

Sep. 15, 1988

The Discarnates

Harada is a successful scenario writer, and his best buddy has just announced an intention to propose to Harada’s ex-wife. Recovering from ...
The Girl and the Wooden Horse Torture
4.8
480p

The Girl and the Wooden Horse Torture

Nami is a masochistic high school student who is attacked and almost raped by a gang of hoodlums before being rescued by handsome teacher Muraki. ...
Uniform Girls: The Fruit Is Ripe
5.6
480p

Uniform Girls: The Fruit Is Ripe

Three high school student girls are on their spring break. They are expecting to get some sex of course. One becomes an adult magazine model. The ...
Zoom Up: The Beaver Book Girl
5.8
480p

Zoom Up: The Beaver Book Girl

A sexually perverse mystery set within the adult magazine industry. A woman is brutally assaulted in an abandoned factory, and her assailant ...
Female Teacher in Rope Hell
5.4
480p

Female Teacher in Rope Hell

It all starts when Teacher Sayuri tries to help a student who is getting raped. Instead she, herself, is subjected to a sexual assault. Then ...
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();