diff --git a/README.md b/README.md index bbcf4ee..790e726 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@

LibreX

- - + +

A privacy respecting free as in freedom meta search engine

@@ -26,6 +26,14 @@ | [librex.kitscomputer.tk](https://librex.kitscomputer.tk/) | ❌ | ❌ | πŸ‡ΊπŸ‡Έ US |
+### Thanks rms + +Huge thanks to Richard Stallman for using LibreX and featuring it on his [website](https://stallman.org/stallman-computing.html)! + +> However, the Librex proxies have worked around that problem. They enable me to access Google Search indirectly, and they work correctly through Tor with LibreJS enabled. + +
+ ### About LibreX LibreX gives you results from Google, Brave, Qwant, Ahmia and popular torrent sites without spying on you. @@ -33,6 +41,7 @@ LibreX gives you results from Google, Brave, Qwant, Ahmia and popular torrent si
If you would like to learn more about LibreX check out the [Wiki](https://github.com/hnhx/librex/wiki).
+
### Mirror @@ -42,8 +51,8 @@ git clone https://git.beparanoid.de/librex ``` ### LibreX compared to other metasearch engines -| Metasearch engine | Works without JS | Privacy frontend redirect | Torrent results | API | -|-|-|-|-|-| -| LibreX | βœ… | βœ… | βœ… | βœ… | -| SearXNG | ❓ Not user friendly | ❓ Only host can set it | βœ… | βœ… | -| Whoogle | βœ… | ❓ Only host can set it | ❌ | ❌ | +| Name | Works without JS | Privacy frontend redirect | Torrent results | API | No 3rd party libs used | +|-|-|-|-|-|-| +| LibreX | βœ… | βœ… | βœ… | βœ… | βœ… | +| SearXNG | ❓ Not user friendly | ❓ Only host can set it | βœ… | βœ… | ❌ | +| Whoogle | βœ… | ❓ Only host can set it | ❌ | ❌ | ❌ | diff --git a/engines/special/wikipedia.php b/engines/special/wikipedia.php index 7271cd9..d24dd21 100644 --- a/engines/special/wikipedia.php +++ b/engines/special/wikipedia.php @@ -11,7 +11,7 @@ { $description = substr($first_page["extract"], 0, 250) . "..."; - $source = check_for_privacy_frontend("https://wikipedia.org/wiki/$query"); + $source = check_for_privacy_frontend("https://en.wikipedia.org/wiki/$query"); $response = array( "special_response" => array( "response" => htmlspecialchars($description), diff --git a/misc/tools.php b/misc/tools.php index 82947a1..f5ab7ee 100644 --- a/misc/tools.php +++ b/misc/tools.php @@ -28,7 +28,19 @@ if (empty(trim($frontend))) return $url; - $url = $frontend . explode($original, $url)[1]; + if (strpos($url, "wikipedia.org") !== false) + { + $wiki_split = explode(".", $url); + if (count($wiki_split) > 1) + { + $lang = explode("://", $wiki_split[0])[1]; + $url = $frontend . explode($original, $url)[1] . "?lang=" . $lang; + } + } + else + { + $url = $frontend . explode($original, $url)[1]; + } return $url; } diff --git a/static/css/styles_min.css b/static/css/styles_min.css deleted file mode 100644 index 18b3ac4..0000000 --- a/static/css/styles_min.css +++ /dev/null @@ -1,2 +0,0 @@ -/* You can find the human readable css in styles.css */ -html{color:var(--main-fg);background-color:var(--main-bg);font-family:Arial,Helvetica,sans-serif;font-size:16px}body{margin:0}input,button{outline:none}button{cursor:pointer}p{font-size:18px;color:var(--result-fg)}a,.text-result-wrapper a:hover{text-decoration:none}.text-result-wrapper a:visited h2,.special-result-container a,.sub-search-button-wrapper button{color:#bd93f9}a:hover,.text-result-wrapper h2:hover{text-decoration:underline}.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}.search-button-wrapper button,.misc-container button,.misc-container select{color:inherit;background-color:var(--button-bg);font-size:14px;border:1px solid var(--main-bg);border-radius:4px;padding:13px 10px 13px 10px}.search-button-wrapper button{margin:30px 60px 0 60px}.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{margin-bottom:20px;width:580px;position:relative;left:140px;margin:18px}.logomobile{position:absolute;margin-top:0;top:25px;left:20px}.no-decoration{text-decoration:none;color:var(--main-fg)}.no-decoration:hover{text-decoration:none}.sub-search-button-wrapper{margin-left:165px}.search-button-wrapper button:hover,.misc-container 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;margin-bottom:100px}.misc-container div{margin-bottom:30px}.misc-container button{margin-right:10px;margin-left:10px}.misc-container a{color:inherit;text-decoration:underline}.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}.text-result-container,#time,.next-page-button-wrapper{margin-left:170px}.text-result-container{margin-bottom:100px}.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:flex;flex-wrap:wrap;grid-gap:1.5rem;justify-items:center;margin-left:9%;margin-right:9%;padding:0;margin-bottom:50px}a[title]{flex-grow:1;height:12rem}.image-result-container img{margin:0;height:100%;width:100%;object-fit:cover;vertical-align:bottom}.git-container{right:0}.git-container,.footer-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}.git-container a,.footer-container a{color:var(--footer-fg)}.footer-container a{margin-left:15px;margin-right:15px}.hide{display:none}.X{color:#bd93f9}.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 0;width:80%}.image-result-container{display:unset;margin:0;padding:0}.image-result-container img{margin:0 5% 5% 5%;padding:0;width:90%;border:none}.git-container{display:none}.footer-container a{margin:10px}.sub-search-container{margin-left:auto;margin-right:auto;text-align:center}.sub-search-container .logo{display:none}.logomobile{position:relative;float:none;margin-top:0;margin-bottom:0;margin-left:auto;margin-right:auto;padding:10px;font-size:28px;display:block;margin-top:0;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%}.text-result-container,#time,.next-page-button-wrapper{margin-left:20px;max-width:90%}}