From 5ef1e4ae6759cec0289185bbc3f0fbffb643a7b8 Mon Sep 17 00:00:00 2001 From: Tobias Manske Date: Sun, 15 Jan 2023 20:34:46 +0100 Subject: [PATCH] SearXNG: Build upon default config to fix engine issues --- .../templates/search/settings.yml | 1703 +---------------- 1 file changed, 93 insertions(+), 1610 deletions(-) diff --git a/coreos-config/roles/compose_project/templates/search/settings.yml b/coreos-config/roles/compose_project/templates/search/settings.yml index a246884..da3b869 100644 --- a/coreos-config/roles/compose_project/templates/search/settings.yml +++ b/coreos-config/roles/compose_project/templates/search/settings.yml @@ -1,46 +1,62 @@ --- +use_default_settings: + engines: + keep_only: + - apk mirror + - arch linux wiki + - archive is + - arxiv + - wikipedia + - bing + - bing images + - bing news + - bing videos + - ccc-tv + - openverse + - crossref + - deviantart + - docker hub + - wikidata + - ebay + - fdroid + - flickr + - free software directory + - github + - google + - google images + - google news + - google scholar + - ddg definitions + - deviantart + - mankier + - openstreetmap + - photon + - qwant + - qwant news + - qwant videos + - qwant images + - youtube + - wolframalpha + - mediathekviewweb + - soundcloud + - mankier + - duden + - wiktionary + general: - debug: false # Debug mode, only for development instance_name: "Search" # displayed name - contact_url: false # mailto:contact@example.com enable_metrics: true # record stats -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", - # "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: "en" - # Available languages languages: - all - en - de - # 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 - # 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 enviroment (make buildenv) port: 8888 bind_address: "127.0.0.1" base_url: http://search.tobiasmanske.de/ # Possible values: false or "https://example.org/location". @@ -50,67 +66,21 @@ server: # values there. secret_key: "{{ search.server.secret_key }}" # change this! - # Proxying image results through searx - # Sadly doesnt work well image_proxy: false # 1.0 and 1.1 are supported http_protocol_version: "1.1" - # 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: redis://redis:6379/0 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: true - # ui theme - default_theme: simple - # 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: dark -# 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: None # https://search.tobiasmanske.de/morty/ - key: !!binary "{{ search.morty.key }}" - # [true|false] enable the "proxy" button next to each result - proxify_results: false - -{% raw %} # communication with search engines # @@ -118,51 +88,6 @@ 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 informations 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 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' @@ -175,18 +100,57 @@ enabled_plugins: - 'Open Access DOI rewrite' - 'Vim-like hotkeys' -# Configuration of the "Hostname replace" plugin: -# +engines: + - name: arch linux wiki + shortcut: aw + + - name: archive is + disabled: true + + - name: wikipedia + shortcut: wiki + + - name: bing + disabled: false + + - name: bing images + disabled: false + + - name: bing news + disabled: false + + - name: bing videos + disabled: false + + - name: mediathekviewweb + disabled: false + + - name: soundcloud + disabled: false + + - name: bandcamp + disabled: false + + - name: duden + disabled: false + + - name: ccc-tv + shortcut: ccc + disabled: false + + - name: docker hub + shortcut: dhub + + - name: google + shortcut: g + + - name: google images + shortcut: gimg + + - name: google scholar + shortcut: gscholar -{% endraw %} 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 # Use Amazon smile :-) for more happy time '(www\.)?amazon.de$': 'smile.amazon.de' # Personally removed @@ -1355,1484 +1319,3 @@ hostname_replace: '(www\.)?deltatransilvaniei\.ro': false '(www\.)?cursuri-dans-copii\.ro': false '(www\.)?sunnyfood\.ro': false - -{% raw %} - -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=searxcache,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: apk mirror - engine: apkmirror - timeout: 4.0 - shortcut: apkm - disabled: true - - # Requires Tor - - name: ahmia - disabled: true - engine: ahmia - categories: onions - enable_http: true - shortcut: ah - - - name: ArchWiki - engine: archlinux - shortcut: aw - - - name: archive is - engine: xpath - disabled: true - 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 - 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 - categories: science - 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: wiki - base_url: 'https://{language}.wikipedia.org/' - - - name: wikipedia DE - engine: wikipedia - shortcut: wikide - base_url: 'https://de.wikipedia.org/' - - - name: wikipedia EN - engine: wikipedia - shortcut: wikien - base_url: 'https://en.wikipedia.org/' - - - name: bing - engine: bing - # disabled: true - shortcut: bi - - - name: bing images - engine: bing_images - shortcut: bii - - - name: bing news - engine: bing_news - # disabled: true - shortcut: bin - - - name: bing videos - engine: bing_videos - # disabled: true - 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 - shortcut: ccc - 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: json_engine - paging: true - search_url: https://search.crossref.org/dois?q={query}&page={pageno} - url_query: doi - title_query: title - title_html_to_text: true - content_query: fullCitation - content_html_to_text: true - categories: science - shortcut: cr - about: - website: https://www.crossref.org/ - wikidata_id: Q5188229 - official_api_documentation: https://github.com/CrossRef/rest-api-doc - use_official_api: false - require_api_key: false - results: JSON - - # - name: currency - # engine: currency_convert - # categories: general - # shortcut: cc - - - name: deezer - engine: deezer - shortcut: dz - - - name: deviantart - engine: deviantart - shortcut: da - timeout: 3.0 - - # - name: ddg definitions - # engine: duckduckgo_definitions - # shortcut: ddd - # weight: 2 - # tests: *tests_infobox - - # cloudflare protected - # - name: digbt - # engine: digbt - # shortcut: dbt - # timeout: 6.0 - # disabled: true - - - name: docker hub - engine: docker_hub - shortcut: dhub - 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: tineye - engine: tineye - shortcut: tin - disabled: true - 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.de' - disabled: true - timeout: 5 - - # - name: 1x - # engine: www1x - # shortcut: 1x - # timeout: 3.0 - # disabled: true - - - name: fdroid - engine: fdroid - shortcut: fd - - - 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 - 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: genius - engine: genius - shortcut: gen - - - 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 - 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 - lang: ['en', 'de'] - shortcut: g - # 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 de - engine: google - disabled: true - shortcut: gde - language: de - # see https://docs.searxng.org/src/searx.engines.google.html#module-searx.engines.google - use_mobile_ui: false - - # - 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: gimg - # 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 - disabled: true - lang: ['en', 'de'] - shortcut: gnews - # 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: gscholar - - - name: google play apps - engine: xpath - search_url: https://play.google.com/store/search?q={query}&c=apps - 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="RZEgze"]//a[@class="mnKHRc"]' - thumbnail_xpath: './/div[@class="uzcko"]/div/span[1]//img/@data-src' - categories: [files, apps] - shortcut: gplay - 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: 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] - disabled: true - 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: 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: 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 - - - name: z-library - engine: zlibrary - shortcut: zlib - disabled: true - 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 - disabled: true - engine: loc - shortcut: loc - categories: images - - - 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: mixcloud - engine: mixcloud - shortcut: mc - - - 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: archlinux man pages - # shortcut: man - # engine: xpath - # timeout: 4.0 - # categories: [it] - # paging: false - # search_url: https://man.archlinux.org/search?q={query}&lang={language} - # url_xpath: //ol[@start="1"]/dl/dt/a/@href - # title_xpath: //ol[@start="1"]/dl/dt/a/text() - # content_xpath: //ol[@start="1"]/dl/dd/text() - # about: - # website: https://man.archlinux.org - # official_api_documentation: - # use_official_api: false - # require_api_key: false - # results: HTML - - - 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: 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 - disabled: true - shortcut: pdb - # Hide obsolete PDB entries. Default is not to hide obsolete structures - # hide_obsolete: false - - - name: photon - engine: photon - disabled: true - 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: pubmed - engine: pubmed - shortcut: pub - categories: science - 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 - engine: qwant - shortcut: qw - categories: [general, web] - disabled: true - additional_tests: - rosebud: *test_rosebud - - - name: qwant news - engine: qwant - shortcut: qwn - categories: news - disabled: true - network: qwant - - - name: qwant images - engine: qwant - shortcut: qwi - categories: [images, web] - disabled: false - network: qwant - - - name: qwant videos - engine: qwant - shortcut: qwv - categories: [videos, web] - disabled: true - 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: semantic scholar - engine: semantic_scholar - disabled: true - shortcut: se - categories: science - - # 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 - # categories: science - # timeout: 6.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 - - # 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 - disabled: true - - - 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: 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: mojeek - shortcut: mjk - engine: xpath - paging: true - categories: [general, web] - search_url: https://www.mojeek.com/search?q={query}&s={pageno} - results_xpath: //a[@class="ob"] - url_xpath: ./@href - title_xpath: ./.. - content_xpath: ../../p[@class="s"] - suggestion_xpath: /html/body//div[@class="top-info"]/p[@class="top-info spell"]/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: 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: 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: 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 - about: - website: https://www.woxikon.de/ - wikidata_id: # No Wikidata ID - use_official_api: false - require_api_key: false - results: HTML - language: de - - - name: słownik języka polskiego - 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: brave - shortcut: brave - engine: xpath - disabled: true - paging: true - first_page_num: 0 - search_url: https://search.brave.com/search?q={query}&offset={pageno}&spellcheck=1 - 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 - categories: [general, web] - 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 - -# 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.do: 'https://sci-hub.do/' - scihubtw.tw: 'https://scihubtw.tw/' - sci-hub.st: 'https://sci-hub.st/' - sci-hub.bar: 'https://sci-hub.bar/' - sci-hub.it.nf: 'https://sci-hub.it.nf/' - -default_doi_resolver: 'oadoi.org' -{% endraw %}