Merge bdc2852475a820631d997e29e7c9f7e7fae1e955 into b92748219504e67b18771b9831ffcebe76cca62f

This commit is contained in:
m00nwtchr 2022-12-17 21:09:02 +01:00 committed by GitHub
commit 742230fa98
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 4 deletions

View File

@ -248,6 +248,8 @@ def update_attributes_for_tor(engine: Engine) -> bool:
if using_tor_proxy(engine) and hasattr(engine, 'onion_url'):
engine.search_url = engine.onion_url + getattr(engine, 'search_path', '')
engine.timeout += settings['outgoing'].get('extra_proxy_timeout', 0)
if hasattr(engine, 'ping_url'):
engine.ping_url = engine.onion_url + getattr(engine, 'ping_path', '')
def is_missing_required_attributes(engine):

View File

@ -29,6 +29,7 @@ about = {
# engine dependent config
categories = ['general', 'web']
paging = True
# ISSUE/FIXME: searx.engines.__init__ won't update this URL.
supported_languages_url = 'https://duckduckgo.com/util/u588.js'
time_range_support = True
send_accept_language_header = True
@ -46,8 +47,13 @@ language_aliases = {
time_range_dict = {'day': 'd', 'week': 'w', 'month': 'm', 'year': 'y'}
# search-url
url = 'https://lite.duckduckgo.com/lite'
url_ping = 'https://duckduckgo.com/t/sl_l'
base_url = 'https://lite.duckduckgo.com'
onion_url = 'https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion'
search_path = '/lite'
ping_path = '/t/sl_l'
search_url = base_url + search_path
ping_url = 'https://duckduckgo.com' + ping_path
# match query's language to a region code that duckduckgo will accept
def get_region_code(lang, lang_list=None):
@ -63,7 +69,7 @@ def get_region_code(lang, lang_list=None):
def request(query, params):
params['url'] = url
params['url'] = search_url
params['method'] = 'POST'
params['data']['q'] = query
@ -119,7 +125,7 @@ def request(query, params):
def response(resp):
headers_ping = dict_subset(resp.request.headers, ['User-Agent', 'Accept-Encoding', 'Accept', 'Cookie'])
get(url_ping, headers=headers_ping)
get(ping_url, headers=headers_ping)
if resp.status_code == 303:
return []