A modification of omnisearch to use windows 98 theme

simo 997e3c2a64 embed 1 сар өмнө
beaker 582f38ffe0 . 1 сар өмнө
init 3b17d8a766 Add macOS build and launchd install support 1 сар өмнө
src 9dc056dc40 feature: moved domain for opensearch to config 1 сар өмнө
static 582f38ffe0 . 1 сар өмнө
templates 997e3c2a64 embed 1 сар өмнө
.gitignore b280ab6bcd oopsies 2 сар өмнө
Dockerfile f64e1e2841 fix 1 сар өмнө
LICENSE b280ab6bcd oopsies 2 сар өмнө
Makefile 3b17d8a766 Add macOS build and launchd install support 1 сар өмнө
README.md b46c7a2cf3 docs: fix README.md 1 сар өмнө
docker-compose.yml 3a85120010 docker compose: 1 сар өмнө

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