summaryrefslogtreecommitdiff
path: root/searx/settings_defaults.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/settings_defaults.py')
-rw-r--r--searx/settings_defaults.py32
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