Loading searx/__init__.py +11 −29 Original line number Diff line number Diff line Loading @@ -17,37 +17,18 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >. import logging import searx.settings_loader from os import environ from os.path import realpath, dirname, join, abspath, isfile from searx.settings_defaults import settings_set_defaults from os.path import dirname, abspath searx_dir = abspath(dirname(__file__)) searx_parent_dir = abspath(dirname(dirname(__file__))) engine_dir = dirname(realpath(__file__)) static_path = abspath(join(dirname(__file__), 'static')) settings, settings_load_message = searx.settings_loader.load_settings() if settings['ui']['static_path']: static_path = settings['ui']['static_path'] ''' enable debug if the environnement variable SEARX_DEBUG is 1 or true (whatever the value in settings.yml) or general.debug=True in settings.yml disable debug if the environnement variable SEARX_DEBUG is 0 or false (whatever the value in settings.yml) or general.debug=False in settings.yml ''' searx_debug_env = environ.get('SEARX_DEBUG', '').lower() if searx_debug_env == 'true' or searx_debug_env == '1': searx_debug = True elif searx_debug_env == 'false' or searx_debug_env == '0': searx_debug = False else: searx_debug = settings.get('general', {}).get('debug') if settings is not None: settings = settings_set_defaults(settings) searx_debug = settings['general']['debug'] if searx_debug: logging.basicConfig(level=logging.DEBUG) else: Loading @@ -55,12 +36,13 @@ else: logger = logging.getLogger('searx') logger.info(settings_load_message) logger.info('Initialisation done') if 'SEARX_SECRET' in environ: settings['server']['secret_key'] = environ['SEARX_SECRET'] if 'SEARX_BIND_ADDRESS' in environ: settings['server']['bind_address'] = environ['SEARX_BIND_ADDRESS'] # log max_request_timeout max_request_timeout = settings['outgoing']['max_request_timeout'] if max_request_timeout is None: logger.info('max_request_timeout=%s', repr(max_request_timeout)) else: logger.info('max_request_timeout=%i second(s)', max_request_timeout) class _brand_namespace: Loading searx/engines/__init__.py +1 −1 Original line number Diff line number Diff line Loading @@ -144,7 +144,7 @@ def load_engine(engine_data): # exclude onion engines if not using tor. return None engine.timeout += settings['outgoing'].get('extra_proxy_timeout', 0) engine.timeout += settings['outgoing']['extra_proxy_timeout'] for category_name in engine.categories: categories.setdefault(category_name, []).append(engine) Loading searx/network/network.py +11 −17 Original line number Diff line number Diff line Loading @@ -224,28 +224,22 @@ def initialize(settings_engines=None, settings_outgoing=None): global NETWORKS settings_engines = settings_engines or settings.get('engines') settings_outgoing = settings_outgoing or settings.get('outgoing') settings_engines = settings_engines or settings['engines'] settings_outgoing = settings_outgoing or settings['outgoing'] # default parameters for AsyncHTTPTransport # see https://github.com/encode/httpx/blob/e05a5372eb6172287458b37447c30f650047e1b8/httpx/_transports/default.py#L108-L121 # pylint: disable=line-too-long default_params = { 'enable_http': False, 'verify': True, 'enable_http2': settings_outgoing.get('enable_http2', True), # Magic number kept from previous code 'max_connections': settings_outgoing.get('pool_connections', 100), # Picked from constructor 'max_keepalive_connections': settings_outgoing.get('pool_maxsize', 10), # 'keepalive_expiry': settings_outgoing.get('keepalive_expiry', 5.0), 'local_addresses': settings_outgoing.get('source_ips'), 'proxies': settings_outgoing.get('proxies'), # default maximum redirect # from https://github.com/psf/requests/blob/8c211a96cdbe9fe320d63d9e1ae15c5c07e179f8/requests/models.py#L55 'max_redirects': settings_outgoing.get('max_redirects', 30), # 'retries': settings_outgoing.get('retries', 0), 'enable_http2': settings_outgoing['enable_http2'], 'max_connections': settings_outgoing['pool_connections'], 'max_keepalive_connections': settings_outgoing['pool_maxsize'], 'keepalive_expiry': settings_outgoing['keepalive_expiry'], 'local_addresses': settings_outgoing['source_ips'], 'proxies': settings_outgoing['proxies'], 'max_redirects': settings_outgoing['max_redirects'], 'retries': settings_outgoing['retries'], 'retry_on_http_error': None, } Loading Loading @@ -274,7 +268,7 @@ def initialize(settings_engines=None, settings_outgoing=None): NETWORKS['ipv6'] = new_network({'local_addresses': '::'}) # define networks from outgoing.networks for network_name, network in settings_outgoing.get('networks', {}).items(): for network_name, network in settings_outgoing['networks'].items(): NETWORKS[network_name] = new_network(network) # define networks from engines.[i].network (except references) Loading searx/plugins/__init__.py +5 −5 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ from os import listdir, makedirs, remove, stat, utime from os.path import abspath, basename, dirname, exists, join from shutil import copyfile from searx import logger, settings, static_path from searx import logger, settings logger = logger.getChild('plugins') Loading Loading @@ -123,7 +123,7 @@ def sync_resource(base_path, resource_path, name, target_dir, plugin_dir): def prepare_package_resources(pkg, name): plugin_dir = 'plugin_' + name target_dir = join(static_path, 'plugins/external_plugins', plugin_dir) target_dir = join(settings['ui']['static_path'], 'plugins/external_plugins', plugin_dir) try: makedirs(target_dir, exist_ok=True) except: Loading Loading @@ -170,10 +170,10 @@ plugins.register(search_on_category_select) plugins.register(tracker_url_remover) plugins.register(vim_hotkeys) # load external plugins if 'plugins' in settings: if settings['plugins']: plugins.register(*settings['plugins'], external=True) if 'enabled_plugins' in settings: if settings['enabled_plugins']: for plugin in plugins: if plugin.name in settings['enabled_plugins']: plugin.default_on = True Loading @@ -181,5 +181,5 @@ if 'enabled_plugins' in settings: plugin.default_on = False # load tor specific plugins if settings['outgoing'].get('using_tor_proxy'): if settings['outgoing']['using_tor_proxy']: plugins.register(ahmia_filter) searx/preferences.py +11 −11 Original line number Diff line number Diff line Loading @@ -333,25 +333,25 @@ class Preferences: choices=categories + ['none'] ), 'language': SearchLanguageSetting( settings['search'].get('default_lang', ''), settings['search']['default_lang'], is_locked('language'), choices=list(LANGUAGE_CODES) + [''] ), 'locale': EnumStringSetting( settings['ui'].get('default_locale', ''), settings['ui']['default_locale'], is_locked('locale'), choices=list(settings['locales'].keys()) + [''] ), 'autocomplete': EnumStringSetting( settings['search'].get('autocomplete', ''), settings['search']['autocomplete'], is_locked('autocomplete'), choices=list(autocomplete.backends.keys()) + [''] ), 'image_proxy': MapSetting( settings['server'].get('image_proxy', False), settings['server']['image_proxy'], is_locked('image_proxy'), map={ '': settings['server'].get('image_proxy', 0), '': settings['server']['image_proxy'], '0': False, '1': True, 'True': True, Loading @@ -359,12 +359,12 @@ class Preferences: } ), 'method': EnumStringSetting( settings['server'].get('method', 'POST'), settings['server']['method'], is_locked('method'), choices=('GET', 'POST') ), 'safesearch': MapSetting( settings['search'].get('safe_search', 0), settings['search']['safe_search'], is_locked('safesearch'), map={ '0': 0, Loading @@ -373,12 +373,12 @@ class Preferences: } ), 'theme': EnumStringSetting( settings['ui'].get('default_theme', 'oscar'), settings['ui']['default_theme'], is_locked('theme'), choices=themes ), 'results_on_new_tab': MapSetting( settings['ui'].get('results_on_new_tab', False), settings['ui']['results_on_new_tab'], is_locked('results_on_new_tab'), map={ '0': False, Loading @@ -393,11 +393,11 @@ class Preferences: choices=DOI_RESOLVERS ), 'oscar-style': EnumStringSetting( settings['ui'].get('theme_args', {}).get('oscar_style', 'logicodev'), settings['ui']['theme_args']['oscar_style'], is_locked('oscar-style'), choices=['', 'logicodev', 'logicodev-dark', 'pointhi']), 'advanced_search': MapSetting( settings['ui'].get('advanced_search', False), settings['ui']['advanced_search'], is_locked('advanced_search'), map={ '0': False, Loading Loading
searx/__init__.py +11 −29 Original line number Diff line number Diff line Loading @@ -17,37 +17,18 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >. import logging import searx.settings_loader from os import environ from os.path import realpath, dirname, join, abspath, isfile from searx.settings_defaults import settings_set_defaults from os.path import dirname, abspath searx_dir = abspath(dirname(__file__)) searx_parent_dir = abspath(dirname(dirname(__file__))) engine_dir = dirname(realpath(__file__)) static_path = abspath(join(dirname(__file__), 'static')) settings, settings_load_message = searx.settings_loader.load_settings() if settings['ui']['static_path']: static_path = settings['ui']['static_path'] ''' enable debug if the environnement variable SEARX_DEBUG is 1 or true (whatever the value in settings.yml) or general.debug=True in settings.yml disable debug if the environnement variable SEARX_DEBUG is 0 or false (whatever the value in settings.yml) or general.debug=False in settings.yml ''' searx_debug_env = environ.get('SEARX_DEBUG', '').lower() if searx_debug_env == 'true' or searx_debug_env == '1': searx_debug = True elif searx_debug_env == 'false' or searx_debug_env == '0': searx_debug = False else: searx_debug = settings.get('general', {}).get('debug') if settings is not None: settings = settings_set_defaults(settings) searx_debug = settings['general']['debug'] if searx_debug: logging.basicConfig(level=logging.DEBUG) else: Loading @@ -55,12 +36,13 @@ else: logger = logging.getLogger('searx') logger.info(settings_load_message) logger.info('Initialisation done') if 'SEARX_SECRET' in environ: settings['server']['secret_key'] = environ['SEARX_SECRET'] if 'SEARX_BIND_ADDRESS' in environ: settings['server']['bind_address'] = environ['SEARX_BIND_ADDRESS'] # log max_request_timeout max_request_timeout = settings['outgoing']['max_request_timeout'] if max_request_timeout is None: logger.info('max_request_timeout=%s', repr(max_request_timeout)) else: logger.info('max_request_timeout=%i second(s)', max_request_timeout) class _brand_namespace: Loading
searx/engines/__init__.py +1 −1 Original line number Diff line number Diff line Loading @@ -144,7 +144,7 @@ def load_engine(engine_data): # exclude onion engines if not using tor. return None engine.timeout += settings['outgoing'].get('extra_proxy_timeout', 0) engine.timeout += settings['outgoing']['extra_proxy_timeout'] for category_name in engine.categories: categories.setdefault(category_name, []).append(engine) Loading
searx/network/network.py +11 −17 Original line number Diff line number Diff line Loading @@ -224,28 +224,22 @@ def initialize(settings_engines=None, settings_outgoing=None): global NETWORKS settings_engines = settings_engines or settings.get('engines') settings_outgoing = settings_outgoing or settings.get('outgoing') settings_engines = settings_engines or settings['engines'] settings_outgoing = settings_outgoing or settings['outgoing'] # default parameters for AsyncHTTPTransport # see https://github.com/encode/httpx/blob/e05a5372eb6172287458b37447c30f650047e1b8/httpx/_transports/default.py#L108-L121 # pylint: disable=line-too-long default_params = { 'enable_http': False, 'verify': True, 'enable_http2': settings_outgoing.get('enable_http2', True), # Magic number kept from previous code 'max_connections': settings_outgoing.get('pool_connections', 100), # Picked from constructor 'max_keepalive_connections': settings_outgoing.get('pool_maxsize', 10), # 'keepalive_expiry': settings_outgoing.get('keepalive_expiry', 5.0), 'local_addresses': settings_outgoing.get('source_ips'), 'proxies': settings_outgoing.get('proxies'), # default maximum redirect # from https://github.com/psf/requests/blob/8c211a96cdbe9fe320d63d9e1ae15c5c07e179f8/requests/models.py#L55 'max_redirects': settings_outgoing.get('max_redirects', 30), # 'retries': settings_outgoing.get('retries', 0), 'enable_http2': settings_outgoing['enable_http2'], 'max_connections': settings_outgoing['pool_connections'], 'max_keepalive_connections': settings_outgoing['pool_maxsize'], 'keepalive_expiry': settings_outgoing['keepalive_expiry'], 'local_addresses': settings_outgoing['source_ips'], 'proxies': settings_outgoing['proxies'], 'max_redirects': settings_outgoing['max_redirects'], 'retries': settings_outgoing['retries'], 'retry_on_http_error': None, } Loading Loading @@ -274,7 +268,7 @@ def initialize(settings_engines=None, settings_outgoing=None): NETWORKS['ipv6'] = new_network({'local_addresses': '::'}) # define networks from outgoing.networks for network_name, network in settings_outgoing.get('networks', {}).items(): for network_name, network in settings_outgoing['networks'].items(): NETWORKS[network_name] = new_network(network) # define networks from engines.[i].network (except references) Loading
searx/plugins/__init__.py +5 −5 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ from os import listdir, makedirs, remove, stat, utime from os.path import abspath, basename, dirname, exists, join from shutil import copyfile from searx import logger, settings, static_path from searx import logger, settings logger = logger.getChild('plugins') Loading Loading @@ -123,7 +123,7 @@ def sync_resource(base_path, resource_path, name, target_dir, plugin_dir): def prepare_package_resources(pkg, name): plugin_dir = 'plugin_' + name target_dir = join(static_path, 'plugins/external_plugins', plugin_dir) target_dir = join(settings['ui']['static_path'], 'plugins/external_plugins', plugin_dir) try: makedirs(target_dir, exist_ok=True) except: Loading Loading @@ -170,10 +170,10 @@ plugins.register(search_on_category_select) plugins.register(tracker_url_remover) plugins.register(vim_hotkeys) # load external plugins if 'plugins' in settings: if settings['plugins']: plugins.register(*settings['plugins'], external=True) if 'enabled_plugins' in settings: if settings['enabled_plugins']: for plugin in plugins: if plugin.name in settings['enabled_plugins']: plugin.default_on = True Loading @@ -181,5 +181,5 @@ if 'enabled_plugins' in settings: plugin.default_on = False # load tor specific plugins if settings['outgoing'].get('using_tor_proxy'): if settings['outgoing']['using_tor_proxy']: plugins.register(ahmia_filter)
searx/preferences.py +11 −11 Original line number Diff line number Diff line Loading @@ -333,25 +333,25 @@ class Preferences: choices=categories + ['none'] ), 'language': SearchLanguageSetting( settings['search'].get('default_lang', ''), settings['search']['default_lang'], is_locked('language'), choices=list(LANGUAGE_CODES) + [''] ), 'locale': EnumStringSetting( settings['ui'].get('default_locale', ''), settings['ui']['default_locale'], is_locked('locale'), choices=list(settings['locales'].keys()) + [''] ), 'autocomplete': EnumStringSetting( settings['search'].get('autocomplete', ''), settings['search']['autocomplete'], is_locked('autocomplete'), choices=list(autocomplete.backends.keys()) + [''] ), 'image_proxy': MapSetting( settings['server'].get('image_proxy', False), settings['server']['image_proxy'], is_locked('image_proxy'), map={ '': settings['server'].get('image_proxy', 0), '': settings['server']['image_proxy'], '0': False, '1': True, 'True': True, Loading @@ -359,12 +359,12 @@ class Preferences: } ), 'method': EnumStringSetting( settings['server'].get('method', 'POST'), settings['server']['method'], is_locked('method'), choices=('GET', 'POST') ), 'safesearch': MapSetting( settings['search'].get('safe_search', 0), settings['search']['safe_search'], is_locked('safesearch'), map={ '0': 0, Loading @@ -373,12 +373,12 @@ class Preferences: } ), 'theme': EnumStringSetting( settings['ui'].get('default_theme', 'oscar'), settings['ui']['default_theme'], is_locked('theme'), choices=themes ), 'results_on_new_tab': MapSetting( settings['ui'].get('results_on_new_tab', False), settings['ui']['results_on_new_tab'], is_locked('results_on_new_tab'), map={ '0': False, Loading @@ -393,11 +393,11 @@ class Preferences: choices=DOI_RESOLVERS ), 'oscar-style': EnumStringSetting( settings['ui'].get('theme_args', {}).get('oscar_style', 'logicodev'), settings['ui']['theme_args']['oscar_style'], is_locked('oscar-style'), choices=['', 'logicodev', 'logicodev-dark', 'pointhi']), 'advanced_search': MapSetting( settings['ui'].get('advanced_search', False), settings['ui']['advanced_search'], is_locked('advanced_search'), map={ '0': False, Loading