summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/dev/engines/engine_overview.rst4
-rw-r--r--docs/dev/engines/online/gitea.rst8
-rw-r--r--docs/index.rst2
-rw-r--r--requirements-dev.txt2
-rw-r--r--searx/engines/annas_archive.py2
-rw-r--r--searx/engines/apkmirror.py4
-rw-r--r--searx/engines/apple_app_store.py2
-rw-r--r--searx/engines/ask.py2
-rw-r--r--searx/engines/bandcamp.py2
-rw-r--r--searx/engines/bing_news.py2
-rw-r--r--searx/engines/bpb.py6
-rw-r--r--searx/engines/brave.py8
-rw-r--r--searx/engines/chefkoch.py17
-rw-r--r--searx/engines/crates.py70
-rw-r--r--searx/engines/docker_hub.py2
-rw-r--r--searx/engines/fdroid.py4
-rw-r--r--searx/engines/genius.py6
-rw-r--r--searx/engines/gitea.py109
-rw-r--r--searx/engines/github.py2
-rw-r--r--searx/engines/goodreads.py2
-rw-r--r--searx/engines/google.py16
-rw-r--r--searx/engines/google_news.py4
-rw-r--r--searx/engines/google_play.py4
-rw-r--r--searx/engines/google_videos.py6
-rw-r--r--searx/engines/hex.py40
-rw-r--r--searx/engines/imdb.py2
-rw-r--r--searx/engines/lemmy.py8
-rw-r--r--searx/engines/mixcloud.py2
-rw-r--r--searx/engines/moviepilot.py4
-rw-r--r--searx/engines/openstreetmap.py4
-rw-r--r--searx/engines/pdbe.py16
-rw-r--r--searx/engines/piped.py2
-rw-r--r--searx/engines/presearch.py6
-rw-r--r--searx/engines/qwant.py6
-rw-r--r--searx/engines/radio_browser.py2
-rw-r--r--searx/engines/recoll.py2
-rw-r--r--searx/engines/rottentomatoes.py4
-rw-r--r--searx/engines/scanr_structures.py3
-rw-r--r--searx/engines/soundcloud.py6
-rw-r--r--searx/engines/xpath.py4
-rw-r--r--searx/engines/yahoo_news.py4
-rw-r--r--searx/engines/yummly.py8
-rw-r--r--searx/engines/zlibrary.py5
-rw-r--r--searx/settings.yml32
-rw-r--r--searx/static/themes/simple/css/searxng-rtl.min.css2
-rw-r--r--searx/static/themes/simple/css/searxng-rtl.min.css.map2
-rw-r--r--searx/static/themes/simple/css/searxng.min.css2
-rw-r--r--searx/static/themes/simple/css/searxng.min.css.map2
-rw-r--r--searx/static/themes/simple/src/less/style.less34
-rw-r--r--searx/templates/simple/macros.html3
-rw-r--r--searx/templates/simple/result_templates/packages.html10
-rw-r--r--searx/translations/af/LC_MESSAGES/messages.mobin18462 -> 18462 bytes
-rw-r--r--searx/translations/ar/LC_MESSAGES/messages.mobin23232 -> 23232 bytes
-rw-r--r--searx/translations/bg/LC_MESSAGES/messages.mobin24602 -> 24602 bytes
-rw-r--r--searx/translations/bn/LC_MESSAGES/messages.mobin29590 -> 30909 bytes
-rw-r--r--searx/translations/bn/LC_MESSAGES/messages.po64
-rw-r--r--searx/translations/bo/LC_MESSAGES/messages.mobin10405 -> 10405 bytes
-rw-r--r--searx/translations/ca/LC_MESSAGES/messages.mobin19654 -> 19654 bytes
-rw-r--r--searx/translations/cs/LC_MESSAGES/messages.mobin20762 -> 20762 bytes
-rw-r--r--searx/translations/cy/LC_MESSAGES/messages.mobin8106 -> 8106 bytes
-rw-r--r--searx/translations/da/LC_MESSAGES/messages.mobin18804 -> 18804 bytes
-rw-r--r--searx/translations/de/LC_MESSAGES/messages.mobin20866 -> 20866 bytes
-rw-r--r--searx/translations/dv/LC_MESSAGES/messages.mobin1462 -> 1462 bytes
-rw-r--r--searx/translations/el_GR/LC_MESSAGES/messages.mobin25695 -> 25695 bytes
-rw-r--r--searx/translations/en/LC_MESSAGES/messages.mobin445 -> 445 bytes
-rw-r--r--searx/translations/eo/LC_MESSAGES/messages.mobin18465 -> 18465 bytes
-rw-r--r--searx/translations/es/LC_MESSAGES/messages.mobin20896 -> 21175 bytes
-rw-r--r--searx/translations/es/LC_MESSAGES/messages.po24
-rw-r--r--searx/translations/et/LC_MESSAGES/messages.mobin18868 -> 19466 bytes
-rw-r--r--searx/translations/et/LC_MESSAGES/messages.po48
-rw-r--r--searx/translations/eu/LC_MESSAGES/messages.mobin20543 -> 20543 bytes
-rw-r--r--searx/translations/fa_IR/LC_MESSAGES/messages.mobin23480 -> 23480 bytes
-rw-r--r--searx/translations/fi/LC_MESSAGES/messages.mobin19778 -> 19778 bytes
-rw-r--r--searx/translations/fil/LC_MESSAGES/messages.mobin19732 -> 19732 bytes
-rw-r--r--searx/translations/fr/LC_MESSAGES/messages.mobin21415 -> 21415 bytes
-rw-r--r--searx/translations/gl/LC_MESSAGES/messages.mobin20441 -> 20441 bytes
-rw-r--r--searx/translations/he/LC_MESSAGES/messages.mobin18907 -> 18949 bytes
-rw-r--r--searx/translations/he/LC_MESSAGES/messages.po23
-rw-r--r--searx/translations/hr/LC_MESSAGES/messages.mobin19317 -> 19317 bytes
-rw-r--r--searx/translations/hu/LC_MESSAGES/messages.mobin19987 -> 19987 bytes
-rw-r--r--searx/translations/ia/LC_MESSAGES/messages.mobin7507 -> 7507 bytes
-rw-r--r--searx/translations/id/LC_MESSAGES/messages.mobin19094 -> 19094 bytes
-rw-r--r--searx/translations/it/LC_MESSAGES/messages.mobin20761 -> 20761 bytes
-rw-r--r--searx/translations/ja/LC_MESSAGES/messages.mobin22407 -> 22407 bytes
-rw-r--r--searx/translations/ko/LC_MESSAGES/messages.mobin18886 -> 20893 bytes
-rw-r--r--searx/translations/ko/LC_MESSAGES/messages.po98
-rw-r--r--searx/translations/lt/LC_MESSAGES/messages.mobin17728 -> 17728 bytes
-rw-r--r--searx/translations/lv/LC_MESSAGES/messages.mobin10086 -> 10086 bytes
-rw-r--r--searx/translations/ml/LC_MESSAGES/messages.mobin1032 -> 1032 bytes
-rw-r--r--searx/translations/ms/LC_MESSAGES/messages.mobin9282 -> 9282 bytes
-rw-r--r--searx/translations/nb_NO/LC_MESSAGES/messages.mobin18828 -> 18828 bytes
-rw-r--r--searx/translations/nl/LC_MESSAGES/messages.mobin19276 -> 19276 bytes
-rw-r--r--searx/translations/oc/LC_MESSAGES/messages.mobin12211 -> 12211 bytes
-rw-r--r--searx/translations/pa/LC_MESSAGES/messages.mobin433 -> 433 bytes
-rw-r--r--searx/translations/pap/LC_MESSAGES/messages.mobin2124 -> 2124 bytes
-rw-r--r--searx/translations/pl/LC_MESSAGES/messages.mobin20930 -> 21015 bytes
-rw-r--r--searx/translations/pl/LC_MESSAGES/messages.po11
-rw-r--r--searx/translations/pt/LC_MESSAGES/messages.mobin19878 -> 19878 bytes
-rw-r--r--searx/translations/pt_BR/LC_MESSAGES/messages.mobin20760 -> 20885 bytes
-rw-r--r--searx/translations/pt_BR/LC_MESSAGES/messages.po7
-rw-r--r--searx/translations/ro/LC_MESSAGES/messages.mobin19687 -> 19687 bytes
-rw-r--r--searx/translations/ru/LC_MESSAGES/messages.mobin26570 -> 26732 bytes
-rw-r--r--searx/translations/ru/LC_MESSAGES/messages.po18
-rw-r--r--searx/translations/si/LC_MESSAGES/messages.mobin6264 -> 6264 bytes
-rw-r--r--searx/translations/sk/LC_MESSAGES/messages.mobin20866 -> 20866 bytes
-rw-r--r--searx/translations/sl/LC_MESSAGES/messages.mobin18970 -> 18970 bytes
-rw-r--r--searx/translations/sr/LC_MESSAGES/messages.mobin24411 -> 24411 bytes
-rw-r--r--searx/translations/sv/LC_MESSAGES/messages.mobin19179 -> 19179 bytes
-rw-r--r--searx/translations/szl/LC_MESSAGES/messages.mobin15686 -> 15686 bytes
-rw-r--r--searx/translations/ta/LC_MESSAGES/messages.mobin22382 -> 22382 bytes
-rw-r--r--searx/translations/te/LC_MESSAGES/messages.mobin20241 -> 20241 bytes
-rw-r--r--searx/translations/th/LC_MESSAGES/messages.mobin29166 -> 29166 bytes
-rw-r--r--searx/translations/tr/LC_MESSAGES/messages.mobin19551 -> 19551 bytes
-rw-r--r--searx/translations/uk/LC_MESSAGES/messages.mobin26387 -> 26543 bytes
-rw-r--r--searx/translations/uk/LC_MESSAGES/messages.po20
-rw-r--r--searx/translations/vi/LC_MESSAGES/messages.mobin20175 -> 20175 bytes
-rw-r--r--searx/translations/zh_Hans_CN/LC_MESSAGES/messages.mobin19026 -> 19026 bytes
-rw-r--r--searx/translations/zh_Hant_TW/LC_MESSAGES/messages.mobin18180 -> 18180 bytes
118 files changed, 516 insertions, 298 deletions
diff --git a/docs/dev/engines/engine_overview.rst b/docs/dev/engines/engine_overview.rst
index 091d217c0..0a57cc640 100644
--- a/docs/dev/engines/engine_overview.rst
+++ b/docs/dev/engines/engine_overview.rst
@@ -563,3 +563,7 @@ type.
* - source_code_url
- :py:class:`str`
- the location of the project's source code
+
+ * - links
+ - :py:class:`dict`
+ - additional links in the form of ``{'link_name': 'http://example.com'}``
diff --git a/docs/dev/engines/online/gitea.rst b/docs/dev/engines/online/gitea.rst
new file mode 100644
index 000000000..745504e4d
--- /dev/null
+++ b/docs/dev/engines/online/gitea.rst
@@ -0,0 +1,8 @@
+.. _gitea engine:
+
+=====
+Gitea
+=====
+
+.. automodule:: searx.engines.gitea
+ :members:
diff --git a/docs/index.rst b/docs/index.rst
index 3db54734a..52d0f80ad 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -17,7 +17,7 @@ If you don't trust anyone, you can set up your own, see :ref:`installation`.
- :ref:`no user tracking / no profiling <SearXNG protect privacy>`
- script & cookies are optional
- secure, encrypted connections
- - :ref:`about 130 search engines <configured engines>`
+ - :ref:`about 200 search engines <configured engines>`
- `about 60 translations <https://translate.codeberg.org/projects/searxng/searxng/>`_
- about 100 `well maintained <https://uptime.searxng.org/>`__ instances on searx.space_
- :ref:`easy integration of search engines <demo online engine>`
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 2d4b3c9a3..fb7aa0d37 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -4,7 +4,7 @@ cov-core==1.15.0
black==24.3.0
pylint==3.1.0
splinter==0.21.0
-selenium==4.20.0
+selenium==4.21.0
Pallets-Sphinx-Themes==2.1.3
Sphinx<=7.1.2; python_version == '3.8'
Sphinx==7.3.7; python_version > '3.8'
diff --git a/searx/engines/annas_archive.py b/searx/engines/annas_archive.py
index d758e4a96..a290dd06e 100644
--- a/searx/engines/annas_archive.py
+++ b/searx/engines/annas_archive.py
@@ -133,7 +133,7 @@ def _get_result(item):
'publisher': extract_text(eval_xpath(item, './/div[contains(@class, "text-sm")]')),
'authors': [extract_text(eval_xpath(item, './/div[contains(@class, "italic")]'))],
'content': extract_text(eval_xpath(item, './/div[contains(@class, "text-xs")]')),
- 'img_src': item.xpath('.//img/@src')[0],
+ 'thumbnail': item.xpath('.//img/@src')[0],
}
diff --git a/searx/engines/apkmirror.py b/searx/engines/apkmirror.py
index 93d093a60..d9f291c4f 100644
--- a/searx/engines/apkmirror.py
+++ b/searx/engines/apkmirror.py
@@ -53,8 +53,8 @@ def response(resp):
url = base_url + link.attrib.get('href') + '#downloads'
title = extract_text(link)
- img_src = base_url + eval_xpath_getindex(result, './/img/@src', 0)
- res = {'url': url, 'title': title, 'img_src': img_src}
+ thumbnail = base_url + eval_xpath_getindex(result, './/img/@src', 0)
+ res = {'url': url, 'title': title, 'thumbnail': thumbnail}
results.append(res)
diff --git a/searx/engines/apple_app_store.py b/searx/engines/apple_app_store.py
index a11dd0f5c..7817848ff 100644
--- a/searx/engines/apple_app_store.py
+++ b/searx/engines/apple_app_store.py
@@ -47,7 +47,7 @@ def response(resp):
'url': result['trackViewUrl'],
'title': result['trackName'],
'content': result['description'],
- 'img_src': result['artworkUrl100'],
+ 'thumbnail': result['artworkUrl100'],
'publishedDate': parse(result['currentVersionReleaseDate']),
'author': result['sellerName'],
}
diff --git a/searx/engines/ask.py b/searx/engines/ask.py
index 3366ee5d0..82545c417 100644
--- a/searx/engines/ask.py
+++ b/searx/engines/ask.py
@@ -66,7 +66,7 @@ def response(resp):
"title": item['title'],
"content": item['abstract'],
"publishedDate": pubdate_original,
- # "img_src": item.get('image_url') or None, # these are not thumbs / to large
+ # "thumbnail": item.get('image_url') or None, # these are not thumbs / to large
"metadata": ' | '.join(metadata),
}
)
diff --git a/searx/engines/bandcamp.py b/searx/engines/bandcamp.py
index b79b0df3e..590d206d2 100644
--- a/searx/engines/bandcamp.py
+++ b/searx/engines/bandcamp.py
@@ -68,7 +68,7 @@ def response(resp):
thumbnail = result.xpath('.//div[@class="art"]/img/@src')
if thumbnail:
- new_result['img_src'] = thumbnail[0]
+ new_result['thumbnail'] = thumbnail[0]
result_id = parse_qs(urlparse(link.get('href')).query)["search_item_id"][0]
itemtype = extract_text(result.xpath('.//div[@class="itemtype"]')).lower()
diff --git a/searx/engines/bing_news.py b/searx/engines/bing_news.py
index 459927fd7..e93f7fea3 100644
--- a/searx/engines/bing_new