KyranRana / cloudflare-bypass

A new and improved PHP library which bypasses the Cloudflare IUAM page using cURL
MIT License
275 stars 97 forks source link

Fatal error with CURLOPT_RETURNTRANSFER and redirects loop #131

Closed devilus closed 4 years ago

devilus commented 5 years ago

Hello.

$ch = curl_init("https://multiup.org/download/558fe4e4b9714aae1fd1fdcff3f24b55/_xZ__Grand_Blue_-_10__EFFA84D3_.mp4");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, "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");

$cfCurl = new CFCurlImpl();

$cfOptions = new UAMOptions(); $cfOptions->setVerbose(true); // Enable verbose //$cfOptions->setDelay(5); // Set delay before requesting clearance

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

Return: --> [UAM] 1. Set up copy of existing cURL handle with correct settings --> [UAM] 2. Requested UAM page: --> [UAM] 2. UAM Page -> --> [UAM] 2. UAM Info -> eyJ1cmwiOiJodHRwczpcL1wvbXVsdGl1cC5vcmdcL2Rvd25sb2FkXC81NThmZTRlNGI5NzE0YWFlMWZkMWZkY2ZmM2YyNGI1NVwvX3haX19HcmFuZF9CbHVlXy1fMTBfX0VGRkE4NEQzXy5tcDQiLCJjb250ZW50X3R5cGUiOm51bGwsImh0dHBfY29kZSI6MCwiaGVhZGVyX3NpemUiOjAsInJlcXVlc3Rfc2l6ZSI6MCwiZmlsZXRpbWUiOi0xLCJzc2xfdmVyaWZ5X3Jlc3VsdCI6MCwicmVkaXJlY3RfY291bnQiOjAsInRvdGFsX3RpbWUiOjAuMDAyNjI4MDAwMDAwMDAwMDAwMSwibmFtZWxvb2t1cF90aW1lIjowLjAwMTcwNjAwMDAwMDAwMDAwMDEsImNvbm5lY3RfdGltZSI6MC4wMDI1MDEwMDAwMDAwMDAwMDAyLCJwcmV0cmFuc2Zlcl90aW1lIjowLCJzaXplX3VwbG9hZCI6MCwic2l6ZV9kb3dubG9hZCI6MCwic3BlZWRfZG93bmxvYWQiOjAsInNwZWVkX3VwbG9hZCI6MCwiZG93bmxvYWRfY29udGVudF9sZW5ndGgiOi0xLCJ1cGxvYWRfY29udGVudF9sZW5ndGgiOi0xLCJzdGFydHRyYW5zZmVyX3RpbWUiOjAsInJlZGlyZWN0X3RpbWUiOjAsInJlZGlyZWN0X3VybCI6IiIsInByaW1hcnlfaXAiOiIxMDQuMjcuMTI4LjI0MSIsImNlcnRpbmZvIjpbXSwicHJpbWFyeV9wb3J0Ijo0NDMsImxvY2FsX2lwIjoiMTQ2LjE4NS4xNDguMjQwIiwibG9jYWxfcG9ydCI6NDQyNjJ9 Notice: Undefined offset: 1 in /var/www/site.com/customlib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php on line 35

Notice: Undefined offset: 1 in /var/www/site.com/customlib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php on line 35

Notice: Undefined offset: 1 in /var/www/site.com/customlib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php on line 35

Notice: Undefined offset: 1 in /var/www/site.com/customlib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageChallengeCode.php on line 53

Notice: Undefined offset: 2 in /var/www/site.com/customlib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageChallengeCode.php on line 53

