Go to file
mat 95f7c147f1
Add color picker answer (#13)
* Add color picker answer

* set autocomplete=off for the inputs

* add symbols to the regexes

* tweak hsv and hsl regex

* don't show wikipedia when searching 'color picker'
2024-07-16 03:07:23 -05:00
src Add color picker answer (#13) 2024-07-16 03:07:23 -05:00
.gitignore add config 2024-04-12 21:17:34 -05:00
.prettierrc fix clicking suggestions and better docs.rs 2023-12-21 18:43:29 -06:00
Cargo.lock upgrade deps 2024-07-03 02:59:50 +00:00
Cargo.toml upgrade deps 2024-07-03 02:59:50 +00:00
compose.yml updated container definitions for new config files 2024-05-24 01:43:39 +00:00
config-default.toml don't reset tab to default when you search from a non default tab 2024-07-03 02:31:10 +00:00
Containerfile updated container definitions for new config files 2024-05-24 01:43:39 +00:00
LICENSE add license 2024-01-09 19:20:35 -06:00
README rewrite readme 2024-06-30 23:04:09 -05:00
rustfmt.toml add line wrapping to rustfmt 2024-01-03 01:53:14 -06:00

                                   ==========
                                   metasearch
                                   ==========

                      https://github.com/mat-1/metasearch2

----
INFO
----

metasearch (aka metasearch2) is a cute metasearch engine. It sources its results
from Google, Bing, Brave, and several others. It's designed to be as lightweight
as possible, both on the server and client. There is no required client-side
JavaScript.

There's a public demo instance at https://s.matdoes.dev, but please do not use
it as your default or rely on it. This is so I don't get ratelimited by Google
or other engines. Run your own instance instead!

------------
INSTALLATION
------------

The easiest way to install metasearch is with `cargo install metasearch`. To get
the unstable version with the latest features, you can install it with
`cargo install --git https://github.com/mat-1/metasearch2`.

Usage: `metasearch [config_file]`

The config_file argument is optional; if it's not specified then it'll be
checked at the following locations:

  - $XDG_CONFIG_HOME/metasearch/config.toml
  - $HOME/.config/metasearch/config.toml
  - ./config.toml

If no config file exists, it'll be created at the first valid path in the list.

By default, metasearch runs on the port 28019. You are recommended to use a
reverse proxy.

-------------
CONFIGURATION
-------------

You can see all the default config options at `src/config.rs`. Some interesting
options you may want to change are:

  - bind - the host and port that the web server runs on, for example
    `0.0.0.0:28019`.
  - api - whether your instance is accessible through a JSON API. See below for
    more details.
  - ui.stylesheet_url - a link to a stylesheet that will be loaded alongside the
    main one, for example `/themes/catppuccin-mocha.css`.
  - image_search.enabled - add a tab for viewing image results for your query.
    this is disabled by default as the image proxy could be used to make GET
    requests to arbitrary URLs from your server.
  - engines.google.weight - the ranking score multiplier for an engine, you can
    modify this if you prefer the results from certain engines.

--------
JSON API
--------

metasearch has a JSON API that can be enabled by setting `api = true` in your
config. To use it, set the `Accept: application/json` header in your requests.

For example:
curl 'http://localhost:28019/search?q=sandcats' -H 'Accept: application/json'

The structure of the API is not guaranteed to be stable, as it relies on
serializing internal structs. It may break across versions!