From d6635f537c0ffde59bef6cd52d0d0bada088e963 Mon Sep 17 00:00:00 2001 From: hnhx Date: Fri, 2 Dec 2022 09:41:12 +0100 Subject: [PATCH] added more frontends, removed some dead instances, fixed an issue regarding thepiratebay --- README.md | 3 --- api.php | 2 +- config.php.example | 4 +++- engines/ahmia/hidden_service.php | 2 +- engines/bittorrent/thepiratebay.php | 6 +++++- engines/google/text.php | 2 +- instances.json | 12 ------------ misc/header.php | 2 +- misc/tools.php | 4 +++- search.php | 2 +- settings.php | 14 ++++++++++++++ static/css/styles_min.css | 2 ++ .../{hidden_service_result.png => tor_result.png} | Bin 13 files changed, 32 insertions(+), 23 deletions(-) create mode 100644 static/css/styles_min.css rename static/images/{hidden_service_result.png => tor_result.png} (100%) diff --git a/README.md b/README.md index 906e929..186e5e7 100644 --- a/README.md +++ b/README.md @@ -23,9 +23,6 @@ | [search.ahwx.org](https://search.ahwx.org/) | ❌ | ❌ | πŸ‡³πŸ‡± NL | | [pufe.org](https://pufe.org/) | ❌ | ❌ | :new_zealand: NZ | | [librex.kitscomputer.tk](https://librex.kitscomputer.tk/) | ❌ | ❌ | πŸ‡ΊπŸ‡Έ US | -| [librex.smlan.dev](https://librex.smlan.dev/) | ❌ | ❌ | πŸ‡­πŸ‡Ί HU | -| [linxer.org](https://linxer.org/search/) | ❌ | ❌ | 🏳️ DYN (FORK) | -
### About LibreX diff --git a/api.php b/api.php index e6666bf..0ea6c91 100644 --- a/api.php +++ b/api.php @@ -8,7 +8,7 @@

\"q\" is the keyword

\"p\" is the result page (the first page is 0)

-

\"t\" is the search type (0=text, 1=image, 2=video, 3=torrent)

+

\"t\" is the search type (0=text, 1=image, 2=video, 3=torrent, 4=tor)


The results are going to be in JSON format.

The API supports both POST and GET requests.

"; diff --git a/config.php.example b/config.php.example index dca7f39..207a960 100644 --- a/config.php.example +++ b/config.php.example @@ -22,6 +22,8 @@ "libreddit" => "", // reddit "proxitok" => "", // tiktok "wikiless" => "", // wikipedia + "quetre" => "", // quora + "libremdb" => "", // imdb /* To send requests trough a proxy uncomment CURLOPT_PROXY and CURLOPT_PROXYTYPE: @@ -41,7 +43,7 @@ // CURLOPT_PROXYTYPE => CURLPROXY_HTTP, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", - CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", + CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_PROTOCOLS => CURLPROTO_HTTPS | CURLPROTO_HTTP, diff --git a/engines/ahmia/hidden_service.php b/engines/ahmia/hidden_service.php index eb267e1..5a840f7 100644 --- a/engines/ahmia/hidden_service.php +++ b/engines/ahmia/hidden_service.php @@ -17,7 +17,7 @@ array_push($results, array ( - "title" => htmlspecialchars($title), + "title" => $title ? htmlspecialchars($title) : "No description provided", "url" => htmlspecialchars($url), "base_url" => htmlspecialchars(get_base_url($url)), "description" => htmlspecialchars($description) diff --git a/engines/bittorrent/thepiratebay.php b/engines/bittorrent/thepiratebay.php index 837bbb4..49b2476 100644 --- a/engines/bittorrent/thepiratebay.php +++ b/engines/bittorrent/thepiratebay.php @@ -8,9 +8,13 @@ $results = array(); $json_response = json_decode($response, true); + if (empty($json_response)) + { + return $results; + } + foreach ($json_response as $response) { - $size = human_filesize($response["size"]); $hash = $response["info_hash"]; $name = $response["name"]; diff --git a/engines/google/text.php b/engines/google/text.php index 6f6447e..c5270b1 100644 --- a/engines/google/text.php +++ b/engines/google/text.php @@ -12,7 +12,7 @@ curl_setopt_array($google_ch, $config->curl_settings); curl_multi_add_handle($mh, $google_ch); - $special_search = check_for_special_search($query); + $special_search = $page ? 0 : check_for_special_search($query); $special_ch = null; $url = null; if ($special_search != 0) diff --git a/instances.json b/instances.json index 26b538e..582a5ec 100644 --- a/instances.json +++ b/instances.json @@ -47,18 +47,6 @@ "tor": null, "i2p": null, "country": "US" - }, - { - "clearnet": "https://librex.smlan.dev/", - "tor": null, - "i2p": null, - "country": "HU" - }, - { - "clearnet": "https://linxer.org/search/", - "tor": null, - "i2p": null, - "country": "DYN" } ] } diff --git a/misc/header.php b/misc/header.php index 933364a..59fe2fb 100644 --- a/misc/header.php +++ b/misc/header.php @@ -5,7 +5,7 @@ - + "nitter", "reddit.com" => "libreddit", "tiktok.com" => "proxitok", - "wikipedia.org" => "wikiless" + "wikipedia.org" => "wikiless", + "quora.com" => "quetre", + "imdb.com" => "libremdb" ); foreach($frontends as $original => $frontend) diff --git a/search.php b/search.php index f0b444d..2cdd8f4 100644 --- a/search.php +++ b/search.php @@ -42,7 +42,7 @@ - +
diff --git a/settings.php b/settings.php index 025f551..c3f57e3 100644 --- a/settings.php +++ b/settings.php @@ -119,6 +119,20 @@ wikiless\""; ?> > + +
+ Quetre + quetre\""; ?> + > +
+ +
+ Libremdb + libremdb\""; ?> + > +
diff --git a/static/css/styles_min.css b/static/css/styles_min.css new file mode 100644 index 0000000..0faa904 --- /dev/null +++ b/static/css/styles_min.css @@ -0,0 +1,2 @@ +/* You can find the human readable css in styles.css */ +.no-decoration,.no-decoration:hover,.text-result-wrapper a:hover,a{text-decoration:none}.misc-container,.text-result-container{margin-bottom:100px}html{color:var(--main-fg);background-color:var(--main-bg);font-family:Arial,Helvetica,sans-serif;font-size:16px}body{margin:0}button,input{outline:0}button{cursor:pointer}p{font-size:18px;color:var(--result-fg)}.misc-container a,.text-result-wrapper h2:hover,a:hover{text-decoration:underline}.X,.special-result-container a,.sub-search-button-wrapper button,.text-result-wrapper a:visited h2{color:#bd93f9}.search-container{text-align:center;margin-top:10%}.search-container h1{font-size:70px}.search-container input,.sub-search-container input{width:500px;color:var(--search-container-text-color);background-color:var(--search-container-background-color);padding:10px;font-size:inherit;font-family:sans-serif;border:1px solid var(--search-container-background-border);border-radius:25px}.misc-container button,.misc-container select,.search-button-wrapper button{color:inherit;background-color:var(--button-bg);font-size:14px;border:1px solid var(--main-bg);border-radius:4px;padding:13px 10px}.search-button-wrapper button{margin:30px 60px 0}.sub-search-container{background-color:var(--search-form-background-color);width:100%;border-bottom:1px solid var(--border)}.sub-search-container hr{opacity:0}.sub-search-container input{width:580px;position:relative;left:140px;margin:18px}.logomobile{position:absolute;margin-top:0;top:25px;left:20px}.no-decoration{color:var(--main-fg)}.sub-search-button-wrapper{margin-left:165px}.misc-container button:hover,.search-button-wrapper button:hover{border:1px solid #5f6368;cursor:pointer}.sub-search-button-wrapper i{vertical-align:middle;margin-right:5px}.sub-search-button-wrapper button{border:none;background-color:inherit;font-size:15px;margin-right:14px}.sub-search-button-wrapper img{vertical-align:middle;margin-right:5px;width:20px}.misc-container{text-align:center;word-wrap:break-word;width:450px;margin-left:auto;margin-right:auto}.misc-container div{margin-bottom:30px}.misc-container button{margin-right:10px;margin-left:10px}.misc-container a{color:inherit}.instances-container div{text-align:left;margin-bottom:25px}.instances-container input{color:inherit;background-color:inherit;padding:5px;font-size:inherit;font-family:inherit;border:1px solid #5f6368;border-radius:5px;float:right}#time,.next-page-button-wrapper,.text-result-container{margin-left:170px}.special-result-container{padding:10px;border:1px solid var(--special-result-border);width:500px;border-radius:8px;background:var(--special-text-background);color:var(--special-text-color);margin-left:840px;margin-top:0;position:absolute}.text-result-wrapper{max-width:550px;word-wrap:break-word;margin-bottom:35px}.text-result-wrapper a{font-size:14px;color:var(--result-fg)}.video-img{height:115px;border-radius:12px}.text-result-wrapper h2{font-size:20px;color:var(--result-link-fg);padding-top:5px;margin-top:1px}.special-result-container a{display:flex;margin-top:10px;font-size:14px}.special-result-container img{display:flex;max-width:60%;max-height:200px;padding-bottom:10px;margin-left:auto;margin-right:auto}.next-page-button-wrapper{margin-top:-50px;margin-bottom:100px}.next-page-button-wrapper button{border:none;background-color:inherit;color:var(--result-link-fg);font-size:18px;margin-right:8px}.next-page-button-wrapper .page{display:inline}.image-result-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));grid-gap:1.5rem;justify-items:center;margin-left:9%;margin-right:9%;padding:0;margin-bottom:50px}.image-result-container img{border:2px solid var(--button-bg);margin:10px}.git-container{right:0}.footer-container,.git-container{position:fixed;bottom:0}.footer-container{width:100vw;left:0;background-color:var(--footer-bg);padding-top:15px;padding-bottom:15px;border-top:1px solid var(--border);text-align:center}.git-container a{font-size:10px}.footer-container a,.git-container a{color:var(--footer-fg)}.footer-container a{margin-left:15px;margin-right:15px}.hide{display:none}.seeders{color:#50fa7b}.leechers{color:#ff79c6}@media only screen and (max-width:1320px){.special-result-container{position:relative;float:none;margin-left:165px}}@media only screen and (max-width:750px){p{font-size:16px}html{font-size:14px}.search-container input{width:80%}.search-button-wrapper button{display:table-row;margin:30px 0 0;width:80%}.image-result-container{display:unset;margin:0;padding:0}.image-result-container img{margin:0 5% 5%;padding:0;width:90%;border:none}.git-container,.sub-search-container .logo{display:none}.footer-container a{margin:10px}.sub-search-container{margin-left:auto;margin-right:auto;text-align:center}.logomobile{position:relative;float:none;margin:0 auto;padding:10px;font-size:28px;display:block;top:0;left:0}.sub-search-container input{width:80%;position:relative;left:0;margin-top:0}.sub-search-button-wrapper{margin:0;padding:0;display:flex;align-items:baseline}.sub-search-button-wrapper img{margin:0;padding:0}.sub-search-button-wrapper button{margin-left:auto;margin-right:auto;padding:0;display:flex;flex-direction:column;align-items:center}.special-result-container{position:relative;float:none;max-width:90%;margin-left:10px;width:auto}.special-result-container img{max-width:80%}.misc-container{margin-bottom:200px;width:95%}.search-container h1{font-size:55px}.search-container{margin-top:10%}#time,.next-page-button-wrapper,.text-result-container{margin-left:20px;max-width:90%}} \ No newline at end of file diff --git a/static/images/hidden_service_result.png b/static/images/tor_result.png similarity index 100% rename from static/images/hidden_service_result.png rename to static/images/tor_result.png