/LibreY

Framework and JS free privacy respecting meta search engine

Primary LanguagePHPGNU Affero General Public License v3.0AGPL-3.0

LibreY

Docker Image CI

LibreY is a fork of LibreX, a framework-less and javascript-free privacy respecting meta search engine, made by hnhx. LibreY changed some features like automatic redirection. The original code is written by hnhx and contributors


Matrix

If there's an important announcement, we do have a Matrix chatroom which you can join over at #librey:ahwx.org.

Instances

You can find a list of instances on any LibreY instance by accessing /instances.php.
Alternatively look at instances.json where the list is generated from.

While the official instances may be more updated and have better uptime, please consider using another person's instances as these are heavily overloaded.
Support the community. ❤️

@Ahwxorg's instance:
search.ahwx.org
Tor
search2.ahwx.org
Tor
search3.ahwx.org
Tor

@davidovski's instance:
search.davidovski.xyz

@codedipper's instance:
librex.me
librex.revvy.de
Tor
I2P

How to host LibreY

To host LibreY using Docker, you can follow the instructions in the Docker directory.

To host LibreY using your OS's native package manager and PHP+NGINX, you can use the following steps as a guide.

These instructions are specific to Debian GNU/Linux but should be similar on most *nix variants (differences may include commands for package management, init system, php-fpm.sock location and availability of fastcgi-php.conf)

Install the packages (Debian GNU/Linux):

apt install php php-fpm php-dom php-curl php-apcu nginx git

Install the packages (Arch Linux):

pacman -S php php-fpm php-apcu nginx git

Clone LibreY:

mkdir -p /var/www/html
git clone https://github.com/Ahwxorg/LibreY.git /var/www/html/LibreY

Rename the config and opensearch files, edit manually if needed:

cd /var/www/html/LibreY/
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:80/https:\/\/your.domain/g' opensearch.xml

An nginx configuration similar to the one below should be placed in your http { ... } block or a file that is automatically detected as such.

server {
        listen 80;

        server_name your.domain;

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

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

You can optionally remove the .php extension in URLs by adding this code your server { ... } block.

location / {
       try_files $uri $uri/ @extensionless-php;
}

location @extensionless-php {
       rewrite ^(.*)$ $1.php last;
}

Start php-fpm and nginx immediately and on every boot:

systemctl enable --now php-fpm nginx

Now LibreY should be running at the port you specified!

About LibreY

LibreY gives you text results from Google, DuckDuckGo, Brave Search, Ecosia, Yandex Search and Mojeek. LibreY provides images from Qwant, and torrents from i.e. Ahmia and popular torrent sites. LibreY does this without spying on you.
LibreY doesn't save any type of data about the user, there are no logs (except NGINX logs if the host sets them).

LibreY compared to other metasearch engines

Name Works without JS Privacy frontend redirect Torrent results API No 3rd party libs used
LibreY
SearXNG ❓ Not user friendly ❓ Only host can set it
Whoogle ❓ Only host can set it