Allow 'using_tor_proxy' to be set for each engine individually

Check 'using_tor_proxy' for each engine individually instead of checking globally

[fix] searx.network: update _rdns test to the last httpx version

Co-authored-by: Alexandre Flament <alex@al-f.net>
This commit is contained in:
Léon Tiekötter 2022-01-22 19:51:40 +01:00
parent 1b03db4c73
commit 0cbf73a1f4
No known key found for this signature in database
GPG key ID: 02869F7817D9EC08
2 changed files with 17 additions and 10 deletions

View file

@ -167,13 +167,14 @@ class Network:
for transport in client._mounts.values(): # pylint: disable=protected-access
if isinstance(transport, AsyncHTTPTransportNoHttp):
continue
if not getattr(transport, '_rdns', False):
result = False
break
else:
response = await client.get('https://check.torproject.org/api/ip')
if not response.json()['IsTor']:
result = False
if getattr(transport, "_pool") and getattr(
transport._pool, "_rdns", False # pylint: disable=protected-access
):
continue
return False
response = await client.get("https://check.torproject.org/api/ip", timeout=10)
if not response.json()["IsTor"]:
result = False
Network._TOR_CHECK_RESULT[proxies] = result
return result