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.
The intention of this PR is to modernize the settings_loader implementations.
The concept is old (remember, this is partly from 2014), back then we only had
one config file, meanwhile we have had a folder with config files for a very
long time. Callers can now load a YAML configuration from this folder as
follows ::
settings_loader.get_yaml_cfg('my-config.yml')
- BTW this is a fix of #3557.
- Further the `existing_filename_or_none` construct dates back to times when
there was not yet a `pathlib.Path` in all Python versions we supported in the
past.
- Typehints have been added wherever appropriate
At the same time, this patch should also be downward compatible and not
introduce a new environment variable. The localization of the folder with the
configurations is further based on:
SEARXNG_SETTINGS_PATH (wich defaults to /etc/searxng/settings.yml)
Which means, the default config folder is `/etc/searxng/`.
ATTENTION: intended functional changes!
If SEARXNG_SETTINGS_PATH was set and pointed to a not existing file, the
previous implementation silently loaded the default configuration. This
behavior has been changed: if the file or folder does not exist, an
EnvironmentError exception will be thrown in future.
Closes: https://github.com/searxng/searxng/issues/3557
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
||
|---|---|---|
| .devcontainer | ||
| .github | ||
| .vscode | ||
| dockerfiles | ||
| docs | ||
| searx | ||
| searxng_extra | ||
| src/brand | ||
| tests | ||
| utils | ||
| .coveragerc | ||
| .dir-locals-template.el | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .nvmrc | ||
| .pylintrc | ||
| .tool-versions | ||
| .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
Searx.space lists ready-to-use running instances.
A user, admin and developer handbook is available on the homepage.
Contact
Ask questions or just chat about SearXNG on
- IRC
#searxng on libera.chat which is bridged to Matrix.
- Matrix
Setup
- A well maintained Docker image, also built for ARM64 and ARM/v7 architectures.
- Alternatively there are up to date installation scripts.
- For individual setup consult our detailed Step by step instructions.
- To fine-tune your instance, take a look at the Administrator documentation.
Translations
Help translate SearXNG at Weblate
Contributing
Are you a developer? Have a look at our development quickstart guide, it's very easy to contribute. Additionally we have a developer documentation.
Codespaces
You can contribute from your browser using GitHub Codespaces:
- Fork the repository
- Click on the
<> Codegreen button - Click on the
Codespacestab instead ofLocal - Click on
Create codespace on master - VSCode is going to start in the browser
- Wait for
git pull && make installto appear and then disappear - You have 120 hours per month (see also your list of existing Codespaces)
- You can start SearXNG using
make runin the terminal or by pressingCtrl+Shift+B