summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/backend.php1
-rw-r--r--lib/fuckhtml.php3
-rw-r--r--scraper/brave.php23
3 files changed, 22 insertions, 5 deletions
diff --git a/lib/backend.php b/lib/backend.php
index 09a4267..00161a6 100644
--- a/lib/backend.php
+++ b/lib/backend.php
@@ -74,6 +74,7 @@ class backend{
break;
case "socks5_hostname":
+ case "socks5a":
curl_setopt($curlproc, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME);
curl_setopt($curlproc, CURLOPT_PROXY, $address . ":" . $port);
break;
diff --git a/lib/fuckhtml.php b/lib/fuckhtml.php
index 8b5eba5..d89a7bc 100644
--- a/lib/fuckhtml.php
+++ b/lib/fuckhtml.php
@@ -424,8 +424,6 @@ class fuckhtml{
$escape = false;
}
- $lastchar = $json[$i];
-
if(
$bracket === false &&
$is_close_bracket === false
@@ -436,7 +434,6 @@ class fuckhtml{
case "[":
case "{":
- // dont execute whats in "default"
$json_out .= $json[$i];
break;
diff --git a/scraper/brave.php b/scraper/brave.php
index 8be55ac..fd4c46e 100644
--- a/scraper/brave.php
+++ b/scraper/brave.php
@@ -295,6 +295,7 @@ class brave{
$html = fread($handle, filesize("scraper/brave.html"));
fclose($handle);
*/
+
try{
$html =
$this->get(
@@ -406,9 +407,9 @@ class brave{
if(!isset($grep[1])){
- throw new Exception("Could not get data JS");
+ throw new Exception("Could not grep JavaScript object");
}
-
+
$data =
$this->fuckhtml
->parseJsObject(
@@ -416,6 +417,24 @@ class brave{
);
unset($grep);
+ if($data === null){
+
+ throw new Exception("Failed to decode JavaScript object");
+ }
+
+ if(
+ isset($data[2]["data"]["title"]) &&
+ stripos($data[2]["data"]["title"], "PoW Captcha") !== false
+ ){
+
+ throw new Exception("Brave returned a PoW captcha");
+ }
+
+ if(!isset($data[1]["data"]["body"]["response"])){
+
+ throw new Exception("Brave did not return a result object");
+ }
+
$data = $data[1]["data"]["body"]["response"];
/*