.oO SearXNG Developer Documentation Oo.
|
Classes | |
class | AsyncHTTPTransportNoHttp |
class | AsyncProxyTransportFixed |
Functions | |
shuffle_ciphers (ssl_context) | |
get_sslcontexts (proxy_url=None, cert=None, verify=True, trust_env=True, http2=False) | |
get_transport_for_socks_proxy (verify, http2, local_address, proxy_url, limit, retries) | |
get_transport (verify, http2, local_address, proxy_url, limit, retries) | |
new_client (enable_http, verify, enable_http2, max_connections, max_keepalive_connections, keepalive_expiry, proxies, local_address, retries, max_redirects, hook_log_response) | |
get_loop () | |
init () | |
Variables | |
logger = logger.getChild('searx.network.client') | |
LOOP = None | |
dict | SSLCONTEXTS = {} |
searx.network.client.get_loop | ( | ) |
searx.network.client.get_sslcontexts | ( | proxy_url = None, | |
cert = None, | |||
verify = True, | |||
trust_env = True, | |||
http2 = False ) |
Definition at line 50 of file client.py.
References searx.network.client.shuffle_ciphers().
Referenced by searx.network.client.get_transport(), and searx.network.client.get_transport_for_socks_proxy().
searx.network.client.get_transport | ( | verify, | |
http2, | |||
local_address, | |||
proxy_url, | |||
limit, | |||
retries ) |
Definition at line 140 of file client.py.
References searx.network.client.get_sslcontexts().
Referenced by searx.network.client.new_client().
searx.network.client.get_transport_for_socks_proxy | ( | verify, | |
http2, | |||
local_address, | |||
proxy_url, | |||
limit, | |||
retries ) |
Definition at line 111 of file client.py.
References searx.network.client.get_sslcontexts().
Referenced by searx.network.client.new_client().
searx.network.client.init | ( | ) |
Definition at line 205 of file client.py.
searx.network.client.new_client | ( | enable_http, | |
verify, | |||
enable_http2, | |||
max_connections, | |||
max_keepalive_connections, | |||
keepalive_expiry, | |||
proxies, | |||
local_address, | |||
retries, | |||
max_redirects, | |||
hook_log_response ) |
Definition at line 153 of file client.py.
References searx.network.client.get_transport(), and searx.network.client.get_transport_for_socks_proxy().
searx.network.client.shuffle_ciphers | ( | ssl_context | ) |
Shuffle httpx's default ciphers of a SSL context randomly. From `What Is TLS Fingerprint and How to Bypass It`_ > When implementing TLS fingerprinting, servers can't operate based on a > locked-in whitelist database of fingerprints. New fingerprints appear > when web clients or TLS libraries release new versions. So, they have to > live off a blocklist database instead. > ... > It's safe to leave the first three as is but shuffle the remaining ciphers > and you can bypass the TLS fingerprint check. .. _What Is TLS Fingerprint and How to Bypass It: https://www.zenrows.com/blog/what-is-tls-fingerprint#how-to-bypass-tls-fingerprinting
Definition at line 27 of file client.py.
Referenced by searx.network.client.get_sslcontexts().
searx.network.client.logger = logger.getChild('searx.network.client') |