diff options
Diffstat (limited to 'searx/settings_defaults.py')
| -rw-r--r-- | searx/settings_defaults.py | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/searx/settings_defaults.py b/searx/settings_defaults.py index 3185dd7bd..330878c1f 100644 --- a/searx/settings_defaults.py +++ b/searx/settings_defaults.py @@ -9,6 +9,7 @@ import numbers import errno import os import logging +from base64 import b64decode from os.path import dirname, abspath from searx.languages import language_codes as languages @@ -41,16 +42,6 @@ STR_TO_BOOL = { } _UNDEFINED = object() -# compatibility -SEARX_ENVIRON_VARIABLES = { - 'SEARX_DISABLE_ETC_SETTINGS': 'SEARXNG_DISABLE_ETC_SETTINGS', - 'SEARX_SETTINGS_PATH': 'SEARXNG_SETTINGS_PATH', - 'SEARX_DEBUG': 'SEARXNG_DEBUG', - 'SEARX_PORT': 'SEARXNG_PORT', - 'SEARX_BIND_ADDRESS': 'SEARXNG_BIND_ADDRESS', - 'SEARX_SECRET': 'SEARXNG_SECRET', -} - class SettingsValue: """Check and update a setting value""" @@ -117,6 +108,15 @@ class SettingsDirectoryValue(SettingsValue): return super().__call__(value) +class SettingsBytesValue(SettingsValue): + """str are base64 decoded""" + + def __call__(self, value: typing.Any) -> typing.Any: + if isinstance(value, str): + value = b64decode(value) + return super().__call__(value) + + def apply_schema(settings, schema, path_list): error = False for key, value in schema.items(): @@ -190,6 +190,7 @@ SCHEMA = { 'advanced_search': SettingsValue(bool, False), 'query_in_title': SettingsValue(bool, False), 'infinite_scroll': SettingsValue(bool, False), + 'cache_url': SettingsValue(str, 'https://web.archive.org/web/'), }, 'preferences': { 'lock': SettingsValue(list, []), @@ -215,6 +216,11 @@ SCHEMA = { 'extra_proxy_timeout': SettingsValue(int, 0), 'networks': {}, }, + 'result_proxy': { + 'url': SettingsValue((None, str), None), + 'key': SettingsBytesValue((None, bytes), None), + 'proxify_results': SettingsValue(bool, False), + }, 'plugins': SettingsValue(list, []), 'enabled_plugins': SettingsValue((None, list), None), 'checker': { @@ -227,11 +233,5 @@ SCHEMA = { def settings_set_defaults(settings): - # compatibility with searx variables - for searx, searxng in SEARX_ENVIRON_VARIABLES.items(): - if searx in os.environ and searxng not in os.environ: - os.environ[searxng] = os.environ[searx] - logger.warning('%s uses value from %s', searxng, searx) - apply_schema(settings, SCHEMA, []) return settings |