A modification of omnisearch to use windows 98 theme

simo a386d54efe docker 1 hour ago
beaker 582f38ffe0 . 2 hours ago
init 3b17d8a766 Add macOS build and launchd install support 11 hours ago
src 9dc056dc40 feature: moved domain for opensearch to config 13 hours ago
static 582f38ffe0 . 2 hours ago
templates 582f38ffe0 . 2 hours ago
.gitignore b280ab6bcd oopsies 3 weeks ago
Dockerfile a386d54efe docker 1 hour ago
LICENSE b280ab6bcd oopsies 3 weeks ago
Makefile 3b17d8a766 Add macOS build and launchd install support 11 hours ago
README.md b46c7a2cf3 docs: fix README.md 11 hours ago
example-config.ini 582f38ffe0 . 2 hours ago

README.md

OmniSearch

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

Disclaimer

I request that none of this code, in part or in full, be hosted on GitHub, SourceForge, or any other proprietary platform. This request is made out of respect for both me, the developer and for you, the user.

Configuration

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

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

macOS (Homebrew)

$ brew install libxml2 curl openssl pkg-config

macOS (MacPorts)

# port install libxml2 curl openssl3 pkgconfig

On macOS the build uses pkg-config to discover libxml2, libcurl and OpenSSL flags.

Install libbeaker:

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

On macOS beaker installs to /usr/local/ by default and installs libbeaker.dylib.

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, dinit, launchd). On macOS, use install-launchd.

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