Skip to content
This repository has been archived by the owner on Jun 7, 2020. It is now read-only.

KyranRana/cloudflare-bypass

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
June 7, 2020 16:05

Deprecation Note

Unfortunately these new changes which Cloudflare are implementing will not be feasible to implement nor maintain in PHP. So it saddens me to say this project is going to be archived. Well played Cloudflare.

Cloudflare Bypass

CI

A new and improved PHP library which bypasses the Cloudflare IUAM page using cURL.

Installation

With composer:

composer require kyranrana/cloudflare-bypass

Usage with cURL

Use cURL how you normally would but instead of using curl_exec to execute the request we provide a class called CFCurlImpl. CFCurlImpl provides an exec method which takes your cURL handle and executes it - handling the IUAM page if it appears.

Method definition:

CFCurlImpl->exec(resource $curlHandle, UAMOptions $uamOptions)

Example:

<?php
use CloudflareBypass\CFCurlImpl;
use CloudflareBypass\Model\UAMOptions;

/*
 * Prerequisites
 *
 * Set the following request headers:
 *
 * - Upgrade-Insecure-Requests
 * - User-Agent
 * - Accept
 * - Accept-Language
 *
 * Set the following options:
 *
 * - CURLINFO_HEADER_OUT    true
 * - CURLOPT_VERBOSE        false
 *
 */
$url = "https://predb.me/?search=720p";
$ch = curl_init($url);

// Want to cache clearance cookies ?
//curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
//curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_HTTPHEADER,
    array(
        "Upgrade-Insecure-Requests: 1",
        "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36",
        "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
        "Accept-Language: en-US,en;q=0.9"
    ));

$cfCurl = new CFCurlImpl();

$cfOptions = new UAMOptions();
$cfOptions->setVerbose(true);
// $cfOptions->setDelay(5);

try {
    $page = $cfCurl->exec($ch, $cfOptions);

    // Want to get clearance cookies ?
    //$cookies = curl_getinfo($ch, CURLINFO_COOKIELIST);

} catch (ErrorException $ex) {
    echo "Unknown error -> " . $ex->getMessage();
}

About

A new and improved PHP library which bypasses the Cloudflare IUAM page using cURL

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages