No description
Find a file
2026-03-17 13:56:36 -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 feature: added installation command and service files 2026-03-16 22:26:00 -04:00
README.md docs: updated README 2026-03-17 13:56:36 -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)

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 sending a revised version of a previous patch, please use [PATCH omnisearch v2, v3, etc].