Framework and javascript free privacy respecting meta search engine
Go to file
hnhx a0bbe838c9 added image proxy to speed up image results, fixed broken wiki link, downscaled librex related images 2022-06-27 23:00:22 +02:00
engines added image proxy to speed up image results, fixed broken wiki link, downscaled librex related images 2022-06-27 23:00:22 +02:00
misc added image proxy to speed up image results, fixed broken wiki link, downscaled librex related images 2022-06-27 23:00:22 +02:00
static added image proxy to speed up image results, fixed broken wiki link, downscaled librex related images 2022-06-27 23:00:22 +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 new instance, fixed grammar error in readme 2022-05-30 20:24:47 +00:00
api.php added source url to image results, removed content security header because it caused issues 2022-06-09 11:02:59 +02:00
auto_updater.sh added auto update script and systemd service file 2022-04-27 20:50:38 +02:00
config.php.example added source url to image results, removed content security header because it caused issues 2022-06-09 11:02:59 +02:00
donate.php added torrentgalaxy, added proxitok, fixed some HTML formatting 2022-05-11 20:08:16 +02:00
favicon.ico added image proxy to speed up image results, fixed broken wiki link, downscaled librex related images 2022-06-27 23:00:22 +02:00
index.php added csp and fixed fix. 2022-05-19 12:46:39 +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 added image proxy to speed up image results, fixed broken wiki link, downscaled librex related images 2022-06-27 23:00:22 +02:00
settings.php Fixed urls and xss fix. 2022-05-22 00:53:39 +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
72nlfo7o344ydn6rvct327ci...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
  • 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