diff --git a/.dir-locals.el b/.dir-locals.el index 6daf66591..23609b4d2 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -50,37 +50,41 @@ ((nil . ((fill-column . 80) (indent-tabs-mode . nil) - )) - (makefile-gmake-mode - . ((indent-tabs-mode . t) - )) - (python-mode - . ((indent-tabs-mode . nil) - ;; project root folder is where the `.dir-locals.el' is located (eval . (setq-local prj-root (locate-dominating-file default-directory ".dir-locals.el"))) - (eval . (setq-local python-environment-directory (expand-file-name "./local" prj-root))) - ;; use 'py3' enviroment as default (eval . (setq-local python-environment-default-root-name "py3")) - (eval . (setq-local python-shell-virtualenv-root - (concat python-environment-directory - "/" - python-environment-default-root-name))) - - ;; python-shell-virtualenv-path is obsolete, use python-shell-virtualenv-root! - ;; (eval . (setq-local - ;; python-shell-virtualenv-path python-shell-virtualenv-root)) - + (expand-file-name python-environment-default-root-name python-environment-directory) + )) (eval . (setq-local python-shell-interpreter (expand-file-name "bin/python" python-shell-virtualenv-root))) + )) + + (makefile-gmake-mode + . ((indent-tabs-mode . t) + )) + + (yaml-mode + . ( + ;; flycheck should use the local py3 environment + (eval . (setq-local + flycheck-yaml-yamllint-executable + (expand-file-name "bin/yamllint" python-shell-virtualenv-root))) + (eval . (setq-local + flycheck-yamllintrc + (expand-file-name ".yamllint.yml" prj-root))) + (flycheck-checker . yaml-yamllint) + )) + + (python-mode + . ((indent-tabs-mode . nil) (eval . (setq-local python-environment-virtualenv diff --git a/.yamllint.yml b/.yamllint.yml new file mode 100644 index 000000000..065665612 --- /dev/null +++ b/.yamllint.yml @@ -0,0 +1,16 @@ +extends: default + +rules: + + indentation: + spaces: 2 + + # 120 chars should be enough, but don't fail if a line is longer + line-length: + max: 120 + level: warning + allow-non-breakable-words: true + + # we don't have multiple document per file + document-start: disable + document-end: disable diff --git a/Makefile b/Makefile index c2c9cf49e..3e3df3292 100644 --- a/Makefile +++ b/Makefile @@ -51,8 +51,8 @@ search.checker.%: install $(Q)./manage pyenv.cmd searx-checker -v "$(subst _, ,$(patsubst search.checker.%,%,$@))" PHONY += test ci.test test.shell -ci.test: test.pep8 test.pylint test.unit test.robot -test: test.pep8 test.pylint test.unit test.robot test.shell +ci.test: test.yamllint test.pep8 test.pylint test.unit test.robot +test: test.yamllint test.pep8 test.pylint test.unit test.robot test.shell test.shell: $(Q)shellcheck -x -s dash \ dockerfiles/docker-entrypoint.sh @@ -81,7 +81,7 @@ MANAGE += node.env node.clean MANAGE += py.build py.clean MANAGE += pyenv pyenv.install pyenv.uninstall MANAGE += pypi.upload pypi.upload.test -MANAGE += test.pylint test.pep8 test.unit test.coverage test.robot test.clean +MANAGE += test.yamllint test.pylint test.pep8 test.unit test.coverage test.robot test.clean MANAGE += themes.all themes.oscar themes.simple themes.bootstrap PHONY += $(MANAGE) diff --git a/manage b/manage index 3282cc645..8dcb506b3 100755 --- a/manage +++ b/manage @@ -29,6 +29,11 @@ pylint.FILES() { grep -l -r --include \*.py '^#[[:blank:]]*lint:[[:blank:]]*pylint' searx searx_extra tests } +YAMLLINT_FILES=() +while IFS= read -r line; do + YAMLLINT_FILES+=("$line") +done <<< "$(git ls-files './tests/*.yml' './searx/*.yml')" + PYLINT_SEARX_DISABLE_OPTION="\ I,C,R,\ W0105,W0212,W0511,W0603,W0613,W0621,W0702,W0703,W1401,\ @@ -391,6 +396,11 @@ pypi.upload.test() { pyenv.cmd twine upload -r testpypi "${PYDIST}"/* } +test.yamllint() { + build_msg TEST "[pylint] \$PYLINT_FILES" + pyenv.cmd yamllint --format parsable "${YAMLLINT_FILES[@]}" +} + test.pylint() { # shellcheck disable=SC2086 ( set -e diff --git a/requirements-dev.txt b/requirements-dev.txt index 6612814df..695a66c0e 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -16,3 +16,4 @@ sphinxcontrib-programoutput==0.17 sphinx-autobuild==2021.3.14 linuxdoc==20210324 aiounittest==1.4.0 +yamllint==1.26.1 diff --git a/searx/settings.yml b/searx/settings.yml index 63d100ca5..6441bab2a 100644 --- a/searx/settings.yml +++ b/searx/settings.yml @@ -1,184 +1,230 @@ general: - debug : False # Debug mode, only for development - instance_name : "searxng" # displayed name - contact_url: False # mailto:contact@example.com + debug: false # Debug mode, only for development + instance_name: "searxng" # displayed name + contact_url: false # mailto:contact@example.com brand: - git_url: https://github.com/searxng/searxng - git_branch: master - issue_url: https://github.com/searxng/searxng/issues - new_issue_url: https://github.com/searxng/searxng/issues/new - docs_url: https://searxng.github.io/searxng - public_instances: https://searx.space - wiki_url: https://github.com/searxng/searxng/wiki + git_url: https://github.com/searxng/searxng + git_branch: master + issue_url: https://github.com/searxng/searxng/issues + new_issue_url: https://github.com/searxng/searxng/issues/new + docs_url: https://searxng.github.io/searxng + public_instances: https://searx.space + wiki_url: https://github.com/searxng/searxng/wiki search: - 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 - formats: [html, csv, json, rss] # remove format to deny access, use lower case. + # Filter results. 0: None, 1: Moderate, 2: Strict + safe_search: 0 + # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", + # "startpage", "swisscows", "qwant", "wikipedia" - leave blank to turn it off + # by default. + autocomplete: "" + # Default search language - leave blank to detect from browser information or + # use codes from 'languages.py' + default_lang: "" + # 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] server: - port : 8888 - bind_address : "127.0.0.1" # address to listen on - secret_key : "ultrasecretkey" # 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 + port: 8888 + # address to listen on + bind_address: "127.0.0.1" + secret_key: "ultrasecretkey" # change this! + # Set custom base_url. Possible values: + # false or "https://your.custom.host/location/" + base_url: false + # 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 ui: - 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 + # Custom static path - leave it blank if you didn't change + static_path: "" + # Custom templates path - leave it blank if you didn't change + templates_path: "" + # ui theme + default_theme: oscar + # Default interface locale - leave blank to detect from browser information or + # use codes from the 'locales' config section + default_locale: "" + theme_args: + # default style of oscar + oscar_style: logicodev + # Open result links in a new tab by default + # results_on_new_tab: false + # 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 +# 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/ -# key : !!binary "your_morty_proxy_key" -# proxify_results : True # [True|False] enable the "proxy" button next to each result +# +# result_proxy: +# url: http://127.0.0.1:3000/ +# key: !!binary "your_morty_proxy_key" +# # [true|false] enable the "proxy" button next to each result +# proxify_results: true -outgoing: # communication with search engines - request_timeout : 3.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 # The maximum number of concurrent connections that may be established. - pool_maxsize : 20 # Allow the connection pool to maintain keep-alive connections below this point. - enable_http2: True # See https://www.python-httpx.org/http2/ -# 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: -# all://: -# - 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 -# - fe80::/126 +# 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 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 -# See https://searxng.github.io/searxng/dev/plugins.html for more details +# External plugin configuration, for more details see +# https://searxng.github.io/searxng/dev/plugins.html # # plugins: # - plugin1 # - plugin2 # - ... -# uncomment below section if you want to configure which plugin is enabled by default +# uncomment below section if you want to configure which plugin is enabled by +# default # # enabled_plugins: # - "HTTPS rewrite" # - ... checker: - # disable checker when in debug mode - off_when_debug: True + # disable checker when in debug mode + off_when_debug: true - # 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 + # use "scheduling: false" to disable scheduling + # scheduling: interval or int - # scheduling: - # start_after: [300, 1800] # delay to start the first run of the checker - # every: [86400, 90000] # how often the checker runs + # to activate the scheduler: + # * uncomment "scheduling" section + # * add "cache2 = name=searxcache,items=2000,blocks=2000,blocksize=4096,bitmap=1" + # to your uwsgi.ini - # additional tests: only for the YAML anchors (see the engines section) + #  scheduling: + # start_after: [300, 1800] # delay to start the first run of the checker + # every: [86400, 90000] # how often the checker runs - additional_tests: - rosebud: &test_rosebud + # 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: rosebud - lang: en + query: ["linux", "new york", "bbc"] 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 + - has_infobox engines: - name: apk mirror engine: apkmirror timeout: 4.0 shortcut: apkm - disabled: True + 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 + - name: archive is + engine: xpath + search_url: https://archive.is/search/?q={query} + url_xpath: (//div[@class="TEXT-BLOCK"]/a)/@href + title_xpath: (//div[@class="TEXT-BLOCK"]/a) + content_xpath: //div[@class="TEXT-BLOCK"]/ul/li + categories: general + timeout: 7.0 + disabled: true + shortcut: ai soft_max_redirects: 1 about: website: https://archive.is/ @@ -188,59 +234,59 @@ engines: require_api_key: false results: HTML - - name : artic - engine : artic - shortcut : arc - timeout : 4.0 + - 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 + categories: science + 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 + - 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 - 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 @@ -249,20 +295,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 @@ -271,29 +317,29 @@ engines: require_api_key: false results: HTML - - name : ccengine - engine : ccengine - categories : images - shortcut : cce + - name: ccengine + engine: ccengine + categories: images + shortcut: cce - # - name : core.ac.uk - # engine : core - # categories : science - # shortcut : cor + # - 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' + # 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 + - 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 @@ -302,55 +348,55 @@ engines: require_api_key: false results: JSON - - 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 - - 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 : digg - engine : digg - shortcut : dg + - name: digg + engine: digg + shortcut: dg - name: docker hub engine: docker_hub shortcut: dh categories: it - - 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 + - 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 @@ -359,55 +405,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 - disabled : True + - 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 : etools - engine : etools - shortcut : eto - disabled : True + - name: etools + engine: etools + shortcut: eto + disabled: true additional_tests: rosebud: *test_rosebud - - 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 + - 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 @@ -416,89 +462,91 @@ engines: require_api_key: false results: HTML -# - name : ebay -# engine : ebay -# shortcut : eb -# 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 - 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 : MyAPIkey - # API key required, see : https://freesound.org/docs/api/overview.html + # - name: freesound + # engine: freesound + # shortcut: fnd + # disabled: true + # timeout: 15.0 + # API key required, see: https://freesound.org/docs/api/overview.html + # api_key: MyAPIkey - - name : frinkiac - engine : frinkiac - shortcut : frk - disabled : True + - name: 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 : 3.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 - 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 @@ -507,22 +555,23 @@ 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 - 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: @@ -531,15 +580,15 @@ engines: require_api_key: false results: JSON - - name : google - engine : google - shortcut : go + - name: google + engine: google + shortcut: go # additional_tests: # android: *test_android - - name : google images - engine : google_images - shortcut : goi + - name: google images + engine: google_images + shortcut: goi # additional_tests: # android: *test_android # dali: @@ -549,33 +598,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 : 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 + - 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 @@ -584,17 +633,17 @@ engines: require_api_key: false results: HTML - - 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 + - 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://play.google.com/ wikidata_id: Q79576 @@ -603,17 +652,17 @@ engines: require_api_key: false results: HTML - - 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 + - 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 @@ -622,17 +671,17 @@ engines: 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: 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 @@ -641,17 +690,17 @@ 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 - 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://www.haskell.org/ wikidata_id: Q34010 @@ -660,38 +709,38 @@ engines: require_api_key: false results: JSON - - 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 - base_url : + - name: invidious + engine: invidious + base_url: - https://invidious.tube/ - https://invidious.snopyta.org/ shortcut: iv - timeout : 5.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 - 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 + - 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: http://libgen.rs/ wikidata_id: Q22017206 @@ -700,22 +749,22 @@ engines: require_api_key: false results: HTML - - name : library of congress - engine : loc - shortcut : loc - categories : images + - name: library of congress + 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 + - 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 @@ -724,35 +773,35 @@ engines: require_api_key: false results: HTML -# - name : meilisearch -# engine : meilisearch -# shortcut: mes -# enable_http: True -# base_url : http://localhost:7700 -# index : my-index + # - name: meilisearch + # engine: meilisearch + # shortcut: mes + # enable_http: true + # base_url: http://localhost:7700 + # index: my-index - - name : microsoft academic - engine : microsoft_academic - categories : science - shortcut : ma + - name: microsoft academic + engine: microsoft_academic + categories: science + shortcut: ma - - name : mixcloud - engine : mixcloud - shortcut : mc + - name: mixcloud + engine: mixcloud + shortcut: mc - - 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 + - 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 - shortcut : npm + shortcut: npm about: website: https://npms.io/ wikidata_id: Q7067518 @@ -761,17 +810,17 @@ engines: require_api_key: false results: JSON -# Requires Tor - - name : not evil - engine : not_evil - categories : onions - enable_http : True - shortcut : ne + # Requires Tor + - name: not evil + engine: not_evil + categories: onions + enable_http: true + shortcut: ne - - name : nyaa - engine : nyaa - shortcut : nt - disabled : True + - name: nyaa + engine: nyaa + shortcut: nt + disabled: true - name: mankier engine: json_engine @@ -789,17 +838,17 @@ engines: require_api_key: false results: JSON - - name : openairedatasets - engine : json_engine - paging : True - search_url : https://api.openaire.eu/search/datasets?format=json&page={pageno}&size=10&title={query} - results_query : response/results/result - url_query : metadata/oaf:entity/oaf:result/children/instance/webresource/url/$ - title_query : metadata/oaf:entity/oaf:result/title/$ - content_query : metadata/oaf:entity/oaf:result/description/$ - content_html_to_text: True - categories : science - shortcut : oad + - 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/ @@ -809,17 +858,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/ @@ -829,26 +878,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: @@ -857,45 +906,45 @@ engines: require_api_key: false results: HTML - - 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 : pubmed - engine : pubmed - shortcut : pub + - name: pubmed + engine: pubmed + shortcut: pub categories: science - timeout : 3.0 + timeout: 3.0 - name: pypi shortcut: pypi engine: xpath paging: true - search_url : https://pypi.org/search?q={query}&page={pageno} + 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"] @@ -911,54 +960,54 @@ engines: require_api_key: false results: HTML - - name : qwant - engine : qwant - shortcut : qw - categories : general - disabled : True + - name: qwant + engine: qwant + shortcut: qw + categories: general + disabled: true additional_tests: rosebud: *test_rosebud - - name : qwant images - engine : qwant - shortcut : qwi - categories : images + - name: qwant images + engine: qwant + shortcut: qwi + categories: images network: qwant - - name : qwant news - engine : qwant - shortcut : qwn - categories : news + - name: qwant news + engine: qwant + shortcut: qwn + categories: news 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 + timeout: 10.0 + disabled: true # Required dependency: redis # - name: myredis @@ -969,47 +1018,47 @@ engines: # 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 : stackoverflow - shortcut : st + - name: stackoverflow + engine: stackoverflow + shortcut: st - - name : searchcode code - engine : searchcode_code - shortcut : scc - disabled : True + - name: searchcode code + engine: searchcode_code + shortcut: scc + disabled: true - - name : framalibre - engine : framalibre - shortcut : frl - 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: 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 - categories : science + - name: semantic scholar + engine: semantic_scholar + disabled: true + shortcut: se + categories: science about: website: https://www.semanticscholar.org/ wikidata_id: Q22908627 @@ -1018,301 +1067,308 @@ engines: require_api_key: false results: JSON -# Spotify needs API credentials -# - name : spotify -# engine : spotify -# shortcut : stf -# api_client_id : ******* -# api_client_secret : ******* + # 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: 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 + # - 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" - # shortcut : springer - # categories : science - # timeout : 6.0 + # # 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 + - 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: tokyotoshokan + engine: tokyotoshokan + shortcut: tt + timeout: 6.0 + disabled: true - - name : solidtorrents - engine : solidtorrents - shortcut : solid - timeout : 3.0 - disabled : True + - name: solidtorrents + engine: solidtorrents + shortcut: solid + timeout: 3.0 + disabled: true # 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 + # - name: demo + # engine: sqlite # shortcut: demo # categories: general # result_template: default.html - # database : searx/data/filmliste-v2.db - # query_str : >- + # 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 + # disabled: false - - name : torrentz - engine : torrentz - shortcut : tor + - name: torrentz + engine: torrentz + shortcut: tor url: https://torrentz2.eu/ - timeout : 3.0 + 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 + # 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 + # 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 + # 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 - shortcut : us + - name: unsplash + engine: unsplash + shortcut: us - - name : yahoo - engine : yahoo - shortcut : yh - disabled : True + - name: yahoo + engine: yahoo + shortcut: yh + disabled: true - - name : yahoo news - engine : yahoo_news - shortcut : yhn + - 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! + - 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 + engine: youtube_noapi - - name : yggtorrent - engine : yggtorrent - shortcut : ygg + - name: yggtorrent + engine: yggtorrent + shortcut: ygg url: https://www4.yggtorrent.li/ - disabled : True - timeout : 4.0 + disabled: true + timeout: 4.0 - - name : dailymotion - engine : dailymotion - shortcut : dm + - name: dailymotion + engine: dailymotion + shortcut: dm - - name : vimeo - engine : vimeo - shortcut : vm + - 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: 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 + - 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 : general - base_url : "https://{language}.wiktionary.org/" - number_of_results : 5 - search_type : text - disabled : True + - 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 : http://products.wolframalpha.com/api/ - # engine : wolframalpha_api - # api_key: '' # required! - 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: '' + # + # Or you can use the html non-stable engine, activated by default + engine: wolframalpha_noapi timeout: 6.0 - categories : science + 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 : True + - 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 : http://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 : mojeek + - name: mojeek shortcut: mjk engine: xpath - paging : True - search_url : https://www.mojeek.com/search?q={query}&s={pageno} + 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 + 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 @@ -1321,17 +1377,17 @@ engines: require_api_key: false results: HTML - - name : naver + - name: naver shortcut: nvr 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 @@ -1340,19 +1396,19 @@ engines: require_api_key: false results: HTML - - 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 + 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 + disabled: true about: website: https://rubygems.org/ wikidata_id: Q1853420 @@ -1361,33 +1417,34 @@ engines: require_api_key: false results: HTML - - name : peertube + - name: peertube engine: peertube shortcut: ptb - paging : True - base_url : https://peer.tube/ + paging: true + base_url: https://peer.tube/ categories: videos - disabled : True + disabled: true - - name : mediathekviewweb - engine : mediathekviewweb - shortcut : mvw + - name: mediathekviewweb + engine: mediathekviewweb + shortcut: mvw -# - 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: yacy + # engine: yacy + # shortcut: ya + # base_url: 'http://localhost:8090 + # required if you aren't using HTTPS for your local yacy instance' + # enable_http: true + # number_of_results: 5 + # timeout: 3.0 - - name : rumble - engine : rumble - shortcut : ru - base_url : https://rumble.com/ - paging : True + - name: rumble + engine: rumble + shortcut: ru + base_url: https://rumble.com/ + paging: true categories: videos - disabled : True + disabled: true - name: wordnik engine: wordnik @@ -1395,7 +1452,7 @@ engines: base_url: https://www.wordnik.com/ categories: general timeout: 5.0 - disabled: True + disabled: true - name: słownik języka polskiego engine: sjp @@ -1403,20 +1460,20 @@ engines: base_url: https://sjp.pwn.pl/ categories: general timeout: 5.0 - disabled: True + disabled: true # wikimini: online encyclopedia for children - # Tthe fulltext and title parameter is necessary for Wikimini because + # 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 + 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 @@ -1446,10 +1503,10 @@ engines: # 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 : 'http://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 @@ -1460,7 +1517,7 @@ engines: # command: ['git', 'grep', '{{QUERY}}'] # shortcut: gg # tokens: [] -# disabled: True +# disabled: true # delimiter: # chars: ':' # keys: ['filepath', 'code'] @@ -1474,7 +1531,7 @@ engines: # command: ['locate', '{{QUERY}}'] # shortcut: loc # tokens: [] -# disabled: True +# disabled: true # delimiter: # chars: ' ' # keys: ['line'] @@ -1489,7 +1546,7 @@ engines: # query_type: path # shortcut: fnd # tokens: [] -# disabled: True +# disabled: true # delimiter: # chars: ' ' # keys: ['line'] @@ -1503,7 +1560,7 @@ engines: # command: ['fgrep', '{{QUERY}}'] # shortcut: fgr # tokens: [] -# disabled: True +# disabled: true # delimiter: # chars: ' ' # keys: ['line'] @@ -1517,67 +1574,67 @@ engines: # command: ['grep', '{{QUERY}}'] # shortcut: gr # tokens: [] -# disabled: True +# disabled: true # delimiter: # chars: ' ' # keys: ['line'] 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) + 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) -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/' +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' +default_doi_resolver: 'oadoi.org' diff --git a/searx/settings_robot.yml b/searx/settings_robot.yml index 0f015dbec..00dcb8da8 100644 --- a/searx/settings_robot.yml +++ b/searx/settings_robot.yml @@ -1,53 +1,53 @@ general: - debug : False - instance_name : "searx_test" + debug: false + instance_name: "searx_test" search: - language: "all" + language: "all" server: - port : 11111 - bind_address : 127.0.0.1 - secret_key : "changedultrasecretkey" - base_url : False - http_protocol_version : "1.0" + port: 11111 + bind_address: 127.0.0.1 + secret_key: "changedultrasecretkey" + base_url: false + http_protocol_version: "1.0" ui: - static_path : "" - templates_path : "" - default_theme : oscar + static_path: "" + templates_path: "" + default_theme: oscar preferences: - lock: [] + lock: [] outgoing: - request_timeout : 1.0 # seconds - useragent_suffix : "" + request_timeout: 1.0 # seconds + useragent_suffix: "" engines: - - name : general dummy - engine : dummy - categories : general - shortcut : gd + - name: general dummy + engine: dummy + categories: general + shortcut: gd - - name : dummy dummy - engine : dummy - categories : dummy - shortcut : dd + - name: dummy dummy + engine: dummy + categories: dummy + shortcut: dd locales: - en : English - hu : Magyar + en: English + hu: Magyar -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/' +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' +default_doi_resolver: 'oadoi.org' diff --git a/tests/unit/settings/syntaxerror_settings.yml b/tests/unit/settings/syntaxerror_settings.yml index 6d3b0f9a0..85cc979c0 100644 --- a/tests/unit/settings/syntaxerror_settings.yml +++ b/tests/unit/settings/syntaxerror_settings.yml @@ -1,2 +1,2 @@ Test: - ********** + "**********" diff --git a/tests/unit/settings/user_settings.yml b/tests/unit/settings/user_settings.yml index f5b6c7173..cd5a2cded 100644 --- a/tests/unit/settings/user_settings.yml +++ b/tests/unit/settings/user_settings.yml @@ -1,111 +1,111 @@ general: - debug : False - instance_name : "searx" + debug: false + instance_name: "searx" search: - safe_search : 0 - autocomplete : "" - default_lang : "" - ban_time_on_fail : 5 - max_ban_time_on_fail : 120 + safe_search: 0 + autocomplete: "" + default_lang: "" + ban_time_on_fail: 5 + max_ban_time_on_fail: 120 server: - port : 9000 - bind_address : "0.0.0.0" - secret_key : "user_settings_secret" - base_url : False - image_proxy : False - http_protocol_version : "1.0" - 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 + port: 9000 + bind_address: "0.0.0.0" + secret_key: "user_settings_secret" + base_url: false + image_proxy: false + http_protocol_version: "1.0" + 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 ui: - static_path : "" - templates_path : "" - default_theme : oscar - default_locale : "" - theme_args : - oscar_style : logicodev + static_path: "" + templates_path: "" + default_theme: oscar + default_locale: "" + theme_args: + oscar_style: logicodev engines: - - name : wikidata - engine : wikidata - shortcut : wd - timeout : 3.0 - weight : 2 + - name: wikidata + engine: wikidata + shortcut: wd + timeout: 3.0 + weight: 2 - - name : wikibooks - engine : mediawiki - shortcut : wb - categories : general - base_url : "https://{language}.wikibooks.org/" - number_of_results : 5 - search_type : text + - name: wikibooks + engine: mediawiki + shortcut: wb + categories: general + base_url: "https://{language}.wikibooks.org/" + number_of_results: 5 + search_type: text - - name : wikinews - engine : mediawiki - shortcut : wn - categories : news - base_url : "https://{language}.wikinews.org/" - number_of_results : 5 - search_type : text + - name: wikinews + engine: mediawiki + shortcut: wn + categories: news + base_url: "https://{language}.wikinews.org/" + number_of_results: 5 + search_type: text - - name : wikiquote - engine : mediawiki - shortcut : wq - categories : general - base_url : "https://{language}.wikiquote.org/" - number_of_results : 5 - search_type : text + - name: wikiquote + engine: mediawiki + shortcut: wq + categories: general + base_url: "https://{language}.wikiquote.org/" + number_of_results: 5 + search_type: text 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) + 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) diff --git a/tests/unit/settings/user_settings_keep_only.yml b/tests/unit/settings/user_settings_keep_only.yml index 518f18bde..42401762e 100644 --- a/tests/unit/settings/user_settings_keep_only.yml +++ b/tests/unit/settings/user_settings_keep_only.yml @@ -1,14 +1,14 @@ use_default_settings: - engines: - keep_only: - - wikibooks - - wikinews + engines: + keep_only: + - wikibooks + - wikinews server: - secret_key: "user_secret_key" - bind_address: "0.0.0.0" - default_http_headers: - Custom-Header: Custom-Value + secret_key: "user_secret_key" + bind_address: "0.0.0.0" + default_http_headers: + Custom-Header: Custom-Value engines: - - name: wikipedia - - name: newengine - engine: dummy + - name: wikipedia + - name: newengine + engine: dummy diff --git a/tests/unit/settings/user_settings_remove.yml b/tests/unit/settings/user_settings_remove.yml index c4fd85df7..c15e2c964 100644 --- a/tests/unit/settings/user_settings_remove.yml +++ b/tests/unit/settings/user_settings_remove.yml @@ -1,10 +1,10 @@ use_default_settings: - engines: - remove: - - wikibooks - - wikinews + engines: + remove: + - wikibooks + - wikinews server: - secret_key: "user_secret_key" - bind_address: "0.0.0.0" - default_http_headers: - Custom-Header: Custom-Value + secret_key: "user_secret_key" + bind_address: "0.0.0.0" + default_http_headers: + Custom-Header: Custom-Value diff --git a/tests/unit/settings/user_settings_remove2.yml b/tests/unit/settings/user_settings_remove2.yml index e9be325dc..1d594fb81 100644 --- a/tests/unit/settings/user_settings_remove2.yml +++ b/tests/unit/settings/user_settings_remove2.yml @@ -1,15 +1,15 @@ use_default_settings: - engines: - remove: - - wikibooks - - wikinews + engines: + remove: + - wikibooks + - wikinews server: - secret_key: "user_secret_key" - bind_address: "0.0.0.0" - default_http_headers: - Custom-Header: Custom-Value + secret_key: "user_secret_key" + bind_address: "0.0.0.0" + default_http_headers: + Custom-Header: Custom-Value engines: - - name: wikipedia - tokens: ['secret_token'] - - name: newengine - engine: dummy + - name: wikipedia + tokens: ['secret_token'] + - name: newengine + engine: dummy diff --git a/tests/unit/settings/user_settings_simple.yml b/tests/unit/settings/user_settings_simple.yml index bc6ed0cfe..bda4ac522 100644 --- a/tests/unit/settings/user_settings_simple.yml +++ b/tests/unit/settings/user_settings_simple.yml @@ -1,9 +1,9 @@ -use_default_settings: True +use_default_settings: true server: - secret_key: "user_secret_key" - bind_address: "0.0.0.0" - default_http_headers: - Custom-Header: Custom-Value + secret_key: "user_secret_key" + bind_address: "0.0.0.0" + default_http_headers: + Custom-Header: Custom-Value result_proxy: - url : https://localhost/morty - key : "$ecretKey" + url: https://localhost/morty + key: "$ecretKey"