Fix Searx configuration for source-based install

This commit is contained in:
Scott Wallace 2019-09-11 15:50:34 +01:00
parent d290283680
commit 67add4da26
3 changed files with 87 additions and 69 deletions

View file

@ -3,23 +3,23 @@ general:
instance_name : "searx" # displayed name instance_name : "searx" # displayed name
search: search:
safe_search : 0 # Filter results. 0: None, 1: Moderate, 2: Strict safe_search : 1 # Filter results. 0: None, 1: Moderate, 2: Strict
autocomplete : "startpage" # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "startpage", "wikipedia" - leave blank to turn it off by default autocomplete : "google" # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "startpage", "wikipedia" - leave blank to turn it off by default
language : "en-US" language : "en-GB"
ban_time_on_fail : 5 # ban time in seconds after engine errors 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 max_ban_time_on_fail : 120 # max ban time in seconds after engine errors
server: server:
port : 8889 port : 8889
bind_address : "::" # address to listen on bind_address : "::" # address to listen on
secret_key : "56ef02b698cd6995ace2156778a5697d" # change this! secret_key : "56ef02b698cd6995ace2156778a5697d"
base_url : False # Set custom base_url. Possible values: False or "https://your.custom.host/location/" base_url : False # Set custom base_url. Possible values: False or "https://your.custom.host/location/"
image_proxy : True # Proxying image results through searx image_proxy : False # Proxying image results through searx
http_protocol_version : "1.0" # 1.0 and 1.1 are supported http_protocol_version : "1.0" # 1.0 and 1.1 are supported
ui: ui:
static_path : "/usr/share/python3-searx/static" # Custom static path - leave it blank if you didn't change static_path : "/srv/app/searx/searx/static" # Custom static path - leave it blank if you didn't change
templates_path : "/usr/share/python3-searx/templates" # Custom templates path - leave it blank if you didn't change templates_path : "/srv/app/searx/searx/templates" # Custom templates path - leave it blank if you didn't change
default_theme : oscar # ui theme 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 default_locale : "" # Default interface locale - leave blank to detect from browser information or use codes from the 'locales' config section
theme_args : theme_args :
@ -27,12 +27,15 @@ ui:
# searx supports result proxification using an external service: https://github.com/asciimoo/morty # searx supports result proxification using an external service: https://github.com/asciimoo/morty
# uncomment below section if you have running morty proxy # 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: #result_proxy:
# url : http://127.0.0.1:3000/ # url : http://127.0.0.1:3000/
# key : your_morty_proxy_key # key : !!binary "your_morty_proxy_key"
outgoing: # communication with search engines outgoing: # communication with search engines
request_timeout : 5.0 # seconds request_timeout : 5.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 useragent_suffix : "" # suffix of searx_useragent, could contain informations like an email address to the administrator
pool_connections : 100 # Number of different hosts pool_connections : 100 # Number of different hosts
pool_maxsize : 40 # Number of simultaneous requests by host pool_maxsize : 40 # Number of simultaneous requests by host
@ -49,11 +52,11 @@ outgoing: # communication with search engines
# - 1.1.1.2 # - 1.1.1.2
engines: engines:
# - name: apk mirror - name: apk mirror
# engine: apkmirror engine: apkmirror
# timeout: 4.0 timeout: 4.0
# shortcut: apkm shortcut: apkm
# disabled: True disabled: True
- name : arch linux wiki - name : arch linux wiki
engine : archlinux engine : archlinux
@ -113,6 +116,10 @@ engines:
disabled : True disabled : True
shortcut : bb shortcut : bb
- name : btdigg
engine : btdigg
shortcut : bt
- name : ccc-tv - name : ccc-tv
engine : xpath engine : xpath
paging : False paging : False
@ -197,11 +204,11 @@ engines:
- name : etymonline - name : etymonline
engine : xpath engine : xpath
paging : True paging : True
search_url : http://etymonline.com/?search={query}&p={pageno} search_url : https://etymonline.com/search?page={pageno}&q={query}
url_xpath : //a[contains(@class, "word--")]/@href url_xpath : //a[contains(@class, "word__name--")]/@href
title_xpath : //p[contains(@class, "word__name--")]/text() title_xpath : //a[contains(@class, "word__name--")]
content_xpath : //section[contains(@class, "word__defination")]/object content_xpath : //section[contains(@class, "word__defination")]
first_page_num : 0 first_page_num : 1
shortcut : et shortcut : et
disabled : True disabled : True
@ -281,7 +288,7 @@ engines:
- name : google - name : google
engine : google engine : google
shortcut : go shortcut : go
disabled : True disabled : False
- name : google images - name : google images
engine : google_images engine : google_images
@ -310,31 +317,37 @@ engines:
shortcut : gos shortcut : gos
- name : google play apps - name : google play apps
engine : xpath engine : xpath
search_url : https://play.google.com/store/search?q={query}&c=apps search_url : https://play.google.com/store/search?q={query}&c=apps
url_xpath : //a[@class="title"]/@href results_xpath : '//div[@class="WHE7ib mpg5gc"]'
title_xpath : //a[@class="title"] title_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a'
content_xpath : //a[@class="subtitle"] url_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a/@href'
content_xpath : './/div[@class="RZEgze"]//a[@class="mnKHRc"]'
thumbnail_xpath : './/div[@class="uzcko"]/div/span[1]//img/@data-src'
categories : files categories : files
shortcut : gpa shortcut : gpa
disabled : True disabled : True
- name : google play movies - name : google play movies
engine : xpath engine : xpath
search_url : https://play.google.com/store/search?q={query}&c=movies search_url : https://play.google.com/store/search?q={query}&c=movies
url_xpath : //a[@class="title"]/@href results_xpath : '//div[@class="WHE7ib mpg5gc"]'
title_xpath : //a[@class="title"]/@title title_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a'
content_xpath : //a[contains(@class, "subtitle")] url_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a/@href'
content_xpath : './/div[@class="RZEgze"]//a[@class="mnKHRc"]'
thumbnail_xpath : './/div[@class="uzcko"]/div/span[1]//img/@data-src'
categories : videos categories : videos
shortcut : gpm shortcut : gpm
disabled : True disabled : True
- name : google play music - name : google play music
engine : xpath engine : xpath
search_url : https://play.google.com/store/search?q={query}&c=music search_url : https://play.google.com/store/search?q={query}&c=music
url_xpath : //a[@class="title"]/@href results_xpath : '//div[@class="WHE7ib mpg5gc"]'
title_xpath : //a[@class="title"] title_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a'
content_xpath : //a[@class="subtitle"] url_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a/@href'
content_xpath : './/div[@class="RZEgze"]//a[@class="mnKHRc"]'
thumbnail_xpath : './/div[@class="uzcko"]/div/span[1]//img/@data-src'
categories : music categories : music
shortcut : gps shortcut : gps
disabled : True disabled : True
@ -381,6 +394,12 @@ engines:
timeout : 6.0 timeout : 6.0
disabled : True disabled : True
- name : invidious
engine : invidious
base_url : 'https://invidio.us/'
shortcut: iv
timeout : 5.0
- name: kickass - name: kickass
engine : kickass engine : kickass
shortcut : kc shortcut : kc
@ -417,6 +436,20 @@ engines:
engine : mixcloud engine : mixcloud
shortcut : mc 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
- name : nyaa - name : nyaa
engine : nyaa engine : nyaa
shortcut : nt shortcut : nt
@ -568,22 +601,11 @@ engines:
engine : spotify engine : spotify
shortcut : stf 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 - name : startpage
engine : startpage engine : startpage
shortcut : sp shortcut : sp
timeout : 6.0 timeout : 6.0
disabled : False
- name : swisscows
engine : swisscows
shortcut : sw
disabled : True
- name : tokyotoshokan - name : tokyotoshokan
engine : tokyotoshokan engine : tokyotoshokan
@ -617,10 +639,10 @@ engines:
# content_xpath : //*[@class="meaning"] # content_xpath : //*[@class="meaning"]
# shortcut : ud # shortcut : ud
# - name : unsplash - name : unsplash
# engine : unsplash engine : unsplash
# disabled: True disabled: True
# shortcut : us shortcut : us
- name : yahoo - name : yahoo
engine : yahoo engine : yahoo
@ -663,12 +685,6 @@ engines:
timeout: 6.0 timeout: 6.0
categories : science categories : science
- name : seedpeer
engine : seedpeer
shortcut: speu
categories: files, music, videos
disabled: True
- name : dictzone - name : dictzone
engine : dictzone engine : dictzone
shortcut : dc shortcut : dc
@ -687,9 +703,9 @@ engines:
shortcut: vo shortcut: vo
categories: social media categories: social media
search_url : https://searchvoat.co/?t={query} search_url : https://searchvoat.co/?t={query}
url_xpath : //div[@class="entry"]/p/a[@class="title"]/@href url_xpath : //div[@class="entry"]/p/a[contains(@class, "title")]/@href
title_xpath : //div[@class="entry"]/p/a[@class="title"] title_xpath : //div[@class="entry"]/p/a[contains(@class, "title")]
content_xpath : //div[@class="entry"]/p/span[@class="domain"] content_xpath : //div[@class="entry"]/p/span[@class="domain"]/a/text()
timeout : 10.0 timeout : 10.0
disabled : True disabled : True
@ -698,7 +714,7 @@ engines:
shortcut : 1337x shortcut : 1337x
disabled : True disabled : True
- name : Duden - name : duden
engine : duden engine : duden
shortcut : du shortcut : du
disabled : True disabled : True
@ -708,10 +724,11 @@ engines:
engine: xpath engine: xpath
paging : True paging : True
search_url : https://search.seznam.cz/?q={query}&count=10&from={pageno} search_url : https://search.seznam.cz/?q={query}&count=10&from={pageno}
results_xpath: //div[@class="Page-content"]//div[@class="Result "] results_xpath: //div[@class="Page-content"]//div[contains(@class, "Result ")]
url_xpath : ./h3/a/@href url_xpath : ./h3/a/@href
title_xpath : ./h3 title_xpath : ./h3
content_xpath : .//p[@class="Result-description"] content_xpath : .//p[@class="Result-description"]
suggestion_xpath: //div[@class="Related-container"]//div[@class="RelatedItem"]/div/span/a
first_page_num : 0 first_page_num : 0
page_size : 10 page_size : 10
disabled : True disabled : True
@ -765,6 +782,7 @@ locales:
he : עברית (Hebrew) he : עברית (Hebrew)
hr : Hrvatski (Croatian) hr : Hrvatski (Croatian)
hu : Magyar (Hungarian) hu : Magyar (Hungarian)
ia : Interlingua (Interlingua)
it : Italiano (Italian) it : Italiano (Italian)
ja : 日本語 (Japanese) ja : 日本語 (Japanese)
nl : Nederlands (Dutch) nl : Nederlands (Dutch)
@ -781,7 +799,7 @@ locales:
te : తెలుగు (telugu) te : తెలుగు (telugu)
tr : Türkçe (Turkish) tr : Türkçe (Turkish)
uk : українська мова (Ukrainian) uk : українська мова (Ukrainian)
vi : tiếng việt (㗂越) vi : tiếng việt (Vietnamese)
zh : 中文 (Chinese) zh : 中文 (Chinese)
zh_TW : 國語 (Taiwanese Mandarin) zh_TW : 國語 (Taiwanese Mandarin)

