librex/README.md

3.3 KiB

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.so2mpiyfo4cje7...onion 🧅 ??


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
  • has 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
  • 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