summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/admin/settings/settings_engines.rst23
-rw-r--r--docs/admin/settings/settings_outgoing.rst51
-rw-r--r--docs/dev/engines/engine_overview.rst4
-rw-r--r--docs/dev/reST.rst2
4 files changed, 34 insertions, 46 deletions
diff --git a/docs/admin/settings/settings_engines.rst b/docs/admin/settings/settings_engines.rst
index ac85947c3..0688fec25 100644
--- a/docs/admin/settings/settings_engines.rst
+++ b/docs/admin/settings/settings_engines.rst
@@ -58,10 +58,9 @@ engine is shown. Most of the options have a default value or even are optional.
# overwrite values from section 'outgoing:'
enable_http2: false
+ enable_http3: false
retries: 1
max_connections: 100
- max_keepalive_connections: 10
- keepalive_expiry: 5.0
using_tor_proxy: false
proxies:
http:
@@ -163,6 +162,16 @@ engine is shown. Most of the options have a default value or even are optional.
``enable_http`` : optional
Enable HTTP for this engine (by default only HTTPS is enabled).
+``enable_http3`` : optional
+ Use HTTP/3 (falls back to HTTP/2). Default ``false``.
+ Ignored when a proxy is set.
+
+ .. hint::
+
+ HTTP/3 places demands on the IP infrastructure that are not met in every
+ environment. Enable this option only if you are aware of these requirements
+ and the extent to which they are met.
+
``retry_on_http_error`` : optional
Retry request on some HTTP status code.
@@ -179,20 +188,12 @@ engine is shown. Most of the options have a default value or even are optional.
Using tor proxy (``true``) or not (``false``) for this engine. The default is
taken from ``using_tor_proxy`` of the :ref:`settings outgoing`.
-.. _Pool limit configuration: https://www.python-httpx.org/advanced/#pool-limit-configuration
-
-``max_keepalive_connection#s`` :
- `Pool limit configuration`_, overwrites value ``pool_maxsize`` from
- :ref:`settings outgoing` for this engine.
+.. _Pool limit configuration: https://curl-cffi.readthedocs.io/en/latest/api.html#sessions
``max_connections`` :
`Pool limit configuration`_, overwrites value ``pool_connections`` from
:ref:`settings outgoing` for this engine.
-``keepalive_expiry`` :
- `Pool limit configuration`_, overwrites value ``keepalive_expiry`` from
- :ref:`settings outgoing` for this engine.
-
.. _private engines:
diff --git a/docs/admin/settings/settings_outgoing.rst b/docs/admin/settings/settings_outgoing.rst
index 1896698ce..0e434c7a3 100644
--- a/docs/admin/settings/settings_outgoing.rst
+++ b/docs/admin/settings/settings_outgoing.rst
@@ -12,20 +12,12 @@ Communication with search engines.
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/
+ pool_connections: 100 # Maximum number of concurrent connections (default: 100)
+ enable_http2: true # Enables the use of 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
+ # uncomment below section if you want to use a proxy
#
# proxies:
# all://:
@@ -46,30 +38,26 @@ Communication with search engines.
timeout to load). Can be override by ``timeout`` in the :ref:`settings engines`.
``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.
+ Suffix to add when an engine's User-Agent is set via searxng_useragent().
+ Contact info here may be useful to avoid an engine blocking you.
-.. _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 limit configuration: https://curl-cffi.readthedocs.io/en/latest/api.html#sessions
``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`_.
+ Maximum number of concurrent connections. The default is 100.
+ See ``max_clients`` `Pool limit configuration`_.
-.. _httpx proxies: https://www.python-httpx.org/advanced/#http-proxying
+.. _curl_cffi proxies: https://curl-cffi.readthedocs.io/en/latest/quick_start.html
``proxies`` :
- Define one or more proxies you wish to use, see `httpx proxies`_.
+ Define one or more proxies you wish to use, see `curl_cffi proxies`_.
If there are more than one proxy for one protocol (http, https),
requests to the engines are distributed in a round-robin fashion.
+ HTTP, HTTPS, SOCKS4, SOCKS5 and SOCKS5h proxies are supported
+ (``http://``, ``https://``, ``socks4://``, ``socks5://``, ``socks5h://``). You should
+ use ``socks5h://`` when using Tor so hostnames are resolved by the proxy.
+
``source_ips`` :
If you use multiple network interfaces, define from which IP the requests must
be made. Example:
@@ -87,18 +75,15 @@ Communication with search engines.
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
+ Enable by default (HTTP/2). Set to ``false`` to force HTTP/1.1.
+ HTTP/3 is opt-in per engine (``enable_http3``).
``verify``: : ``$SSL_CERT_FILE``, ``$SSL_CERT_DIR``
- Allow to specify a path to certificate.
- see `httpx verification defaults`_.
+ HTTPS verification uses the OS's trust store by default.
+ Set a path to use a custom CA file.
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.
diff --git a/docs/dev/engines/engine_overview.rst b/docs/dev/engines/engine_overview.rst
index 8df18e08c..423249edc 100644
--- a/docs/dev/engines/engine_overview.rst
+++ b/docs/dev/engines/engine_overview.rst
@@ -143,7 +143,7 @@ parameters with default value can be redefined for special purposes.
data dict ``{}``
cookies dict ``{}``
verify bool ``True``
- headers.User-Agent str a random User-Agent
+ headers.User-Agent str ``''``
category str current category, like ``'general'``
safesearch int ``0``, between ``0`` and ``2`` (normal, moderate, strict)
time_range Optional[str] ``None``, can be ``day``, ``week``, ``month``, ``year``
@@ -229,6 +229,8 @@ following parameters can be used to specify a search request:
max_redirects int maximum redirects, hard limit
soft_max_redirects int maximum redirects, soft limit. Record an error but don't stop the engine
raise_for_httperror bool True by default: raise an exception if the HTTP code of response is >= 300
+ impersonate str curl_cffi impersonate target (default: chrome, none to disable)
+ curl_options dict Any extra libcurl options for the request
=================== =========== ==========================================================================
diff --git a/docs/dev/reST.rst b/docs/dev/reST.rst
index d3138a851..b4c32c8be 100644
--- a/docs/dev/reST.rst
+++ b/docs/dev/reST.rst
@@ -286,7 +286,7 @@ content becomes smart.
files & folders origin :origin:`docs/dev/reST.rst` ``:origin:`docs/dev/reST.rst```
pull request :pull:`4` ``:pull:`4```
patch :patch:`af2cae6` ``:patch:`af2cae6```
- PyPi package :pypi:`httpx` ``:pypi:`httpx```
+ PyPi package :pypi:`curl_cffi` ``:pypi:`curl_cffi```
manual page man :man:`bash` ``:man:`bash```
intersphinx_
--------------------------------------------------------------------------------------------------