2 Commits

4 changed files with 35 additions and 24 deletions

View File

@@ -32,7 +32,7 @@
"svgo": "^3.3.2",
"swiped-events": "^1.2.0",
"vite": "^6.3.5",
"vite-plugin-static-copy": "^2.3.1",
"vite-plugin-static-copy": "^3.0.0",
"vite-plugin-stylelint": "^6.0.0",
"webpack": "^5.99.8",
"webpack-cli": "^6.0.1"
@@ -7911,17 +7911,17 @@
}
},
"node_modules/vite-plugin-static-copy": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-2.3.1.tgz",
"integrity": "sha512-EfsPcBm3ewg3UMG8RJaC0ADq6/qnUZnokXx4By4+2cAcipjT9i0Y0owIJGqmZI7d6nxk4qB1q5aXOwNuSyPdyA==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-3.0.0.tgz",
"integrity": "sha512-Uki9pPUQ4ZnoMEdIFabvoh9h6Bh9Q1m3iF7BrZvoiF30reREpJh2gZb4jOnW1/uYFzyRiLCmFSkM+8hwiq1vWQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"chokidar": "^3.5.3",
"fast-glob": "^3.2.11",
"fs-extra": "^11.1.0",
"fs-extra": "^11.3.0",
"p-map": "^7.0.3",
"picocolors": "^1.0.0"
"picocolors": "^1.1.1",
"tinyglobby": "^0.2.13"
},
"engines": {
"node": "^18.0.0 || >=20.0.0"

View File

@@ -30,7 +30,7 @@
"svgo": "^3.3.2",
"swiped-events": "^1.2.0",
"vite": "^6.3.5",
"vite-plugin-static-copy": "^2.3.1",
"vite-plugin-static-copy": "^3.0.0",
"vite-plugin-stylelint": "^6.0.0",
"webpack": "^5.99.8",
"webpack-cli": "^6.0.1"

View File

@@ -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):

View File

@@ -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