cloudfront ratelimit handler

This commit is contained in:
2025-12-13 20:03:23 -05:00
parent 800cde93cf
commit fd155b192e

View File

@@ -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