diff --git a/conf/custom.yml b/conf/custom.yml new file mode 100644 index 0000000..10e329a --- /dev/null +++ b/conf/custom.yml @@ -0,0 +1,5 @@ +general: + instance_name : "YunoSearx" # displayed name + +server: + secret_key : "__SECRET_KEY__" # change this! diff --git a/conf/settings.yml b/conf/settings.yml deleted file mode 100644 index adf292e..0000000 --- a/conf/settings.yml +++ /dev/null @@ -1,1479 +0,0 @@ -general: - debug : False # Debug mode, only for development - instance_name : "YunoSearx" # displayed name - contact_url: False # mailto:contact@example.com - -brand: - 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: - 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: - 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: - 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 - -# 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" - -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 -# See http://searx.github.io/searx/dev/plugins.html for more details -# -# plugins: -# - plugin1 -# - plugin2 -# - ... - -# uncomment below section if you want to configure which plugin is enabled by default -# -# enabled_plugins: -# - "HTTPS rewrite" -# - ... - -# Example to rewrite hostnames in external links -# -# enabled_plugins: -# - 'Hostname replace' -# hostname_replace: -# '(.*\.)?youtube\.com$': 'invidious.example.com' -# '(.*\.)?youtu\.be$': 'invidious.example.com' -# '(.*\.)?youtube-noocookie\.com$': 'yotter.example.com' -# '(.*\.)?reddit\.com$': 'teddit.example.com' -# '(.*\.)?redd\.it$': 'teddit.example.com' -# '(www\.)?twitter\.com$': 'nitter.example.com' - -checker: - # 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 - - # scheduling: - # start_after: [300, 1800] # delay to start the first run of the checker - # every: [86400, 90000] # how often the checker runs - - # additional tests: only for the YAML anchors (see the engines section) - - additional_tests: - rosebud: &test_rosebud - matrix: - query: rosebud - lang: en - result_container: - - not_empty - - ['one_title_contains', 'citizen kane'] - test: - - unique_results - - android: &test_android - matrix: - query: ['android'] - lang: ['en', 'de', 'fr', 'zh-CN'] - result_container: - - not_empty - - ['one_title_contains', 'google'] - test: - - unique_results - - # tests: only for the YAML anchors (see the engines section) - tests: - infobox: &tests_infobox - infobox: - matrix: - query: ["linux", "new york", "bbc"] - result_container: - - has_infobox - -engines: - - name: apk mirror - engine: apkmirror - timeout: 4.0 - shortcut: apkm - disabled: True - -# Requires Tor - - name : ahmia - engine : ahmia - categories : onions - enable_http : True - shortcut : ah - - - name : arch linux wiki - engine : archlinux - shortcut : al - - - name : archive is - engine : xpath - search_url : https://archive.is/{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: http://mementoweb.org/depot/native/archiveis/ - use_official_api: false - require_api_key: false - results: HTML - - - name : arxiv - engine : arxiv - shortcut : arx - categories : science - timeout : 4.0 - -# tmp suspended: dh key too small -# - name : base -# engine : base -# shortcut : bs - - - name: bandcamp - engine: bandcamp - shortcut: bc - categories: music - - - name : wikipedia - engine : wikipedia - shortcut : wp - base_url : 'https://{language}.wikipedia.org/' - - - name : bing - engine : bing - shortcut : bi - - - name : bing images - engine : bing_images - shortcut : bii - - - name : bing news - engine : bing_news - shortcut : bin - - - name : bing videos - engine : bing_videos - shortcut : biv - - - name : bitbucket - engine : xpath - paging : True - search_url : https://bitbucket.org/repo/all/{pageno}?name={query} - url_xpath : //article[@class="repo-summary"]//a[@class="repo-link"]/@href - title_xpath : //article[@class="repo-summary"]//a[@class="repo-link"] - content_xpath : //article[@class="repo-summary"]/p - categories : it - timeout : 4.0 - disabled : True - shortcut : bb - about: - website: https://bitbucket.org/ - wikidata_id: Q2493781 - official_api_documentation: https://developer.atlassian.com/bitbucket - use_official_api: false - require_api_key: false - results: HTML - - - name : btdigg - engine : btdigg - shortcut : bt - - - name : ccc-tv - engine : xpath - paging : False - search_url : https://media.ccc.de/search/?q={query} - url_xpath : //div[@class="caption"]/h3/a/@href - title_xpath : //div[@class="caption"]/h3/a/text() - content_xpath : //div[@class="caption"]/h4/@title - categories : videos - disabled : True - shortcut : c3tv - about: - website: https://media.ccc.de/ - wikidata_id: Q80729951 - official_api_documentation: https://github.com/voc/voctoweb - use_official_api: false - require_api_key: false - results: HTML - - - 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 : crossref - engine : json_engine - paging : True - search_url : https://search.crossref.org/dois?q={query}&page={pageno} - url_query : doi - title_query : title - title_html_to_text: True - content_query : fullCitation - content_html_to_text: True - categories : science - shortcut : cr - about: - website: https://www.crossref.org/ - wikidata_id: Q5188229 - official_api_documentation: https://github.com/CrossRef/rest-api-doc - use_official_api: false - require_api_key: false - results: JSON - - - name : currency - engine : currency_convert - categories : general - shortcut : cc - - - name : deezer - engine : deezer - shortcut : dz - - - name : deviantart - engine : deviantart - shortcut : da - timeout : 3.0 - - - name : ddg definitions - engine : duckduckgo_definitions - shortcut : ddd - weight : 2 - disabled : True - tests: *tests_infobox - -# cloudflare protected -# - name : digbt -# engine : digbt -# shortcut : dbt -# timeout : 6.0 -# disabled : True - - - 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 : general - shortcut : ew - disabled : True - about: - website: https://www.erowid.org/ - wikidata_id: Q1430691 - official_api_documentation: - use_official_api: false - require_api_key: false - results: HTML - -# - name : elasticsearch -# shortcut : es -# engine : elasticsearch -# base_url : http://localhost:9200 -# username : elastic -# password : changeme -# index : my-index -# # available options: match, simple_query_string, term, terms, custom -# query_type : match -# # if query_type is set to custom, provide your query here -# #custom_query_json: {"query":{"match_all": {}}} -# #show_metadata: False -# disabled : True - - - name : wikidata - engine : wikidata - shortcut : wd - timeout : 3.0 - weight : 2 - tests: *tests_infobox - - - name : duckduckgo - engine : duckduckgo - shortcut : ddg - disabled : True - - - name : duckduckgo images - engine : duckduckgo_images - shortcut : ddi - timeout: 3.0 - 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 - about: - website: https://www.etymonline.com/ - wikidata_id: Q1188617 - official_api_documentation: - use_official_api: false - require_api_key: false - results: HTML - -# - name : ebay -# engine : ebay -# shortcut : eb -# disabled : True -# timeout: 5 - - - name : 1x - engine : www1x - shortcut : 1x - timeout : 3.0 - disabled : True - - - name : fdroid - engine : fdroid - shortcut : fd - disabled : True - - - name : flickr - categories : images - shortcut : fl -# You can use the engine using the official stable API, but you need an API key -# See : https://www.flickr.com/services/apps/create/ -# engine : flickr -# api_key: 'apikey' # required! -# Or you can use the html non-stable engine, activated by default - engine : flickr_noapi - - - name : free software directory - engine : mediawiki - shortcut : fsd - categories : it - 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 : frinkiac - engine : frinkiac - shortcut : frk - disabled : True - - - name : genius - engine : genius - shortcut : gen - - - name : gigablast - engine : gigablast - shortcut : gb - timeout : 3.0 - disabled: True - additional_tests: - rosebud: *test_rosebud - - - name : gentoo - engine : gentoo - shortcut : ge - - - name : gitlab - engine : json_engine - paging : True - search_url : https://gitlab.com/api/v4/projects?search={query}&page={pageno} - url_query : web_url - title_query : name_with_namespace - content_query : description - page_size : 20 - categories : it - shortcut : gl - timeout : 10.0 - disabled : True - about: - website: https://about.gitlab.com/ - wikidata_id: Q16639197 - official_api_documentation: https://docs.gitlab.com/ee/api/ - use_official_api: false - require_api_key: false - results: JSON - - - name : github - engine : github - shortcut : gh - - # This a Gitea service. If you would like to use a different instance, - # change codeberg.org to URL of the desired Gitea host. Or you can create - # a new engine by copying this and changing the name, shortcut and search_url. - - name : codeberg - engine : json_engine - search_url : https://codeberg.org/api/v1/repos/search?q={query}&limit=10 - url_query : html_url - title_query : name - content_query : description - categories : it - shortcut : cb - disabled : True - about: - website: https://codeberg.org/ - wikidata_id: - official_api_documentation: https://try.gitea.io/api/swagger - use_official_api: false - require_api_key: false - results: JSON - - - name : google - engine : google - shortcut : go - # additional_tests: - # android: *test_android - - - name : google images - engine : google_images - shortcut : goi - # additional_tests: - # android: *test_android - # dali: - # matrix: - # query: ['Dali Christ'] - # lang: ['en', 'de', 'fr', 'zh-CN'] - # result_container: - # - ['one_title_contains', 'Salvador'] - - - name : google news - engine : google_news - shortcut : gon - # additional_tests: - # android: *test_android - - - name : google videos - engine : google_videos - shortcut : gov - # additional_tests: - # android: *test_android - - - name : google scholar - engine : google_scholar - shortcut : gos - - - name : google play apps - engine : 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 - official_api_documentation: - use_official_api: false - 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 - about: - website: https://play.google.com/ - wikidata_id: Q79576 - official_api_documentation: - use_official_api: false - 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 - 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 - official_api_documentation: https://habr.com/en/docs/help/api/ - use_official_api: false - require_api_key: false - results: HTML - - - name : hoogle - engine : xpath - paging : True - search_url : https://hoogle.haskell.org/?hoogle={query}&start={pageno} - results_xpath : '//div[@class="result"]' - title_xpath : './/div[@class="ans"]//a' - url_xpath : './/div[@class="ans"]//a/@href' - content_xpath : './/div[@class="from"]' - page_size : 20 - categories : it - shortcut : ho - about: - 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 : ina - engine : ina - shortcut : in - timeout : 6.0 - disabled : True - - - name : invidious - engine : invidious - base_url : - - https://invidious.tube/ - - https://invidious.snopyta.org/ - shortcut: iv - timeout : 5.0 - disabled : True - - - name: kickass - 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 - about: - website: http://libgen.rs/ - wikidata_id: Q22017206 - official_api_documentation: - use_official_api: false - require_api_key: false - results: HTML - - - 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 - about: - website: https://lobste.rs/ - wikidata_id: Q60762874 - 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 : microsoft academic - engine : microsoft_academic - categories : science - shortcut : ma - - - 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 - timeout: 5.0 - shortcut : npm - about: - website: https://npms.io/ - wikidata_id: Q7067518 - official_api_documentation: https://api-docs.npms.io/ - use_official_api: false - require_api_key: false - results: JSON - -# Requires Tor - - name : not evil - engine : not_evil - categories : onions - enable_http : True - shortcut : ne - - - 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 - timeout: 5.0 - about: - website: https://www.openaire.eu/ - wikidata_id: Q25106053 - official_api_documentation: https://api.openaire.eu/ - use_official_api: false - require_api_key: false - results: JSON - - - name : openairepublications - engine : json_engine - paging : True - search_url : https://api.openaire.eu/search/publications?format=json&page={pageno}&size=10&title={query} - results_query : response/results/result - url_query : metadata/oaf:entity/oaf:result/children/instance/webresource/url/$ - title_query : metadata/oaf:entity/oaf:result/title/$ - content_query : metadata/oaf:entity/oaf:result/description/$ - content_html_to_text: True - categories : science - shortcut : oap - timeout: 5.0 - about: - website: https://www.openaire.eu/ - wikidata_id: Q25106053 - official_api_documentation: https://api.openaire.eu/ - use_official_api: false - require_api_key: false - results: JSON - -# - name : opensemanticsearch -# engine : opensemantic -# shortcut : oss -# base_url : 'http://localhost:8983/solr/opensemanticsearch/' - - - name : openstreetmap - engine : openstreetmap - shortcut : osm - - - name : openrepos - engine : xpath - paging : True - search_url : https://openrepos.net/search/node/{query}?page={pageno} - url_xpath : //li[@class="search-result"]//h3[@class="title"]/a/@href - title_xpath : //li[@class="search-result"]//h3[@class="title"]/a - content_xpath : //li[@class="search-result"]//div[@class="search-snippet-info"]//p[@class="search-snippet"] - categories : files - timeout : 4.0 - disabled : True - shortcut : or - about: - website: https://openrepos.net/ - wikidata_id: - official_api_documentation: - use_official_api: false - require_api_key: false - results: HTML - - - name : pdbe - engine : pdbe - shortcut : pdb -# Hide obsolete PDB entries. -# Default is not to hide obsolete structures -# hide_obsolete : False - - - name : photon - engine : photon - shortcut : ph - - - name : piratebay - engine : piratebay - shortcut : tpb - # You may need to change this URL to a proxy if piratebay is blocked in your country - url: https://thepiratebay.org/ - timeout : 3.0 - -# Required dependency: psychopg2 -# - name : postgresql -# engine : postgresql -# database : postgres -# username : postgres -# password : postgres -# limit : 10 -# query_str : 'SELECT * from my_table WHERE my_column = %(query)s' -# shortcut : psql - - - name : pubmed - engine : pubmed - shortcut : pub - categories: science - timeout : 3.0 - - - 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 news - engine : qwant - shortcut : qwn - categories : news - -# - name: library -# engine: recoll -# shortcut: lib -# base_url: 'https://recoll.example.org/' -# search_dir: '' -# mount_prefix: /export -# dl_prefix: 'https://download.example.org' -# timeout: 30.0 -# categories: files -# disabled: True - -# - name: recoll library reference -# engine: recoll -# base_url: 'https://recoll.example.org/' -# search_dir: reference -# mount_prefix: /export -# dl_prefix: 'https://download.example.org' -# shortcut: libr -# timeout: 30.0 -# categories: files -# disabled: True - - - name : reddit - engine : reddit - shortcut : re - page_size : 25 - timeout : 10.0 - 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 : stackoverflow - engine : stackoverflow - shortcut : st - - - name : searchcode code - engine : searchcode_code - shortcut : scc - disabled : True - - - name : framalibre - engine : framalibre - shortcut : frl - disabled : True - -# - name : searx -# engine : searx_engine -# shortcut : se -# instance_urls : -# - http://127.0.0.1:8888/ -# - ... -# disabled : True - - - name : semantic scholar - engine : semantic_scholar - disabled : True - shortcut : se - categories : science - about: - 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 - -# 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 - about: - website: https://www.wikinews.org/ - wikidata_id: Q964 - - - name : wikiquote - engine : mediawiki - shortcut : wq - categories : general - base_url : "https://{language}.wikiquote.org/" - number_of_results : 5 - search_type : text - disabled : True - additional_tests: - rosebud: *test_rosebud - about: - website: https://www.wikiquote.org/ - wikidata_id: Q369 - - - name : wikisource - engine : mediawiki - shortcut : ws - categories : general - base_url : "https://{language}.wikisource.org/" - number_of_results : 5 - search_type : text - disabled : True - about: - website: https://www.wikisource.org/ - wikidata_id: Q263 - - - name : wiktionary - engine : mediawiki - shortcut : wt - categories : 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 - about: - website: https://www.wikiversity.org/ - wikidata_id: Q370 - - - name : wikivoyage - engine : mediawiki - shortcut : wy - categories : general - base_url : "https://{language}.wikivoyage.org/" - number_of_results : 5 - search_type : text - disabled : True - about: - website: https://www.wikivoyage.org/ - wikidata_id: Q373 - - - name : wolframalpha - shortcut : wa - # You can use the engine using the official stable API, but you need an API key - # See : http://products.wolframalpha.com/api/ - # engine : wolframalpha_api - # api_key: '' # required! - engine : wolframalpha_noapi - timeout: 6.0 - categories : science - - - name : dictzone - engine : dictzone - shortcut : dc - - - 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 : '' - -# Required dependency: mysql-connector-python -# - name : mysql -# engine : mysql_server -# database : mydatabase -# username : user -# password : pass -# limit : 10 -# query_str : 'SELECT * from mytable WHERE fieldname=%(query)s' -# shortcut : mysql - - - name : 1337x - engine : 1337x - shortcut : 1337x - disabled : True - - - name : duden - engine : duden - shortcut : du - disabled : True - - - name : seznam - shortcut: szn - engine: seznam - disabled : True - - - name : mojeek - shortcut: mjk - engine: xpath - paging : True - 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 - official_api_documentation: https://www.mojeek.com/services/api.html/ - use_official_api: false - require_api_key: false - results: HTML - - - 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 - about: - website: https://www.naver.com/ - wikidata_id: Q485639 - official_api_documentation: https://developers.naver.com/docs/nmt/examples/ - use_official_api: false - require_api_key: false - results: HTML - - - name : rubygems - shortcut: rbg - engine: xpath - paging : True - search_url : https://rubygems.org/search?page={pageno}&query={query} - results_xpath: /html/body/main/div/a[@class="gems__gem"] - url_xpath : ./@href - title_xpath : ./span/h2 - content_xpath : ./span/p - suggestion_xpath : /html/body/main/div/div[@class="search__suggestions"]/p/a - first_page_num : 1 - categories: it - disabled : True - about: - website: https://rubygems.org/ - wikidata_id: Q1853420 - official_api_documentation: https://guides.rubygems.org/rubygems-org-api/ - use_official_api: false - require_api_key: false - results: HTML - - - name : peertube - engine: peertube - shortcut: ptb - paging : True - base_url : https://peer.tube/ - categories: videos - disabled : True - - - 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 : rumble - engine : rumble - shortcut : ru - base_url : https://rumble.com/ - paging : True - categories: videos - disabled : True - - - name: wordnik - engine: wordnik - shortcut: def - base_url: https://www.wordnik.com/ - categories: general - timeout: 5.0 - disabled: True - - - name: słownik języka polskiego - engine: sjp - shortcut: sjp - base_url: https://sjp.pwn.pl/ - categories: general - 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 : 'http://doc.ubuntu-fr.org' - -# Be careful when enabling this engine if you are -# running a public instance. Do not expose any sensitive -# information. You can restrict access by configuring a list -# of access tokens under tokens. -# - name: git grep -# engine: command -# command: ['git', 'grep', '{{QUERY}}'] -# shortcut: gg -# tokens: [] -# disabled: True -# delimiter: -# chars: ':' -# keys: ['filepath', 'code'] - -# Be careful when enabling this engine if you are -# running a public instance. Do not expose any sensitive -# information. You can restrict access by configuring a list -# of access tokens under tokens. -# - name: locate -# engine: command -# command: ['locate', '{{QUERY}}'] -# shortcut: loc -# tokens: [] -# disabled: True -# delimiter: -# chars: ' ' -# keys: ['line'] - -# Be careful when enabling this engine if you are -# running a public instance. Do not expose any sensitive -# information. You can restrict access by configuring a list -# of access tokens under tokens. -# - name: find -# engine: command -# command: ['find', '.', '-name', '{{QUERY}}'] -# query_type: path -# shortcut: fnd -# tokens: [] -# disabled: True -# delimiter: -# chars: ' ' -# keys: ['line'] - -# Be careful when enabling this engine if you are -# running a public instance. Do not expose any sensitive -# information. You can restrict access by configuring a list -# of access tokens under tokens. -# - name: pattern search in files -# engine: command -# command: ['fgrep', '{{QUERY}}'] -# shortcut: fgr -# tokens: [] -# disabled: True -# delimiter: -# chars: ' ' -# keys: ['line'] - -# Be careful when enabling this engine if you are -# running a public instance. Do not expose any sensitive -# information. You can restrict access by configuring a list -# of access tokens under tokens. -# - name: regex search in files -# engine: command -# command: ['grep', '{{QUERY}}'] -# shortcut: gr -# tokens: [] -# disabled: True -# delimiter: -# chars: ' ' -# keys: ['line'] - -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) - -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/manifest.json b/manifest.json index 3720ddb..64f3957 100644 --- a/manifest.json +++ b/manifest.json @@ -7,7 +7,7 @@ "fr": "Méta-moteur de recherche respectueux de la vie privée et bidouillable", "de": "Meta-Suchmaschine, die den Privatsphäre wahrt und 'hackable' ist." }, - "version": "1.0.0~ynh1", + "version": "1.0.0~ynh2", "url": "https://searx.github.io/searx/", "license": "AGPL-3.0-or-later", "maintainer": { diff --git a/scripts/install b/scripts/install index 039d0cc..63974f2 100644 --- a/scripts/install +++ b/scripts/install @@ -105,7 +105,7 @@ ynh_script_progression --message="Configuring Searx..." --weight=2 secret_key=$(ynh_string_random) -ynh_add_config --template="../conf/settings.yml" --destination="$final_path/searx/settings.yml" +ynh_add_config --template="../conf/custom.yml" --destination="$final_path/searx/custom.yml" #================================================= # SET PERMISSIONS ON SEARX DIRECTORY diff --git a/scripts/upgrade b/scripts/upgrade index afcc96e..b7c900b 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -37,6 +37,12 @@ if [ -z "$final_path" ]; then ynh_app_setting_set --app=$app --key=final_path --value=$final_path fi +# If custom.yml doesn't exist, create it +if [ -z "$final_path/searx/custom.yml" ]; then + secret_key=$(ynh_string_random) + ynh_add_config --template="../conf/custom.yml" --destination="$final_path/searx/custom.yml" +fi + # Cleaning legacy permissions if ynh_legacy_permissions_exists; then ynh_legacy_permissions_delete_all @@ -81,13 +87,10 @@ ynh_system_user_create --username=$app if [ "$upgrade_type" == "UPGRADE_APP" ] then - # Verify the checksum and backup the file if it's different - ynh_backup_if_checksum_is_different --file="$final_path/searx/settings.yml" - ynh_script_progression --message="Upgrading source files..." --weight=3 # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir="$final_path" + ynh_setup_source --dest_dir="$final_path" --keep="$final_path/searx/custom.yml" fi #================================================= @@ -122,22 +125,6 @@ set +u; source $final_path/bin/activate; set -u pip3 install -U setuptools pip3 install --requirement $final_path/requirements-ynh.txt --upgrade -#================================================= -# CONFIGURE SEARX -#================================================= -ynh_script_progression --message="Reconfiguring Searx..." --weight=2 - -# Change instance name -ynh_replace_string --match_string="instance_name : \"searx\"" --replace_string="instance_name : \"YunoSearx\"" --target_file="$final_path/searx/settings.yml" - -# Generate a secret key -ynh_replace_string --match_string="secret_key : \"ultrasecretkey\"" --replace_string="secret_key : \"$(ynh_string_random)\"" --target_file="$final_path/searx/settings.yml" - -# Modify the base_url parameter -#ynh_replace_string --match_string="base_url : False" --replace_string="base_url : https://${domain}${path_url%/}/" --target_file="$final_path/searx/settings.yml" - -ynh_store_file_checksum --file="$final_path/searx/settings.yml" - #================================================= # GENERIC FINALISATION #=================================================