forked from zaclys/searxng
5720844fcd
We have built up detailed documentation of the *settings* and the *engines* over the past few years. However, this documentation was still spread over various chapters and was difficult to navigate in its entirety. This patch rearranges the Settings & Engines documentation for better readability. To review new ordered docs:: make docs.clean docs.live Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
111 lines
4.3 KiB
ReStructuredText
111 lines
4.3 KiB
ReStructuredText
.. _settings outgoing:
|
|
|
|
=============
|
|
``outgoing:``
|
|
=============
|
|
|
|
Communication with search engines.
|
|
|
|
.. code:: yaml
|
|
|
|
outgoing:
|
|
request_timeout: 2.0 # default timeout in seconds, can be override by engine
|
|
max_request_timeout: 10.0 # the maximum timeout in seconds
|
|
useragent_suffix: "" # information like an email address to the administrator
|
|
pool_connections: 100 # Maximum number of allowable connections, or null
|
|
# for no limits. The default is 100.
|
|
pool_maxsize: 10 # Number of allowable keep-alive connections, or null
|
|
# to always allow. The default is 10.
|
|
enable_http2: true # See https://www.python-httpx.org/http2/
|
|
# uncomment below section if you want to use a custom server certificate
|
|
# see https://www.python-httpx.org/advanced/#changing-the-verification-defaults
|
|
# and https://www.python-httpx.org/compatibility/#ssl-configuration
|
|
# verify: ~/.mitmproxy/mitmproxy-ca-cert.cer
|
|
#
|
|
# uncomment below section if you want to use a proxyq see: SOCKS proxies
|
|
# https://2.python-requests.org/en/latest/user/advanced/#proxies
|
|
# are also supported: see
|
|
# https://2.python-requests.org/en/latest/user/advanced/#socks
|
|
#
|
|
# proxies:
|
|
# all://:
|
|
# - http://proxy1:8080
|
|
# - http://proxy2:8080
|
|
#
|
|
# using_tor_proxy: true
|
|
#
|
|
# Extra seconds to add in order to account for the time taken by the proxy
|
|
#
|
|
# extra_proxy_timeout: 10.0
|
|
#
|
|
|
|
``request_timeout`` :
|
|
Global timeout of the requests made to others engines in seconds. A bigger
|
|
timeout will allow to wait for answers from slow engines, but in consequence
|
|
will slow SearXNG reactivity (the result page may take the time specified in the
|
|
timeout to load). Can be override by ``timeout`` in the :ref:`settings engine`.
|
|
|
|
``useragent_suffix`` :
|
|
Suffix to the user-agent SearXNG uses to send requests to others engines. If an
|
|
engine wish to block you, a contact info here may be useful to avoid that.
|
|
|
|
.. _Pool limit configuration: https://www.python-httpx.org/advanced/#pool-limit-configuration
|
|
|
|
``pool_maxsize``:
|
|
Number of allowable keep-alive connections, or ``null`` to always allow. The
|
|
default is 10. See ``max_keepalive_connections`` `Pool limit configuration`_.
|
|
|
|
``pool_connections`` :
|
|
Maximum number of allowable connections, or ``null`` # for no limits. The
|
|
default is 100. See ``max_connections`` `Pool limit configuration`_.
|
|
|
|
``keepalive_expiry`` :
|
|
Number of seconds to keep a connection in the pool. By default 5.0 seconds.
|
|
See ``keepalive_expiry`` `Pool limit configuration`_.
|
|
|
|
.. _httpx proxies: https://www.python-httpx.org/advanced/#http-proxying
|
|
|
|
``proxies`` :
|
|
Define one or more proxies you wish to use, see `httpx proxies`_.
|
|
If there are more than one proxy for one protocol (http, https),
|
|
requests to the engines are distributed in a round-robin fashion.
|
|
|
|
``source_ips`` :
|
|
If you use multiple network interfaces, define from which IP the requests must
|
|
be made. Example:
|
|
|
|
* ``0.0.0.0`` any local IPv4 address.
|
|
* ``::`` any local IPv6 address.
|
|
* ``192.168.0.1``
|
|
* ``[ 192.168.0.1, 192.168.0.2 ]`` these two specific IP addresses
|
|
* ``fe80::60a2:1691:e5a2:ee1f``
|
|
* ``fe80::60a2:1691:e5a2:ee1f/126`` all IP addresses in this network.
|
|
* ``[ 192.168.0.1, fe80::/126 ]``
|
|
|
|
``retries`` :
|
|
Number of retry in case of an HTTP error. On each retry, SearXNG uses an
|
|
different proxy and source ip.
|
|
|
|
``enable_http2`` :
|
|
Enable by default. Set to ``false`` to disable HTTP/2.
|
|
|
|
.. _httpx verification defaults: https://www.python-httpx.org/advanced/#changing-the-verification-defaults
|
|
.. _httpx ssl configuration: https://www.python-httpx.org/compatibility/#ssl-configuration
|
|
|
|
``verify``: : ``$SSL_CERT_FILE``, ``$SSL_CERT_DIR``
|
|
Allow to specify a path to certificate.
|
|
see `httpx verification defaults`_.
|
|
|
|
In addition to ``verify``, SearXNG supports the ``$SSL_CERT_FILE`` (for a file) and
|
|
``$SSL_CERT_DIR`` (for a directory) OpenSSL variables.
|
|
see `httpx ssl configuration`_.
|
|
|
|
``max_redirects`` :
|
|
30 by default. Maximum redirect before it is an error.
|
|
|
|
``using_tor_proxy`` :
|
|
Using tor proxy (``true``) or not (``false``) for all engines. The default is
|
|
``false`` and can be overwritten in the :ref:`settings engine`
|
|
|
|
|