SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.
Find a file
Markus Heiser 540323a4b0 [mod] hardening xpath engine: ignore empty results
A SearXNG maintainer on Matrix reported a traceback::

    File "searxng-src/searx/engines/xpath.py", line 272, in response
      dom = html.fromstring(resp.text)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "searx-pyenv/lib/python3.11/site-packages/lxml/html/__init__.py", line 850, in fromstring
      doc = document_fromstring(html, parser=parser, base_url=base_url, **kw)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "searx-pyenv/lib/python3.11/site-packages/lxml/html/__init__.py", line 738, in document_fromstring
      raise etree.ParserError(
    lxml.etree.ParserError: Document is empty

I don't have an example to reproduce the issue, but the issue and this patch are
clearly recognizable even without an example.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-11-29 14:20:31 +01:00
.devcontainer Add GitHub Codespaces configuration 2023-03-21 20:58:13 +00:00
.github [upd] github CI: actions/cache@v3 to actions/cache@v4 2024-11-24 14:07:07 +01:00
.vscode Add GitHub Codespaces configuration 2023-03-21 20:58:13 +00:00
dockerfiles [fix] everything is logged with "priority 3" on journal 2024-07-27 09:11:49 +02:00
docs [feat] metrics: support for open metrics 2024-11-24 14:25:49 +01:00
searx [mod] hardening xpath engine: ignore empty results 2024-11-29 14:20:31 +01:00
searxng_extra [chore] *: fix typos detected by typos-cli 2024-11-24 12:41:57 +01:00
src/brand [simple] ImageLayout.watch: img_load_error.svg if img load fails 2021-11-29 21:10:13 +01:00
tests [chore] rss: rename from searx to SearXNG 2024-11-25 09:34:02 +01:00
utils [chore] *: fix typos detected by typos-cli 2024-11-24 12:41:57 +01:00
.coveragerc [mod] use github actions instead of travis 2020-11-17 15:09:06 +01:00
.dir-locals-template.el [fix] .dir-locals.el -> .dir-locals-template.el 2024-03-29 08:57:02 +01:00
.dockerignore [fix] tidy up ignore lists .gitignore & .dockerignore 2021-06-22 16:55:30 +02:00
.editorconfig [enh] add editorconfig rules for javascript files 2024-04-08 09:07:45 +02:00
.gitattributes [fix] update .gitattributes 2021-06-22 20:34:39 +02:00
.gitignore Update .gitignore to ignore .python-version 2024-04-24 16:01:50 +02:00
.nvmrc [mod] nodejs v16 reaached EOL / upgrade to v20.10 2023-12-23 07:49:03 +01:00
.pylintrc [upd] pypi: Bump pylint from 3.2.7 to 3.3.1 2024-10-15 14:29:10 +02:00
.tool-versions [dev] manage runtime versions with asdf 2023-11-12 20:54:57 +01:00
.weblate weblate: migration to https://translate.codeberg.org/ 2023-01-21 15:45:12 +00:00
.yamllint.yml [enh] add test.yamllint - lint yaml files 2021-06-05 17:41:24 +02:00
AUTHORS.rst [feat] docker: add env vars for common public instance settings 2024-06-14 14:58:02 +02:00
babel.cfg [fix] jinja/babel: WithExtension and AutoEscapeExtension are built-in now. 2022-03-25 09:42:12 +01:00
CHANGELOG.rst [releases] rolling release: commit history replaces the CHANGELOG 2023-05-06 14:49:33 +02:00
CONTRIBUTING.md fix(docs): Fix development quickstart url 2024-01-06 16:20:38 +01:00
Dockerfile Revert "Fix for broken docker builds" 2024-10-29 13:50:38 +01:00
LICENSE [fix] full AGPLv3+ license according to #382 2015-07-04 18:23:54 +02:00
Makefile Fix make search.checker 2024-03-03 11:18:43 +01:00
manage [mod] lint github YAML config files 2024-11-06 08:16:21 +01:00
package.json [upd] npm: Bump eslint in /searx/static/themes/simple 2024-04-12 18:11:42 +02:00
PULL_REQUEST_TEMPLATE.md [chore] fix typo and spacing in pull request template 2023-09-15 10:46:51 +02:00
pyrightconfig-ci.json [mod] add test.pyright to test & ci.test targets 2022-01-23 08:00:39 +01:00
pyrightconfig.json [fix] pyrightconfig.json include only dedicated folders in the test 2022-01-23 08:00:39 +01:00
README.rst reword join the searxng community 2024-10-12 11:08:00 +02:00
requirements-dev.txt [upd] pypi: Bump selenium from 4.26.1 to 4.27.1 2024-11-29 10:20:53 +01:00
requirements.txt [upd] pypi: Bump fasttext-predict from 0.9.2.2 to 0.9.2.4 2024-11-29 10:21:13 +01:00
SECURITY.md [enh] add security policy 2022-01-25 00:56:20 +01:00
setup.py [mod] Revision of the favicon solution 2024-10-05 08:18:28 +02:00



Privacy-respecting, hackable metasearch engine

Searx.space lists ready-to-use running instances.

A user, admin and developer handbook is available on the homepage.

SearXNG install SearXNG homepage SearXNG wiki AGPL License Issues commits weblate SearXNG logo


Contact

Ask questions or chat with the SearXNG community (this not a chatbot) on

IRC

#searxng on libera.chat which is bridged to Matrix.

Matrix

#searxng:matrix.org

Setup

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 <> Code green button
  • Click on the Codespaces tab instead of Local
  • Click on Create codespace on master
  • VSCode is going to start in the browser
  • Wait for git pull && make install to appear and then disappear
  • You have 120 hours per month (see also your list of existing Codespaces)
  • You can start SearXNG using make run in the terminal or by pressing Ctrl+Shift+B