diff --git a/searx/settings.yml b/searx/settings.yml index dc81f4a82..e76d6d327 100644 --- a/searx/settings.yml +++ b/searx/settings.yml @@ -70,6 +70,7 @@ redis: ui: # Custom static path - leave it blank if you didn't change static_path: "" + static_use_hash: false # Custom templates path - leave it blank if you didn't change templates_path: "" # query_in_title: When true, the result page's titles contains the query diff --git a/searx/settings_defaults.py b/searx/settings_defaults.py index bb0f2eb29..e3efb8544 100644 --- a/searx/settings_defaults.py +++ b/searx/settings_defaults.py @@ -176,6 +176,7 @@ SCHEMA = { }, 'ui': { 'static_path': SettingsDirectoryValue(str, os.path.join(searx_dir, 'static')), + 'static_use_hash': SettingsValue(bool, False), 'templates_path': SettingsDirectoryValue(str, os.path.join(searx_dir, 'templates')), 'default_theme': SettingsValue(str, 'simple'), 'default_locale': SettingsValue(str, ''), diff --git a/searx/webapp.py b/searx/webapp.py index 5aa0a382c..2f27d0f64 100755 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -350,10 +350,11 @@ def custom_url_for(endpoint: str, override_theme: Optional[str] = None, **values if endpoint == 'static' and values.get('filename'): theme_name = get_current_theme_name(override=override_theme) filename_with_theme = "themes/{}/{}".format(theme_name, values['filename']) - file_hash = static_files.get(filename_with_theme) - if file_hash: - values['filename'] = filename_with_theme - suffix = "?" + file_hash + values['filename'] = filename_with_theme + if get_setting('ui.static_use_hash', False): + file_hash = static_files.get(filename_with_theme) + if file_hash: + suffix = "?" + file_hash if endpoint == 'info' and 'locale' not in values: locale = request.preferences.get_value('locale') if _INFO_PAGES.get_page(values['pagename'], locale) is None: