Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ 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; } /** * @param string $url * @return bool|string */ 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); } /** * @param string $url * @return bool|string */ 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); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ 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; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ 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; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $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)) { // take old cache $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); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Wednesday 2 January 2019

FCC Chairman Pai celebrates failure to nullify his net neutrality repeal

As one Congress ends and another begins, many are looking forward to a rebalancing of power — especially in the House of Representatives, which Democrats handily retook in November. But FCC Chairman Ajit Pai is more pleased with what the House failed to do — namely, roll back his repeal of net neutrality rules.

To be fair, he does have reason to celebrate; no one likes to see their work undone. But a statement issued today tells a very selective truth about Congressional opposition to his master plan.

“I’m pleased that a strong bipartisan majority of the U.S. House of Representatives declined to reinstate heavy-handed Internet regulation,” Pai said. The “heavy-handed” remark is the usual boilerplate in reference to 2015’s rules, which used what the current FCC calls “depression-era” regulations to exert control over internet providers. That aspersion doesn’t really make sense, as I’ve noted before.

And the “strong bipartisan majority” bears a bit of explanation as well. Indeed, the Democrats fell about 30 short of the votes they needed to put the Congressional Review Act into effect and undo the FCC’s order. But that was only after the Senate, by a similar “strong bipartisan majority,” as Pai would no doubt put it, voted for the rollback. No mention of that in his statement.

In fact the CRA was a long shot from the beginning, but as Senator Brian Schatz (D-HI) told me shortly after the repeal, “it’s very important to try, and it’s important to get everybody in Congress on the record. We want every member of Congress to have to go on the record and say whether or not they agree with what the commission just did.”

Although there was no actual change to the rule, the forced votes of the CRA did succeed in exposing the stances of Senators and Representatives who had hitherto avoided the issue.

Pai followed this questionable bit of crowing with a litany of vague reasons the new rules should be kept. The internet, he points out, “has remained free and open. Broadband speeds are up… Internet access is also expanding, and the digital divide is closing.”

The former claim is, as always, being tested by internet providers, who continue to inject ads, block or throttle services, and otherwise interfere until customers and watchdogs call them out.

But the latter claim in particular would be disputed by many, especially since the FCC’s own numbers tracking broadband deployment in the U.S. have been widely mocked as inaccurate and sourced uncritically from an industry with a vested interest in overstating its own accomplishments.

Furthermore, it’s entirely unclear whether Pai’s new rules have had any positive influence at all. Broadband investment has in fact not been affected, despite a $2 billion tax break given to cable companies and a number of other sweetheart deals. The most likely explanation for any positive effects is investment planned or made years ago, perhaps as far back as the Obama administration and the previous rules.

On top of that, the new rules are under such close scrutiny and face several legal challenges that the industry would be foolish to let them affect their policies in anything but short term matters. As happened with the 2015 rules, these ones could be gone in a year or two, or — with the Senate bullish on real net neutrality rules and a flipped House — replaced with actual legislation.



from TechCrunch https://tcrn.ch/2LNj9Tf
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support