Browse Source

works now, image proxy needs to be fixed tho

Ahwx 2 years ago
parent
commit
b20f3e9c0f
12 changed files with 306 additions and 386 deletions
  1. 0 39
      api.php
  2. 2 50
      config.php
  3. 0 60
      engines/pinterest.php
  4. 13 11
      image_proxy.php
  5. 3 2
      index.php
  6. 22 0
      misc/footer.php
  7. 8 0
      misc/header.php
  8. 8 0
      misc/style-dark.css
  9. 196 198
      misc/tools.php
  10. 54 4
      search.php
  11. 0 12
      static/footer.php
  12. 0 10
      static/header.php

+ 0 - 39
api.php

@@ -1,39 +0,0 @@
-<?php
-$config = require "config.php";
-require "example/path.php";
-
-if (!isset($_REQUEST["q"]))
-{
-  echo "<p>Example API request: ./api.php?q=pinternet";
-  die();
-}
-
-$query = $_REQUEST["q"];
-
-// Pinterest API Endpoint
-$api_url = "https://api.pinterest.com/v1/boards/{board_id}/pins/";
-
-// Replace {board_id} with the actual board ID
-$board_id = "replace_with_actual_board_id";
-
-// Replace {access_token} with a valid Pinterest access token
-$access_token = "replace_with_actual_access_token";
-
-// Create the API request URL
-$request_url = $api_url . "?access_token=" . $access_token;
-
-// Send a GET request to the Pinterest API
-$response = file_get_contents($request_url);
-
-// Decode the JSON response into a PHP array
-$pins = json_decode($response, true);
-
-// Loop through the pins and display each one
-foreach ($pins["data"] as $pin) {
-  echo '<div>';
-  echo '<img src="' . $pin["image"]["original"]["url"] . '" alt="' . $pin["description"] . '">';
-  echo '<p>' . $pin["description"] . '</p>';
-  echo '</div>';
-}
-
-?>

+ 2 - 50
config.php

@@ -1,53 +1,5 @@
 <?php
-
     return (object) array(
-
-        // e.g.: fr -> https://google.fr/
-        "google_domain" => "com",
-
-        // Google results will be in this language
-        "google_language" => "en",
-
-        // If you have a local instance you can change this to http://localhost:3000
-        "invidious_instance_for_video_results" => "https://invidious.namazso.eu",
-
-        "disable_bittorent_search" => false,
-        "bittorent_trackers" => "&tr=http%3A%2F%2Fnyaa.tracker.wf%3A7777%2Fannounce&tr=udp%3A%2F%2Fopen.stealth.si%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fexodus.desync.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.torrent.eu.org%3A451%2Fannounce",
-
-        "disable_hidden_service_search" => false,
-
-        /*
-            Preset privacy friendly frontends for users, these can be overwritten by users in settings
-            e.g.: "invidious" => "https://yewtu.be",
-        */
-        "invidious" => "", // youtube
-        "bibliogram" => "", // instagram
-        "rimgo" => "", // imgur
-        "scribe" => "", // medium
-        "librarian" => "", // odysee
-        "gothub" => "", // github
-        "nitter" => "", // twitter
-        "libreddit" => "", // reddit
-        "proxitok" => "", // tiktok
-        "wikiless" => "", // wikipedia
-        "quetre" => "", // quora
-        "libremdb" => "", // imdb,
-        "breezewiki" => "", // fandom,
-        "anonymousoverflow" => "", // stackoverflow
-
-        /*
-            To send requests trough a proxy uncomment CURLOPT_PROXY and CURLOPT_PROXYTYPE:
-
-            CURLOPT_PROXYTYPE options:
-
-                CURLPROXY_HTTP
-                CURLPROXY_SOCKS4
-                CURLPROXY_SOCKS4A
-                CURLPROXY_SOCKS5
-                CURLPROXY_SOCKS5_HOSTNAME
-
-            !!! ONLY CHANGE THE OTHER OPTIONS IF YOU KNOW WHAT YOU ARE DOING !!!
-        */
         "curl_settings" => array(
             // CURLOPT_PROXY => "ip:port",
             // CURLOPT_PROXYTYPE => CURLPROXY_HTTP,
@@ -62,7 +14,7 @@
             CURLOPT_TIMEOUT => 18,
             CURLOPT_VERBOSE => false
         )
-
     );
-
 ?>
+
+// settings basically stolen from LibreX - https://github.com/hnhx/librex

+ 0 - 60
engines/pinterest.php

@@ -1,60 +0,0 @@
-<?php
-
-    require "misc/tools.php";
-
-    function get_image_results($query) 
-    {
- //       $url = "https://www.pinterest.com/search/pins/?q=$query";
-        $url = "https://lite.qwant.com/?q=$query&t=images";
-        $response = request($url);
-        $xpath = get_xpath($response);
-
-        $results = array();
-
-        foreach($xpath->query("//a[@rel='noopener']") as $result)
-        {       
-                $image = $xpath->evaluate(".//img", $result)[0];
-
-                if ($image)
-                {
-                    $encoded_url = $result->getAttribute("href");
-                    $encoded_url_split1 = explode("==/", $encoded_url)[1];
-                    $encoded_url_split2 = explode("?position", $encoded_url_split1)[0];
-                    $real_url = urldecode(base64_decode($encoded_url_split2));
-                    $real_url = check_for_privacy_frontend($real_url);
-
-                    $alt = $image->getAttribute("alt");
-                    $thumbnail = urlencode($image->getAttribute("src"));
-
-                    array_push($results, 
-                        array (
-                            "thumbnail" => urldecode(htmlspecialchars($thumbnail)),
-                            "alt" => htmlspecialchars($alt),
-                            "url" => htmlspecialchars($real_url)
-                        )
-                    );
-    
-                }
-        }
-
-        return $results;
-    }
-
-    function print_image_results($results)
-    {
-        echo "<div class=\"image-result-container\">";
-
-            foreach($results as $result)
-            {
-                $thumbnail = urlencode($result["thumbnail"]);
-                $alt = $result["alt"];
-                $url = $result["url"];
-
-                echo "<a title=\"$alt\" href=\"$url\" target=\"_blank\">";
-                echo "<img src=\"image_proxy.php?url=$thumbnail\">";
-                echo "</a>";
-            }
-
-        echo "</div>";
-    }
-?>

+ 13 - 11
image_proxy.php

@@ -1,19 +1,21 @@
 <?php
 
-require "misc/tools.php";
+    $config = require "config.php";
+    require "misc/tools.php";
 
-$url = $_REQUEST["url"];
-$requested_root_domain = get_root_domain($url);
+    $url = $_REQUEST["url"];
+    $requested_root_domain = get_root_domain($url);
 
-$allowed_domains = array("pinterest.com", "i.pinimg.com", "pinimg.com");
+    $allowed_domains = array("pinimg.com", "i.pinimg.com", "pinterest.com");
 
-//if (in_array($requested_root_domain, $allowed_domains))
-//{
-  $image = $url;
-  $image_src = request($image);
+    if (in_array($requested_root_domain, $allowed_domains))
+    {
+      $image = $url;
+      $image_src = request($image);
 
-  header("Content-Type: image/jpeg");
-  echo $image_src;
-//}
+      header("Content-Type: image/jpeg");
+      echo $image_src;
+    }
 ?>
 
+// basically stolen from LibreX - https://github.com/hnhx/LibreX

+ 3 - 2
index.php

@@ -1,4 +1,5 @@
-<?php require "static/header.php"; ?>
+<?php require "misc/header.php"; ?>
+<title>Pinternet</title>
 </head>
 <body>
     <div class="mainContainer">
@@ -10,4 +11,4 @@
           </div>
         </form>
     </div>
-<?php require "static/footer.php"; ?>
+<?php require "misc/footer.php"; ?>

+ 22 - 0
misc/footer.php

@@ -0,0 +1,22 @@
+<footer>
+  <div class="footer">
+    <p id="footerText">
+      |
+      <a href="./" target="_blank">Pinternet</a>
+      |
+      <a href="https://github.com/Ahwxorg/Pinternet/" target="_blank">Source code</a>
+      |
+      <a href="https://ahwx.org/donate.php" target="_blank">Donate</a>
+      |
+
+<?php
+if (isset($images)) {
+  echo "<br><br>";
+  print(count($images). " images found");
+}
+?>
+    </p>
+  </div>
+</footer>
+</body>
+</html>

+ 8 - 0
misc/header.php

@@ -0,0 +1,8 @@
+<!DOCTYPE html >
+<html lang="en">
+  <head>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <meta charset="UTF-8"/>
+    <meta name="description" content="A privacy respecting Pinterest image search"/>
+    <meta name="referrer" content="no-referrer"/>
+    <link rel="stylesheet" type="text/css" href="misc/style-dark.css">

+ 8 - 0
static/style-dark.css → misc/style-dark.css

@@ -79,3 +79,11 @@ input {
   margin: 10px;
 }
 
+img {
+  max-width: 25vw;
+  max-height: 25vw;
+  height: auto;
+  width: auto;
+  border-radius: 10px;
+  box-shadow: 5px 5px 5px black;
+}

+ 196 - 198
misc/tools.php

@@ -1,246 +1,244 @@
 <?php
+    function get_base_url($url)
+    {
+        $split_url = explode("/", $url);
+        $base_url = $split_url[0] . "//" . $split_url[2] . "/";
+        return $base_url;
+    }
 
-$config = require "config.php";
-
-function get_base_url($url)
-{
-    $split_url = explode("/", $url);
-    $base_url = $split_url[0] . "//" . $split_url[2] . "/";
-    return $base_url;
-}
-
-function get_root_domain($url)
-{
-    $split_url = explode("/", $url);
-    $base_url = $split_url[2];
-
-    $base_url_main_split = explode(".", strrev($base_url));
-    $root_domain = strrev($base_url_main_split[1]) . "." . strrev($base_url_main_split[0]);
-
-    return $root_domain;
-}
+    function get_root_domain($url)
+    {
+        $split_url = explode("/", $url);
+        $base_url = $split_url[2];
 
-function try_replace_with_frontend($url, $frontend, $original)
-{
-    $config = require "config.php";
+        $base_url_main_split = explode(".", strrev($base_url));
+        $root_domain = strrev($base_url_main_split[1]) . "." . strrev($base_url_main_split[0]);
+    
+        return $root_domain;
+    }
 
-    if (isset($_COOKIE[$frontend]) || isset($_REQUEST[$frontend]) || !empty($config->$frontend))
+    function try_replace_with_frontend($url, $frontend, $original)
     {
-        if (isset($_COOKIE[$frontend]))
-            $frontend = $_COOKIE[$frontend];
-        else if (isset($_REQUEST[$frontend]))
-            $frontend = $_REQUEST[$frontend];
-        else if (!empty($config->$frontend))
-            $frontend = $config->$frontend;
-
-       if ($original == "instagram.com")
+        $config = require "config.php";
+
+        if (isset($_COOKIE[$frontend]) || isset($_REQUEST[$frontend]) || !empty($config->$frontend))
         {
-            if (!strpos($url, "/p/"))
-                $frontend .= "/u";
-        }
+            if (isset($_COOKIE[$frontend]))
+                $frontend = $_COOKIE[$frontend];
+            else if (isset($_REQUEST[$frontend]))
+                $frontend = $_REQUEST[$frontend];
+            else if (!empty($config->$frontend))
+                $frontend = $config->$frontend;
+
+           if ($original == "instagram.com")
+            {
+                if (!strpos($url, "/p/"))
+                    $frontend .= "/u";
+            }
 
-        if (empty(trim($frontend)))
-            return $url;
+            if (empty(trim($frontend)))
+                return $url;
 
-        if (strpos($url, "wikipedia.org") !== false)
-        {
-            $wiki_split = explode(".", $url);
-            if (count($wiki_split) > 1)
+            if (strpos($url, "wikipedia.org") !== false)
             {
-                $lang = explode("://", $wiki_split[0])[1];
-                $url =  $frontend . explode($original, $url)[1] . "?lang=" . $lang;
+                $wiki_split = explode(".", $url);
+                if (count($wiki_split) > 1)
+                {
+                    $lang = explode("://", $wiki_split[0])[1];
+                    $url =  $frontend . explode($original, $url)[1] . "?lang=" . $lang;
+                }
             }
-        }
-        else if (strpos($url, "fandom.com") !== false)
-        {
-            $fandom_split = explode(".", $url);
-            if (count($fandom_split) > 1)
+            else if (strpos($url, "fandom.com") !== false)
             {
-                $wiki_name = explode("://", $fandom_split[0])[1];
-                $url =  $frontend . "/" . $wiki_name . explode($original, $url)[1];
+                $fandom_split = explode(".", $url);
+                if (count($fandom_split) > 1)
+                {
+                    $wiki_name = explode("://", $fandom_split[0])[1];
+                    $url =  $frontend . "/" . $wiki_name . explode($original, $url)[1];
+                }
+            }
+            else
+            {
+                $url =  $frontend . explode($original, $url)[1];
             }
-        }
-        else
-        {
-            $url =  $frontend . explode($original, $url)[1];
-        }
-
 
-        return $url;
-    }
 
-    return $url;
-}
+            return $url;
+        }
 
-function check_for_privacy_frontend($url)
-{
-    if (isset($_COOKIE["disable_frontends"]))
         return $url;
-
-    $frontends = array(
-        "youtube.com" => "invidious",
-        "instagram.com" => "bibliogram",
-        "imgur.com" => "rimgo",
-        "medium.com" => "scribe",
-        "github.com" => "gothub",
-        "odysee.com" => "librarian",
-        "twitter.com" => "nitter",
-        "reddit.com" => "libreddit",
-        "tiktok.com" => "proxitok",
-        "wikipedia.org" => "wikiless",
-        "quora.com" => "quetre",
-        "imdb.com" => "libremdb",
-        "fandom.com" => "breezewiki",
-        "stackoverflow.com" => "anonymousoverflow"
-    );
-
-    foreach($frontends as $original => $frontend)
-    {
-        if (strpos($url, $original))
-        {
-            $url = try_replace_with_frontend($url, $frontend, $original);
-            break;
-        }
     }
 
-    return $url;
-}
-
-function check_ddg_bang($query)
-{
-
-    $bangs_json = file_get_contents("static/misc/ddg_bang.json");
-    $bangs = json_decode($bangs_json, true);
-
-    if (substr($query, 0, 1) == "!")
-        $search_word = substr(explode(" ", $query)[0], 1);
-    else
-        $search_word = substr(end(explode(" ", $query)), 1);
-    
-    $bang_url = null;
-
-    foreach($bangs as $bang)
+    function check_for_privacy_frontend($url)
     {
-        if ($bang["t"] == $search_word)
+        if (isset($_COOKIE["disable_frontends"]))
+            return $url;
+
+        $frontends = array(
+            "youtube.com" => "invidious",
+            "instagram.com" => "bibliogram",
+            "imgur.com" => "rimgo",
+            "medium.com" => "scribe",
+            "github.com" => "gothub",
+            "odysee.com" => "librarian",
+            "twitter.com" => "nitter",
+            "reddit.com" => "libreddit",
+            "tiktok.com" => "proxitok",
+            "wikipedia.org" => "wikiless",
+            "quora.com" => "quetre",
+            "imdb.com" => "libremdb",
+            "fandom.com" => "breezewiki",
+            "stackoverflow.com" => "anonymousoverflow"
+        );
+
+        foreach($frontends as $original => $frontend)
         {
-            $bang_url = $bang["u"];
-            break;
+            if (strpos($url, $original))
+            {
+                $url = try_replace_with_frontend($url, $frontend, $original);
+                break;
+            }
         }
+
+        return $url;
     }
 
-    if ($bang_url)
+    function check_ddg_bang($query)
     {
-        $bang_query_array = explode("!" . $search_word, $query);
-        $bang_query = trim(implode("", $bang_query_array));
-
-        $request_url = str_replace("{{{s}}}", $bang_query, $bang_url);
-        $request_url = check_for_privacy_frontend($request_url);
 
-        header("Location: " . $request_url);
-        die();
-    }
-}
-
-function check_for_special_search($query)
-{
-    if (isset($_COOKIE["disable_special"]) || isset($_REQUEST["disable_special"]))
-        return 0;
+        $bangs_json = file_get_contents("static/misc/ddg_bang.json");
+        $bangs = json_decode($bangs_json, true);
 
-     $query_lower = strtolower($query);
-     $split_query = explode(" ", $query);
+        if (substr($query, 0, 1) == "!")
+            $search_word = substr(explode(" ", $query)[0], 1);
+        else
+            $search_word = substr(end(explode(" ", $query)), 1);
+        
+        $bang_url = null;
 
-     if (strpos($query_lower, "to") && count($split_query) >= 4) // currency
-     {
-        $amount_to_convert = floatval($split_query[0]);
-        if ($amount_to_convert != 0)
-            return 1;
-     }
-     else if (strpos($query_lower, "mean") && count($split_query) >= 2) // definition
-     {
-         return 2;
-     }
-     else if (strpos($query_lower, "my") !== false)
-     {
-        if (strpos($query_lower, "ip"))
+        foreach($bangs as $bang)
         {
-            return 3;
+            if ($bang["t"] == $search_word)
+            {
+                $bang_url = $bang["u"];
+                break;
+            }
         }
-        else if (strpos($query_lower, "user agent") || strpos($query_lower, "ua"))
+
+        if ($bang_url)
         {
-            return 4;
-        }
-     }
-     else if (strpos($query_lower, "weather") !== false)
-     {
-            return 5;
-     }
-     else if ($query_lower == "tor")
-     {
-            return 6;
-     }
-     else if (3 > count(explode(" ", $query))) // wikipedia
-     {
-         return 7;
-     }
+            $bang_query_array = explode("!" . $search_word, $query);
+            $bang_query = trim(implode("", $bang_query_array));
 
-    return 0;
-}
+            $request_url = str_replace("{{{s}}}", $bang_query, $bang_url);
+            $request_url = check_for_privacy_frontend($request_url);
 
-function get_xpath($response)
-{
-    $htmlDom = new DOMDocument;
-    @$htmlDom->loadHTML($response);
-    $xpath = new DOMXPath($htmlDom);
+            header("Location: " . $request_url);
+            die();
+        }
+    }
 
-    return $xpath;
-}
+    function check_for_special_search($query)
+    {
+        if (isset($_COOKIE["disable_special"]) || isset($_REQUEST["disable_special"]))
+            return 0;
+
+         $query_lower = strtolower($query);
+         $split_query = explode(" ", $query);
+
+         if (strpos($query_lower, "to") && count($split_query) >= 4) // currency
+         {
+            $amount_to_convert = floatval($split_query[0]);
+            if ($amount_to_convert != 0)
+                return 1;
+         }
+         else if (strpos($query_lower, "mean") && count($split_query) >= 2) // definition
+         {
+             return 2;
+         }
+         else if (strpos($query_lower, "my") !== false)
+         {
+            if (strpos($query_lower, "ip"))
+            {
+                return 3;
+            }
+            else if (strpos($query_lower, "user agent") || strpos($query_lower, "ua"))
+            {
+                return 4;
+            }
+         }
+         else if (strpos($query_lower, "weather") !== false)
+         {
+                return 5;
+         }
+         else if ($query_lower == "tor")
+         {
+                return 6;
+         }
+         else if (3 > count(explode(" ", $query))) // wikipedia
+         {
+             return 7;
+         }
 
-function request($url)
-{
-    global $config;
+        return 0;
+    }
 
-    $ch = curl_init($url);
-    curl_setopt_array($ch, $config->curl_settings);
-    $response = curl_exec($ch);
+    function get_xpath($response)
+    {
+        $htmlDom = new DOMDocument;
+        @$htmlDom->loadHTML($response);
+        $xpath = new DOMXPath($htmlDom);
 
-    return $response;
-}
+        return $xpath;
+    }
 
-function human_filesize($bytes, $dec = 2)
-{
-    $size   = array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
-    $factor = floor((strlen($bytes) - 1) / 3);
+    function request($url)
+    {
+        global $config;
 
-    return sprintf("%.{$dec}f ", $bytes / pow(1024, $factor)) . @$size[$factor];
-}
+        $ch = curl_init($url);
+        curl_setopt_array($ch, $config->curl_settings);
+        $response = curl_exec($ch);
 
-function remove_special($string)
-{
-    $string = preg_replace("/[\r\n]+/", "\n", $string);
-    return trim(preg_replace("/\s+/", ' ', $string));
- }
+        return $response;
+    }
 
-function print_elapsed_time($start_time)
+    function human_filesize($bytes, $dec = 2)
     {
-        $end_time = number_format(microtime(true) - $start_time, 2, '.', '');
-        echo "<p id=\"time\">Fetched the results in $end_time seconds</p>";
+        $size   = array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
+        $factor = floor((strlen($bytes) - 1) / 3);
+
+        return sprintf("%.{$dec}f ", $bytes / pow(1024, $factor)) . @$size[$factor];
     }
 
-function print_next_page_button($text, $page, $query, $type)
-{
-    echo "<form class=\"page\" action=\"search.php\" target=\"_top\" method=\"get\" autocomplete=\"off\">";
-    foreach($_REQUEST as $key=>$value)
+    function remove_special($string)
     {
-        if ($key != "q" && $key != "p" && $key != "t")
+        $string = preg_replace("/[\r\n]+/", "\n", $string);
+        return trim(preg_replace("/\s+/", ' ', $string));
+     }
+
+    function print_elapsed_time($start_time)
         {
-            echo "<input type=\"hidden\" name=\"$key\" value=\"$value\"/>";
+            $end_time = number_format(microtime(true) - $start_time, 2, '.', '');
+            echo "<p id=\"time\">Fetched the results in $end_time seconds</p>";
         }
-    }
-    echo "<input type=\"hidden\" name=\"p\" value=\"" . $page . "\" />";
-    echo "<input type=\"hidden\" name=\"q\" value=\"$query\" />";
-    echo "<input type=\"hidden\" name=\"t\" value=\"$type\" />";
-    echo "<button type=\"submit\">$text</button>";
-    echo "</form>";
-}
 