View file

@ -16,12 +16,13 @@ http-socket = [::]:8888
# Plugin to use and interpretor config # Plugin to use and interpretor config
single-interpreter = true single-interpreter = true
master = true master = true
plugin = python3 plugin = python
enable-threads = true enable-threads = true
lazy-apps = true lazy-apps = true
# Module to import # Module to import
module = searx.webapp module = searx.webapp
pythonpath = /usr/lib/python3/dist-packages/searx/ virtualenv = /srv/app/searx/searx-ve/
chdir = /usr/lib/python3/dist-packages/searx/ pythonpath = /srv/app/searx/
chdir = /srv/app/searx/searx/

View file

@ -9,19 +9,18 @@
state: latest state: latest
become: yes become: yes
loop: loop:
- searx
- uwsgi - uwsgi
- uwsgi-plugin-python3 - uwsgi-plugin-python3
- name: 'Searx: Config directory' - name: 'Searx: Config directory'
file: file:
state: directory state: directory
path: '/etc/searx' path: '/srv/app/searx/searx'
become: yes become: yes
- name: 'Searx: Config' - name: 'Searx: Config'
copy: copy:
dest: '/etc/searx/settings.yml' dest: '/srv/app/searx/searx/settings.yml'
src: 'files/settings.yaml' src: 'files/settings.yaml'
become: yes become: yes