mirror of
https://github.com/searxng/searxng.git
synced 2024-12-23 09:46:31 +00:00
13b0c251c4
Add goo engine
2090 lines
56 KiB
YAML
2090 lines
56 KiB
YAML
general:
|
|
# Debug mode, only for development
|
|
debug: false
|
|
# displayed name
|
|
instance_name: "SearXNG"
|
|
# For example: https://example.com/privacy
|
|
privacypolicy_url: false
|
|
# use true to use your own donation page written in searx/info/en/donate.md
|
|
# use false to disable the donation link
|
|
donation_url: https://docs.searxng.org/donate.html
|
|
# mailto:contact@example.com
|
|
contact_url: false
|
|
# record stats
|
|
enable_metrics: true
|
|
|
|
brand:
|
|
new_issue_url: https://github.com/searxng/searxng/issues/new
|
|
docs_url: https://docs.searxng.org/
|
|
public_instances: https://searx.space
|
|
wiki_url: https://github.com/searxng/searxng/wiki
|
|
issue_url: https://github.com/searxng/searxng/issues
|
|
|
|
search:
|
|
# Filter results. 0: None, 1: Moderate, 2: Strict
|
|
safe_search: 0
|
|
# Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "yandex",
|
|
# "seznam", "startpage", "swisscows", "qwant", "wikipedia" - leave blank to turn it off
|
|
# by default.
|
|
autocomplete: ""
|
|
# minimun characters to type before autocompleter starts
|
|
autocomplete_min: 4
|
|
# Default search language - leave blank to detect from browser information or
|
|
# use codes from 'languages.py'
|
|
default_lang: ""
|
|
# Available languages
|
|
# languages:
|
|
# - all
|
|
# - en
|
|
# - en-US
|
|
# - de
|
|
# - it-IT
|
|
# - fr
|
|
# - fr-BE
|
|
# ban time in seconds after engine errors
|
|
ban_time_on_fail: 5
|
|
# max ban time in seconds after engine errors
|
|
max_ban_time_on_fail: 120
|
|
suspend_times:
|
|
# Engine suspension time after error (in seconds; set to 0 to disable)
|
|
# For error "Access denied" and "HTTP error [402, 403]"
|
|
SearxEngineAccessDenied: 86400
|
|
# For error "CAPTCHA"
|
|
SearxEngineCaptcha: 86400
|
|
# For error "Too many request" and "HTTP error 429"
|
|
SearxEngineTooManyRequests: 3600
|
|
# Cloudflare CAPTCHA
|
|
cf_SearxEngineCaptcha: 1296000
|
|
cf_SearxEngineAccessDenied: 86400
|
|
# ReCAPTCHA
|
|
recaptcha_SearxEngineCaptcha: 604800
|
|
|
|
# remove format to deny access, use lower case.
|
|
# formats: [html, csv, json, rss]
|
|
formats:
|
|
- html
|
|
|
|
server:
|
|
# If you change port, bind_address or base_url don't forget to rebuild
|
|
# instance's environment (make buildenv)
|
|
port: 8888
|
|
bind_address: "127.0.0.1"
|
|
base_url: false # Possible values: false or "https://example.org/location".
|
|
limiter: false # rate limit the number of request on the instance, block some bots
|
|
|
|
# If your instance owns a /etc/searxng/settings.yml file, then set the following
|
|
# values there.
|
|
|
|
secret_key: "ultrasecretkey" # change this!
|
|
# Proxying image results through searx
|
|
image_proxy: false
|
|
# 1.0 and 1.1 are supported
|
|
http_protocol_version: "1.0"
|
|
# POST queries are more secure as they don't show up in history but may cause
|
|
# problems when using Firefox containers
|
|
method: "POST"
|
|
default_http_headers:
|
|
X-Content-Type-Options: nosniff
|
|
X-XSS-Protection: 1; mode=block
|
|
X-Download-Options: noopen
|
|
X-Robots-Tag: noindex, nofollow
|
|
Referrer-Policy: no-referrer
|
|
|
|
redis:
|
|
# https://redis-py.readthedocs.io/en/stable/connections.html#redis.client.Redis.from_url
|
|
url: false
|
|
|
|
ui:
|
|
# Custom static path - leave it blank if you didn't change
|
|
static_path: ""
|
|
static_use_hash: false
|
|
# Custom templates path - leave it blank if you didn't change
|
|
templates_path: ""
|
|
# query_in_title: When true, the result page's titles contains the query
|
|
# it decreases the privacy, since the browser can records the page titles.
|
|
query_in_title: false
|
|
# infinite_scroll: When true, automatically loads the next page when scrolling to bottom of the current page.
|
|
infinite_scroll: false
|
|
# ui theme
|
|
default_theme: simple
|
|
# center the results ?
|
|
center_alignment: false
|
|
# URL prefix of the internet archive, don't forgett trailing slash (if needed).
|
|
# cache_url: "https://webcache.googleusercontent.com/search?q=cache:"
|
|
# Default interface locale - leave blank to detect from browser information or
|
|
# use codes from the 'locales' config section
|
|
default_locale: ""
|
|
# Open result links in a new tab by default
|
|
# results_on_new_tab: false
|
|
theme_args:
|
|
# style of simple theme: auto, light, dark
|
|
simple_style: auto
|
|
|
|
# Lock arbitrary settings on the preferences page. To find the ID of the user
|
|
# setting you want to lock, check the ID of the form on the page "preferences".
|
|
#
|
|
# preferences:
|
|
# lock:
|
|
# - language
|
|
# - autocomplete
|
|
# - method
|
|
# - query_in_title
|
|
|
|
# searx supports result proxification using an external service:
|
|
# https://github.com/asciimoo/morty uncomment below section if you have running
|
|
# morty proxy the key is base64 encoded (keep the !!binary notation)
|
|
# Note: since commit af77ec3, morty accepts a base64 encoded key.
|
|
#
|
|
# result_proxy:
|
|
# url: http://127.0.0.1:3000/
|
|
# # the key is a base64 encoded string, the YAML !!binary prefix is optional
|
|
# key: !!binary "your_morty_proxy_key"
|
|
# # [true|false] enable the "proxy" button next to each result
|
|
# proxify_results: true
|
|
|
|
# communication with search engines
|
|
#
|
|
outgoing:
|
|
# default timeout in seconds, can be override by engine
|
|
request_timeout: 3.0
|
|
# the maximum timeout in seconds
|
|
# max_request_timeout: 10.0
|
|
# suffix of searx_useragent, could contain information like an email address
|
|
# to the administrator
|
|
useragent_suffix: ""
|
|
# The maximum number of concurrent connections that may be established.
|
|
pool_connections: 100
|
|
# Allow the connection pool to maintain keep-alive connections below this
|
|
# point.
|
|
pool_maxsize: 20
|
|
# See https://www.python-httpx.org/http2/
|
|
enable_http2: true
|
|
# uncomment below section if you want to use a custom server certificate
|
|
# see https://www.python-httpx.org/advanced/#changing-the-verification-defaults
|
|
# and https://www.python-httpx.org/compatibility/#ssl-configuration
|
|
# verify: ~/.mitmproxy/mitmproxy-ca-cert.cer
|
|
#
|
|
# uncomment below section if you want to use a proxyq see: SOCKS proxies
|
|
# https://2.python-requests.org/en/latest/user/advanced/#proxies
|
|
# are also supported: see
|
|
# https://2.python-requests.org/en/latest/user/advanced/#socks
|
|
#
|
|
# proxies:
|
|
# all://:
|
|
# - http://proxy1:8080
|
|
# - http://proxy2:8080
|
|
#
|
|
# using_tor_proxy: true
|
|
#
|
|
# Extra seconds to add in order to account for the time taken by the proxy
|
|
#
|
|
# extra_proxy_timeout: 10.0
|
|
#
|
|
# uncomment below section only if you have more than one network interface
|
|
# which can be the source of outgoing search requests
|
|
#
|
|
# source_ips:
|
|
# - 1.1.1.1
|
|
# - 1.1.1.2
|
|
# - fe80::/126
|
|
|
|
# External plugin configuration, for more details see
|
|
# https://docs.searxng.org/dev/plugins.html
|
|
#
|
|
# plugins:
|
|
# - plugin1
|
|
# - plugin2
|
|
# - ...
|
|
|
|
# Comment or un-comment plugin to activate / deactivate by default.
|
|
#
|
|
# enabled_plugins:
|
|
# # these plugins are enabled if nothing is configured ..
|
|
# - 'Hash plugin'
|
|
# - 'Search on category select'
|
|
# - 'Self Information'
|
|
# - 'Tracker URL remover'
|
|
# - 'Ahmia blacklist' # activation depends on outgoing.using_tor_proxy
|
|
# # these plugins are disabled if nothing is configured ..
|
|
# - 'Hostname replace' # see hostname_replace configuration below
|
|
# - 'Open Access DOI rewrite'
|
|
# - 'Vim-like hotkeys'
|
|
# - 'Tor check plugin'
|
|
# # Read the docs before activate: auto-detection of the language could be
|
|
# # detrimental to users expectations / users can activate the plugin in the
|
|
# # preferences if they want.
|
|
# - 'Autodetect search language'
|
|
|
|
# Configuration of the "Hostname replace" plugin:
|
|
#
|
|
# hostname_replace:
|
|
# '(.*\.)?youtube\.com$': 'invidious.example.com'
|
|
# '(.*\.)?youtu\.be$': 'invidious.example.com'
|
|
# '(.*\.)?youtube-noocookie\.com$': 'yotter.example.com'
|
|
# '(.*\.)?reddit\.com$': 'teddit.example.com'
|
|
# '(.*\.)?redd\.it$': 'teddit.example.com'
|
|
# '(www\.)?twitter\.com$': 'nitter.example.com'
|
|
# # to remove matching host names from result list, set value to false
|
|
# 'spam\.example\.com': false
|
|
|
|
checker:
|
|
# disable checker when in debug mode
|
|
off_when_debug: true
|
|
|
|
# use "scheduling: false" to disable scheduling
|
|
# scheduling: interval or int
|
|
|
|
# to activate the scheduler:
|
|
# * uncomment "scheduling" section
|
|
# * add "cache2 = name=searxngcache,items=2000,blocks=2000,blocksize=4096,bitmap=1"
|
|
# to your uwsgi.ini
|
|
|
|
# scheduling:
|
|
# start_after: [300, 1800] # delay to start the first run of the checker
|
|
# every: [86400, 90000] # how often the checker runs
|
|
|
|
# additional tests: only for the YAML anchors (see the engines section)
|
|
#
|
|
additional_tests:
|
|
rosebud: &test_rosebud
|
|
matrix:
|
|
query: rosebud
|
|
lang: en
|
|
result_container:
|
|
- not_empty
|
|
- ['one_title_contains', 'citizen kane']
|
|
test:
|
|
- unique_results
|
|
|
|
android: &test_android
|
|
matrix:
|
|
query: ['android']
|
|
lang: ['en', 'de', 'fr', 'zh-CN']
|
|
result_container:
|
|
- not_empty
|
|
- ['one_title_contains', 'google']
|
|
test:
|
|
- unique_results
|
|
|
|
# tests: only for the YAML anchors (see the engines section)
|
|
tests:
|
|
infobox: &tests_infobox
|
|
infobox:
|
|
matrix:
|
|
query: ["linux", "new york", "bbc"]
|
|
result_container:
|
|
- has_infobox
|
|
|
|
categories_as_tabs:
|
|
general:
|
|
images:
|
|
videos:
|
|
news:
|
|
map:
|
|
music:
|
|
it:
|
|
science:
|
|
files:
|
|
social media:
|
|
|
|
engines:
|
|
- name: 9gag
|
|
engine: 9gag
|
|
shortcut: 9g
|
|
disabled: true
|
|
|
|
- name: apk mirror
|
|
engine: apkmirror
|
|
timeout: 4.0
|
|
shortcut: apkm
|
|
disabled: true
|
|
|
|
- name: apple app store
|
|
engine: apple_app_store
|
|
shortcut: aps
|
|
disabled: true
|
|
|
|
# Requires Tor
|
|
- name: ahmia
|
|
engine: ahmia
|
|
categories: onions
|
|
enable_http: true
|
|
shortcut: ah
|
|
|
|
- name: arch linux wiki
|
|
engine: archlinux
|
|
shortcut: al
|
|
|
|
- name: archive is
|
|
engine: xpath
|
|
search_url: https://archive.is/search/?q={query}
|
|
url_xpath: (//div[@class="TEXT-BLOCK"]/a)/@href
|
|
title_xpath: (//div[@class="TEXT-BLOCK"]/a)
|
|
content_xpath: //div[@class="TEXT-BLOCK"]/ul/li
|
|
categories: general
|
|
timeout: 7.0
|
|
disabled: true
|
|
shortcut: ai
|
|
soft_max_redirects: 1
|
|
about:
|
|
website: https://archive.is/
|
|
wikidata_id: Q13515725
|
|
official_api_documentation: https://mementoweb.org/depot/native/archiveis/
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: artic
|
|
engine: artic
|
|
shortcut: arc
|
|
timeout: 4.0
|
|
|
|
- name: arxiv
|
|
engine: arxiv
|
|
shortcut: arx
|
|
timeout: 4.0
|
|
|
|
# tmp suspended: dh key too small
|
|
# - name: base
|
|
# engine: base
|
|
# shortcut: bs
|
|
|
|
- name: bandcamp
|
|
engine: bandcamp
|
|
shortcut: bc
|
|
categories: music
|
|
|
|
- name: wikipedia
|
|
engine: wikipedia
|
|
shortcut: wp
|
|
base_url: 'https://{language}.wikipedia.org/'
|
|
|
|
- name: bing
|
|
engine: bing
|
|
shortcut: bi
|
|
disabled: true
|
|
|
|
- name: bing images
|
|
engine: bing_images
|
|
shortcut: bii
|
|
|
|
- name: bing news
|
|
engine: bing_news
|
|
shortcut: bin
|
|
|
|
- name: bing videos
|
|
engine: bing_videos
|
|
shortcut: biv
|
|
|
|
- name: bitbucket
|
|
engine: xpath
|
|
paging: true
|
|
search_url: https://bitbucket.org/repo/all/{pageno}?name={query}
|
|
url_xpath: //article[@class="repo-summary"]//a[@class="repo-link"]/@href
|
|
title_xpath: //article[@class="repo-summary"]//a[@class="repo-link"]
|
|
content_xpath: //article[@class="repo-summary"]/p
|
|
categories: [it, repos]
|
|
timeout: 4.0
|
|
disabled: true
|
|
shortcut: bb
|
|
about:
|
|
website: https://bitbucket.org/
|
|
wikidata_id: Q2493781
|
|
official_api_documentation: https://developer.atlassian.com/bitbucket
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: btdigg
|
|
engine: btdigg
|
|
shortcut: bt
|
|
|
|
- name: ccc-tv
|
|
engine: xpath
|
|
paging: false
|
|
search_url: https://media.ccc.de/search/?q={query}
|
|
url_xpath: //div[@class="caption"]/h3/a/@href
|
|
title_xpath: //div[@class="caption"]/h3/a/text()
|
|
content_xpath: //div[@class="caption"]/h4/@title
|
|
categories: videos
|
|
disabled: true
|
|
shortcut: c3tv
|
|
about:
|
|
website: https://media.ccc.de/
|
|
wikidata_id: Q80729951
|
|
official_api_documentation: https://github.com/voc/voctoweb
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
# We don't set language: de here because media.ccc.de is not just
|
|
# for a German audience. It contains many English videos and many
|
|
# German videos have English subtitles.
|
|
|
|
- name: openverse
|
|
engine: openverse
|
|
categories: images
|
|
shortcut: opv
|
|
|
|
# - name: core.ac.uk
|
|
# engine: core
|
|
# categories: science
|
|
# shortcut: cor
|
|
# # get your API key from: https://core.ac.uk/api-keys/register/
|
|
# api_key: 'unset'
|
|
|
|
- name: crossref
|
|
engine: crossref
|
|
shortcut: cr
|
|
timeout: 30
|
|
disabled: true
|
|
|
|
- name: yep
|
|
engine: json_engine
|
|
shortcut: yep
|
|
categories: general
|
|
disabled: true
|
|
paging: false
|
|
content_html_to_text: true
|
|
title_html_to_text: true
|
|
search_url: https://api.yep.com/fs/1/?type=web&q={query}&no_correct=false&limit=100
|
|
results_query: 1/results
|
|
title_query: title
|
|
url_query: url
|
|
content_query: snippet
|
|
about:
|
|
website: https://yep.com
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: JSON
|
|
|
|
- name: curlie
|
|
engine: xpath
|
|
shortcut: cl
|
|
categories: general
|
|
disabled: true
|
|
paging: true
|
|
lang_all: ''
|
|
search_url: https://curlie.org/search?q={query}&lang={lang}&start={pageno}&stime=92452189
|
|
page_size: 20
|
|
results_xpath: //div[@id="site-list-content"]/div[@class="site-item"]
|
|
url_xpath: ./div[@class="title-and-desc"]/a/@href
|
|
title_xpath: ./div[@class="title-and-desc"]/a/div
|
|
content_xpath: ./div[@class="title-and-desc"]/div[@class="site-descr"]
|
|
about:
|
|
website: https://curlie.org/
|
|
wikidata_id: Q60715723
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: currency
|
|
engine: currency_convert
|
|
categories: general
|
|
shortcut: cc
|
|
|
|
- name: deezer
|
|
engine: deezer
|
|
shortcut: dz
|
|
disabled: true
|
|
|
|
- name: deviantart
|
|
engine: deviantart
|
|
shortcut: da
|
|
timeout: 3.0
|
|
|
|
- name: ddg definitions
|
|
engine: duckduckgo_definitions
|
|
shortcut: ddd
|
|
weight: 2
|
|
disabled: true
|
|
tests: *tests_infobox
|
|
|
|
# cloudflare protected
|
|
# - name: digbt
|
|
# engine: digbt
|
|
# shortcut: dbt
|
|
# timeout: 6.0
|
|
# disabled: true
|
|
|
|
- name: docker hub
|
|
engine: docker_hub
|
|
shortcut: dh
|
|
categories: [it, packages]
|
|
|
|
- name: erowid
|
|
engine: xpath
|
|
paging: true
|
|
first_page_num: 0
|
|
page_size: 30
|
|
search_url: https://www.erowid.org/search.php?q={query}&s={pageno}
|
|
url_xpath: //dl[@class="results-list"]/dt[@class="result-title"]/a/@href
|
|
title_xpath: //dl[@class="results-list"]/dt[@class="result-title"]/a/text()
|
|
content_xpath: //dl[@class="results-list"]/dd[@class="result-details"]
|
|
categories: []
|
|
shortcut: ew
|
|
disabled: true
|
|
about:
|
|
website: https://www.erowid.org/
|
|
wikidata_id: Q1430691
|
|
official_api_documentation:
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
# - name: elasticsearch
|
|
# shortcut: es
|
|
# engine: elasticsearch
|
|
# base_url: http://localhost:9200
|
|
# username: elastic
|
|
# password: changeme
|
|
# index: my-index
|
|
# # available options: match, simple_query_string, term, terms, custom
|
|
# query_type: match
|
|
# # if query_type is set to custom, provide your query here
|
|
# #custom_query_json: {"query":{"match_all": {}}}
|
|
# #show_metadata: false
|
|
# disabled: true
|
|
|
|
- name: wikidata
|
|
engine: wikidata
|
|
shortcut: wd
|
|
timeout: 3.0
|
|
weight: 2
|
|
tests: *tests_infobox
|
|
|
|
- name: duckduckgo
|
|
engine: duckduckgo
|
|
shortcut: ddg
|
|
|
|
- name: duckduckgo images
|
|
engine: duckduckgo_images
|
|
shortcut: ddi
|
|
timeout: 3.0
|
|
disabled: true
|
|
|
|
- name: duckduckgo weather
|
|
engine: duckduckgo_weather
|
|
shortcut: ddw
|
|
disabled: true
|
|
|
|
- name: apple maps
|
|
engine: apple_maps
|
|
shortcut: apm
|
|
disabled: true
|
|
timeout: 5.0
|
|
|
|
- name: emojipedia
|
|
engine: emojipedia
|
|
timeout: 4.0
|
|
shortcut: em
|
|
disabled: true
|
|
|
|
- name: tineye
|
|
engine: tineye
|
|
shortcut: tin
|
|
timeout: 9.0
|
|
|
|
- name: etymonline
|
|
engine: xpath
|
|
paging: true
|
|
search_url: https://etymonline.com/search?page={pageno}&q={query}
|
|
url_xpath: //a[contains(@class, "word__name--")]/@href
|
|
title_xpath: //a[contains(@class, "word__name--")]
|
|
content_xpath: //section[contains(@class, "word__defination")]
|
|
first_page_num: 1
|
|
shortcut: et
|
|
categories: [dictionaries]
|
|
disabled: false
|
|
about:
|
|
website: https://www.etymonline.com/
|
|
wikidata_id: Q1188617
|
|
official_api_documentation:
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
# - name: ebay
|
|
# engine: ebay
|
|
# shortcut: eb
|
|
# base_url: 'https://www.ebay.com'
|
|
# disabled: true
|
|
# timeout: 5
|
|
|
|
- name: 1x
|
|
engine: www1x
|
|
shortcut: 1x
|
|
timeout: 3.0
|
|
disabled: true
|
|
|
|
- name: fdroid
|
|
engine: fdroid
|
|
shortcut: fd
|
|
disabled: true
|
|
|
|
- name: flickr
|
|
categories: images
|
|
shortcut: fl
|
|
# You can use the engine using the official stable API, but you need an API
|
|
# key, see: https://www.flickr.com/services/apps/create/
|
|
# engine: flickr
|
|
# api_key: 'apikey' # required!
|
|
# Or you can use the html non-stable engine, activated by default
|
|
engine: flickr_noapi
|
|
|
|
- name: free software directory
|
|
engine: mediawiki
|
|
shortcut: fsd
|
|
categories: [it, software wikis]
|
|
base_url: https://directory.fsf.org/
|
|
number_of_results: 5
|
|
# what part of a page matches the query string: title, text, nearmatch
|
|
# * title - query matches title
|
|
# * text - query matches the text of page
|
|
# * nearmatch - nearmatch in title
|
|
search_type: title
|
|
timeout: 5.0
|
|
disabled: true
|
|
about:
|
|
website: https://directory.fsf.org/
|
|
wikidata_id: Q2470288
|
|
|
|
# - name: freesound
|
|
# engine: freesound
|
|
# shortcut: fnd
|
|
# disabled: true
|
|
# timeout: 15.0
|
|
# API key required, see: https://freesound.org/docs/api/overview.html
|
|
# api_key: MyAPIkey
|
|
|
|
- name: frinkiac
|
|
engine: frinkiac
|
|
shortcut: frk
|
|
disabled: true
|
|
|
|
- name: genius
|
|
engine: genius
|
|
shortcut: gen
|
|
|
|
- name: gigablast
|
|
engine: gigablast
|
|
shortcut: gb
|
|
timeout: 4.0
|
|
disabled: true
|
|
additional_tests:
|
|
rosebud: *test_rosebud
|
|
|
|
- name: gentoo
|
|
engine: gentoo
|
|
shortcut: ge
|
|
|
|
- name: gitlab
|
|
engine: json_engine
|
|
paging: true
|
|
search_url: https://gitlab.com/api/v4/projects?search={query}&page={pageno}
|
|
url_query: web_url
|
|
title_query: name_with_namespace
|
|
content_query: description
|
|
page_size: 20
|
|
categories: [it, repos]
|
|
shortcut: gl
|
|
timeout: 10.0
|
|
disabled: true
|
|
about:
|
|
website: https://about.gitlab.com/
|
|
wikidata_id: Q16639197
|
|
official_api_documentation: https://docs.gitlab.com/ee/api/
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: JSON
|
|
|
|
- name: github
|
|
engine: github
|
|
shortcut: gh
|
|
|
|
# This a Gitea service. If you would like to use a different instance,
|
|
# change codeberg.org to URL of the desired Gitea host. Or you can create a
|
|
# new engine by copying this and changing the name, shortcut and search_url.
|
|
|
|
- name: codeberg
|
|
engine: json_engine
|
|
search_url: https://codeberg.org/api/v1/repos/search?q={query}&limit=10
|
|
url_query: html_url
|
|
title_query: name
|
|
content_query: description
|
|
categories: [it, repos]
|
|
shortcut: cb
|
|
disabled: true
|
|
about:
|
|
website: https://codeberg.org/
|
|
wikidata_id:
|
|
official_api_documentation: https://try.gitea.io/api/swagger
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: JSON
|
|
|
|
- name: google
|
|
engine: google
|
|
shortcut: go
|
|
# see https://docs.searxng.org/src/searx.engines.google.html#module-searx.engines.google
|
|
use_mobile_ui: false
|
|
# additional_tests:
|
|
# android: *test_android
|
|
|
|
# - name: google italian
|
|
# engine: google
|
|
# shortcut: goit
|
|
# use_mobile_ui: false
|
|
# language: it
|
|
|
|
# - name: google mobile ui
|
|
# engine: google
|
|
# shortcut: gomui
|
|
# use_mobile_ui: true
|
|
|
|
- name: google images
|
|
engine: google_images
|
|
shortcut: goi
|
|
# additional_tests:
|
|
# android: *test_android
|
|
# dali:
|
|
# matrix:
|
|
# query: ['Dali Christ']
|
|
# lang: ['en', 'de', 'fr', 'zh-CN']
|
|
# result_container:
|
|
# - ['one_title_contains', 'Salvador']
|
|
|
|
- name: google news
|
|
engine: google_news
|
|
shortcut: gon
|
|
# additional_tests:
|
|
# android: *test_android
|
|
|
|
- name: google videos
|
|
engine: google_videos
|
|
shortcut: gov
|
|
# additional_tests:
|
|
# android: *test_android
|
|
|
|
- name: google scholar
|
|
engine: google_scholar
|
|
shortcut: gos
|
|
|
|
- name: google play apps
|
|
engine: google_play_apps
|
|
shortcut: gpa
|
|
disabled: true
|
|
|
|
- name: google play movies
|
|
engine: xpath
|
|
send_accept_language_header: true
|
|
search_url: https://play.google.com/store/search?q={query}&c=movies
|
|
results_xpath: '//div[@class="ImZGtf mpg5gc"]'
|
|
title_xpath: './/div[@class="RZEgze"]//div[@class="kCSSQe"]//a'
|
|
url_xpath: './/div[@class="RZEgze"]//div[@class="kCSSQe"]//a/@href'
|
|
content_xpath: './/div[@class="kCSSQe"]'
|
|
thumbnail_xpath: './/div[@class="uzcko"]/div/span[1]//img/@data-src'
|
|
categories: videos
|
|
shortcut: gpm
|
|
disabled: true
|
|
about:
|
|
website: https://play.google.com/
|
|
wikidata_id: Q79576
|
|
official_api_documentation:
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: gpodder
|
|
engine: json_engine
|
|
shortcut: gpod
|
|
timeout: 4.0
|
|
paging: false
|
|
search_url: https://gpodder.net/search.json?q={query}
|
|
url_query: url
|
|
title_query: title
|
|
content_query: description
|
|
page_size: 19
|
|
categories: music
|
|
disabled: true
|
|
about:
|
|
website: https://gpodder.net
|
|
wikidata_id: Q3093354
|
|
official_api_documentation: https://gpoddernet.readthedocs.io/en/latest/api/
|
|
use_official_api: false
|
|
requires_api_key: false
|
|
results: JSON
|
|
|
|
- name: habrahabr
|
|
engine: xpath
|
|
paging: true
|
|
search_url: https://habrahabr.ru/search/page{pageno}/?q={query}
|
|
url_xpath: //article[contains(@class, "post")]//a[@class="post__title_link"]/@href
|
|
title_xpath: //article[contains(@class, "post")]//a[@class="post__title_link"]
|
|
content_xpath: //article[contains(@class, "post")]//div[contains(@class, "post__text")]
|
|
categories: it
|
|
timeout: 4.0
|
|
disabled: true
|
|
shortcut: habr
|
|
about:
|
|
website: https://habr.com/
|
|
wikidata_id: Q4494434
|
|
official_api_documentation: https://habr.com/en/docs/help/api/
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: hoogle
|
|
engine: xpath
|
|
paging: true
|
|
search_url: https://hoogle.haskell.org/?hoogle={query}&start={pageno}
|
|
results_xpath: '//div[@class="result"]'
|
|
title_xpath: './/div[@class="ans"]//a'
|
|
url_xpath: './/div[@class="ans"]//a/@href'
|
|
content_xpath: './/div[@class="from"]'
|
|
page_size: 20
|
|
categories: [it, packages]
|
|
shortcut: ho
|
|
about:
|
|
website: https://hoogle.haskell.org/
|
|
wikidata_id: Q34010
|
|
official_api_documentation: https://hackage.haskell.org/api
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: JSON
|
|
|
|
- name: imdb
|
|
engine: imdb
|
|
shortcut: imdb
|
|
timeout: 6.0
|
|
disabled: true
|
|
|
|
- name: ina
|
|
engine: ina
|
|
shortcut: in
|
|
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.snopyta.org
|
|
- https://vid.puffyan.us
|
|
# - https://invidious.kavin.rocks # Error 1020 // Access denied by Cloudflare
|
|
- https://invidio.xamh.de
|
|
- https://inv.riverside.rocks
|
|
shortcut: iv
|
|
timeout: 3.0
|
|
disabled: true
|
|
|
|
- name: jisho
|
|
engine: jisho
|
|
shortcut: js
|
|
timeout: 3.0
|
|
disabled: true
|
|
|
|
- name: kickass
|
|
engine: kickass
|
|
shortcut: kc
|
|
timeout: 4.0
|
|
disabled: true
|
|
|
|
- name: library genesis
|
|
engine: xpath
|
|
search_url: https://libgen.fun/search.php?req={query}
|
|
url_xpath: //a[contains(@href,"get.php?md5")]/@href
|
|
title_xpath: //a[contains(@href,"book/")]/text()[1]
|
|
content_xpath: //td/a[1][contains(@href,"=author")]/text()
|
|
categories: files
|
|
timeout: 7.0
|
|
disabled: true
|
|
shortcut: lg
|
|
about:
|
|
website: https://libgen.fun/
|
|
wikidata_id: Q22017206
|
|
official_api_documentation:
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
# Disabling zlibrary due to z-lib.org domain seizure
|
|
# https://github.com/searxng/searxng/pull/1937
|
|
#
|
|
# - name: z-library
|
|
# engine: zlibrary
|
|
# shortcut: zlib
|
|
# categories: files
|
|
# timeout: 3.0
|
|
# # choose base_url, otherwise engine will do it at initialization time
|
|
# # base_url: https://b-ok.cc
|
|
# # base_url: https://de1lib.org
|
|
# # base_url: https://booksc.eu # does not have cover preview
|
|
# # base_url: https://booksc.org # does not have cover preview
|
|
|
|
- name: library of congress
|
|
engine: loc
|
|
shortcut: loc
|
|
categories: images
|
|
|
|
- name: lingva
|
|
engine: lingva
|
|
shortcut: lv
|
|
# set lingva instance in url, by default it will use the official instance
|
|
# url: https://lingva.ml
|
|
|
|
- name: lobste.rs
|
|
engine: xpath
|
|
search_url: https://lobste.rs/search?utf8=%E2%9C%93&q={query}&what=stories&order=relevance
|
|
results_xpath: //li[contains(@class, "story")]
|
|
url_xpath: .//a[@class="u-url"]/@href
|
|
title_xpath: .//a[@class="u-url"]
|
|
content_xpath: .//a[@class="domain"]
|
|
categories: it
|
|
shortcut: lo
|
|
timeout: 5.0
|
|
disabled: true
|
|
about:
|
|
website: https://lobste.rs/
|
|
wikidata_id: Q60762874
|
|
official_api_documentation:
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: azlyrics
|
|
shortcut: lyrics
|
|
engine: xpath
|
|
timeout: 4.0
|
|
disabled: true
|
|
categories: [music, lyrics]
|
|
paging: true
|
|
search_url: https://search.azlyrics.com/search.php?q={query}&w=lyrics&p={pageno}
|
|
url_xpath: //td[@class="text-left visitedlyr"]/a/@href
|
|
title_xpath: //span/b/text()
|
|
content_xpath: //td[@class="text-left visitedlyr"]/a/small
|
|
about:
|
|
website: https://azlyrics.com
|
|
wikidata_id: Q66372542
|
|
official_api_documentation:
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: metacpan
|
|
engine: metacpan
|
|
shortcut: cpan
|
|
disabled: true
|
|
number_of_results: 20
|
|
|
|
# - name: meilisearch
|
|
# engine: meilisearch
|
|
# shortcut: mes
|
|
# enable_http: true
|
|
# base_url: http://localhost:7700
|
|
# index: my-index
|
|
|
|
- name: mixcloud
|
|
engine: mixcloud
|
|
shortcut: mc
|
|
|
|
# MongoDB engine
|
|
# Required dependency: pymongo
|
|
# - name: mymongo
|
|
# engine: mongodb
|
|
# shortcut: md
|
|
# exact_match_only: false
|
|
# host: '127.0.0.1'
|
|
# port: 27017
|
|
# enable_http: true
|
|
# results_per_page: 20
|
|
# database: 'business'
|
|
# collection: 'reviews' # name of the db collection
|
|
# key: 'name' # key in the collection to search for
|
|
|
|
- name: neeva
|
|
engine: xpath
|
|
shortcut: nv
|
|
time_range_support: true
|
|
time_range_url: '&alf%5Bfreshness%5D={time_range_val}'
|
|
time_range_map:
|
|
day: 'Day'
|
|
week: 'Week'
|
|
month: 'Month'
|
|
year: 'Year'
|
|
search_url: https://neeva.com/search?q={query}&c=All&src=Pagination&page={pageno}{time_range}
|
|
results_xpath: //div[@class="web-index__component-2rKiM"] | //li[@class="web-rich-deep-links__deepLink-SIbD4"]
|
|
url_xpath: .//a[@class="lib-doc-title__link-1b9rC"]/@href | ./h2/a/@href
|
|
title_xpath: .//a[@class="lib-doc-title__link-1b9rC"] | ./h2/a
|
|
content_xpath: >
|
|
.//div[@class="lib-doc-snippet__component-3ewW6"]/text() |
|
|
.//div[@class="lib-doc-snippet__component-3ewW6"]/*[not(self::a)] |
|
|
./p
|
|
content_html_to_text: true
|
|
suggestion_xpath: //span[@class="result-related-searches__link-2ho_u"]
|
|
paging: true
|
|
disabled: true
|
|
categories: [general, web]
|
|
timeout: 5.0
|
|
soft_max_redirects: 2
|
|
about:
|
|
website: https://neeva.com
|
|
official_api_documentation:
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: npm
|
|
engine: json_engine
|
|
paging: true
|
|
first_page_num: 0
|
|
search_url: https://api.npms.io/v2/search?q={query}&size=25&from={pageno}
|
|
results_query: results
|
|
url_query: package/links/npm
|
|
title_query: package/name
|
|
content_query: package/description
|
|
page_size: 25
|
|
categories: [it, packages]
|
|
disabled: true
|
|
timeout: 5.0
|
|
shortcut: npm
|
|
about:
|
|
website: https://npms.io/
|
|
wikidata_id: Q7067518
|
|
official_api_documentation: https://api-docs.npms.io/
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: JSON
|
|
|
|
- name: nyaa
|
|
engine: nyaa
|
|
shortcut: nt
|
|
disabled: true
|
|
|
|
- name: mankier
|
|
engine: json_engine
|
|
search_url: https://www.mankier.com/api/v2/mans/?q={query}
|
|
results_query: results
|
|
url_query: url
|
|
title_query: name
|
|
content_query: description
|
|
categories: it
|
|
shortcut: man
|
|
about:
|
|
website: https://www.mankier.com/
|
|
official_api_documentation: https://www.mankier.com/api
|
|
use_official_api: true
|
|
require_api_key: false
|
|
results: JSON
|
|
|
|
- name: openairedatasets
|
|
engine: json_engine
|
|
paging: true
|
|
search_url: https://api.openaire.eu/search/datasets?format=json&page={pageno}&size=10&title={query}
|
|
results_query: response/results/result
|
|
url_query: metadata/oaf:entity/oaf:result/children/instance/webresource/url/$
|
|
title_query: metadata/oaf:entity/oaf:result/title/$
|
|
content_query: metadata/oaf:entity/oaf:result/description/$
|
|
content_html_to_text: true
|
|
categories: "science"
|
|
shortcut: oad
|
|
timeout: 5.0
|
|
about:
|
|
website: https://www.openaire.eu/
|
|
wikidata_id: Q25106053
|
|
official_api_documentation: https://api.openaire.eu/
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: JSON
|
|
|
|
- name: openairepublications
|
|
engine: json_engine
|
|
paging: true
|
|
search_url: https://api.openaire.eu/search/publications?format=json&page={pageno}&size=10&title={query}
|
|
results_query: response/results/result
|
|
url_query: metadata/oaf:entity/oaf:result/children/instance/webresource/url/$
|
|
title_query: metadata/oaf:entity/oaf:result/title/$
|
|
content_query: metadata/oaf:entity/oaf:result/description/$
|
|
content_html_to_text: true
|
|
categories: science
|
|
shortcut: oap
|
|
timeout: 5.0
|
|
about:
|
|
website: https://www.openaire.eu/
|
|
wikidata_id: Q25106053
|
|
official_api_documentation: https://api.openaire.eu/
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: JSON
|
|
|
|
# - name: opensemanticsearch
|
|
# engine: opensemantic
|
|
# shortcut: oss
|
|
# base_url: 'http://localhost:8983/solr/opensemanticsearch/'
|
|
|
|
- name: openstreetmap
|
|
engine: openstreetmap
|
|
shortcut: osm
|
|
|
|
- name: openrepos
|
|
engine: xpath
|
|
paging: true
|
|
search_url: https://openrepos.net/search/node/{query}?page={pageno}
|
|
url_xpath: //li[@class="search-result"]//h3[@class="title"]/a/@href
|
|
title_xpath: //li[@class="search-result"]//h3[@class="title"]/a
|
|
content_xpath: //li[@class="search-result"]//div[@class="search-snippet-info"]//p[@class="search-snippet"]
|
|
categories: files
|
|
timeout: 4.0
|
|
disabled: true
|
|
shortcut: or
|
|
about:
|
|
website: https://openrepos.net/
|
|
wikidata_id:
|
|
official_api_documentation:
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: packagist
|
|
engine: json_engine
|
|
paging: true
|
|
search_url: https://packagist.org/search.json?q={query}&page={pageno}
|
|
results_query: results
|
|
url_query: url
|
|
title_query: name
|
|
content_query: description
|
|
categories: [it, packages]
|
|
disabled: true
|
|
timeout: 5.0
|
|
shortcut: pack
|
|
about:
|
|
website: https://packagist.org
|
|
wikidata_id: Q108311377
|
|
official_api_documentation: https://packagist.org/apidoc
|
|
use_official_api: true
|
|
require_api_key: false
|
|
results: JSON
|
|
|
|
- name: pdbe
|
|
engine: pdbe
|
|
shortcut: pdb
|
|
# Hide obsolete PDB entries. Default is not to hide obsolete structures
|
|
# hide_obsolete: false
|
|
|
|
- name: photon
|
|
engine: photon
|
|
shortcut: ph
|
|
|
|
- name: piratebay
|
|
engine: piratebay
|
|
shortcut: tpb
|
|
# You may need to change this URL to a proxy if piratebay is blocked in your
|
|
# country
|
|
url: https://thepiratebay.org/
|
|
timeout: 3.0
|
|
|
|
# Required dependency: psychopg2
|
|
# - name: postgresql
|
|
# engine: postgresql
|
|
# database: postgres
|
|
# username: postgres
|
|
# password: postgres
|
|
# limit: 10
|
|
# query_str: 'SELECT * from my_table WHERE my_column = %(query)s'
|
|
# shortcut : psql
|
|
|
|
- name: pub.dev
|
|
engine: xpath
|
|
shortcut: pd
|
|
search_url: https://pub.dev/packages?q={query}&page={pageno}
|
|
paging: true
|
|
results_xpath: /html/body/main/div/div[@class="search-results"]/div[@class="packages"]/div
|
|
url_xpath: ./div/h3/a/@href
|
|
title_xpath: ./div/h3/a
|
|
content_xpath: ./p[@class="packages-description"]
|
|
categories: [packages, it]
|
|
timeout: 3.0
|
|
disabled: true
|
|
first_page_num: 1
|
|
about:
|
|
website: https://pub.dev/
|
|
official_api_documentation: https://pub.dev/help/api
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: pubmed
|
|
engine: pubmed
|
|
shortcut: pub
|
|
timeout: 3.0
|
|
|
|
- name: pypi
|
|
shortcut: pypi
|
|
engine: xpath
|
|
paging: true
|
|
search_url: https://pypi.org/search?q={query}&page={pageno}
|
|
results_xpath: /html/body/main/div/div/div/form/div/ul/li/a[@class="package-snippet"]
|
|
url_xpath: ./@href
|
|
title_xpath: ./h3/span[@class="package-snippet__name"]
|
|
content_xpath: ./p
|
|
suggestion_xpath: /html/body/main/div/div/div/form/div/div[@class="callout-block"]/p/span/a[@class="link"]
|
|
first_page_num: 1
|
|
categories: [it, packages]
|
|
about:
|
|
website: https://pypi.org
|
|
wikidata_id: Q2984686
|
|
official_api_documentation: https://warehouse.readthedocs.io/api-reference/index.html
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: qwant
|
|
qwant_categ: web
|
|
engine: qwant
|
|
shortcut: qw
|
|
categories: [general, web]
|
|
disabled: false
|
|
additional_tests:
|
|
rosebud: *test_rosebud
|
|
|
|
- name: qwant news
|
|
qwant_categ: news
|
|
engine: qwant
|
|
shortcut: qwn
|
|
categories: news
|
|
disabled: false
|
|
network: qwant
|
|
|
|
- name: qwant images
|
|
qwant_categ: images
|
|
engine: qwant
|
|
shortcut: qwi
|
|
categories: [images, web]
|
|
disabled: false
|
|
network: qwant
|
|
|
|
- name: qwant videos
|
|
qwant_categ: videos
|
|
engine: qwant
|
|
shortcut: qwv
|
|
categories: [videos, web]
|
|
disabled: false
|
|
network: qwant
|
|
|
|
# - name: library
|
|
# engine: recoll
|
|
# shortcut: lib
|
|
# base_url: 'https://recoll.example.org/'
|
|
# search_dir: ''
|
|
# mount_prefix: /export
|
|
# dl_prefix: 'https://download.example.org'
|
|
# timeout: 30.0
|
|
# categories: files
|
|
# disabled: true
|
|
|
|
# - name: recoll library reference
|
|
# engine: recoll
|
|
# base_url: 'https://recoll.example.org/'
|
|
# search_dir: reference
|
|
# mount_prefix: /export
|
|
# dl_prefix: 'https://download.example.org'
|
|
# shortcut: libr
|
|
# timeout: 30.0
|
|
# categories: files
|
|
# disabled: true
|
|
|
|
- name: reddit
|
|
engine: reddit
|
|
shortcut: re
|
|
page_size: 25
|
|
|
|
# Required dependency: redis
|
|
# - name: myredis
|
|
# shortcut : rds
|
|
# engine: redis_server
|
|
# exact_match_only: false
|
|
# host: '127.0.0.1'
|
|
# port: 6379
|
|
# enable_http: true
|
|
# password: ''
|
|
# db: 0
|
|
|
|
# tmp suspended: bad certificate
|
|
# - name: scanr structures
|
|
# shortcut: scs
|
|
# engine: scanr_structures
|
|
# disabled: true
|
|
|
|
- name: sepiasearch
|
|
engine: sepiasearch
|
|
shortcut: sep
|
|
|
|
- name: soundcloud
|
|
engine: soundcloud
|
|
shortcut: sc
|
|
|
|
- name: stackoverflow
|
|
engine: stackexchange
|
|
shortcut: st
|
|
api_site: 'stackoverflow'
|
|
categories: [it, q&a]
|
|
|
|
- name: askubuntu
|
|
engine: stackexchange
|
|
shortcut: ubuntu
|
|
api_site: 'askubuntu'
|
|
categories: [it, q&a]
|
|
|
|
- name: superuser
|
|
engine: stackexchange
|
|
shortcut: su
|
|
api_site: 'superuser'
|
|
categories: [it, q&a]
|
|
|
|
- name: searchcode code
|
|
engine: searchcode_code
|
|
shortcut: scc
|
|
disabled: true
|
|
|
|
- name: framalibre
|
|
engine: framalibre
|
|
shortcut: frl
|
|
disabled: true
|
|
|
|
# - name: searx
|
|
# engine: searx_engine
|
|
# shortcut: se
|
|
# instance_urls :
|
|
# - http://127.0.0.1:8888/
|
|
# - ...
|
|
# disabled: true
|
|
|
|
- name: semantic scholar
|
|
engine: semantic_scholar
|
|
disabled: true
|
|
shortcut: se
|
|
|
|
# Spotify needs API credentials
|
|
# - name: spotify
|
|
# engine: spotify
|
|
# shortcut: stf
|
|
# api_client_id: *******
|
|
# api_client_secret: *******
|
|
|
|
# - name: solr
|
|
# engine: solr
|
|
# shortcut: slr
|
|
# base_url: http://localhost:8983
|
|
# collection: collection_name
|
|
# sort: '' # sorting: asc or desc
|
|
# field_list: '' # comma separated list of field names to display on the UI
|
|
# default_fields: '' # default field to query
|
|
# query_fields: '' # query fields
|
|
# enable_http: true
|
|
|
|
# - name: springer nature
|
|
# engine: springer
|
|
# # get your API key from: https://dev.springernature.com/signup
|
|
# # working API key, for test & debug: "a69685087d07eca9f13db62f65b8f601"
|
|
# api_key: 'unset'
|
|
# shortcut: springer
|
|
# timeout: 15.0
|
|
|
|
- name: startpage
|
|
engine: startpage
|
|
shortcut: sp
|
|
timeout: 6.0
|
|
disabled: true
|
|
additional_tests:
|
|
rosebud: *test_rosebud
|
|
|
|
- name: tokyotoshokan
|
|
engine: tokyotoshokan
|
|
shortcut: tt
|
|
timeout: 6.0
|
|
disabled: true
|
|
|
|
- name: solidtorrents
|
|
engine: solidtorrents
|
|
shortcut: solid
|
|
timeout: 4.0
|
|
disabled: false
|
|
base_url:
|
|
- https://solidtorrents.net
|
|
- https://solidtorrents.eu
|
|
- https://solidtorrents.to
|
|
- https://bitsearch.to
|
|
|
|
# For this demo of the sqlite engine download:
|
|
# https://liste.mediathekview.de/filmliste-v2.db.bz2
|
|
# and unpack into searx/data/filmliste-v2.db
|
|
# Query to test: "!demo concert"
|
|
#
|
|
# - name: demo
|
|
# engine: sqlite
|
|
# shortcut: demo
|
|
# categories: general
|
|
# result_template: default.html
|
|
# database: searx/data/filmliste-v2.db
|
|
# query_str: >-
|
|
# SELECT title || ' (' || time(duration, 'unixepoch') || ')' AS title,
|
|
# COALESCE( NULLIF(url_video_hd,''), NULLIF(url_video_sd,''), url_video) AS url,
|
|
# description AS content
|
|
# FROM film
|
|
# WHERE title LIKE :wildcard OR description LIKE :wildcard
|
|
# ORDER BY duration DESC
|
|
# disabled: false
|
|
|
|
# Requires Tor
|
|
- name: torch
|
|
engine: xpath
|
|
paging: true
|
|
search_url:
|
|
http://xmh57jrknzkhv6y3ls3ubitzfqnkrwxhopf5aygthi7d6rplyvk3noyd.onion/cgi-bin/omega/omega?P={query}&DEFAULTOP=and
|
|
results_xpath: //table//tr
|
|
url_xpath: ./td[2]/a
|
|
title_xpath: ./td[2]/b
|
|
content_xpath: ./td[2]/small
|
|
categories: onions
|
|
enable_http: true
|
|
shortcut: tch
|
|
|
|
# torznab engine lets you query any torznab compatible indexer. Using this
|
|
# engine in combination with Jackett (https://github.com/Jackett/Jackett)
|
|
# opens the possibility to query a lot of public and private indexers directly
|
|
# from SearXNG.
|
|
# - name: torznab
|
|
# engine: torznab
|
|
# shortcut: trz
|
|
# base_url: http://localhost:9117/api/v2.0/indexers/all/results/torznab
|
|
# enable_http: true # if using localhost
|
|
# api_key: xxxxxxxxxxxxxxx
|
|
# # https://github.com/Jackett/Jackett/wiki/Jackett-Categories
|
|
# torznab_categories: # optional
|
|
# - 2000
|
|
# - 5000
|
|
|
|
- name: twitter
|
|
shortcut: tw
|
|
engine: twitter
|
|
disabled: true
|
|
|
|
# maybe in a fun category
|
|
# - name: uncyclopedia
|
|
# engine: mediawiki
|
|
# shortcut: unc
|
|
# base_url: https://uncyclopedia.wikia.com/
|
|
# number_of_results: 5
|
|
|
|
# tmp suspended - too slow, too many errors
|
|
# - name: urbandictionary
|
|
# engine : xpath
|
|
# search_url : https://www.urbandictionary.com/define.php?term={query}
|
|
# url_xpath : //*[@class="word"]/@href
|
|
# title_xpath : //*[@class="def-header"]
|
|
# content_xpath: //*[@class="meaning"]
|
|
# shortcut: ud
|
|
|
|
- name: unsplash
|
|
engine: unsplash
|
|
shortcut: us
|
|
|
|
- name: yahoo
|
|
engine: yahoo
|
|
shortcut: yh
|
|
disabled: true
|
|
|
|
- name: yahoo news
|
|
engine: yahoo_news
|
|
shortcut: yhn
|
|
|
|
- name: youtube
|
|
shortcut: yt
|
|
# You can use the engine using the official stable API, but you need an API
|
|
# key See: https://console.developers.google.com/project
|
|
#
|
|
# engine: youtube_api
|
|
# api_key: 'apikey' # required!
|
|
#
|
|
# Or you can use the html non-stable engine, activated by default
|
|
engine: youtube_noapi
|
|
|
|
- name: dailymotion
|
|
engine: dailymotion
|
|
shortcut: dm
|
|
|
|
- name: vimeo
|
|
engine: vimeo
|
|
shortcut: vm
|
|
|
|
- name: wiby
|
|
engine: json_engine
|
|
search_url: https://wiby.me/json/?q={query}
|
|
url_query: URL
|
|
title_query: Title
|
|
content_query: Snippet
|
|
categories: [general, web]
|
|
shortcut: wib
|
|
disabled: true
|
|
about:
|
|
website: https://wiby.me/
|
|
|
|
- name: marginalia
|
|
engine: json_engine
|
|
shortcut: mar
|
|
categories: general
|
|
paging: false
|
|
# index: {"0": "popular", "1": "blogs", "2": "big_sites",
|
|
# "3": "default", "4": experimental"}
|
|
search_url: https://api.marginalia.nu/public/search/{query}?index=4&count=20
|
|
results_query: results
|
|
url_query: url
|
|
title_query: title
|
|
content_query: description
|
|
timeout: 1.5
|
|
disabled: true
|
|
about:
|
|
website: https://www.marginalia.nu/
|
|
official_api_documentation: https://api.marginalia.nu/
|
|
use_official_api: true
|
|
require_api_key: true
|
|
results: JSON
|
|
|
|
- name: alexandria
|
|
engine: json_engine
|
|
shortcut: alx
|
|
categories: general
|
|
paging: true
|
|
search_url: https://api.alexandria.org/?a=1&q={query}&p={pageno}
|
|
results_query: results
|
|
title_query: title
|
|
url_query: url
|
|
content_query: snippet
|
|
timeout: 1.5
|
|
disabled: true
|
|
about:
|
|
website: https://alexandria.org/
|
|
official_api_documentation: https://github.com/alexandria-org/alexandria-api/raw/master/README.md
|
|
use_official_api: true
|
|
require_api_key: false
|
|
results: JSON
|
|
|
|
- name: wikibooks
|
|
engine: mediawiki
|
|
shortcut: wb
|
|
categories: general
|
|
base_url: "https://{language}.wikibooks.org/"
|
|
number_of_results: 5
|
|
search_type: text
|
|
disabled: true
|
|
about:
|
|
website: https://www.wikibooks.org/
|
|
wikidata_id: Q367
|
|
|
|
- name: wikinews
|
|
engine: mediawiki
|
|
shortcut: wn
|
|
categories: news
|
|
base_url: "https://{language}.wikinews.org/"
|
|
number_of_results: 5
|
|
search_type: text
|
|
disabled: true
|
|
about:
|
|
website: https://www.wikinews.org/
|
|
wikidata_id: Q964
|
|
|
|
- name: wikiquote
|
|
engine: mediawiki
|
|
shortcut: wq
|
|
categories: general
|
|
base_url: "https://{language}.wikiquote.org/"
|
|
number_of_results: 5
|
|
search_type: text
|
|
disabled: true
|
|
additional_tests:
|
|
rosebud: *test_rosebud
|
|
about:
|
|
website: https://www.wikiquote.org/
|
|
wikidata_id: Q369
|
|
|
|
- name: wikisource
|
|
engine: mediawiki
|
|
shortcut: ws
|
|
categories: general
|
|
base_url: "https://{language}.wikisource.org/"
|
|
number_of_results: 5
|
|
search_type: text
|
|
disabled: true
|
|
about:
|
|
website: https://www.wikisource.org/
|
|
wikidata_id: Q263
|
|
|
|
- name: wiktionary
|
|
engine: mediawiki
|
|
shortcut: wt
|
|
categories: [dictionaries]
|
|
base_url: "https://{language}.wiktionary.org/"
|
|
number_of_results: 5
|
|
search_type: text
|
|
disabled: false
|
|
about:
|
|
website: https://www.wiktionary.org/
|
|
wikidata_id: Q151
|
|
|
|
- name: wikiversity
|
|
engine: mediawiki
|
|
shortcut: wv
|
|
categories: general
|
|
base_url: "https://{language}.wikiversity.org/"
|
|
number_of_results: 5
|
|
search_type: text
|
|
disabled: true
|
|
about:
|
|
website: https://www.wikiversity.org/
|
|
wikidata_id: Q370
|
|
|
|
- name: wikivoyage
|
|
engine: mediawiki
|
|
shortcut: wy
|
|
categories: general
|
|
base_url: "https://{language}.wikivoyage.org/"
|
|
number_of_results: 5
|
|
search_type: text
|
|
disabled: true
|
|
about:
|
|
website: https://www.wikivoyage.org/
|
|
wikidata_id: Q373
|
|
|
|
- name: wolframalpha
|
|
shortcut: wa
|
|
# You can use the engine using the official stable API, but you need an API
|
|
# key. See: https://products.wolframalpha.com/api/
|
|
#
|
|
# engine: wolframalpha_api
|
|
# api_key: ''
|
|
#
|
|
# Or you can use the html non-stable engine, activated by default
|
|
engine: wolframalpha_noapi
|
|
timeout: 6.0
|
|
categories: []
|
|
|
|
- name: dictzone
|
|
engine: dictzone
|
|
shortcut: dc
|
|
|
|
- name: mymemory translated
|
|
engine: translated
|
|
shortcut: tl
|
|
timeout: 5.0
|
|
disabled: false
|
|
# You can use without an API key, but you are limited to 1000 words/day
|
|
# See: https://mymemory.translated.net/doc/usagelimits.php
|
|
# api_key: ''
|
|
|
|
# Required dependency: mysql-connector-python
|
|
# - name: mysql
|
|
# engine: mysql_server
|
|
# database: mydatabase
|
|
# username: user
|
|
# password: pass
|
|
# limit: 10
|
|
# query_str: 'SELECT * from mytable WHERE fieldname=%(query)s'
|
|
# shortcut: mysql
|
|
|
|
- name: 1337x
|
|
engine: 1337x
|
|
shortcut: 1337x
|
|
disabled: true
|
|
|
|
- name: duden
|
|
engine: duden
|
|
shortcut: du
|
|
disabled: true
|
|
|
|
- name: seznam
|
|
shortcut: szn
|
|
engine: seznam
|
|
disabled: true
|
|
|
|
# - name: deepl
|
|
# engine: deepl
|
|
# shortcut: dpl
|
|
# # You can use the engine using the official stable API, but you need an API key
|
|
# # See: https://www.deepl.com/pro-api?cta=header-pro-api
|
|
# api_key: '' # required!
|
|
# timeout: 5.0
|
|
# disabled: true
|
|
|
|
- name: mojeek
|
|
shortcut: mjk
|
|
engine: xpath
|
|
paging: true
|
|
categories: [general, web]
|
|
search_url: https://www.mojeek.com/search?q={query}&s={pageno}&lang={lang}&lb={lang}
|
|
results_xpath: //ul[@class="results-standard"]/li/a[@class="ob"]
|
|
url_xpath: ./@href
|
|
title_xpath: ../h2/a
|
|
content_xpath: ..//p[@class="s"]
|
|
suggestion_xpath: //div[@class="top-info"]/p[@class="top-info spell"]/em/a
|
|
first_page_num: 0
|
|
page_size: 10
|
|
disabled: true
|
|
about:
|
|
website: https://www.mojeek.com/
|
|
wikidata_id: Q60747299
|
|
official_api_documentation: https://www.mojeek.com/services/api.html/
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: naver
|
|
shortcut: nvr
|
|
categories: [general, web]
|
|
engine: xpath
|
|
paging: true
|
|
search_url: https://search.naver.com/search.naver?where=webkr&sm=osp_hty&ie=UTF-8&query={query}&start={pageno}
|
|
url_xpath: //a[@class="link_tit"]/@href
|
|
title_xpath: //a[@class="link_tit"]
|
|
content_xpath: //a[@class="total_dsc"]/div
|
|
first_page_num: 1
|
|
page_size: 10
|
|
disabled: true
|
|
about:
|
|
website: https://www.naver.com/
|
|
wikidata_id: Q485639
|
|
official_api_documentation: https://developers.naver.com/docs/nmt/examples/
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
language: ko
|
|
|
|
- name: rubygems
|
|
shortcut: rbg
|
|
engine: xpath
|
|
paging: true
|
|
search_url: https://rubygems.org/search?page={pageno}&query={query}
|
|
results_xpath: /html/body/main/div/a[@class="gems__gem"]
|
|
url_xpath: ./@href
|
|
title_xpath: ./span/h2
|
|
content_xpath: ./span/p
|
|
suggestion_xpath: /html/body/main/div/div[@class="search__suggestions"]/p/a
|
|
first_page_num: 1
|
|
categories: [it, packages]
|
|
disabled: true
|
|
about:
|
|
website: https://rubygems.org/
|
|
wikidata_id: Q1853420
|
|
official_api_documentation: https://guides.rubygems.org/rubygems-org-api/
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: peertube
|
|
engine: peertube
|
|
shortcut: ptb
|
|
paging: true
|
|
# https://instances.joinpeertube.org/instances
|
|
base_url: https://peertube.biz/
|
|
# base_url: https://tube.tardis.world/
|
|
categories: videos
|
|
disabled: true
|
|
timeout: 6.0
|
|
|
|
- name: mediathekviewweb
|
|
engine: mediathekviewweb
|
|
shortcut: mvw
|
|
disabled: true
|
|
|
|
# - name: yacy
|
|
# engine: yacy
|
|
# shortcut: ya
|
|
# base_url: http://localhost:8090
|
|
# required if you aren't using HTTPS for your local yacy instance'
|
|
# enable_http: true
|
|
# number_of_results: 5
|
|
# timeout: 3.0
|
|
|
|
- name: rumble
|
|
engine: rumble
|
|
shortcut: ru
|
|
base_url: https://rumble.com/
|
|
paging: true
|
|
categories: videos
|
|
disabled: true
|
|
|
|
- name: wordnik
|
|
engine: wordnik
|
|
shortcut: def
|
|
base_url: https://www.wordnik.com/
|
|
categories: [dictionaries]
|
|
timeout: 5.0
|
|
disabled: false
|
|
|
|
- name: woxikon.de synonyme
|
|
engine: xpath
|
|
shortcut: woxi
|
|
categories: [dictionaries]
|
|
timeout: 5.0
|
|
disabled: true
|
|
search_url: https://synonyme.woxikon.de/synonyme/{query}.php
|
|
url_xpath: //div[@class="upper-synonyms"]/a/@href
|
|
content_xpath: //div[@class="synonyms-list-group"]
|
|
title_xpath: //div[@class="upper-synonyms"]/a
|
|
no_result_for_http_status: [404]
|
|
about:
|
|
website: https://www.woxikon.de/
|
|
wikidata_id: # No Wikidata ID
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
language: de
|
|
|
|
- name: sjp.pwn
|
|
engine: sjp
|
|
shortcut: sjp
|
|
base_url: https://sjp.pwn.pl/
|
|
timeout: 5.0
|
|
disabled: true
|
|
|
|
# wikimini: online encyclopedia for children
|
|
# The fulltext and title parameter is necessary for Wikimini because
|
|
# sometimes it will not show the results and redirect instead
|
|
- name: wikimini
|
|
engine: xpath
|
|
shortcut: wkmn
|
|
search_url: https://fr.wikimini.org/w/index.php?search={query}&title=Sp%C3%A9cial%3ASearch&fulltext=Search
|
|
url_xpath: //li/div[@class="mw-search-result-heading"]/a/@href
|
|
title_xpath: //li//div[@class="mw-search-result-heading"]/a
|
|
content_xpath: //li/div[@class="searchresult"]
|
|
categories: general
|
|
disabled: true
|
|
about:
|
|
website: https://wikimini.org/
|
|
wikidata_id: Q3568032
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
language: fr
|
|
|
|
- name: wttr.in
|
|
engine: wttr
|
|
shortcut: wttr
|
|
timeout: 9.0
|
|
|
|
- name: brave
|
|
shortcut: brave
|
|
engine: xpath
|
|
paging: true
|
|
time_range_support: true
|
|
first_page_num: 0
|
|
time_range_url: "&tf={time_range_val}"
|
|
search_url: https://search.brave.com/search?q={query}&offset={pageno}&spellcheck=1{time_range}
|
|
url_xpath: //a[@class="result-header"]/@href
|
|
title_xpath: //span[@class="snippet-title"]
|
|
content_xpath: //p[1][@class="snippet-description"]
|
|
suggestion_xpath: //div[@class="text-gray h6"]/a
|
|
time_range_map:
|
|
day: 'pd'
|
|
week: 'pw'
|
|
month: 'pm'
|
|
year: 'py'
|
|
categories: [general, web]
|
|
disabled: true
|
|
headers:
|
|
Accept-Encoding: gzip, deflate
|
|
about:
|
|
website: https://brave.com/search/
|
|
wikidata_id: Q107355971
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: petalsearch
|
|
shortcut: pts
|
|
engine: xpath
|
|
paging: true
|
|
search_url: https://petalsearch.com/search?query={query}&pn={pageno}
|
|
results_xpath: //div[@class="webpage-content"]/div[@class="title-cont"]/a
|
|
url_xpath: ./@href
|
|
title_xpath: .
|
|
content_xpath: ../../div[@class="webpage-text"]
|
|
suggestion_xpath: //div[@class="related-search-items"]/a
|
|
first_page_num: 1
|
|
disabled: true
|
|
about:
|
|
website: https://petalsearch.com/
|
|
wikidata_id: Q104399280
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: petalsearch images
|
|
engine: petal_images
|
|
shortcut: ptsi
|
|
disabled: true
|
|
timeout: 3.0
|
|
|
|
- name: petalsearch news
|
|
shortcut: ptsn
|
|
categories: news
|
|
engine: xpath
|
|
paging: true
|
|
search_url: https://petalsearch.com/search?channel=news&query={query}&pn={pageno}
|
|
results_xpath: //div[@class="news-container"]/div/div/div/a
|
|
url_xpath: ./@href
|
|
title_xpath: ./div
|
|
content_xpath: ../div[@class="news-text"]
|
|
thumbnail_xpath: ../../../../img/@src
|
|
first_page_num: 1
|
|
disabled: true
|
|
about:
|
|
website: https://petalsearch.com/
|
|
wikidata_id: Q104399280
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: lib.rs
|
|
shortcut: lrs
|
|
engine: xpath
|
|
search_url: https://lib.rs/search?q={query}
|
|
results_xpath: /html/body/main/div/ol/li/a
|
|
url_xpath: ./@href
|
|
title_xpath: ./div[@class="h"]/h4
|
|
content_xpath: ./div[@class="h"]/p
|
|
categories: [it, packages]
|
|
disabled: true
|
|
about:
|
|
website: https://lib.rs
|
|
wikidata_id: Q113486010
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: sourcehut
|
|
shortcut: srht
|
|
engine: xpath
|
|
paging: true
|
|
search_url: https://sr.ht/projects?page={pageno}&search={query}
|
|
results_xpath: (//div[@class="event-list"])[1]/div[@class="event"]
|
|
url_xpath: ./h4/a[2]/@href
|
|
title_xpath: ./h4/a[2]
|
|
content_xpath: ./p
|
|
first_page_num: 1
|
|
categories: [it, repos]
|
|
disabled: true
|
|
about:
|
|
website: https://sr.ht
|
|
wikidata_id: Q78514485
|
|
official_api_documentation: https://man.sr.ht/
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
|
|
- name: goo
|
|
shortcut: goo
|
|
engine: xpath
|
|
paging: true
|
|
search_url: https://search.goo.ne.jp/web.jsp?MT={query}&FR={pageno}0
|
|
url_xpath: //div[@class="result"]/p[@class='title fsL1']/a/@href
|
|
title_xpath: //div[@class="result"]/p[@class='title fsL1']/a
|
|
content_xpath: //p[contains(@class,'url fsM')]/following-sibling::p
|
|
first_page_num: 0
|
|
categories: [general, web]
|
|
disabled: true
|
|
timeout: 4.0
|
|
about:
|
|
website: https://search.goo.ne.jp
|
|
wikidata_id: Q249044
|
|
use_official_api: false
|
|
require_api_key: false
|
|
results: HTML
|
|
language: ja
|
|
|
|
# Doku engine lets you access to any Doku wiki instance:
|
|
# A public one or a privete/corporate one.
|
|
# - name: ubuntuwiki
|
|
# engine: doku
|
|
# shortcut: uw
|
|
# base_url: 'https://doc.ubuntu-fr.org'
|
|
|
|
# Be careful when enabling this engine if you are
|
|
# running a public instance. Do not expose any sensitive
|
|
# information. You can restrict access by configuring a list
|
|
# of access tokens under tokens.
|
|
# - name: git grep
|
|
# engine: command
|
|
# command: ['git', 'grep', '{{QUERY}}']
|
|
# shortcut: gg
|
|
# tokens: []
|
|
# disabled: true
|
|
# delimiter:
|
|
# chars: ':'
|
|
# keys: ['filepath', 'code']
|
|
|
|
# Be careful when enabling this engine if you are
|
|
# running a public instance. Do not expose any sensitive
|
|
# information. You can restrict access by configuring a list
|
|
# of access tokens under tokens.
|
|
# - name: locate
|
|
# engine: command
|
|
# command: ['locate', '{{QUERY}}']
|
|
# shortcut: loc
|
|
# tokens: []
|
|
# disabled: true
|
|
# delimiter:
|
|
# chars: ' '
|
|
# keys: ['line']
|
|
|
|
# Be careful when enabling this engine if you are
|
|
# running a public instance. Do not expose any sensitive
|
|
# information. You can restrict access by configuring a list
|
|
# of access tokens under tokens.
|
|
# - name: find
|
|
# engine: command
|
|
# command: ['find', '.', '-name', '{{QUERY}}']
|
|
# query_type: path
|
|
# shortcut: fnd
|
|
# tokens: []
|
|
# disabled: true
|
|
# delimiter:
|
|
# chars: ' '
|
|
# keys: ['line']
|
|
|
|
# Be careful when enabling this engine if you are
|
|
# running a public instance. Do not expose any sensitive
|
|
# information. You can restrict access by configuring a list
|
|
# of access tokens under tokens.
|
|
# - name: pattern search in files
|
|
# engine: command
|
|
# command: ['fgrep', '{{QUERY}}']
|
|
# shortcut: fgr
|
|
# tokens: []
|
|
# disabled: true
|
|
# delimiter:
|
|
# chars: ' '
|
|
# keys: ['line']
|
|
|
|
# Be careful when enabling this engine if you are
|
|
# running a public instance. Do not expose any sensitive
|
|
# information. You can restrict access by configuring a list
|
|
# of access tokens under tokens.
|
|
# - name: regex search in files
|
|
# engine: command
|
|
# command: ['grep', '{{QUERY}}']
|
|
# shortcut: gr
|
|
# tokens: []
|
|
# disabled: true
|
|
# delimiter:
|
|
# chars: ' '
|
|
# keys: ['line']
|
|
|
|
doi_resolvers:
|
|
oadoi.org: 'https://oadoi.org/'
|
|
doi.org: 'https://doi.org/'
|
|
doai.io: 'https://dissem.in/'
|
|
sci-hub.se: 'https://sci-hub.se/'
|
|
sci-hub.st: 'https://sci-hub.st/'
|
|
sci-hub.ru: 'https://sci-hub.ru/'
|
|
|
|
default_doi_resolver: 'oadoi.org'
|