+    function print_next_page_button($text, $page, $query, $type)
+    {
+        echo "<form class=\"page\" action=\"search.php\" target=\"_top\" method=\"get\" autocomplete=\"off\">";
+        foreach($_REQUEST as $key=>$value)
+        {
+            if ($key != "q" && $key != "p" && $key != "t")
+            {
+                echo "<input type=\"hidden\" name=\"$key\" value=\"$value\"/>";
+            }
+        }
+        echo "<input type=\"hidden\" name=\"p\" value=\"" . $page . "\" />";
+        echo "<input type=\"hidden\" name=\"q\" value=\"$query\" />";
+        echo "<input type=\"hidden\" name=\"t\" value=\"$type\" />";
+        echo "<button type=\"submit\">$text</button>";
+        echo "</form>";
+    }
 ?>
+
+//basically stolen from LibreX - https://github.com/hnhx/LibreX

+ 54 - 4
search.php

@@ -1,10 +1,60 @@
+<?php require "misc/header.php"; ?>
+<title>
 <?php
-require "static/header.php";
-require "engines/pinterest.php";
+  $query = htmlspecialchars(trim($_REQUEST["q"]));
+  echo $query;
+?> - Pinternet</title>
+</head>
+    <body>
+        <form class="searchContainer" method="get" autocomplete="off">
+            <h1><a class="no-decoration" href="./"><span>P</span>inter<span>n</span>et</a></h1>
+            <input type="text" name="q"
+                <?php
+                    $query_encoded = urlencode($query);
+
+                    if (1 > strlen($query) || strlen($query) > 64)
+                    {
+                        header("Location: ./");
+                        die();
+                    }
+
+                    echo "value=\"$query\"";
+                ?>
+            <br>
+       <hr>
+</form>
+
+<?php
+//require "engines/pinterest.php";
 
 $query = $_GET['q'];
 
-$imgResults = get_image_results($query);
-print_image_results($imgResults);
+//$imgResults = get_image_results($query);
+//print_image_results($imgResults);
+
+$baseurl = "https://pinterest.com/resource/BaseSearchResource/get/?data=%7B%22options%22%3A%7B%22query%22%3A%22{}%22%7D%7D";
+
+$search = function($query) use($baseurl)
+{
+    $url = str_replace("{}", str_replace(" ", "%20", $query), $baseurl);
+    $json = file_get_contents($url);
+    $data = json_decode($json);
+    $images = array();
+    foreach ($data->{"resource_response"}->{"data"}->{"results"} as $result)
+    {
+        $image = $result->{"images"}->{"orig"};
+        $url = $image->{"url"};
+        array_push($images, $url);
+        echo "<img src='/image_proxy.php?url=", $url, "'>";
+    }
+    return $images;
+};
+
+$images = $search("$query");
+echo "<br><br>";
+echo "<hr>";
+print(count($images)." images found");
+
+include "misc/footer.php";
 
 ?>

+ 0 - 12
static/footer.php

@@ -1,12 +0,0 @@
-<footer>
-  <div class="footer">
-    <p id="footerText">
-      <!--<a href="./api.php" target="_blank">API</a>-->
-      |
-      <a href="https://github.com/Ahwxorg/Pinternet/" target="_blank">Source code</a>
-      |
-    </p>
-  </div>
-</footer>
-</body>
-</html>

+ 0 - 10
static/header.php

@@ -1,10 +0,0 @@
-<!DOCTYPE html >
-<html lang="en">
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
-    <meta charset="UTF-8"/>
-    <meta name="description" content="A privacy respecting meta search engine."/>
-    <meta name="referrer" content="no-referrer"/>
-<!--    <link rel="stylesheet" type="text/css" href="static/styles.css"/>-->
-    <link title="LibreX search" type="application/opensearchdescription+xml" href="/opensearch.xml?method=POST" rel="search"/>
-    <link rel="stylesheet" type="text/css" href="static/style-dark.css">