diff --git a/conf/settings.yml b/conf/settings.yml deleted file mode 100644 index 015f937..0000000 --- a/conf/settings.yml +++ /dev/null @@ -1,632 +0,0 @@ -general: - debug : False # Debug mode, only for development - instance_name : "YunoSearx" # displayed name - -search: - safe_search : 0 # Filter results. 0: None, 1: Moderate, 2: Strict - autocomplete : "" # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "startpage", "wikipedia" - leave blank to turn it off by default - language : "all" - -server: - port : 8888 - bind_address : "127.0.0.1" # address to listen on - secret_key : "__SECRETKEY__" # change this! !!! - base_url : __BASEURL__ # 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 - -ui: - themes_path : "" # Custom ui themes 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 - -# searx supports result proxification using an external service: https://github.com/asciimoo/morty -# uncomment below section if you have running morty proxy -#result_proxy: -# url : http://127.0.0.1:3000/ -# key : your_morty_proxy_key - -outgoing: # communication with search engines - request_timeout : 2.0 # 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 http://docs.python-requests.org/en/latest/user/advanced/#proxies -# SOCKS proxies are also supported: see http://docs.python-requests.org/en/master/user/advanced/#socks -# proxies : -# http : http://127.0.0.1:8080 -# https: http://127.0.0.1:8080 -# 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 - -engines: - - 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 - - - name : base - engine : base - shortcut : bs - - - name : wikipedia - engine : mediawiki - 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 : 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 : 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 : crossref - engine : json_engine - paging : True - search_url : http://search.crossref.org/dois?q={query}&page={pageno} - url_query : doi - title_query : title - content_query : fullCitation - categories : science - shortcut : cr - - - 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 - - - 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 - - - name : wikidata - engine : wikidata - shortcut : wd - weight : 2 - - - name : duckduckgo - engine : duckduckgo - shortcut : ddg - disabled : True - - - name : etymonline - engine : xpath - paging : True - search_url : http://etymonline.com/?search={query}&p={pageno} - url_xpath : //dt/a[1]/@href - title_xpath : //dt - content_xpath : //dd - suggestion_xpath : //a[@class="crossreference"] - first_page_num : 0 - shortcut : et - disabled : True - -# api-key required: http://www.faroo.com/hp/api/api.html#key -# - name : faroo -# engine : faroo -# shortcut : fa -# api_key : 'apikey' # required! - - - name : 500px - engine : www500px - shortcut : px - - - name : 1x - engine : www1x - shortcut : 1x - 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 : frinkiac - engine : frinkiac - shortcut : frk - disabled : True - - - name : gigablast - engine : gigablast - shortcut : gb - timeout : 3.0 - disabled: True - - - name : gitlab - engine : xpath - paging : True - search_url : https://gitlab.com/search?page={pageno}&search={query} - url_xpath : //li[@class="project-row"]//a[@class="project"]/@href - title_xpath : //li[@class="project-row"]//span[contains(@class, "project-full-name")] - content_xpath : //li[@class="project-row"]//div[@class="description"]/p - categories : it - shortcut : gl - timeout : 5.0 - disabled : True - - - name : github - engine : github - shortcut : gh - - - name : google - engine : google - shortcut : go - - - name : google images - engine : google_images - shortcut : goi - - - name : google news - engine : google_news - shortcut : gon - - - name : google scholar - engine : xpath - paging : True - search_url : https://scholar.google.com/scholar?start={pageno}&q={query}&hl=en&as_sdt=0,5&as_vis=1 - results_xpath : //div[@class="gs_r"]/div[@class="gs_ri"] - url_xpath : .//h3/a/@href - title_xpath : .//h3/a - content_xpath : .//div[@class="gs_rs"] - suggestion_xpath : //div[@id="gs_qsuggest"]/ul/li - page_size : 10 - first_page_num : 0 - categories : science - shortcut : gos - - - name : google play apps - engine : xpath - search_url : https://play.google.com/store/search?q={query}&c=apps - url_xpath : //a[@class="title"]/@href - title_xpath : //a[@class="title"] - content_xpath : //a[@class="subtitle"] - categories : files - shortcut : gpa - disabled : True - - - name : google play movies - engine : xpath - search_url : https://play.google.com/store/search?q={query}&c=movies - url_xpath : //a[@class="title"]/@href - title_xpath : //a[@class="title"]/@title - content_xpath : //a[contains(@class, "subtitle")] - categories : videos - shortcut : gpm - disabled : True - - - name : google play music - engine : xpath - search_url : https://play.google.com/store/search?q={query}&c=music - url_xpath : //a[@class="title"]/@href - title_xpath : //a[@class="title"] - content_xpath : //a[@class="subtitle"] - categories : music - shortcut : gps - disabled : True - - - name : geektimes - engine : xpath - paging : True - search_url : https://geektimes.ru/search/page{pageno}/?q={query} - url_xpath : //div[@class="search_results"]//a[@class="post__title_link"]/@href - title_xpath : //div[@class="search_results"]//a[@class="post__title_link"] - content_xpath : //div[@class="search_results"]//div[contains(@class, "content")] - categories : it - timeout : 4.0 - disabled : True - shortcut : gt - - - name : habrahabr - engine : xpath - paging : True - search_url : https://habrahabr.ru/search/page{pageno}/?q={query} - url_xpath : //div[@class="search_results"]//a[contains(@class, "post__title_link")]/@href - title_xpath : //div[@class="search_results"]//a[contains(@class, "post__title_link")] - content_xpath : //div[@class="search_results"]//div[contains(@class, "content")] - categories : it - timeout : 4.0 - disabled : True - shortcut : habr - - - name : hoogle - engine : json_engine - paging : True - search_url : https://www.haskell.org/hoogle/?mode=json&hoogle={query}&start={pageno} - results_query : results - url_query : location - title_query : self - content_query : docs - page_size : 20 - categories : it - shortcut : ho - - - name : ina - engine : ina - shortcut : in - timeout : 6.0 - disabled : True - - - name: kickass - engine : kickass - shortcut : kc - timeout : 4.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 : .//span[@class="link"]/a/@href - title_xpath : .//span[@class="link"]/a - content_xpath : .//a[@class="domain"] - categories : it - shortcut : lo - - - name : microsoft academic - engine : json_engine - paging : True - search_url : https://academic.microsoft.com/api/search/GetEntityResults?query=%40{query}%40&filters=&offset={pageno}&limit=8&correlationId=undefined - results_query : results - url_query : u - title_query : dn - content_query : d - page_size : 8 - first_page_num : 0 - categories : science - shortcut : ma - - - name : mixcloud - engine : mixcloud - shortcut : mc - - - name : nyaa - engine : nyaa - shortcut : nt - disabled : True - - - 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 : 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 - url: https://pirateproxy.red/ - timeout : 3.0 - - - name : qwant - engine : qwant - shortcut : qw - categories : general - disabled : True - - - name : qwant images - engine : qwant - shortcut : qwi - categories : images - - - name : qwant news - engine : qwant - shortcut : qwn - categories : news - - - name : qwant social - engine : qwant - shortcut : qws - categories : social media - - - name : reddit - engine : reddit - shortcut : re - page_size : 25 - timeout : 10.0 - disabled : True - - - name : scanr structures - shortcut: scs - engine : scanr_structures - disabled : True - - - name : soundcloud - engine : soundcloud - shortcut : sc - - - name : stackoverflow - engine : stackoverflow - shortcut : st - - - name : searchcode doc - engine : searchcode_doc - shortcut : scd - - - name : searchcode code - engine : searchcode_code - shortcut : scc - disabled : True - -# - name : searx -# engine : searx_engine -# shortcut : se -# instance_urls : -# - http://127.0.0.1:8888/ -# - ... -# disabled : True - - - name : spotify - engine : spotify - shortcut : stf - - - name : subtitleseeker - engine : subtitleseeker - shortcut : ss -# The language is an option. You can put any language written in english -# Examples : English, French, German, Hungarian, Chinese... -# language : English - - - name : startpage - engine : startpage - shortcut : sp - timeout : 6.0 - disabled : True - - - name : ixquick - engine : startpage - base_url : 'https://www.ixquick.eu/' - search_url : 'https://www.ixquick.eu/do/search' - shortcut : iq - timeout : 6.0 - disabled : True - - - name : swisscows - engine : swisscows - shortcut : sw - disabled : True - - - name : tokyotoshokan - engine : tokyotoshokan - shortcut : tt - timeout : 6.0 - disabled : True - - - name : twitter - engine : twitter - shortcut : tw - -# 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 : yahoo - engine : yahoo - shortcut : yh - - - name : yandex - engine : yandex - shortcut : yn - disabled : True - - - name : yahoo news - engine : yahoo_news - shortcut : yhn - - - name : youtube - shortcut : yt - # You can use the engine using the official stable API, but you need an API key - # See : https://console.developers.google.com/project - # engine : youtube_api - # api_key: 'apikey' # required! - # Or you can use the html non-stable engine, activated by default - engine : youtube_noapi - - - name : dailymotion - engine : dailymotion - shortcut : dm - - - name : vimeo - engine : vimeo - shortcut : vm - - - name : 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 : seedpeer - engine : seedpeer - shortcut: speu - categories: files, music, videos - disabled: True - - - 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 : '' - - - name : voat - engine: xpath - shortcut: vo - categories: social media - search_url : https://voat.co/search?q={query} - url_xpath : //p[contains(@class, "title")]/a/@href - title_xpath : //p[contains(@class, "title")]/a - content_xpath : //span[@class="domain"] - timeout : 10.0 - disabled : True - - -#The blekko technology and team have joined IBM Watson! -> https://blekko.com/ -# - name : blekko images -# engine : blekko_images -# locale : en-US -# shortcut : bli - -# - name : yacy -# engine : yacy -# shortcut : ya -# base_url : 'http://localhost:8090' -# number_of_results : 5 -# timeout : 3.0 - -# 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' - -locales: - en : English - bg : Български (Bulgarian) - cs : Čeština (Czech) - de : Deutsch (German) - el_GR : Ελληνικά (Greek_Greece) - eo : Esperanto (Esperanto) - es : Español (Spanish) - fr : Français (French) - he : עברית (Hebrew) - hu : Magyar (Hungarian) - it : Italiano (Italian) - ja : 日本語 (Japanese) - nl : Nederlands (Dutch) - pt : Português (Portuguese) - pt_BR : Português (Portuguese_Brazil) - ro : Română (Romanian) - ru : Русский (Russian) - sv : Svenska (Swedish) - tr : Türkçe (Turkish) - zh : 中文 (Chinese) diff --git a/scripts/install b/scripts/install index 664e927..b068236 100644 --- a/scripts/install +++ b/scripts/install @@ -100,17 +100,18 @@ bash -c "source $final_path/bin/activate && pip install -U pip setuptools && pip # CONFIGURE SEARX #================================================= -cp ../conf/settings.yml "$final_path/searx/" +# Change instance name +ynh_replace_string "instance_name : \"searx\"" "instance_name : \"YunoSearx\"" "$final_path/searx/settings.yml" # Generate a secret key -ynh_replace_string "__SECRETKEY__" "$(ynh_string_random)" "$final_path/searx/settings.yml" +ynh_replace_string "secret_key : \"ultrasecretkey\"" "secret_key : \"$(ynh_string_random)\"" "$final_path/searx/settings.yml" # Modify the base_url parameter, if it's installed in a subpath if [ "$path_url" != "/" ] then - ynh_replace_string "__BASEURL__" "https://${domain}${path_url}/" "$final_path/searx/settings.yml" + ynh_replace_string "base_url : False" "base_url : https://${domain}${path_url}/" "$final_path/searx/settings.yml" else - ynh_replace_string "__BASEURL__" "False" "$final_path/searx/settings.yml" + ynh_replace_string "base_url : False" "base_url : False" "$final_path/searx/settings.yml" fi ynh_store_file_checksum "$final_path/searx/settings.yml" diff --git a/scripts/upgrade b/scripts/upgrade index e2eac75..c6fca67 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -62,6 +62,9 @@ path_url=$(ynh_normalize_url_path $path_url) # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= +# Verify the checksum and backup the file if it's different +ynh_backup_if_checksum_is_different "$final_path/searx/settings.yml" + # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source "$final_path" @@ -101,20 +104,18 @@ bash -c "source $final_path/bin/activate && pip install -U pip setuptools && pip # CONFIGURE SEARX #================================================= -# Verify the checksum and backup the file if it's different -ynh_backup_if_checksum_is_different "$final_path/searx/settings.yml" - -cp ../conf/settings.yml "$final_path/searx/" +# Change instance name +ynh_replace_string "instance_name : \"searx\"" "instance_name : \"YunoSearx\"" "$final_path/searx/settings.yml" # Generate a secret key -ynh_replace_string "__SECRETKEY__" "$(ynh_string_random)" "$final_path/searx/settings.yml" +ynh_replace_string "secret_key : \"ultrasecretkey\"" "secret_key : \"$(ynh_string_random)\"" "$final_path/searx/settings.yml" # Modify the base_url parameter, if it's installed in a subpath if [ "$path_url" != "/" ] then - ynh_replace_string "__BASEURL__" "https://${domain}${path_url}/" "$final_path/searx/settings.yml" + ynh_replace_string "base_url : False" "base_url : https://${domain}${path_url}/" "$final_path/searx/settings.yml" else - ynh_replace_string "__BASEURL__" "False" "$final_path/searx/settings.yml" + ynh_replace_string "base_url : False" "base_url : False" "$final_path/searx/settings.yml" fi ynh_store_file_checksum "$final_path/searx/settings.yml"