engines | ||
misc | ||
static | ||
.gitignore | ||
api.php | ||
auto_updater.sh | ||
config.php.example | ||
donate.php | ||
index.php | ||
librex_updater.service | ||
LICENSE | ||
opensearch.xml.example | ||
README.md | ||
search.php | ||
settings.php |
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 keywordp
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