No description
Find a file
2026-03-17 14:13:20 -04:00
init docs+fix: update README.md, fix s6 and runit services 2026-03-16 23:04:13 -04:00
src fix: refactored scraping components 2026-03-17 13:51:12 -04:00
static those who commit 2026-03-10 02:32:51 -04:00
templates fix: use conditionals for infoboxes (new beaker feature) 2026-03-12 18:17:50 -04:00
.gitignore oopsies 2026-02-23 00:57:21 -05:00
example-config.ini feature: added installation command and service files 2026-03-16 22:26:00 -04:00
LICENSE oopsies 2026-02-23 00:57:21 -05:00
Makefile fix: update Makefile to overwrite templates/static and not overwrite config 2026-03-17 14:03:52 -04:00
README.md docs: update README.md with customisation instructions 2026-03-17 14:13:20 -04:00

OmniSearch

A modern lightweight metasearch engine with a clean design written in C.

Configuration

Create a config.ini, there is an example included in the root. Or if you installed omnisearch, edit the config file at /etc/omnisearch/config.ini.

Dependencies

  • libxml2
  • libcurl (may be replaced in the future with curl-impersonate)
  • beaker (source)

First Setup

Depending on your system, you may first need to install libcurl and libxml2.

Arch Linux

# pacman -S libxml2 libcurl

Debian/Ubuntu

# apt install libxml2-dev libcurl4-openssl-dev

Fedora

# dnf install libxml2-devel libcurl-devel

openSUSE

# zypper install libxml2-devel libcurl-devel

Alpine

# apk add libxml2-dev curl-dev

Void

# xbps-install -S libxml2-devel libcurl-devel

Install libbeaker:

$ git clone https://git.bwaaa.monster/beaker
$ cd beaker
$ make
# make install

And then install omnisearch:

$ git clone https://git.bwaaa.monster/omnisearch
$ cd omnisearch
$ make
# make install-<init>

Replace <init> with your init system (openrc,systemd,runit,s6)

Hosting

Run it normally behind a reverse proxy (like nginx)

Customisation

To make your own changes while still being able to receive upstream updates:

$ git checkout -b my-changes

Make your changes in the cloned folder, then periodically merge upstream:

$ git fetch origin
$ git merge origin/master

If there are conflicts in the files you modified, resolve them manually. You should also make the changes to the cloned repository, and then run the install command again if you installed omnisearch. Changes made directly to the configuration/assets folder will be overwritten on reinstall.

Contribution

Generate a patch with git format-patch HEAD~1 and email to gabriel@bwaaa.monster, beginning the subject line with [PATCH omnisearch]

If you are send ing a revised version of a previous patch, please use [PATCH omnisearch v2, v3, etc].