Skip to content
Back to top
View this page
Edit this page

# `outgoing:`

Communication with search engines.

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

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

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

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