Fatal error: Uncaught Error: Call to a member function getDataType() on null in /var/www/site.com/customlib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php:64 Stack trace: #0 /var/www/site.com/customlib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php(35): CloudflareBypass\Model\UAM\UAMPageFormParams::getJschlAnswerFromPage(Object(CloudflareBypass\Model\UAM\UAMPageAttributes)) #1 /var/www/site.com/customlib/vendor/kyranrana/cloudflare-bypass/src/main/CFCurlImpl.php(183): CloudflareBypass\Model\UAM\UAMPageFormParams::getParamsFromPage(Object(CloudflareBypass\Model\UAM\UAMPageAttributes)) #2 /var/www/site.com/customlib/vendor/kyranrana/cloudflare-bypass/src/main/CFCurlImpl.php(87): CloudflareBypass\CFCurlImpl->requestForClearanceFromIUAM(Resource id #6, Object(CloudflareBypass\Model\UAMOptions), false, '--> ') #3 /var/www/site.com/webroot/test.php(24): CloudflareBypass\CFCurlImpl->exec(Resource id #6, Object(CloudflareBypass\Model\UAMOptions)) #4 {main} thrown in /var/www/site.com/customlib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php on line 64

If set CURLOPT_RETURNTRANSFER to false then no errors but permanently redirects loop to antiddos cloudflare page.

KyranRana commented 5 years ago

Could you try with the latest version v3.1.2?

If that version doesn't work, then answer the following questions:

What version of PHP are you using? What version of cURL are you using?

Also send me your verbose logs in a pastebin.

devilus commented 5 years ago

PHP 7.2.21 curl 7.65.3 (x86_64-redhat-linux-gnu) libcurl/7.65.3 NSS/3.36 zlib/1.2.7 libpsl/0.7.0 (+libicu/50.1.2) libssh2/1.9.0 nghttp2/1.31.1

With 3.1.2 same problem. https://pastebin.com/0G5rJ2Jw

KyranRana commented 5 years ago

Could you just do a simple cURL request to the page and give me the page source code in a pastebin?

devilus commented 5 years ago

https://pastebin.com/J08s2gPj https://pastebin.com/HncHEzkJ

KyranRana commented 4 years ago

Try with version 3.3.0 ?

KyranRana commented 4 years ago

Closed due to inactivity.

devilus commented 4 years ago

All the same with 3.3.0

[INFO] UAM (retry: 0) -> applying HTTPS settings [INFO] UAM (retry: 0) -> waiting for 5 seconds! [INFO] UAM (retry: 0) -> getting form params... Notice: Undefined offset: 1 in /var/www/site.com/lib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php on line 36

Notice: Undefined offset: 1 in /var/www/site.com/lib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php on line 36

Notice: Undefined offset: 1 in /var/www/site.com/lib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php on line 36

Notice: Undefined offset: 1 in /var/www/site.com/lib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageChallengeCode.php on line 54

Notice: Undefined offset: 2 in /var/www/site.com/lib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageChallengeCode.php on line 54

Fatal error: Uncaught Error: Call to a member function getDataType() on null in /var/www/site.com/lib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php:60 Stack trace: #0 /var/www/site.com/lib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php(36): CloudflareBypass\Model\UAM\UAMPageFormParams::getJschlAnswerFromPage(Object(CloudflareBypass\Model\UAM\UAMPageAttributes)) #1 /var/www/site.com/lib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageAttributes.php(55): CloudflareBypass\Model\UAM\UAMPageFormParams::getParamsFromPage(Object(CloudflareBypass\Model\UAM\UAMPageAttributes)) #2 /var/www/site.com/lib/vendor/kyranrana/cloudflare-bypass/src/main/CFCurlImpl.php(146): CloudflareBypass\Model\UAM\UAMPageAttributes->__construct('https', 'multiup.org', '') #3 /var/www/site.com/lib/vendor/kyranrana/cloudflare-bypass/src/main/CFCurlImpl.php(96): CloudflareBypass\CFCurlImpl->bypassIUAMPage(Resource id #97, false, Array, 0, Object(CloudflareBypass\Model\UAMOptions), false) #4 /var in /var/www/site.com/lib/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php on line 60

momala454 commented 4 years ago

i opened another issue i had the same problem, but for me it was very rare https://github.com/KyranRana/cloudflare-bypass/issues/140

does it happens every time for you ?