forked from zaclys/searxng
2.8 KiB
2.8 KiB
Plugins
Further reading ..
plugins generic
Plugins can extend or replace functionality of various components of searx.
Example plugin
= 'Example plugin'
name = 'This plugin extends the suggestions with the word "example"'
description = False # disabled by default
default_on
= tuple() # optional, list of static js files
js_dependencies = tuple() # optional, list of static css files
css_dependencies
# attach callback to the post search hook
# request: flask request object
# ctx: the whole local context of the post search hook
def post_search(request, search):
'example')
search.result_container.suggestions.add(return True
External plugins
SearXNG supports external plugins / there is no need to install one, SearXNG runs out of the box. But to demonstrate; in the example below we install the SearXNG plugins from The Green Web Foundation [ref]:
sudo utils/searxng.sh instance cmd bash
$ (searxng-pyenv)$ pip install git+https://github.com/return42/tgwf-searx-plugins
In the settings.yml
activate the plugins:
section and add module only_show_green_results
from tgwf-searx-plugins
.
plugins:
...
- only_show_green_results
...
Plugin entry points
Entry points (hooks) define when a plugin runs. Right now only three hooks are implemented. So feel free to implement a hook if it fits the behaviour of your plugin. A plugin doesn't need to implement all the hooks.