diff --git a/searx/engines/invidious.py b/searx/engines/invidious.py index 1d6d69f64..61a6e5a19 100644 --- a/searx/engines/invidious.py +++ b/searx/engines/invidious.py @@ -6,6 +6,7 @@ from urllib.parse import quote_plus from dateutil import parser import time +import random # about about = { @@ -23,19 +24,29 @@ paging = True language_support = True time_range_support = True + # search-url -base_url = "https://invidio.us/" + +base_url = '' +base_url_rand = '' # do search-request def request(query, params): + global base_url_rand time_range_dict = { "day": "today", "week": "week", "month": "month", "year": "year", } - search_url = base_url + "api/v1/search?q={query}" + + if isinstance(base_url, list): + base_url_rand = random.choice(base_url) + else: + base_url_rand = base_url + + search_url = base_url_rand + "api/v1/search?q={query}" params["url"] = search_url.format( query=quote_plus(query) ) + "&page={pageno}".format(pageno=params["pageno"]) @@ -61,12 +72,12 @@ def response(resp): embedded_url = ( '' ) - base_invidious_url = base_url + "watch?v=" + base_invidious_url = base_url_rand + "watch?v=" for result in search_results: rtype = result.get("type", None) diff --git a/searx/settings.yml b/searx/settings.yml index e3259220b..2c150d492 100644 --- a/searx/settings.yml +++ b/searx/settings.yml @@ -630,7 +630,9 @@ engines: - name : invidious engine : invidious - base_url : 'https://invidio.us/' + base_url : + - https://invidious.tube/ + - https://invidious.snopyta.org/ shortcut: iv timeout : 5.0 disabled : True