forked from Ponysearch/Ponysearch
[mod] change settings file structure according to #314
This commit is contained in:
parent
d0830d4edf
commit
1fcf066a81
7 changed files with 46 additions and 34 deletions
|
@ -29,7 +29,7 @@ from searx.poolrequests import get as http_get
|
||||||
|
|
||||||
def get(*args, **kwargs):
|
def get(*args, **kwargs):
|
||||||
if 'timeout' not in kwargs:
|
if 'timeout' not in kwargs:
|
||||||
kwargs['timeout'] = settings['server']['request_timeout']
|
kwargs['timeout'] = settings['outgoing']['request_timeout']
|
||||||
|
|
||||||
return http_get(*args, **kwargs)
|
return http_get(*args, **kwargs)
|
||||||
|
|
||||||
|
|
|
@ -75,7 +75,7 @@ def load_engine(engine_data):
|
||||||
engine.safesearch = False
|
engine.safesearch = False
|
||||||
|
|
||||||
if not hasattr(engine, 'timeout'):
|
if not hasattr(engine, 'timeout'):
|
||||||
engine.timeout = settings['server']['request_timeout']
|
engine.timeout = settings['outgoing']['request_timeout']
|
||||||
|
|
||||||
if not hasattr(engine, 'shortcut'):
|
if not hasattr(engine, 'shortcut'):
|
||||||
engine.shortcut = ''
|
engine.shortcut = ''
|
||||||
|
|
|
@ -39,11 +39,11 @@ class HTTPAdapterWithConnParams(requests.adapters.HTTPAdapter):
|
||||||
block=self._pool_block, **self._conn_params)
|
block=self._pool_block, **self._conn_params)
|
||||||
|
|
||||||
|
|
||||||
if settings.get('source_ips'):
|
if settings['outgoing'].get('source_ips'):
|
||||||
http_adapters = cycle(HTTPAdapterWithConnParams(pool_connections=100, source_address=(source_ip, 0))
|
http_adapters = cycle(HTTPAdapterWithConnParams(pool_connections=100, source_address=(source_ip, 0))
|
||||||
for source_ip in settings['source_ips'])
|
for source_ip in settings['outgoing']['source_ips'])
|
||||||
https_adapters = cycle(HTTPAdapterWithConnParams(pool_connections=100, source_address=(source_ip, 0))
|
https_adapters = cycle(HTTPAdapterWithConnParams(pool_connections=100, source_address=(source_ip, 0))
|
||||||
for source_ip in settings['source_ips'])
|
for source_ip in settings['outgoing']['source_ips'])
|
||||||
else:
|
else:
|
||||||
http_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), ))
|
http_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), ))
|
||||||
https_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), ))
|
https_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), ))
|
||||||
|
@ -69,7 +69,7 @@ def request(method, url, **kwargs):
|
||||||
"""same as requests/requests/api.py request(...) except it use SessionSinglePool and force proxies"""
|
"""same as requests/requests/api.py request(...) except it use SessionSinglePool and force proxies"""
|
||||||
global settings
|
global settings
|
||||||
session = SessionSinglePool()
|
session = SessionSinglePool()
|
||||||
kwargs['proxies'] = settings.get('outgoing_proxies', None)
|
kwargs['proxies'] = settings['outgoing'].get('proxies', None)
|
||||||
response = session.request(method=method, url=url, **kwargs)
|
response = session.request(method=method, url=url, **kwargs)
|
||||||
session.close()
|
session.close()
|
||||||
return response
|
return response
|
||||||
|
|
|
@ -1,28 +1,32 @@
|
||||||
|
general:
|
||||||
|
debug : False # Debug mode, only for development
|
||||||
|
|
||||||
server:
|
server:
|
||||||
port : 8888
|
port : 8888
|
||||||
bind_address : "127.0.0.1" # address to listen on
|
bind_address : "127.0.0.1" # address to listen on
|
||||||
secret_key : "ultrasecretkey" # change this!
|
secret_key : "ultrasecretkey" # change this!
|
||||||
debug : False # Debug mode, only for development
|
|
||||||
request_timeout : 2.0 # seconds
|
|
||||||
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 : False # Proxying image results through searx
|
||||||
|
|
||||||
|
ui:
|
||||||
themes_path : "" # Custom ui themes path - leave it blank if you didn't change
|
themes_path : "" # Custom ui themes path - leave it blank if you didn't change
|
||||||
default_theme : oscar # ui theme
|
default_theme : oscar # ui theme
|
||||||
useragent_suffix : "" # suffix of searx_useragent, could contain informations like an email address to the administrator
|
|
||||||
image_proxy : False # Proxying image results through searx
|
|
||||||
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
|
||||||
|
|
||||||
|
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
|
||||||
# uncomment below section if you want to use a proxy
|
# uncomment below section if you want to use a proxy
|
||||||
# see http://docs.python-requests.org/en/latest/user/advanced/#proxies
|
# see http://docs.python-requests.org/en/latest/user/advanced/#proxies
|
||||||
# SOCKS proxies are not supported : see https://github.com/kennethreitz/requests/pull/478
|
# SOCKS proxies are not supported : see https://github.com/kennethreitz/requests/pull/478
|
||||||
#outgoing_proxies :
|
# proxies :
|
||||||
# http : http://127.0.0.1:8080
|
# http : http://127.0.0.1:8080
|
||||||
# https: 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
|
# uncomment below section only if you have more than one network interface
|
||||||
# which can be the source of outgoing search requests
|
# which can be the source of outgoing search requests
|
||||||
#source_ips:
|
# source_ips:
|
||||||
# - 1.1.1.1
|
# - 1.1.1.1
|
||||||
# - 1.1.1.2
|
# - 1.1.1.2
|
||||||
|
|
||||||
engines:
|
engines:
|
||||||
- name : wikipedia
|
- name : wikipedia
|
||||||
|
|
|
@ -1,14 +1,21 @@
|
||||||
|
general:
|
||||||
|
debug : False
|
||||||
|
|
||||||
server:
|
server:
|
||||||
port : 11111
|
port : 11111
|
||||||
bind_address : 127.0.0.1
|
bind_address : 127.0.0.1
|
||||||
secret_key : "ultrasecretkey" # change this!
|
secret_key : "ultrasecretkey" # change this!
|
||||||
debug : False
|
base_url : False
|
||||||
request_timeout : 3.0 # seconds
|
image_proxy : False
|
||||||
base_url: False
|
|
||||||
|
ui:
|
||||||
themes_path : ""
|
themes_path : ""
|
||||||
default_theme : default
|
default_theme : default
|
||||||
https_rewrite : True
|
default_locale : ""
|
||||||
image_proxy : False
|
|
||||||
|
outgoing:
|
||||||
|
request_timeout : 1.0 # seconds
|
||||||
|
useragent_suffix : ""
|
||||||
|
|
||||||
engines:
|
engines:
|
||||||
- name : general_dummy
|
- name : general_dummy
|
||||||
|
|
|
@ -26,6 +26,7 @@ ua_versions = ('33.0',
|
||||||
ua_os = ('Windows NT 6.3; WOW64',
|
ua_os = ('Windows NT 6.3; WOW64',
|
||||||
'X11; Linux x86_64',
|
'X11; Linux x86_64',
|
||||||
'X11; Linux x86')
|
'X11; Linux x86')
|
||||||
|
|
||||||
ua = "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}"
|
ua = "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}"
|
||||||
|
|
||||||
blocked_tags = ('script',
|
blocked_tags = ('script',
|
||||||
|
@ -40,7 +41,7 @@ def gen_useragent():
|
||||||
def searx_useragent():
|
def searx_useragent():
|
||||||
return 'searx/{searx_version} {suffix}'.format(
|
return 'searx/{searx_version} {suffix}'.format(
|
||||||
searx_version=VERSION_STRING,
|
searx_version=VERSION_STRING,
|
||||||
suffix=settings['server'].get('useragent_suffix', ''))
|
suffix=settings['outgoing'].get('useragent_suffix', ''))
|
||||||
|
|
||||||
|
|
||||||
def highlight_content(content, query):
|
def highlight_content(content, query):
|
||||||
|
|
|
@ -77,11 +77,11 @@ except ImportError:
|
||||||
|
|
||||||
|
|
||||||
static_path, templates_path, themes =\
|
static_path, templates_path, themes =\
|
||||||
get_themes(settings['themes_path']
|
get_themes(settings['ui']['themes_path']
|
||||||
if settings.get('themes_path')
|
if settings['ui']['themes_path']
|
||||||
else searx_dir)
|
else searx_dir)
|
||||||
|
|
||||||
default_theme = settings['server'].get('default_theme', 'default')
|
default_theme = settings['ui']['default_theme']
|
||||||
|
|
||||||
static_files = get_static_files(searx_dir)
|
static_files = get_static_files(searx_dir)
|
||||||
|
|
||||||
|
@ -121,15 +121,15 @@ _category_names = (gettext('files'),
|
||||||
gettext('news'),
|
gettext('news'),
|
||||||
gettext('map'))
|
gettext('map'))
|
||||||
|
|
||||||
outgoing_proxies = settings.get('outgoing_proxies', None)
|
outgoing_proxies = settings['outgoing'].get('proxies', None)
|
||||||
|
|
||||||
|
|
||||||
@babel.localeselector
|
@babel.localeselector
|
||||||
def get_locale():
|
def get_locale():
|
||||||
locale = request.accept_languages.best_match(settings['locales'].keys())
|
locale = request.accept_languages.best_match(settings['locales'].keys())
|
||||||
|
|
||||||
if settings['server'].get('default_locale'):
|
if settings['ui'].get('default_locale'):
|
||||||
locale = settings['server']['default_locale']
|
locale = settings['ui']['default_locale']
|
||||||
|
|
||||||
if request.cookies.get('locale', '') in settings['locales']:
|
if request.cookies.get('locale', '') in settings['locales']:
|
||||||
locale = request.cookies.get('locale', '')
|
locale = request.cookies.get('locale', '')
|
||||||
|
@ -640,12 +640,12 @@ def preferences():
|
||||||
stats[e.name] = {'time': None,
|
stats[e.name] = {'time': None,
|
||||||
'warn_timeout': False,
|
'warn_timeout': False,
|
||||||
'warn_time': False}
|
'warn_time': False}
|
||||||
if e.timeout > settings['server']['request_timeout']:
|
if e.timeout > settings['outgoing']['request_timeout']:
|
||||||
stats[e.name]['warn_timeout'] = True
|
stats[e.name]['warn_timeout'] = True
|
||||||
|
|
||||||
for engine_stat in get_engines_stats()[0][1]:
|
for engine_stat in get_engines_stats()[0][1]:
|
||||||
stats[engine_stat.get('name')]['time'] = round(engine_stat.get('avg'), 3)
|
stats[engine_stat.get('name')]['time'] = round(engine_stat.get('avg'), 3)
|
||||||
if engine_stat.get('avg') > settings['server']['request_timeout']:
|
if engine_stat.get('avg') > settings['outgoing']['request_timeout']:
|
||||||
stats[engine_stat.get('name')]['warn_time'] = True
|
stats[engine_stat.get('name')]['warn_time'] = True
|
||||||
# end of stats
|
# end of stats
|
||||||
|
|
||||||
|
@ -683,7 +683,7 @@ def image_proxy():
|
||||||
|
|
||||||
resp = requests.get(url,
|
resp = requests.get(url,
|
||||||
stream=True,
|
stream=True,
|
||||||
timeout=settings['server'].get('request_timeout', 2),
|
timeout=settings['outgoing']['request_timeout'],
|
||||||
headers=headers,
|
headers=headers,
|
||||||
proxies=outgoing_proxies)
|
proxies=outgoing_proxies)
|
||||||
|
|
||||||
|
@ -775,8 +775,8 @@ def clear_cookies():
|
||||||
|
|
||||||
def run():
|
def run():
|
||||||
app.run(
|
app.run(
|
||||||
debug=settings['server']['debug'],
|
debug=settings['general']['debug'],
|
||||||
use_debugger=settings['server']['debug'],
|
use_debugger=settings['general']['debug'],
|
||||||
port=settings['server']['port'],
|
port=settings['server']['port'],
|
||||||
host=settings['server']['bind_address']
|
host=settings['server']['bind_address']
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue