From 9131a3eeab080ad8daf74be6b29d84e8e7aeeca8 Mon Sep 17 00:00:00 2001 From: mh4ckt3mh4ckt1c4s Date: Wed, 8 Feb 2023 00:06:00 +0100 Subject: [PATCH] New try to setup install script --- conf/settings.yml | 2636 +++++++++++++++++--------------------------- scripts/_common.sh | 20 +- scripts/install | 8 +- 3 files changed, 1050 insertions(+), 1614 deletions(-) diff --git a/conf/settings.yml b/conf/settings.yml index 5918e8b..adf292e 100644 --- a/conf/settings.yml +++ b/conf/settings.yml @@ -1,374 +1,251 @@ 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 + debug : False # Debug mode, only for development + instance_name : "YunoSearx" # displayed name + contact_url: False # mailto:contact@example.com 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 + git_url: https://github.com/searx/searx + git_branch: master + issue_url: https://github.com/searx/searx/issues + docs_url: https://searx.github.io/searx + public_instances: https://searx.space + wiki_url: https://github.com/searx/searx/wiki + twitter_url: https://twitter.com/Searx_engine 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 - # remove format to deny access, use lower case. - # formats: [html, csv, json, rss] - formats: - - html + safe_search : 0 # Filter results. 0: None, 1: Moderate, 2: Strict + autocomplete : "" # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "startpage", "swisscows", "qwant", "wikipedia" - leave blank to turn it off by default + default_lang : "" # Default search language - leave blank to detect from browser information or use codes from 'languages.py' + ban_time_on_fail : 5 # ban time in seconds after engine errors + max_ban_time_on_fail : 120 # max ban time in seconds after engine errors 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: "__SECRET_KEY__" # 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 + port : 8888 + bind_address : "127.0.0.1" # address to listen on + secret_key : "__SECRET_KEY__" # change this! + base_url : False # Set custom base_url. Possible values: False or "https://your.custom.host/location/" + image_proxy : False # Proxying image results through searx + http_protocol_version : "1.0" # 1.0 and 1.1 are supported + method: "POST" # POST queries are more secure as they don't show up in history but may cause problems when using Firefox containers + 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 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 + static_path : "" # Custom static path - leave it blank if you didn't change + templates_path : "" # Custom templates path - leave it blank if you didn't change + default_theme : oscar # ui theme + default_locale : "" # Default interface locale - leave blank to detect from browser information or use codes from the 'locales' config section + theme_args : + oscar_style : logicodev # default style of oscar +# results_on_new_tab: False # Open result links in a new tab by default +# categories_order : +# - general +# - files +# - map +# - it +# - science -# 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 +# 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 -# 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) +# 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 +#result_proxy: +# url : http://127.0.0.1:3000/ +# key : !!binary "your_morty_proxy_key" -# 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 +outgoing: # communication with search engines + request_timeout : 2.0 # default timeout in seconds, can be override by engine + # max_request_timeout: 10.0 # the maximum timeout in seconds + useragent_suffix : "" # suffix of searx_useragent, could contain informations like an email address to the administrator + pool_connections : 100 # Number of different hosts + pool_maxsize : 10 # Number of simultaneous requests by host +# uncomment below section if you want to use a proxy +# see https://2.python-requests.org/en/latest/user/advanced/#proxies +# SOCKS proxies are also supported: see https://2.python-requests.org/en/latest/user/advanced/#socks +# proxies: +# http: +# - http://proxy1:8080 +# - http://proxy2:8080 +# https: +# - http://proxy1:8080 +# - http://proxy2:8080 +# using_tor_proxy : True +# extra_proxy_timeout : 10.0 # Extra seconds to add in order to account for the time taken by the proxy +# 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 -# External plugin configuration, for more details see -# https://docs.searxng.org/dev/plugins.html +# External plugin configuration +# See http://searx.github.io/searx/dev/plugins.html for more details # # plugins: # - plugin1 # - plugin2 # - ... -# Comment or un-comment plugin to activate / deactivate by default. +# uncomment below section if you want to configure which plugin is enabled 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' +# - "HTTPS rewrite" +# - ... -# Configuration of the "Hostname replace" plugin: +# Example to rewrite hostnames in external links # +# enabled_plugins: +# - 'Hostname replace' # hostname_replace: -# '(.*\.)?youtube\.com$': 'invidious.example.com' -# '(.*\.)?youtu\.be$': 'invidious.example.com' +# '(.*\.)?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 +# '(.*\.)?reddit\.com$': 'teddit.example.com' +# '(.*\.)?redd\.it$': 'teddit.example.com' +# '(www\.)?twitter\.com$': 'nitter.example.com' checker: - # disable checker when in debug mode - off_when_debug: true + # disable checker when in debug mode + off_when_debug: True - # use "scheduling: false" to disable scheduling - # scheduling: interval or int + # scheduling: interval or int + # use "scheduling: False" to disable scheduling + # to activate the scheduler: + # * uncomment "scheduling" section + # * add "cache2 = name=searxcache,items=2000,blocks=2000,blocksize=4096,bitmap=1" to your uwsgi.ini - # 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 - # 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: 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: + additional_tests: + rosebud: &test_rosebud matrix: - query: ["linux", "new york", "bbc"] + query: rosebud + lang: en result_container: - - has_infobox + - not_empty + - ['one_title_contains', 'citizen kane'] + test: + - unique_results -categories_as_tabs: - general: - images: - videos: - news: - map: - music: - it: - science: - files: - social media: + 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 engines: - - name: 9gag - engine: 9gag - shortcut: 9g - disabled: true - - name: apk mirror engine: apkmirror timeout: 4.0 shortcut: apkm - disabled: true + 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 - # Requires Tor - - name: ahmia - engine: ahmia - categories: onions - enable_http: true - shortcut: ah + - name : arch linux wiki + engine : archlinux + shortcut : al - - 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 + - name : archive is + engine : xpath + search_url : https://archive.is/{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 about: website: https://archive.is/ wikidata_id: Q13515725 - official_api_documentation: https://mementoweb.org/depot/native/archiveis/ + official_api_documentation: http://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 - - name: arxiv - engine: arxiv - shortcut: arx - timeout: 4.0 - - # tmp suspended: dh key too small - # - name: base - # engine: base - # shortcut: bs +# 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 : wikipedia + engine : wikipedia + shortcut : wp + base_url : 'https://{language}.wikipedia.org/' - - name: bing - engine: bing - shortcut: bi - disabled: true + - name : bing + engine : bing + shortcut : bi - - name: bing images - engine: bing_images - shortcut: bii + - name : bing images + engine : bing_images + shortcut : bii - - name: bing news - engine: bing_news - shortcut: bin + - name : bing news + engine : bing_news + shortcut : bin - - name: bing videos - engine: bing_videos - shortcut: biv + - 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 + - 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 + timeout : 4.0 + disabled : True + shortcut : bb about: website: https://bitbucket.org/ wikidata_id: Q2493781 @@ -377,20 +254,20 @@ engines: require_api_key: false results: HTML - - name: btdigg - engine: btdigg - shortcut: bt + - 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 + - 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 @@ -398,113 +275,82 @@ engines: 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 : ccengine + engine : ccengine + categories : images + shortcut : cce - # - 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 : 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 + - 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://yep.com + 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: 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: currency - engine: currency_convert - categories: general - shortcut: cc + - name : deezer + engine : deezer + shortcut : dz - - name: deezer - engine: deezer - shortcut: dz - disabled: true + - name : deviantart + engine : deviantart + shortcut : da + timeout : 3.0 - - name: deviantart - engine: deviantart - shortcut: da - timeout: 3.0 - - - name: ddg definitions - engine: duckduckgo_definitions - shortcut: ddd - weight: 2 - disabled: true + - 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 +# 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 : digg + engine : digg + shortcut : dg - - 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 + - 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 : general + shortcut : ew + disabled : True about: website: https://www.erowid.org/ wikidata_id: Q1430691 @@ -513,70 +359,55 @@ engines: 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 : 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 + - name : wikidata + engine : wikidata + shortcut : wd + timeout : 3.0 + weight : 2 tests: *tests_infobox - - name: duckduckgo - engine: duckduckgo - shortcut: ddg + - name : duckduckgo + engine : duckduckgo + shortcut : ddg + disabled : True - - name: duckduckgo images - engine: duckduckgo_images - shortcut: ddi + - name : duckduckgo images + engine : duckduckgo_images + shortcut : ddi timeout: 3.0 - disabled: true + disabled : True - - name: duckduckgo weather - engine: duckduckgo_weather - shortcut: ddw - disabled: true + - name : etools + engine : etools + shortcut : eto + disabled : True + additional_tests: + rosebud: *test_rosebud - - 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 + - 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 + disabled : True about: website: https://www.etymonline.com/ wikidata_id: Q1188617 @@ -585,92 +416,89 @@ engines: require_api_key: false results: HTML - # - name: ebay - # engine: ebay - # shortcut: eb - # base_url: 'https://www.ebay.com' - # disabled: true - # timeout: 5 +# - name : ebay +# engine : ebay +# shortcut : eb +# disabled : True +# timeout: 5 - - name: 1x - engine: www1x - shortcut: 1x - timeout: 3.0 - disabled: true + - name : 1x + engine : www1x + shortcut : 1x + timeout : 3.0 + disabled : True - - name: fdroid - engine: fdroid - shortcut: fd - 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 : 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 + - name : free software directory + engine : mediawiki + shortcut : fsd + categories : it + 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 : freesound + # engine : freesound + # shortcut : fnd + # disabled : True + # timeout : 15.0 + # api_key : MyAPIkey + # API key required, see : https://freesound.org/docs/api/overview.html - - name: frinkiac - engine: frinkiac - shortcut: frk - disabled: true + - name : frinkiac + engine : frinkiac + shortcut : frk + disabled : True - - name: genius - engine: genius - shortcut: gen + - name : genius + engine : genius + shortcut : gen - - name: gigablast - engine: gigablast - shortcut: gb - timeout: 4.0 - disabled: true + - name : gigablast + engine : gigablast + shortcut : gb + timeout : 3.0 + disabled: True additional_tests: rosebud: *test_rosebud - - name: gentoo - engine: gentoo - shortcut: ge + - 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 + - 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 + shortcut : gl + timeout : 10.0 + disabled : True about: website: https://about.gitlab.com/ wikidata_id: Q16639197 @@ -679,23 +507,22 @@ engines: require_api_key: false results: JSON - - name: github - engine: github - shortcut: gh + - 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 + # 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 + shortcut : cb + disabled : True about: website: https://codeberg.org/ wikidata_id: @@ -704,28 +531,15 @@ engines: 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 + - name : google + engine : google + shortcut : go # 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 + - name : google images + engine : google_images + shortcut : goi # additional_tests: # android: *test_android # dali: @@ -735,39 +549,33 @@ engines: # result_container: # - ['one_title_contains', 'Salvador'] - - name: google news - engine: google_news - shortcut: gon + - name : google news + engine : google_news + shortcut : gon # additional_tests: # android: *test_android - - name: google videos - engine: google_videos - shortcut: gov + - name : google videos + engine : google_videos + shortcut : gov # additional_tests: # android: *test_android - - name: google scholar - engine: google_scholar - shortcut: gos + - 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 + - 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 + shortcut : gpa + disabled : True about: website: https://play.google.com/ wikidata_id: Q79576 @@ -776,37 +584,55 @@ engines: 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 + - name : google play movies + engine : xpath + 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://gpodder.net - wikidata_id: Q3093354 - official_api_documentation: https://gpoddernet.readthedocs.io/en/latest/api/ + website: https://play.google.com/ + wikidata_id: Q79576 + official_api_documentation: use_official_api: false - requires_api_key: false - results: JSON + require_api_key: false + results: HTML - - 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 + - name : geektimes + engine : xpath + paging : True + search_url : https://habr.com/en/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 : gt + about: + website: https://geektimes.ru/ + wikidata_id: Q50572423 + official_api_documentation: + use_official_api: false + require_api_key: false + results: HTML + + - 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 @@ -815,117 +641,81 @@ engines: 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 + - 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 + shortcut : ho about: - website: https://hoogle.haskell.org/ + website: https://www.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: 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 + - name : invidious + engine : invidious + base_url : + - https://invidious.tube/ + - https://invidious.snopyta.org/ shortcut: iv - timeout: 3.0 - disabled: true - - - name: jisho - engine: jisho - shortcut: js - timeout: 3.0 - disabled: true + timeout : 5.0 + disabled : True - name: kickass - engine: kickass - shortcut: kc - timeout: 4.0 - disabled: true + 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 + - name : library genesis + engine : xpath + enable_http: True + search_url : http://libgen.rs/search.php?req={query} + url_xpath : //a[contains(@href,"bookfi.net/md5")]/@href + title_xpath : //a[contains(@href,"book/")]/text()[1] + content_xpath : //td/a[1][contains(@href,"=author")]/text() + categories : general + timeout : 7.0 + disabled : True + shortcut : lg about: - website: https://libgen.fun/ + website: http://libgen.rs/ 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: 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 + - 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 @@ -934,102 +724,35 @@ engines: 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 : meilisearch +# engine : meilisearch +# shortcut: mes +# enable_http: True +# base_url : http://localhost:7700 +# index : my-index - - name: metacpan - engine: metacpan - shortcut: cpan - disabled: true - number_of_results: 20 + - name : microsoft academic + engine : microsoft_academic + categories : science + shortcut : ma - # - name: meilisearch - # engine: meilisearch - # shortcut: mes - # enable_http: true - # base_url: http://localhost:7700 - # index: my-index + - name : mixcloud + engine : mixcloud + shortcut : mc - - 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] + - name : npm + engine : json_engine + paging : True + 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 + disabled: True 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 + shortcut : npm about: website: https://npms.io/ wikidata_id: Q7067518 @@ -1038,38 +761,29 @@ engines: require_api_key: false results: JSON - - name: nyaa - engine: nyaa - shortcut: nt - disabled: true +# Requires Tor + - name : not evil + engine : not_evil + categories : onions + enable_http : True + shortcut : ne - - 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 : nyaa + engine : nyaa + shortcut : nt + disabled : True - - 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 + - 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/ @@ -1079,17 +793,17 @@ engines: 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 + - 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/ @@ -1099,26 +813,26 @@ engines: require_api_key: false results: JSON - # - name: opensemanticsearch - # engine: opensemantic - # shortcut: oss - # base_url: 'http://localhost:8983/solr/opensemanticsearch/' +# - name : opensemanticsearch +# engine : opensemantic +# shortcut : oss +# base_url : 'http://localhost:8983/solr/opensemanticsearch/' - - name: openstreetmap - engine: openstreetmap - shortcut: osm + - 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 + - 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: @@ -1127,590 +841,413 @@ engines: 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: 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: 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 + - 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 + 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 +# 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 + categories: science + timeout : 3.0 - - 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 + - name : qwant + engine : qwant + shortcut : qw + categories : general + disabled : True additional_tests: rosebud: *test_rosebud - - name: qwant news - qwant_categ: news - engine: qwant - shortcut: qwn - categories: news - disabled: false - network: qwant + - name : qwant images + engine : qwant + shortcut : qwi + categories : images - - name: qwant images - qwant_categ: images - engine: qwant - shortcut: qwi - categories: [images, web] - disabled: false - network: qwant + - name : qwant news + engine : qwant + shortcut : qwn + categories : news - - 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: 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: 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 + timeout : 10.0 + 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 +# 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 : soundcloud + engine : soundcloud + shortcut : sc - - name: stackoverflow - engine: stackexchange - shortcut: st - api_site: 'stackoverflow' - categories: [it, q&a] + - name : stackoverflow + engine : stackoverflow + shortcut : st - - name: askubuntu - engine: stackexchange - shortcut: ubuntu - api_site: 'askubuntu' - categories: [it, q&a] + - name : searchcode code + engine : searchcode_code + shortcut : scc + disabled : True - - name: superuser - engine: stackexchange - shortcut: su - api_site: 'superuser' - categories: [it, q&a] + - name : framalibre + engine : framalibre + shortcut : frl + disabled : True - - name: searchcode code - engine: searchcode_code - shortcut: scc - disabled: true +# - name : searx +# engine : searx_engine +# shortcut : se +# instance_urls : +# - http://127.0.0.1:8888/ +# - ... +# 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 + - name : semantic scholar + engine : semantic_scholar + disabled : True + shortcut : se + categories : science 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 + website: https://www.semanticscholar.org/ + wikidata_id: Q22908627 + official_api_documentation: https://api.semanticscholar.org/ + use_official_api: false 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 +# 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 +# api_key : 'unset' # working API key, for test & debug: "a69685087d07eca9f13db62f65b8f601" +# disabled: True +# 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 : 3.0 + disabled : True + + - name : torrentz + engine : torrentz + shortcut : tor + url: https://torrentz2.eu/ + timeout : 3.0 + +# 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 + +# 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 : http://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 + disabled: True + 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 : yggtorrent + engine : yggtorrent + shortcut : ygg + url: https://www4.yggtorrent.li/ + disabled : True + timeout : 4.0 + + - 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 + shortcut : wib + disabled : True + + - 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 + - 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 + - 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 + - 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 + - name : wiktionary + engine : mediawiki + shortcut : wt + categories : general + base_url : "https://{language}.wiktionary.org/" + number_of_results : 5 + search_type : text + disabled : True 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 + - 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 + - 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 + - name : wolframalpha + shortcut : wa + # You can use the engine using the official stable API, but you need an API key + # See : http://products.wolframalpha.com/api/ + # engine : wolframalpha_api + # api_key: '' # required! + engine : wolframalpha_noapi timeout: 6.0 - categories: [] + categories : science - - name: dictzone - engine: dictzone - shortcut: dc + - name : dictzone + engine : dictzone + shortcut : dc - - name: mymemory translated - engine: translated - shortcut: tl - timeout: 5.0 - disabled: false + - name : mymemory translated + engine : translated + shortcut : tl + timeout : 5.0 + disabled : True # 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: '' + # See : http://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 +# 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 : 1337x + engine : 1337x + shortcut : 1337x + disabled : True - - name: duden - engine: duden - shortcut: du - disabled: true + - name : duden + engine : duden + shortcut : du + disabled : True - - name: seznam + - name : seznam shortcut: szn engine: seznam - disabled: true + 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 + - 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: ./h2 - 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 + paging : True + search_url : https://www.mojeek.com/search?q={query}&s={pageno} + results_xpath: /html/body//div[@class="results"]/ul[@class="results-standard"]/li + url_xpath : ./h2/a/@href + title_xpath : ./h2 + 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 @@ -1719,18 +1256,17 @@ engines: require_api_key: false results: HTML - - name: naver + - 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 + 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 @@ -1738,21 +1274,20 @@ engines: use_official_api: false require_api_key: false results: HTML - language: ko - - name: rubygems + - name : rubygems shortcut: rbg engine: xpath - paging: true - search_url: https://rubygems.org/search?page={pageno}&query={query} + 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 + 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 + disabled : True about: website: https://rubygems.org/ wikidata_id: Q1853420 @@ -1761,214 +1296,56 @@ engines: require_api_key: false results: HTML - - name: peertube + - name : peertube engine: peertube shortcut: ptb - paging: true - # https://instances.joinpeertube.org/instances - base_url: https://peertube.biz/ - # base_url: https://tube.tardis.world/ + paging : True + base_url : https://peer.tube/ categories: videos - disabled: true - timeout: 6.0 + disabled : True - - name: mediathekviewweb - engine: mediathekviewweb - shortcut: mvw - disabled: true + - name : mediathekviewweb + engine : mediathekviewweb + shortcut : mvw - # - 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 : yacy +# engine : yacy +# shortcut : ya +# base_url : 'http://localhost:8090' +# enable_http: True # required if you aren't using HTTPS for your local yacy instance +# number_of_results : 5 +# timeout : 3.0 - - name: rumble - engine: rumble - shortcut: ru - base_url: https://rumble.com/ - paging: true + - name : rumble + engine : rumble + shortcut : ru + base_url : https://rumble.com/ + paging : True categories: videos - disabled: true + disabled : True - name: wordnik engine: wordnik shortcut: def base_url: https://www.wordnik.com/ - categories: [dictionaries] + categories: general timeout: 5.0 - disabled: false + disabled: True - - 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 + - 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: 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 + timeout: 5.0 + disabled: True # 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' +# - name : ubuntuwiki +# engine : doku +# shortcut : uw +# base_url : 'http://doc.ubuntu-fr.org' # Be careful when enabling this engine if you are # running a public instance. Do not expose any sensitive @@ -1979,7 +1356,7 @@ engines: # command: ['git', 'grep', '{{QUERY}}'] # shortcut: gg # tokens: [] -# disabled: true +# disabled: True # delimiter: # chars: ':' # keys: ['filepath', 'code'] @@ -1993,7 +1370,7 @@ engines: # command: ['locate', '{{QUERY}}'] # shortcut: loc # tokens: [] -# disabled: true +# disabled: True # delimiter: # chars: ' ' # keys: ['line'] @@ -2008,7 +1385,7 @@ engines: # query_type: path # shortcut: fnd # tokens: [] -# disabled: true +# disabled: True # delimiter: # chars: ' ' # keys: ['line'] @@ -2022,7 +1399,7 @@ engines: # command: ['fgrep', '{{QUERY}}'] # shortcut: fgr # tokens: [] -# disabled: true +# disabled: True # delimiter: # chars: ' ' # keys: ['line'] @@ -2036,18 +1413,67 @@ engines: # command: ['grep', '{{QUERY}}'] # shortcut: gr # tokens: [] -# disabled: true +# 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/' +locales: + en : English + ar : العَرَبِيَّة (Arabic) + bg : Български (Bulgarian) + bo : བོད་སྐད་ (Tibetian) + ca : Català (Catalan) + cs : Čeština (Czech) + cy : Cymraeg (Welsh) + da : Dansk (Danish) + de : Deutsch (German) + el_GR : Ελληνικά (Greek_Greece) + eo : Esperanto (Esperanto) + es : Español (Spanish) + et : Eesti (Estonian) + eu : Euskara (Basque) + fa_IR : (fārsī) فارسى (Persian) + fi : Suomi (Finnish) + fil : Wikang Filipino (Filipino) + fr : Français (French) + gl : Galego (Galician) + he : עברית (Hebrew) + hr : Hrvatski (Croatian) + hu : Magyar (Hungarian) + ia : Interlingua (Interlingua) + it : Italiano (Italian) + ja : 日本語 (Japanese) + lt : Lietuvių (Lithuanian) + nl : Nederlands (Dutch) + nl_BE : Vlaams (Dutch_Belgium) + oc : Lenga D'òc (Occitan) + pl : Polski (Polish) + pt : Português (Portuguese) + pt_BR : Português (Portuguese_Brazil) + ro : Română (Romanian) + ru : Русский (Russian) + sk : Slovenčina (Slovak) + sl : Slovenski (Slovene) + sr : српски (Serbian) + sv : Svenska (Swedish) + te : తెలుగు (telugu) + ta : தமிழ் (Tamil) + tr : Türkçe (Turkish) + uk : українська мова (Ukrainian) + vi : tiếng việt (Vietnamese) + zh : 中文 (Chinese) + zh_TW : 國語 (Taiwanese Mandarin) -default_doi_resolver: 'oadoi.org' +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' \ No newline at end of file diff --git a/scripts/_common.sh b/scripts/_common.sh index 51e4547..92838dd 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -3,7 +3,9 @@ #================================================= # COMMON VARIABLES #================================================= -pkg_dependencies="python3-dev python3-babel python3-venv uwsgi uwsgi-plugin-python3 git build-essential libxslt-dev zlib1g-dev libffi-dev libssl-dev" + +# dependencies used by the app +pkg_dependencies="git build-essential libxslt-dev python3-dev python3-venv python3-cffi python3-babel zlib1g-dev libffi-dev libssl-dev python3-lxml uwsgi uwsgi-plugin-python3 shellcheck" #================================================= # UWSGI HELPERS @@ -19,6 +21,7 @@ ynh_check_global_uwsgi_config () { [Unit] Description=%i uWSGI app After=syslog.target + [Service] RuntimeDirectory=%i ExecStart=/usr/bin/uwsgi \ @@ -32,6 +35,7 @@ KillSignal=SIGQUIT Type=notify StandardError=syslog NotifyAccess=all + [Install] WantedBy=multi-user.target EOF @@ -128,14 +132,14 @@ ynh_remove_uwsgi_service () { fi if [ -e /etc/init.d/uwsgi ] then - # Redémarre le service uwsgi si il n'est pas désinstallé. - ynh_systemd_action --service_name=uwsgi --action=start + # Redémarre le service uwsgi si il n'est pas désinstallé. + ynh_systemd_action --service_name=uwsgi --action=start else - if yunohost service status | grep -q uwsgi - then - ynh_print_info --message="Remove uwsgi service" - yunohost service remove uwsgi - fi + if yunohost service status | grep -q uwsgi + then + ynh_print_info --message="Remove uwsgi service" + yunohost service remove uwsgi + fi fi } diff --git a/scripts/install b/scripts/install index 8a36553..fb1e850 100755 --- a/scripts/install +++ b/scripts/install @@ -127,7 +127,7 @@ ynh_script_progression --message="Configuring NGINX web server..." --weight=1 path_no_root=${path_url%/} # Create a dedicated NGINX config -ynh_add_nginx_config +ynh_add_nginx_config "path_no_root" #================================================= # SPECIFIC SETUP @@ -147,6 +147,7 @@ pip3 install -e "$final_path" ynh_script_progression --message="Adding a configuration file..." --weight=1 secret_key=$(ynh_string_random) +# TODO : secret_key ??? ynh_add_config --template="../conf/settings.yml" --destination="$final_path/searx/settings.yml" # FIXME: this should be handled by the core in the future @@ -162,6 +163,11 @@ chown $app:$app "$final_path/searx/settings.yml" ### ynh_replace_string --match_string="match_string" --replace_string="replace_string" --target_file="$final_path/some_config_file" ### ynh_store_file_checksum --file="$final_path/some_config_file" +#### ADDED : SET PERMISSIONS ON SEARXNG DIRECTORY (CF SEARX SCRIPT) + +chown -R $app: $final_path + + #================================================= # CONFIGURE UWSGI FOR SEARX #=================================================