Framework and javascript free privacy respecting meta search engine
Go to file
Keanu Poeschko 42d6418152 added .gitignore 2022-05-19 12:05:11 +02:00
engines fixed arbitrary file read and XSS vulnerabilities, fixed some issues with settings 2022-05-15 10:34:46 +02:00
misc fixed arbitrary file read and XSS vulnerabilities, fixed some issues with settings 2022-05-15 10:34:46 +02:00
static added torrentgalaxy, added proxitok, fixed some HTML formatting 2022-05-11 20:08:16 +02:00
.gitignore added .gitignore 2022-05-19 12:05:11 +02:00
LICENSE Create LICENSE 2022-02-23 20:56:00 +01:00
README.md added torrentgalaxy, added proxitok, fixed some HTML formatting 2022-05-11 20:08:16 +02:00
api.php changed how the config is stored, rebased the file structure to make it more clean 2022-03-11 10:04:36 +01:00
auto_updater.sh added auto update script and systemd service file 2022-04-27 20:50:38 +02:00
config.php.example fixed arbitrary file read and XSS vulnerabilities, fixed some issues with settings 2022-05-15 10:34:46 +02:00
donate.php added torrentgalaxy, added proxitok, fixed some HTML formatting 2022-05-11 20:08:16 +02:00
index.php fixed arbitrary file read and XSS vulnerabilities, fixed some issues with settings 2022-05-15 10:34:46 +02:00
librex_updater.service renamed config.php to config.php.example, updated readme 2022-04-27 21:10:39 +02:00
opensearch.xml.example added torrentgalaxy, added proxitok, fixed some HTML formatting 2022-05-11 20:08:16 +02:00
search.php fixed arbitrary file read and XSS vulnerabilities, fixed some issues with settings 2022-05-15 10:34:46 +02:00
settings.php fixed arbitrary file read and XSS vulnerabilities, fixed some issues with settings 2022-05-15 10:34:46 +02:00

README.md

LibreX

A privacy respecting free as in freedom meta search engine

Online instances

URL Country TOR I2P
librex.beparanoid.de 🇨🇭 CH
search.davidovski.xyz 🇬🇧 UK
librex.elpengu.com 🇫🇷 FR


If you wish to get your instance added create an issue with the new instance label and this information:

  • the URL of your instance
  • the country where your instance is being hosted

Your request will be rejected if your instance:

  • contains JavaScript
  • contains ads
  • have cloudflare protection

Features

  • Ad & JavaScript free
  • Torrent results from popular torrent sites
  • Special queries (e.g.: 2.4 btc to usd)
  • Tracking snippets from URLs are removed
  • Multiple color themes
  • Image results are converted to base64 to prevent clients from connecting to Google servers
  • Supports both POST and GET requests
  • Popular social media sites (YouTube, Instagram, Twitter etc.) are replaced with privacy friendly front-ends
  • Easy to use JSON API for developers
  • No 3rd party libs are used
  • Easy to setup

Hosting

Install the packages:

sudo apt install php php-fpm php-dom php-curl nginx

Clone LibreX:

git clone https://github.com/hnhx/librex.git

Make sure that the config and the opensearch file won't change when you do git pull:

cd librex
mv config.php.example config.php
mv opensearch.xml.example opensearch.xml

Change opensearch.xml to point to your domain:

sed -i 's/http:\/\/localhost/https:\/\/your.domain/g' opensearch.xml

To keep LibreX up to date enable the LibreX systemd service:

cp librex_updater.service /etc/systemd/system/
systemctl enable --now librex_updater # edit the service file before you enable it

Example nginx config:

server {
        listen 80;

        server_name your.domain;

        root /var/www/html/librex;
        index index.php;

        location ~ \.php$ {
               include snippets/fastcgi-php.conf;
               fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
}

Start the php-fpm and the nginx systemd service

sudo systemctl enable --now php7.4-fpm nginx # replace the version if its needed

Now LibreX should be running!

API

Example API request: .../api.php?q=gentoo&p=2&type=0

q is the keyword
p is the result page (the first page is 0)
type is the search type (0=text, 1=image, 2=video, 3=torrent)

The API also supports both POST and GET requests.

Donate

Bitcoin (BTC)

bc1qs43kh6tvhch02dtsp7x7hcrwj8fwe4rzy7lp0h

Monero (XMR)

41dGQr9EwZBfYBY3fibTtJZYfssfRuzJZDSVDeneoVcgckehK3BiLxAV4FvEVJiVqdiW996zvMxhFB8G8ot9nBFqQ84VkuC