Browse Source

[mod] engine invidious: commented out / no public API available nowadays (#4800)

Reported-by: @unifox https://github.com/searxng/searxng/issues/2722#issuecomment-2884993248

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Markus Heiser 3 days ago
parent
commit
b8b857d24c
2 changed files with 27 additions and 16 deletions
  1. 14 2
      searx/engines/invidious.py
  2. 13 14
      searx/settings.yml

+ 14 - 2
searx/engines/invidious.py

@@ -1,6 +1,13 @@
 # SPDX-License-Identifier: AGPL-3.0-or-later
 """Invidious (Videos)
+
+If you want to use invidious with SearXNG you should setup one locally.
+No public instance offer a public API now
+
+- https://github.com/searxng/searxng/issues/2722#issuecomment-2884993248
+
 """
+from __future__ import annotations
 
 import time
 import random
@@ -13,7 +20,7 @@ from searx.utils import humanize_number
 about = {
     "website": 'https://api.invidious.io/',
     "wikidata_id": 'Q79343316',
-    "official_api_documentation": 'https://github.com/iv-org/documentation/blob/master/API.md',
+    "official_api_documentation": 'https://docs.invidious.io/api/',
     "use_official_api": True,
     "require_api_key": False,
     "results": 'JSON',
@@ -25,7 +32,12 @@ paging = True
 time_range_support = True
 
 # base_url can be overwritten by a list of URLs in the settings.yml
-base_url = 'https://vid.puffyan.us'
+base_url: list | str = []
+
+
+def init(_):
+    if not base_url:
+        raise ValueError("missing invidious base_url")
 
 
 def request(query, params):

+ 13 - 14
searx/settings.yml

@@ -252,8 +252,8 @@ plugins:
 #
 # hostnames:
 #   replace:
-#     '(.*\.)?youtube\.com$': 'invidious.example.com'
-#     '(.*\.)?youtu\.be$': 'invidious.example.com'
+#     '(.*\.)?youtube\.com$': 'yt.example.com'
+#     '(.*\.)?youtu\.be$': 'yt.example.com'
 #     '(.*\.)?reddit\.com$': 'teddit.example.com'
 #     '(.*\.)?redd\.it$': 'teddit.example.com'
 #     '(www\.)?twitter\.com$': 'nitter.example.com'
@@ -270,8 +270,8 @@ plugins:
 #  replace: 'rewrite-hosts.yml'
 #
 # Content of 'rewrite-hosts.yml' (place the file in the same directory as 'settings.yml'):
-# '(.*\.)?youtube\.com$': 'invidious.example.com'
-# '(.*\.)?youtu\.be$': 'invidious.example.com'
+# '(.*\.)?youtube\.com$': 'yt.example.com'
+# '(.*\.)?youtu\.be$': 'yt.example.com'
 #
 
 checker:
@@ -1152,16 +1152,15 @@ engines:
     timeout: 6.0
     disabled: true
 
-  - name: invidious
-    engine: invidious
-    # Instanes will be selected randomly, see https://api.invidious.io/ for
-    # instances that are stable (good uptime) and close to you.
-    base_url:
-      - https://invidious.adminforge.de
-      - https://inv.nadeko.net
-    shortcut: iv
-    timeout: 3.0
-    disabled: true
+  # - name: invidious
+  #   engine: invidious
+  #   # if you want to use invidious with SearXNG you should setup one locally
+  #   # https://github.com/searxng/searxng/issues/2722#issuecomment-2884993248
+  #   base_url:
+  #     - https://invidious.example1.com
+  #     - https://invidious.example2.com
+  #   shortcut: iv
+  #   timeout: 3.0
 
   - name: ipernity
     engine: ipernity