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`
 | ||
|  | 
 | ||
|  | 
 |