A modification of omnisearch to use windows 98 theme

frosty 69363b6cf5 docs: update README.md with customisation instructions 1 deň pred
init 2b0e915bb1 docs+fix: update README.md, fix s6 and runit services 2 dní pred
src c7b95d0571 fix: refactored scraping components 1 deň pred
static a11bf8bb6c those who commit 1 týždeň pred
templates b6ebba5df2 fix: use conditionals for infoboxes (new beaker feature) 6 dní pred
.gitignore b280ab6bcd oopsies 3 týždňov pred
LICENSE b280ab6bcd oopsies 3 týždňov pred
Makefile b8663b4c9f fix: update Makefile to overwrite templates/static and not overwrite config 1 deň pred
README.md 69363b6cf5 docs: update README.md with customisation instructions 1 deň pred
example-config.ini 0317ff26d5 feature: added installation command and service files 2 dní pred

README.md

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].