mirror of
https://github.com/searxng/searxng.git
synced 2026-05-07 18:03:51 +02:00
Compare commits
13 Commits
d3566fe8a8
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| ef6290c8cd | |||
| 89aa588b27 | |||
| 50626ef150 | |||
| 2f72fc4df2 | |||
| 130cea600d | |||
| ea63c19b27 | |||
| a9909c4977 | |||
| a480560371 | |||
| 330d56bba9 | |||
| 36bcd6b551 | |||
| 8fabaf86b6 | |||
| d501b0420a | |||
| 0ac5254b8e |
Vendored
+57
@@ -0,0 +1,57 @@
|
|||||||
|
.content {
|
||||||
|
width: 52em; /* instead of 46em */
|
||||||
|
}
|
||||||
|
|
||||||
|
p code.literal {
|
||||||
|
text-wrap: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
aside.sidebar {
|
||||||
|
border-color: lightsteelblue;
|
||||||
|
border-radius: 3pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.sidebar-title, .sidebar p {
|
||||||
|
margin: 6pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar li,
|
||||||
|
.hlist li {
|
||||||
|
list-style-type: disclosure-closed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sphinxsidebar .current > a {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* admonitions with (rendered) reST markup examples (:class: rst-example)
|
||||||
|
*
|
||||||
|
* .. admonition:: title of the example
|
||||||
|
* :class: rst-example
|
||||||
|
* ....
|
||||||
|
*/
|
||||||
|
|
||||||
|
div.rst-example {
|
||||||
|
background-color: inherit;
|
||||||
|
margin: 0;
|
||||||
|
border-top: none;
|
||||||
|
border-right: 1px solid #ccc;
|
||||||
|
border-bottom: none;
|
||||||
|
border-left: none;
|
||||||
|
border-radius: none;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.rst-example > p.admonition-title {
|
||||||
|
font-family: Sans Serif;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 0.8em;
|
||||||
|
display: block;
|
||||||
|
border-bottom: 1px solid #ccc;
|
||||||
|
padding: 0.5em 1em;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinx-tabs {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
-151
@@ -1,151 +0,0 @@
|
|||||||
@import url("pocoo.css");
|
|
||||||
|
|
||||||
a, a.reference, a.footnote-reference {
|
|
||||||
color: #004b6b;
|
|
||||||
border-color: #004b6b;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover {
|
|
||||||
color: #6d4100;
|
|
||||||
border-color: #6d4100;
|
|
||||||
}
|
|
||||||
|
|
||||||
p.version-warning {
|
|
||||||
background-color: #004b6b;
|
|
||||||
}
|
|
||||||
|
|
||||||
aside.sidebar {
|
|
||||||
background-color: whitesmoke;
|
|
||||||
border-color: lightsteelblue;
|
|
||||||
border-radius: 3pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.sphinxsidebar p.caption {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
p.sidebar-title, .sidebar p {
|
|
||||||
margin: 6pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li,
|
|
||||||
.hlist li {
|
|
||||||
list-style-type: disclosure-closed;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sphinxsidebar .current > a {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* admonitions
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.admonition, div.topic, nav.contents, div.toctree-wrapper {
|
|
||||||
background-color: #fafafa;
|
|
||||||
margin: 8px 0px;
|
|
||||||
padding: 1em;
|
|
||||||
border-radius: 3pt 0 0 3pt;
|
|
||||||
border-top: none;
|
|
||||||
border-right: none;
|
|
||||||
border-bottom: none;
|
|
||||||
border-left: 5pt solid #ccc;
|
|
||||||
list-style-type: disclosure-closed;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.toctree-wrapper p.caption {
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 24px;
|
|
||||||
margin: 0 0 10px 0;
|
|
||||||
padding: 0;
|
|
||||||
line-height: 1;
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
|
|
||||||
p.admonition-title:after {
|
|
||||||
content: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.hint { border-color: #416dc0b0; }
|
|
||||||
.admonition.note { border-color: #6c856cb0; }
|
|
||||||
.admonition.tip { border-color: #85c5c2b0; }
|
|
||||||
.admonition.attention { border-color: #ecec97b0; }
|
|
||||||
.admonition.caution { border-color: #a6c677b0; }
|
|
||||||
.admonition.danger { border-color: #d46262b0; }
|
|
||||||
.admonition.important { border-color: #dfa3a3b0; }
|
|
||||||
.admonition.error { border-color: red; }
|
|
||||||
.admonition.warning { border-color: darkred; }
|
|
||||||
|
|
||||||
.admonition.admonition-generic-admonition-title {
|
|
||||||
border-color: #416dc0b0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* admonitions with (rendered) reST markup examples (:class: rst-example)
|
|
||||||
*
|
|
||||||
* .. admonition:: title of the example
|
|
||||||
* :class: rst-example
|
|
||||||
* ....
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.rst-example {
|
|
||||||
background-color: inherit;
|
|
||||||
margin: 0;
|
|
||||||
border-top: none;
|
|
||||||
border-right: 1px solid #ccc;
|
|
||||||
border-bottom: none;
|
|
||||||
border-left: none;
|
|
||||||
border-radius: none;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.rst-example > p.admonition-title {
|
|
||||||
font-family: Sans Serif;
|
|
||||||
font-style: italic;
|
|
||||||
font-size: 0.8em;
|
|
||||||
display: block;
|
|
||||||
border-bottom: 1px solid #ccc;
|
|
||||||
padding: 0.5em 1em;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* code block in figures
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.highlight pre {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Table theme
|
|
||||||
*/
|
|
||||||
|
|
||||||
thead, tfoot {
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
th:hover, td:hover {
|
|
||||||
background-color: #ffc;
|
|
||||||
}
|
|
||||||
|
|
||||||
thead th, tfoot th, tfoot td, tbody th {
|
|
||||||
background-color: #fffaef;
|
|
||||||
}
|
|
||||||
|
|
||||||
tbody tr:nth-child(odd) {
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
tbody tr:nth-child(even) {
|
|
||||||
background-color: #fafafa;
|
|
||||||
}
|
|
||||||
|
|
||||||
caption {
|
|
||||||
font-family: Sans Serif;
|
|
||||||
padding: 0.5em;
|
|
||||||
margin: 0.5em 0 0.5em 0;
|
|
||||||
caption-side: top;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.sphinx-tabs {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
Vendored
-7
@@ -1,7 +0,0 @@
|
|||||||
[theme]
|
|
||||||
inherit = pocoo
|
|
||||||
stylesheet = searxng.css
|
|
||||||
|
|
||||||
[options]
|
|
||||||
touch_icon =
|
|
||||||
globaltoc_maxdepth = 5
|
|
||||||
@@ -4,11 +4,6 @@
|
|||||||
Buildhosts
|
Buildhosts
|
||||||
==========
|
==========
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
To get best results from build, it's recommend to install additional packages on
|
To get best results from build, it's recommend to install additional packages on
|
||||||
build hosts (see :ref:`searxng.sh`).
|
build hosts (see :ref:`searxng.sh`).
|
||||||
|
|
||||||
|
|||||||
@@ -61,11 +61,6 @@ section might give you some guidance.
|
|||||||
- `Apache Fedora`_
|
- `Apache Fedora`_
|
||||||
- `Apache directives`_
|
- `Apache directives`_
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
The Apache HTTP server
|
The Apache HTTP server
|
||||||
======================
|
======================
|
||||||
|
|||||||
@@ -41,12 +41,6 @@ section might give you some guidance.
|
|||||||
- `uWSGI support from nginx`_
|
- `uWSGI support from nginx`_
|
||||||
|
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
The nginx HTTP server
|
The nginx HTTP server
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Step by step installation
|
Step by step installation
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
In this section we show the setup of a SearXNG instance that will be installed
|
In this section we show the setup of a SearXNG instance that will be installed
|
||||||
by the :ref:`installation scripts`.
|
by the :ref:`installation scripts`.
|
||||||
|
|
||||||
|
|||||||
@@ -9,12 +9,6 @@ uWSGI
|
|||||||
- `systemd.unit`_
|
- `systemd.unit`_
|
||||||
- `uWSGI Emperor`_
|
- `uWSGI Emperor`_
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. _systemd.unit: https://www.freedesktop.org/software/systemd/man/systemd.unit.html
|
.. _systemd.unit: https://www.freedesktop.org/software/systemd/man/systemd.unit.html
|
||||||
.. _One service per app in systemd:
|
.. _One service per app in systemd:
|
||||||
https://uwsgi-docs.readthedocs.io/en/latest/Systemd.html#one-service-per-app-in-systemd
|
https://uwsgi-docs.readthedocs.io/en/latest/Systemd.html#one-service-per-app-in-systemd
|
||||||
|
|||||||
@@ -8,11 +8,6 @@ Favicons
|
|||||||
|
|
||||||
Don't activate the favicons before reading the documentation.
|
Don't activate the favicons before reading the documentation.
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
Activating the favicons in SearXNG is very easy, but this **generates a
|
Activating the favicons in SearXNG is very easy, but this **generates a
|
||||||
significantly higher load** in the client/server communication and increases
|
significantly higher load** in the client/server communication and increases
|
||||||
resources needed on the server.
|
resources needed on the server.
|
||||||
@@ -250,4 +245,3 @@ into the *proxy*:
|
|||||||
.. _data URL:
|
.. _data URL:
|
||||||
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
|
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
|
||||||
.. _FQN: https://en.wikipedia.org/wiki/Fully_qualified_name
|
.. _FQN: https://en.wikipedia.org/wiki/Fully_qualified_name
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,5 @@ Limiter
|
|||||||
|
|
||||||
The limiter requires a :ref:`Valkey <settings valkey>` database.
|
The limiter requires a :ref:`Valkey <settings valkey>` database.
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.limiter
|
.. automodule:: searx.limiter
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -12,11 +12,6 @@ file.
|
|||||||
- :ref:`use_default_settings.yml`
|
- :ref:`use_default_settings.yml`
|
||||||
- :ref:`search API`
|
- :ref:`search API`
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. _settings location:
|
.. _settings location:
|
||||||
|
|
||||||
settings.yml location
|
settings.yml location
|
||||||
|
|||||||
@@ -102,11 +102,18 @@ The built-in plugins are all located in the namespace `searx.plugins`.
|
|||||||
external plugins
|
external plugins
|
||||||
================
|
================
|
||||||
|
|
||||||
|
SearXNG supports :ref:`external plugins <dev plugin>` / there is no need to
|
||||||
|
install one, SearXNG runs out of the box.
|
||||||
|
|
||||||
|
`Only show green hosted results`_:
|
||||||
|
SearXNG plugin to check if a domain is part of the Green WEB.
|
||||||
|
|
||||||
|
`SearXNG BM25 Reranker`_:
|
||||||
|
SearXNG plugin that reranks search results using BM25 text relevance scoring
|
||||||
|
to improve search quality.
|
||||||
|
|
||||||
.. _Only show green hosted results:
|
.. _Only show green hosted results:
|
||||||
https://github.com/return42/tgwf-searx-plugins/
|
https://github.com/return42/tgwf-searx-plugins/
|
||||||
|
|
||||||
SearXNG supports *external plugins* / there is no need to install one, SearXNG
|
.. _SearXNG BM25 Reranker:
|
||||||
runs out of the box.
|
https://github.com/Oaklight/searxng-bm25-reranker
|
||||||
|
|
||||||
- `Only show green hosted results`_
|
|
||||||
- ..
|
|
||||||
|
|||||||
@@ -9,11 +9,6 @@ SearXNG maintenance
|
|||||||
- :ref:`toolboxing`
|
- :ref:`toolboxing`
|
||||||
- :ref:`uWSGI maintenance`
|
- :ref:`uWSGI maintenance`
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. _update searxng:
|
.. _update searxng:
|
||||||
|
|
||||||
How to update
|
How to update
|
||||||
|
|||||||
+41
-34
@@ -1,8 +1,7 @@
|
|||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
import sys, os
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from pallets_sphinx_themes import ProjectLink
|
|
||||||
|
|
||||||
from searx import get_setting
|
from searx import get_setting
|
||||||
from searx.version import VERSION_STRING, GIT_URL, GIT_BRANCH
|
from searx.version import VERSION_STRING, GIT_URL, GIT_BRANCH
|
||||||
@@ -98,7 +97,6 @@ extlinks['pull-searx'] = ('https://github.com/searx/searx/pull/%s', 'PR %s')
|
|||||||
extlinks['origin'] = (GIT_URL + '/blob/' + GIT_BRANCH + '/%s', 'git://%s')
|
extlinks['origin'] = (GIT_URL + '/blob/' + GIT_BRANCH + '/%s', 'git://%s')
|
||||||
extlinks['patch'] = (GIT_URL + '/commit/%s', '#%s')
|
extlinks['patch'] = (GIT_URL + '/commit/%s', '#%s')
|
||||||
extlinks['docs'] = (DOCS_URL + '/%s', 'docs: %s')
|
extlinks['docs'] = (DOCS_URL + '/%s', 'docs: %s')
|
||||||
extlinks['pypi'] = ('https://pypi.org/project/%s', 'PyPi: %s')
|
|
||||||
extlinks['man'] = ('https://manpages.debian.org/jump?q=%s', '%s')
|
extlinks['man'] = ('https://manpages.debian.org/jump?q=%s', '%s')
|
||||||
#extlinks['role'] = (
|
#extlinks['role'] = (
|
||||||
# 'https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-%s', '')
|
# 'https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-%s', '')
|
||||||
@@ -117,7 +115,6 @@ extensions = [
|
|||||||
'sphinx.ext.viewcode',
|
'sphinx.ext.viewcode',
|
||||||
"sphinx.ext.autodoc",
|
"sphinx.ext.autodoc",
|
||||||
"sphinx.ext.intersphinx",
|
"sphinx.ext.intersphinx",
|
||||||
"pallets_sphinx_themes",
|
|
||||||
"sphinx_issues", # https://github.com/sloria/sphinx-issues/blob/master/README.rst
|
"sphinx_issues", # https://github.com/sloria/sphinx-issues/blob/master/README.rst
|
||||||
"sphinx_jinja", # https://github.com/tardyp/sphinx-jinja
|
"sphinx_jinja", # https://github.com/tardyp/sphinx-jinja
|
||||||
"sphinxcontrib.programoutput", # https://github.com/NextThought/sphinxcontrib-programoutput
|
"sphinxcontrib.programoutput", # https://github.com/NextThought/sphinxcontrib-programoutput
|
||||||
@@ -158,15 +155,49 @@ issues_github_path = "searxng/searxng"
|
|||||||
|
|
||||||
# HTML -----------------------------------------------------------------
|
# HTML -----------------------------------------------------------------
|
||||||
|
|
||||||
|
html_theme = "furo"
|
||||||
|
html_theme_options = {
|
||||||
|
# link to project source at GitHub for editing and viewing docs code
|
||||||
|
"source_repository": "https://github.com/searxng/searxng/",
|
||||||
|
"source_branch": "master",
|
||||||
|
"source_directory": "docs/",
|
||||||
|
|
||||||
|
# Show link to repository & searx.space in footer
|
||||||
|
"footer_icons": [
|
||||||
|
{
|
||||||
|
"name": "GitHub",
|
||||||
|
"url": "https://github.com/searxng/searxng/",
|
||||||
|
"html": "💾",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "searx.space",
|
||||||
|
"url": "https://searx.space/",
|
||||||
|
"html": "🌐",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
html_sidebars = {
|
||||||
|
"**": [
|
||||||
|
"sidebar/scroll-start.html",
|
||||||
|
"sidebar/brand.html",
|
||||||
|
"sidebar/search.html",
|
||||||
|
"sidebar/navigation.html",
|
||||||
|
"sidebar/ethical-ads.html",
|
||||||
|
"sidebar/scroll-end.html",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
html_static_path = ['_static']
|
||||||
|
|
||||||
|
html_css_files = [
|
||||||
|
'searxng.css',
|
||||||
|
]
|
||||||
|
|
||||||
# https://searxng.github.io/searxng --> '/searxng/'
|
# https://searxng.github.io/searxng --> '/searxng/'
|
||||||
# https://docs.searxng.org --> '/'
|
# https://docs.searxng.org --> '/'
|
||||||
notfound_urls_prefix = '/'
|
notfound_urls_prefix = '/'
|
||||||
|
|
||||||
sys.path.append(os.path.abspath('_themes'))
|
|
||||||
sys.path.insert(0, os.path.abspath("../"))
|
|
||||||
html_theme_path = ['_themes']
|
|
||||||
html_theme = "searxng"
|
|
||||||
|
|
||||||
# sphinx.ext.imgmath setup
|
# sphinx.ext.imgmath setup
|
||||||
html_math_renderer = 'imgmath'
|
html_math_renderer = 'imgmath'
|
||||||
imgmath_image_format = 'svg'
|
imgmath_image_format = 'svg'
|
||||||
@@ -174,34 +205,10 @@ imgmath_font_size = 14
|
|||||||
# sphinx.ext.imgmath setup END
|
# sphinx.ext.imgmath setup END
|
||||||
|
|
||||||
html_show_sphinx = False
|
html_show_sphinx = False
|
||||||
html_theme_options = {"index_sidebar_logo": True}
|
|
||||||
html_context = {"project_links": [] }
|
|
||||||
html_context["project_links"].append(ProjectLink("Source", GIT_URL + '/tree/' + GIT_BRANCH))
|
|
||||||
|
|
||||||
if WIKI_URL:
|
|
||||||
html_context["project_links"].append(ProjectLink("Wiki", WIKI_URL))
|
|
||||||
if PUBLIC_INSTANCES:
|
|
||||||
html_context["project_links"].append(ProjectLink("Public instances", PUBLIC_INSTANCES))
|
|
||||||
if ISSUE_URL:
|
|
||||||
html_context["project_links"].append(ProjectLink("Issue Tracker", ISSUE_URL))
|
|
||||||
if PRIVACYPOLICY_URL:
|
|
||||||
html_context["project_links"].append(ProjectLink("Privacy Policy", PRIVACYPOLICY_URL))
|
|
||||||
if CONTACT_URL:
|
|
||||||
html_context["project_links"].append(ProjectLink("Contact", CONTACT_URL))
|
|
||||||
|
|
||||||
html_sidebars = {
|
|
||||||
"**": [
|
|
||||||
"globaltoc.html",
|
|
||||||
"project.html",
|
|
||||||
"relations.html",
|
|
||||||
"searchbox.html",
|
|
||||||
"sourcelink.html"
|
|
||||||
],
|
|
||||||
}
|
|
||||||
singlehtml_sidebars = {"index": ["project.html", "localtoc.html"]}
|
|
||||||
html_logo = "../client/simple/src/brand/searxng-wordmark.svg"
|
html_logo = "../client/simple/src/brand/searxng-wordmark.svg"
|
||||||
html_title = "SearXNG Documentation ({})".format(VERSION_STRING)
|
html_title = "SearXNG Documentation ({})".format(VERSION_STRING)
|
||||||
html_show_sourcelink = True
|
html_show_sourcelink = True
|
||||||
|
html_copy_source = True
|
||||||
|
|
||||||
# LaTeX ----------------------------------------------------------------
|
# LaTeX ----------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
How to contribute
|
How to contribute
|
||||||
=================
|
=================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
Prime directives: Privacy, Hackability
|
Prime directives: Privacy, Hackability
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Demo Offline Engine
|
Demo Offline Engine
|
||||||
===================
|
===================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.demo_offline
|
.. automodule:: searx.engines.demo_offline
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Demo Online Engine
|
Demo Online Engine
|
||||||
==================
|
==================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.demo_online
|
.. automodule:: searx.engines.demo_online
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Engine Overview
|
Engine Overview
|
||||||
===============
|
===============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 3
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. _metasearch-engine: https://en.wikipedia.org/wiki/Metasearch_engine
|
.. _metasearch-engine: https://en.wikipedia.org/wiki/Metasearch_engine
|
||||||
|
|
||||||
.. sidebar:: Further reading ..
|
.. sidebar:: Further reading ..
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Engine Implementations
|
Engine Implementations
|
||||||
======================
|
======================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:caption: Framework Components
|
:caption: Framework Components
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
JSON Engine
|
JSON Engine
|
||||||
============
|
============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.json_engine
|
.. automodule:: searx.engines.json_engine
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
MediaWiki Engine
|
MediaWiki Engine
|
||||||
================
|
================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.mediawiki
|
.. automodule:: searx.engines.mediawiki
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -9,11 +9,6 @@ Command Line Engines
|
|||||||
- :origin:`command.py <searx/engines/command.py>`
|
- :origin:`command.py <searx/engines/command.py>`
|
||||||
- :ref:`offline engines`
|
- :ref:`offline engines`
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. sidebar:: info
|
.. sidebar:: info
|
||||||
|
|
||||||
Initial sponsored by `Search and Discovery Fund
|
Initial sponsored by `Search and Discovery Fund
|
||||||
|
|||||||
@@ -10,11 +10,6 @@ NoSQL databases
|
|||||||
- `valkey.io <https://valkey.io/>`_
|
- `valkey.io <https://valkey.io/>`_
|
||||||
- `MongoDB <https://www.mongodb.com>`_
|
- `MongoDB <https://www.mongodb.com>`_
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. sidebar:: info
|
.. sidebar:: info
|
||||||
|
|
||||||
Initial sponsored by `Search and Discovery Fund
|
Initial sponsored by `Search and Discovery Fund
|
||||||
|
|||||||
@@ -7,11 +7,6 @@ Local Search APIs
|
|||||||
- `Comparison to alternatives
|
- `Comparison to alternatives
|
||||||
<https://docs.meilisearch.com/learn/what_is_meilisearch/comparison_to_alternatives.html>`_
|
<https://docs.meilisearch.com/learn/what_is_meilisearch/comparison_to_alternatives.html>`_
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 1
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. sidebar:: info
|
.. sidebar:: info
|
||||||
|
|
||||||
Initial sponsored by `Search and Discovery Fund
|
Initial sponsored by `Search and Discovery Fund
|
||||||
|
|||||||
@@ -10,11 +10,6 @@ SQL Engines
|
|||||||
- `PostgreSQL <https://www.postgresql.org>`_
|
- `PostgreSQL <https://www.postgresql.org>`_
|
||||||
- `MySQL <https://www.mysql.com>`_
|
- `MySQL <https://www.mysql.com>`_
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. sidebar:: info
|
.. sidebar:: info
|
||||||
|
|
||||||
Initial sponsored by `Search and Discovery Fund
|
Initial sponsored by `Search and Discovery Fund
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Adobe Stock
|
Adobe Stock
|
||||||
===========
|
===========
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.adobe_stock
|
.. automodule:: searx.engines.adobe_stock
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Alpine Linux Packages
|
Alpine Linux Packages
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.alpinelinux
|
.. automodule:: searx.engines.alpinelinux
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Anna's Archive
|
Anna's Archive
|
||||||
==============
|
==============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.annas_archive
|
.. automodule:: searx.engines.annas_archive
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Arch Linux
|
Arch Linux
|
||||||
==========
|
==========
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.archlinux
|
.. automodule:: searx.engines.archlinux
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Bing Engines
|
Bing Engines
|
||||||
============
|
============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. _bing web engine:
|
.. _bing web engine:
|
||||||
|
|
||||||
Bing WEB
|
Bing WEB
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Bpb
|
Bpb
|
||||||
===
|
===
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.bpb
|
.. automodule:: searx.engines.bpb
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -2,11 +2,6 @@
|
|||||||
Brave Engines
|
Brave Engines
|
||||||
=============
|
=============
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
Brave offers two different engines for SearXNG:
|
Brave offers two different engines for SearXNG:
|
||||||
|
|
||||||
1. The standard engine (``brave``) uses the web interface.
|
1. The standard engine (``brave``) uses the web interface.
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
BT4G
|
BT4G
|
||||||
====
|
====
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.bt4g
|
.. automodule:: searx.engines.bt4g
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
CORE
|
CORE
|
||||||
====
|
====
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.core
|
.. automodule:: searx.engines.core
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Dailymotion
|
Dailymotion
|
||||||
===========
|
===========
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.dailymotion
|
.. automodule:: searx.engines.dailymotion
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
DuckDuckGo Engines
|
DuckDuckGo Engines
|
||||||
==================
|
==================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.duckduckgo
|
.. automodule:: searx.engines.duckduckgo
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Google Engines
|
Google Engines
|
||||||
==============
|
==============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. _google API:
|
.. _google API:
|
||||||
|
|
||||||
Google API
|
Google API
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Lemmy
|
Lemmy
|
||||||
=====
|
=====
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.lemmy
|
.. automodule:: searx.engines.lemmy
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Library of Congress
|
Library of Congress
|
||||||
===================
|
===================
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.loc
|
.. automodule:: searx.engines.loc
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Mastodon
|
Mastodon
|
||||||
========
|
========
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.mastodon
|
.. automodule:: searx.engines.mastodon
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Moviepilot
|
Moviepilot
|
||||||
==========
|
==========
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.moviepilot
|
.. automodule:: searx.engines.moviepilot
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Matrix Rooms Search (MRS)
|
Matrix Rooms Search (MRS)
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.mrs
|
.. automodule:: searx.engines.mrs
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Mwmbl Engine
|
Mwmbl Engine
|
||||||
============
|
============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. _mwmbl web engine:
|
.. _mwmbl web engine:
|
||||||
|
|
||||||
Mwmbl WEB
|
Mwmbl WEB
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Odysee
|
Odysee
|
||||||
======
|
======
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.odysee
|
.. automodule:: searx.engines.odysee
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Peertube Engines
|
Peertube Engines
|
||||||
================
|
================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. _peertube video engine:
|
.. _peertube video engine:
|
||||||
|
|
||||||
Peertube Video
|
Peertube Video
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Piped
|
Piped
|
||||||
=====
|
=====
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.piped
|
.. automodule:: searx.engines.piped
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Presearch Engine
|
Presearch Engine
|
||||||
================
|
================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.presearch
|
.. automodule:: searx.engines.presearch
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Qwant
|
Qwant
|
||||||
=====
|
=====
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.qwant
|
.. automodule:: searx.engines.qwant
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
RadioBrowser
|
RadioBrowser
|
||||||
============
|
============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.radio_browser
|
.. automodule:: searx.engines.radio_browser
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Recoll Engine
|
Recoll Engine
|
||||||
=============
|
=============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.recoll
|
.. automodule:: searx.engines.recoll
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Soundcloud
|
Soundcloud
|
||||||
==========
|
==========
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.soundcloud
|
.. automodule:: searx.engines.soundcloud
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Startpage Engines
|
Startpage Engines
|
||||||
=================
|
=================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.startpage
|
.. automodule:: searx.engines.startpage
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Tagesschau API
|
Tagesschau API
|
||||||
==============
|
==============
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.tagesschau
|
.. automodule:: searx.engines.tagesschau
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Torznab WebAPI
|
Torznab WebAPI
|
||||||
==============
|
==============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.torznab
|
.. automodule:: searx.engines.torznab
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Void Linux binary packages
|
Void Linux binary packages
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.voidlinux
|
.. automodule:: searx.engines.voidlinux
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Wallhaven
|
Wallhaven
|
||||||
=========
|
=========
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.wallhaven
|
.. automodule:: searx.engines.wallhaven
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Wikimedia
|
Wikimedia
|
||||||
=========
|
=========
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. _wikipedia engine:
|
.. _wikipedia engine:
|
||||||
|
|
||||||
Wikipedia
|
Wikipedia
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Yacy
|
Yacy
|
||||||
====
|
====
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.yacy
|
.. automodule:: searx.engines.yacy
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Yahoo Engine
|
Yahoo Engine
|
||||||
============
|
============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.yahoo
|
.. automodule:: searx.engines.yahoo
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Z-Library
|
Z-Library
|
||||||
=========
|
=========
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.zlibrary
|
.. automodule:: searx.engines.zlibrary
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Tineye
|
Tineye
|
||||||
======
|
======
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.tineye
|
.. automodule:: searx.engines.tineye
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
XPath Engine
|
XPath Engine
|
||||||
============
|
============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.xpath
|
.. automodule:: searx.engines.xpath
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -19,11 +19,6 @@ Makefiles, we recommend to read gnu-make_ introduction.
|
|||||||
To install developer requirements follow :ref:`buildhosts`.
|
To install developer requirements follow :ref:`buildhosts`.
|
||||||
|
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
The usage is simple, just type ``make {target-name}`` to *build* a target.
|
The usage is simple, just type ``make {target-name}`` to *build* a target.
|
||||||
Calling the ``help`` target gives a first overview (``make help``):
|
Calling the ``help`` target gives a first overview (``make help``):
|
||||||
|
|
||||||
|
|||||||
@@ -36,12 +36,6 @@ docs.live <make docs.live>` to build HTML while editing.
|
|||||||
- SVG_, ImageMagick_
|
- SVG_, ImageMagick_
|
||||||
- DOT_, `Graphviz's dot`_, Graphviz_
|
- DOT_, `Graphviz's dot`_, Graphviz_
|
||||||
|
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 3
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
Sphinx_ and reST_ have their place in the python ecosystem. Over that reST is
|
Sphinx_ and reST_ have their place in the python ecosystem. Over that reST is
|
||||||
used in popular projects, e.g the Linux kernel documentation `[kernel doc]`_.
|
used in popular projects, e.g the Linux kernel documentation `[kernel doc]`_.
|
||||||
|
|
||||||
|
|||||||
@@ -14,11 +14,6 @@ type of a result is defined by the :py:obj:`result_type.Result.template`. To
|
|||||||
set another media-type as :ref:`template default`, the field ``template``
|
set another media-type as :ref:`template default`, the field ``template``
|
||||||
in the result item must be set to the desired type.
|
in the result item must be set to the desired type.
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. _result template macros:
|
.. _result template macros:
|
||||||
|
|
||||||
|
|||||||
@@ -7,11 +7,6 @@ Why use a private instance?
|
|||||||
\.\.\.is a common question among SearXNG users. Before answering this
|
\.\.\.is a common question among SearXNG users. Before answering this
|
||||||
question, see what options a SearXNG user has.
|
question, see what options a SearXNG user has.
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
Public instances are open to everyone who has access to their URL. Usually, they
|
Public instances are open to everyone who has access to their URL. Usually, they
|
||||||
are operated by unknown parties (from the users' point of view). Private
|
are operated by unknown parties (from the users' point of view). Private
|
||||||
instances can be used by a select group of people, such as a SearXNG instance for a
|
instances can be used by a select group of people, such as a SearXNG instance for a
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Bot Detection
|
Bot Detection
|
||||||
=============
|
=============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.botdetection
|
.. automodule:: searx.botdetection
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Favicons (source)
|
Favicons (source)
|
||||||
=================
|
=================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.favicons
|
.. automodule:: searx.favicons
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
@@ -43,6 +38,3 @@ Favicons Cache
|
|||||||
|
|
||||||
.. automodule:: searx.favicons.cache
|
.. automodule:: searx.favicons.cache
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Locales
|
Locales
|
||||||
=======
|
=======
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.locales
|
.. automodule:: searx.locales
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Search processors
|
Search processors
|
||||||
=================
|
=================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
Abstract processor class
|
Abstract processor class
|
||||||
========================
|
========================
|
||||||
|
|
||||||
|
|||||||
@@ -22,11 +22,6 @@ Configured Engines
|
|||||||
called *tabs*), engines can be queried by their name or the categories they
|
called *tabs*), engines can be queried by their name or the categories they
|
||||||
belong to, by using a :ref:`\!bing syntax <search-syntax>`.
|
belong to, by using a :ref:`\!bing syntax <search-syntax>`.
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. jinja:: searx
|
.. jinja:: searx
|
||||||
|
|
||||||
{% for category, engines in categories_as_tabs.items() %}
|
{% for category, engines in categories_as_tabs.items() %}
|
||||||
|
|||||||
@@ -2,11 +2,6 @@
|
|||||||
User information
|
User information
|
||||||
================
|
================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 3
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
|
|||||||
@@ -15,12 +15,6 @@ script :origin:`utils/searxng.sh`.
|
|||||||
- :ref:`installation nginx`
|
- :ref:`installation nginx`
|
||||||
- :ref:`installation apache`
|
- :ref:`installation apache`
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
Install
|
Install
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ black==25.9.0
|
|||||||
pylint==4.0.5
|
pylint==4.0.5
|
||||||
splinter==0.21.0
|
splinter==0.21.0
|
||||||
selenium==4.43.0
|
selenium==4.43.0
|
||||||
Pallets-Sphinx-Themes==2.5.0
|
|
||||||
Sphinx==8.2.3;python_version <= "3.11"
|
Sphinx==8.2.3;python_version <= "3.11"
|
||||||
Sphinx==9.1.0; python_version > "3.11"
|
Sphinx==9.1.0; python_version > "3.11"
|
||||||
sphinx-issues==6.0.0
|
sphinx-issues==6.0.0
|
||||||
sphinx-jinja==2.0.2
|
sphinx-jinja==2.0.2
|
||||||
sphinx-tabs==3.5.0
|
sphinx-tabs==3.5.0
|
||||||
|
furo==2025.12.19
|
||||||
sphinxcontrib-programoutput==0.19
|
sphinxcontrib-programoutput==0.19
|
||||||
sphinx-autobuild==2025.8.25
|
sphinx-autobuild==2025.8.25
|
||||||
sphinx-notfound-page==1.1.0
|
sphinx-notfound-page==1.1.0
|
||||||
|
|||||||
@@ -39,11 +39,12 @@ def response(resp):
|
|||||||
|
|
||||||
for result in json_results:
|
for result in json_results:
|
||||||
title_parts = [title['value'] for title in result['title']]
|
title_parts = [title['value'] for title in result['title']]
|
||||||
|
extract_parts = [extract['value'] for extract in result.get('extract', [])]
|
||||||
results.append(
|
results.append(
|
||||||
{
|
{
|
||||||
'url': result['url'],
|
'url': result['url'],
|
||||||
'title': ''.join(title_parts),
|
'title': ''.join(title_parts),
|
||||||
'content': result['extract'][0]['value'],
|
'content': ''.join(extract_parts),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -345,7 +345,10 @@ def _get_news_result(result):
|
|||||||
|
|
||||||
publishedDate = None
|
publishedDate = None
|
||||||
if result.get("date"):
|
if result.get("date"):
|
||||||
publishedDate = datetime.fromtimestamp(result["date"] / 1000)
|
try:
|
||||||
|
publishedDate = datetime.fromtimestamp(int(result["date"]) / 1000)
|
||||||
|
except (TypeError, ValueError):
|
||||||
|
pass
|
||||||
|
|
||||||
thumbnailUrl = None
|
thumbnailUrl = None
|
||||||
if result.get("thumbnailUrl"):
|
if result.get("thumbnailUrl"):
|
||||||
|
|||||||
+488
-477
File diff suppressed because it is too large
Load Diff
+22
-52
@@ -1,10 +1,17 @@
|
|||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
"""Yep (general, images, news)"""
|
"""Yep (general, images, news)"""
|
||||||
|
|
||||||
from datetime import datetime
|
import typing as t
|
||||||
|
|
||||||
from urllib.parse import urlencode
|
from urllib.parse import urlencode
|
||||||
|
|
||||||
|
from searx.result_types import EngineResults
|
||||||
from searx.utils import html_to_text
|
from searx.utils import html_to_text
|
||||||
|
|
||||||
|
if t.TYPE_CHECKING:
|
||||||
|
from searx.extended_types import SXNG_Response
|
||||||
|
from searx.search.processors import OnlineParams
|
||||||
|
|
||||||
about = {
|
about = {
|
||||||
'website': 'https://yep.com/',
|
'website': 'https://yep.com/',
|
||||||
'official_api_documentation': 'https://docs.developer.yelp.com',
|
'official_api_documentation': 'https://docs.developer.yelp.com',
|
||||||
@@ -14,69 +21,32 @@ about = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
base_url = "https://api.yep.com"
|
base_url = "https://api.yep.com"
|
||||||
search_type = "web" # 'web', 'images', 'news'
|
|
||||||
|
|
||||||
safesearch = True
|
safesearch = True
|
||||||
safesearch_map = {0: 'off', 1: 'moderate', 2: 'strict'}
|
safesearch_map = {0: 'off', 1: 'moderate', 2: 'strict'}
|
||||||
|
|
||||||
enable_http2 = False
|
enable_http2 = False
|
||||||
|
|
||||||
|
results_per_page = 20
|
||||||
|
|
||||||
def request(query, params):
|
|
||||||
args = {
|
def request(query: str, params: 'OnlineParams') -> None:
|
||||||
'client': 'web',
|
args = {'query': query, 'safeSearch': safesearch_map[params['safesearch']], 'limit': results_per_page}
|
||||||
'no_correct': 'false',
|
|
||||||
'q': query,
|
|
||||||
'safeSearch': safesearch_map[params['safesearch']],
|
|
||||||
'type': search_type,
|
|
||||||
}
|
|
||||||
params['url'] = f"{base_url}/fs/2/search?{urlencode(args)}"
|
params['url'] = f"{base_url}/fs/2/search?{urlencode(args)}"
|
||||||
params['headers']['Referer'] = 'https://yep.com/'
|
params['headers']['Referer'] = 'https://yep.com/'
|
||||||
params['headers']['Origin'] = 'https://yep.com'
|
params['headers']['Origin'] = 'https://yep.com'
|
||||||
return params
|
|
||||||
|
|
||||||
|
|
||||||
def _web_result(result):
|
def response(resp: 'SXNG_Response') -> EngineResults:
|
||||||
return {
|
res = EngineResults()
|
||||||
'url': result['url'],
|
|
||||||
'title': result['title'],
|
|
||||||
'content': html_to_text(result['snippet']),
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
def _images_result(result):
|
|
||||||
return {
|
|
||||||
'template': 'images.html',
|
|
||||||
'url': result['host_page'],
|
|
||||||
'title': result.get('title', ''),
|
|
||||||
'content': '',
|
|
||||||
'img_src': result['image_id'],
|
|
||||||
'thumbnail_src': result['src'],
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
def _news_result(result):
|
|
||||||
return {
|
|
||||||
'url': result['url'],
|
|
||||||
'title': result['title'],
|
|
||||||
'content': html_to_text(result['snippet']),
|
|
||||||
'publishedDate': datetime.strptime(result['first_seen'][:19], '%Y-%m-%dT%H:%M:%S'),
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
def response(resp):
|
|
||||||
results = []
|
|
||||||
|
|
||||||
for result in resp.json()[1]['results']:
|
for result in resp.json()[1]['results']:
|
||||||
if search_type == "web":
|
res.add(
|
||||||
if result['type'] != 'Organic':
|
res.types.MainResult(
|
||||||
continue
|
url=result['url'],
|
||||||
results.append(_web_result(result))
|
title=result['title'],
|
||||||
elif search_type == "images":
|
content=html_to_text(result['snippet']),
|
||||||
results.append(_images_result(result))
|
)
|
||||||
elif search_type == "news":
|
)
|
||||||
results.append(_news_result(result))
|
|
||||||
else:
|
|
||||||
raise ValueError(f"Unsupported yep search type: {search_type}")
|
|
||||||
|
|
||||||
return results
|
return res
|
||||||
|
|||||||
+1
-17
@@ -688,22 +688,6 @@ engines:
|
|||||||
engine: yep
|
engine: yep
|
||||||
shortcut: yep
|
shortcut: yep
|
||||||
categories: general
|
categories: general
|
||||||
search_type: web
|
|
||||||
timeout: 15
|
|
||||||
disabled: true
|
|
||||||
|
|
||||||
- name: yep images
|
|
||||||
engine: yep
|
|
||||||
shortcut: yepi
|
|
||||||
categories: images
|
|
||||||
search_type: images
|
|
||||||
disabled: true
|
|
||||||
|
|
||||||
- name: yep news
|
|
||||||
engine: yep
|
|
||||||
shortcut: yepn
|
|
||||||
categories: news
|
|
||||||
search_type: news
|
|
||||||
disabled: true
|
disabled: true
|
||||||
|
|
||||||
- name: currency
|
- name: currency
|
||||||
@@ -1229,7 +1213,7 @@ engines:
|
|||||||
|
|
||||||
- name: karmasearch videos
|
- name: karmasearch videos
|
||||||
engine: karmasearch
|
engine: karmasearch
|
||||||
categories: [general, web]
|
categories: [videos, web]
|
||||||
search_type: videos
|
search_type: videos
|
||||||
shortcut: kav
|
shortcut: kav
|
||||||
|
|
||||||
|
|||||||
@@ -67,3 +67,13 @@
|
|||||||
class="checkbox-onoff"{{- ' ' -}}
|
class="checkbox-onoff"{{- ' ' -}}
|
||||||
{%- if checked -%} checked{%- endif -%}/>
|
{%- if checked -%} checked{%- endif -%}/>
|
||||||
{%- endmacro -%}
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
<!-- iframe that additionally sets some extra feature attrs for videos -->
|
||||||
|
{%- macro iframe(iframe_src) -%}
|
||||||
|
<iframe data-src="{{iframe_src}}" frameborder="0" allowfullscreen
|
||||||
|
{% if result.parsed_url.hostname in ("www.youtube.com", ) -%}
|
||||||
|
allow="picture-in-picture" referrerpolicy="origin"
|
||||||
|
{%- endif -%}
|
||||||
|
>
|
||||||
|
</iframe>
|
||||||
|
{%- endmacro -%}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{% from 'simple/macros.html' import result_header, result_sub_header, result_sub_footer, result_footer with context %}
|
{% from 'simple/macros.html' import iframe, result_header, result_sub_header, result_sub_footer, result_footer with context %}
|
||||||
|
|
||||||
{{ result_header(result, favicons, image_proxify) -}}
|
{{ result_header(result, favicons, image_proxify) -}}
|
||||||
{{- result_sub_header(result) -}}
|
{{- result_sub_header(result) -}}
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
{{- result_sub_footer(result) -}}
|
{{- result_sub_footer(result) -}}
|
||||||
{% if result.iframe_src -%}
|
{% if result.iframe_src -%}
|
||||||
<div id="result-media-{{ index }}" class="embedded-content invisible">
|
<div id="result-media-{{ index }}" class="embedded-content invisible">
|
||||||
<iframe data-src="{{result.iframe_src}}" frameborder="0" allowfullscreen></iframe>
|
{{ iframe(result.iframe_src) }}
|
||||||
</div>
|
</div>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{% if result.audio_src -%}
|
{% if result.audio_src -%}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{% from 'simple/macros.html' import result_header, result_sub_header, result_sub_footer, result_footer with context %}
|
{% from 'simple/macros.html' import iframe, result_header, result_sub_header, result_sub_footer, result_footer with context %}
|
||||||
|
|
||||||
{{ result_header(result, favicons, image_proxify) }}
|
{{ result_header(result, favicons, image_proxify) }}
|
||||||
{{ result_sub_header(result) }}
|
{{ result_sub_header(result) }}
|
||||||
@@ -18,11 +18,7 @@
|
|||||||
{{- result_sub_footer(result) -}}
|
{{- result_sub_footer(result) -}}
|
||||||
{% if result.iframe_src -%}
|
{% if result.iframe_src -%}
|
||||||
<div id="result-video-{{ index }}" class="embedded-video invisible">
|
<div id="result-video-{{ index }}" class="embedded-video invisible">
|
||||||
<iframe data-src="{{result.iframe_src}}" frameborder="0" allowfullscreen
|
{{ iframe(result.iframe_src) }}
|
||||||
{% if result.parsed_url.hostname in ("www.youtube.com", ) -%}
|
|
||||||
allow="picture-in-picture" referrerpolicy="origin">
|
|
||||||
{%- endif -%}
|
|
||||||
</iframe>
|
|
||||||
</div>
|
</div>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{{ result_footer(result) }}
|
{{ result_footer(result) }}
|
||||||
|
|||||||
Reference in New Issue
Block a user