cloudfront ratelimit handler
This commit is contained in:
@@ -135,6 +135,8 @@ class sc{
|
||||
|
||||
$type = $get["type"];
|
||||
$proxy = $this->backend->get_ip();
|
||||
|
||||
// token is not tied to an IP address
|
||||
$token = $this->get_token($proxy);
|
||||
|
||||
switch($type){
|
||||
@@ -247,13 +249,30 @@ class sc{
|
||||
fclose($handle);
|
||||
*/
|
||||
|
||||
$this->fuckhtml->load($json);
|
||||
|
||||
// detect for cloudfront error
|
||||
$title =
|
||||
$this->fuckhtml
|
||||
->getElementsByTagName(
|
||||
"title"
|
||||
);
|
||||
|
||||
if(
|
||||
count($title) !== 0 &&
|
||||
str_contains($title[0]["innerHTML"], "The request could not be satisfied")
|
||||
){
|
||||
|
||||
throw new Exception("Ratelimited by Cloudfront, add some working proxies");
|
||||
}
|
||||
|
||||
$json = json_decode($json, true);
|
||||
|
||||
if($json === null){
|
||||
|
||||
if($last_attempt === true){
|
||||
|
||||
throw new Exception("Fetched an invalid token (please report!!)");
|
||||
throw new Exception("Fetched an invalid token");
|
||||
}
|
||||
|
||||
// token might've expired, get a new one and re-try search
|
||||
|
||||
Reference in New Issue
Block a user