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