mirror of
https://github.com/searxng/searxng
synced 2024-01-01 19:24:07 +01:00
SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.
![]() This patch adds the boilerplate code, needed to fetch properties from engines. In the past we only fetched *languages* but some engines need *regions* to parameterize the engine request. To fit into our *fetch language* procedures the boilerplate is implemented in the `searxng_extra/update/update_languages.py` and the *engine_properties* are stored along in the `searx/data/engines_languages.json`. This implementation is downward compatible to the `_fetch_fetch_languages()` infrastructure we have. If there comes the day we have all `_fetch_fetch_languages()` implementations moved to `_fetch_engine_properties()` implementations, we can rename the files and scripts. The new type `engine_properties` is a dictionary with keys `languages` and `regions`. The values are dictionaries to map from SearXNG's language & region to option values the engine does use:: engine_properties = { 'type' : 'engine_properties', # <-- !!! 'regions': { # 'ca-ES' : <engine's region name> }, 'languages': { # 'ca' : <engine's language name> }, } Similar to the `supported_languages`, in the engine the properties are available under the name `supported_properties`. Initial we start with languages & regions, but in a wider sense the type is named *engine properties*. Engines can store in whatever options they need and may be in the future there is a need to fetch additional or complete different properties. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de> |
||
---|---|---|
.github | ||
dockerfiles | ||
docs | ||
examples | ||
searx | ||
searxng_extra | ||
src/brand | ||
tests | ||
utils | ||
.config.sh | ||
.coveragerc | ||
.dir-locals.el | ||
.dockerignore | ||
.gitattributes | ||
.gitignore | ||
.nvmrc | ||
.pylintrc | ||
.weblate | ||
.yamllint.yml | ||
AUTHORS.rst | ||
babel.cfg | ||
CHANGELOG.rst | ||
CONTRIBUTING.md | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
manage | ||
package.json | ||
PULL_REQUEST_TEMPLATE.md | ||
pyrightconfig-ci.json | ||
pyrightconfig.json | ||
README.rst | ||
requirements-dev.txt | ||
requirements.txt | ||
SECURITY.md | ||
setup.py |
Privacy-respecting, hackable metasearch engine
If you are looking for running instances, ready to use, then visit searx.space. Otherwise jump to the user, admin and developer handbooks you will find on our homepage.
Contact
Come join us if you have questions or just want to chat about SearXNG.
- Matrix
- IRC
#searxng on libera.chat which is bridged to Matrix.
Differences to searx
SearXNG is a fork of searx. Here are some of the changes:
User experience
- Huge update of the simple theme:
- usable on desktop, tablet and mobile
- light and dark versions (you can choose in the preferences)
- support right-to-left languages
- see the screenshots
- the translations are up to date, you can contribute on Weblate
- the preferences page has been updated:
- you can see which engines are reliable or not
- engines are grouped inside each tab
- each engine has a description
- it is easier to report a bug of an engine
- but you can also disable the recording of the metrics on the server
Setup
- the Docker image is now also built for ARM64 and ARM/v7 architectures
- you don't need Morty to proxy the images even on a public instance
- on the way to embed Filtron into SearXNG
- up to date installation scripts
Contributing is easier
- readable debug log
- contributions to the themes are made easier, check out our Development Quickstart guide
- a lot of code cleanup and bug fixes
- the dependencies are up to date
Translations
We need translators, suggestions are welcome at https://weblate.bubu1.eu/projects/searxng/searxng/