summaryrefslogtreecommitdiff
path: root/searx
AgeCommit message (Collapse)Author
2025-07-09[mod] migrate from Redis to Valkey (#4795)Gaspard d'Hautefeuille
This patch migrates from `redis==5.2.1` [1] to `valkey==6.1.0` [2]. The migration to valkey is necessary because the company behind Redis has decided to abandon the open source license. After experiencing a drop in user numbers, they now want to run it under a dual license again. But this move demonstrates once again how unreliable the company is and how it treats open source developers. To review first, read the docs:: $ make docs.live Follow the instructions to remove redis: - http://0.0.0.0:8000/admin/settings/settings_redis.html Config and install a local valkey DB: - http://0.0.0.0:8000/admin/settings/settings_valkey.html [1] https://pypi.org/project/redis/ [2] https://pypi.org/project/valkey/ Co-authored-by: HLFH <gaspard@dhautefeuille.eu> Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2025-07-08[fix] granian: enabling debug on searxng-docker causes server crash (#4985)Markus Heiser
When debugging is enabled, the context in which the process is running (uWSGI or `Flask.run` server) was previously checked [1]. This check has not yet taken the granian server into account. ---- The check is actually only required for the developer environment (`make run`) [2] and is intended to prevent double loading of modules when initializing a Flask server [3]. In the long term, we should find a more robust solution that explicitly enables the specific features of a development environment via switches. Further information on this problematic code can be found in [4][5][6]. [1] https://github.com/searxng/searxng/issues/4973#issuecomment-3047890957 [2] https://flask.palletsprojects.com/en/stable/api/#flask.Flask.run [3] https://github.com/pallets/flask/issues/5307#issuecomment-1774646119 [4] https://github.com/searxng/searxng/pull/1656#issuecomment-1214198941 [5] https://github.com/searxng/searxng/pull/1616#issuecomment-1206137468 [6] https://stackoverflow.com/a/25504196 - closes: https://github.com/searxng/searxng/issues/4973 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-07-08[fix] calculator plugin: subrocess is not closed on timeout (#4983)Markus Heiser
The issue was introduced in commit: edfbf1e Problematic code:: def timeout_func(timeout, func, *args, **kwargs): ... if not p.is_alive(): ret_val = que.get() else: logger.debug("terminate function after timeout is exceeded") # type: ignore p.terminate() p.join() p.close() The `logger` function in the `else` path is not defined. Was accidentally removed in commit edfbf1e without providing an appropriate replacement.:: File "/usr/local/searxng/searx/plugins/calculator.py", line 216, in timeout_func logger.debug("terminate function after timeout is exceeded") # type: ignore ^^^^^^ NameError: name 'logger' is not defined The exception triggered by this prevents the `p.terminate()` from being executed. As a result, the processes accumulate in memory (memory leak). Related: https://github.com/searxng/searx-instances/discussions/708#discussioncomment-13688168 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-07-05[feat] engines: add pixabay for royalty free images/videosBnyro
What's changed? - this PR adds Pixabay, a collection of royalty free images - additionaly it seems to have some videos, so there's an engine for it too Author Notes - when using SearXNG's transport, all our requests will get blocked, probably due to fingerprinting - we should find an alternative solution because this is just a hacky change to make things work for now, but idk how ...
2025-07-04[fix] calculator plugin: crash when trying to evaluate non-math query (#4975)Bnyro
It's possible that `SyntaxError` or `TypeError` instances are thrown when we can't evaluate a query, simply because it's not a math expression. In this case, it should just be skipped, i.e. the calculator plugin doesn't return any result instead of forwarding the exception.
2025-07-04[upd] web-client (simple): Bump vite from 6.3.5 to 7.0.0 in /client/simple ↵dependabot[bot]
(#4944) * [upd] web-client (simple): Bump vite in /client/simple --- updated-dependencies: - dependency-name: vite dependency-version: 7.0.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * [fix] theme/simple: api sync CSS sourcemap generation doesn't work right now anyway. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ivan Gabaldon <igabaldon@inetol.net>
2025-07-04[l10n] update translations from Weblate (#4966)github-actions[bot]
2025-07-03[build] /staticMarkus Heiser
2025-07-03[mod] theme/simple: fmt/lint major passIvan Gabaldon
*Not so safe* changes, no behaviour changes. - More ES5 to ES2015+ conversion. - Make Biome not cry anymore applying remaining changes.
2025-07-03[feat] wttr.in: migrate to new weather engine template (#4888)Bnyro
Author Notes - wttr.in provides 8 hourly time forecasts per day, I assumed that they're always describing the weather for 3 hours each, starting at 1 o'clock in the morning related: - https://github.com/searxng/searxng/pull/4663 - https://github.com/searxng/searxng/issues/4885
2025-07-03[feat] calculator: add support for math constants (e, pi)Bnyro
2025-07-03[feat] calculator: add support for comparation operators (<, <=, ==, ...)Bnyro
2025-07-03[feat] calculator: add some operations (mod, shifts, bitwise and/or)Bnyro
2025-06-30[fix] sec-fetch-* headers cannot be verified for non-secure requests (#4962)Markus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-06-29[data] update searx.data - update_firefox_version.py (#4954)github-actions[bot]
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-29[data] update searx.data - update_external_bangs.py (#4955)github-actions[bot]
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-29[data] update searx.data - update_wikidata_units.py (#4956)github-actions[bot]
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-29[data] update searx.data - update_ahmia_blacklist.py (#4957)github-actions[bot]
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-29[data] update searx.data - update_currencies.py (#4958)github-actions[bot]
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-29[data] update searx.data - update_engine_traits.py (#4959)github-actions[bot]
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-29[data] update searx.data - update_engine_descriptions.py (#4960)github-actions[bot]
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-28[upd] web-client (simple): Bump svgo from 3.3.2 to 4.0.0 in /client/simple ↵dependabot[bot]
(#4945) * [upd] web-client (simple): Bump svgo in /client/simple --- updated-dependencies: - dependency-name: svgo dependency-version: 4.0.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * [build] /static --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2025-06-27[fix] utils: truncated result (#4949)Ivan Gabaldon
Make sure to prase everything before returning. Related: \ ``` FAIL: test_html_to_text (tests.unit.test_utils.TestUtils.test_html_to_text) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/runner/work/searxng/searxng/tests/unit/test_utils.py", line 53, in test_html_to_text self.assertEqual(utils.html_to_text(r"regexp: (?<![a-zA-Z]"), "regexp: (?<![a-zA-Z]") ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: 'regexp: (?' != 'regexp: (?<![a-zA-Z]' - regexp: (? + regexp: (?<![a-zA-Z] ```
2025-06-27[l10n] update translations from Weblate (#4946)github-actions[bot]
66f385590 - 2025-06-26 - AndersNordh <andersnordh@noreply.codeberg.org> 2f0d725c7 - 2025-06-27 - MaheAlif <mahealif@noreply.codeberg.org> 3b8c842d2 - 2025-06-25 - SomeTr <sometr@noreply.codeberg.org> 88c5a918b - 2025-06-25 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org> 306e1f8a4 - 2025-06-25 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org> f1314daea - 2025-06-25 - return42 <return42@noreply.codeberg.org> f4d3905d2 - 2025-06-25 - Linerly <linerly@noreply.codeberg.org> 790dbb51c - 2025-06-25 - return42 <return42@noreply.codeberg.org> 4c59a2801 - 2025-06-24 - Outbreak2096 <outbreak2096@noreply.codeberg.org> 2b70aab75 - 2025-06-24 - ghose <ghose@noreply.codeberg.org> dade2fbb2 - 2025-06-24 - SomeTr <sometr@noreply.codeberg.org> 930f76d9d - 2025-06-24 - AndersNordh <andersnordh@noreply.codeberg.org> f2f5bfa28 - 2025-06-24 - SecularSteve <secularsteve@noreply.codeberg.org> 14bcf9a7b - 2025-06-24 - SecularSteve <secularsteve@noreply.codeberg.org> ba266aa82 - 2025-06-24 - SecularSteve <secularsteve@noreply.codeberg.org> c25b3788c - 2025-06-24 - SecularSteve <secularsteve@noreply.codeberg.org> Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-25[fix] restore startpage autocompleteruseralias
Changes: - Undo deletions of the autocompleter in settings and logic - Add fixed autocomplete function in autocomplete.py Related: - https://github.com/searxng/searxng/issues/4334
2025-06-23[chore] docs: various grammatical fixesbenpiano800
2025-06-23[chore] fix ciBnyro
2025-06-23[fix] uxwing: doesn't work / forbiddenBnyro
the engine is currently broken because - it requires a normal user agent (spoofed) - it has some additional fingerprinting if using http2
2025-06-23[mod] data: implement a simple tracker URL (SQL) databaseMarkus Heiser
On demand, the tracker data is loaded directly into the cache, so that the maintenance of this data via PRs is no longer necessary. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-06-23[mod] plugins: activate tracker url plugin by defaultMarkus Heiser
With the new implementation for removing tracker arguments from URLs, we use the tracker definitions of the ClearURLs project [1]. These definitions are regularly updated and significantly improve data protection, which is why we should now also enable this plugin by default. [1] https://github.com/ClearURLs Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-06-23[data] update searx.data - add tracker_patterns.jsonBnyro
2025-06-23[feat] tracker url plugin: use ClearURL tracking param listBnyro
2025-06-22[build] /staticBnyro
2025-06-22[feat] engines: add Tube Archivist engine (#4889)Robert M. Clabough
Tube Archivist [1] is a self-hosted project which archives youtube videos on your own local server. This engine connects with Tube Archivist's search API to allow searching from SearXNG into your own hosted videos. [1] https://www.tubearchivist.com/ Signed-off-by: Robert M. Clabough <robert@claobugh.tech> Co-authored-by: Bnyro <bnyro@tutanota.com> Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2025-06-22[refactor] yahoo engine: fix missing results and improve request code ↵useralias
structure (#4923) Changes: - Add required iscqry, pz and bct search parameters - Remove unused/optional search parameters (ei, fr2, age) - Fix offset calculation - Use new sB cookie for filters (time, safesearch, language) - Group related parameter assignments together - Restructure request parameter building to better match a real request - Use f-strings for string formatting - Add logging of domain and cookies used Related: - https://github.com/searxng/searxng/issues/4910
2025-06-22[fix] remove dissem.in due to its closure (#4930)Nanashi
remove dissem.in due to its closure [1] [1] https://association.dissem.in/dissemin-closure.html
2025-06-22[l10n] update translations from Weblate (#4925)github-actions[bot]
9c4f336a6 - 2025-06-19 - itsmrxyz <itsmrxyz@noreply.codeberg.org> f639499e2 - 2025-06-18 - Adiker <adiker@noreply.codeberg.org> 67ddeb0b8 - 2025-06-19 - Fjuro <git@alius.cz> 2f37218d3 - 2025-06-17 - Linerly <linerly@noreply.codeberg.org> b6b11a88e - 2025-06-16 - aindriu80 <aindriu80@noreply.codeberg.org> 23d4b17ed - 2025-06-16 - Shihfu Juan <xlion@xlion.tw> b6e19a4a7 - 2025-06-16 - Juno Takano <jutty@noreply.codeberg.org> 9fe7bb4b4 - 2025-06-16 - artens <artens@noreply.codeberg.org> a52c6a9ed - 2025-06-17 - radekjuthner <radekjuthner@noreply.codeberg.org> 91aafaa77 - 2025-06-16 - French <french@noreply.codeberg.org> f00ea030c - 2025-06-15 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org> 0ff16bbad - 2025-06-14 - French <french@noreply.codeberg.org> 1785f8d3b - 2025-06-13 - SomeTr <sometr@noreply.codeberg.org> 2c394a6f4 - 2025-06-13 - AndersNordh <andersnordh@noreply.codeberg.org> 136e3016d - 2025-06-13 - ghose <ghose@noreply.codeberg.org> c29cfab40 - 2025-06-13 - AndersNordh <andersnordh@noreply.codeberg.org> cf982efb8 - 2025-06-13 - L33P <l33p@noreply.codeberg.org> Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-14[l10n] update translations from Weblate (#4914)github-actions[bot]
0c960fb83 - 2025-06-13 - Outbreak2096 <outbreak2096@noreply.codeberg.org> Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-12[mod] Hash plugin: List the available hash functions in the descriptionbenpiano800
Co-authored-by: Bnyro <bnyro@tutanota.com>
2025-06-12[chore] Preferences: Make autocomplete description sound less casual (#4908)benpiano800
2025-06-12[chore] Preferences: Fix grammatical error in results_on_new_tab.html (#4909)benpiano800
2025-06-10[mod] disable wallhaven by defaultBrock Vojkovic
2025-06-08[feat] bing: raise error upon receiving wrong results page0xhtml
2025-06-06[feat] engines: add Minecraft Wiki (#4896)benpiano800
2025-06-06[l10n] update translations from Weblate (#4897)github-actions[bot]
1abc876b1 - 2025-06-06 - Linerly <linerly@noreply.codeberg.org> 8e107bf1a - 2025-06-06 - realkendrick_fr <realkendrick_fr@noreply.codeberg.org> 3ea971192 - 2025-06-03 - LinuxWizard <linuxwizard@noreply.codeberg.org> 455f80f14 - 2025-06-02 - ghose <ghose@noreply.codeberg.org> aab313207 - 2025-06-02 - wags07 <wags07@noreply.codeberg.org> 1f1390745 - 2025-06-02 - aindriu80 <aindriu80@noreply.codeberg.org> c098e4d67 - 2025-06-02 - Shihfu Juan <xlion@xlion.tw> a30395996 - 2025-06-01 - AndersNordh <andersnordh@noreply.codeberg.org> a1648feed - 2025-06-02 - yurtpage <yurtpage@noreply.codeberg.org> 985d3f23c - 2025-06-02 - rodgui <rodgui@noreply.codeberg.org> 1526dbc88 - 2025-06-02 - rodgui <rodgui@noreply.codeberg.org> 2d6baae9e - 2025-06-02 - artens <artens@noreply.codeberg.org> bb5344f55 - 2025-06-02 - Haraldher <haraldher@noreply.codeberg.org> 08991138c - 2025-06-01 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org> 94952bbd5 - 2025-06-01 - AndersNordh <andersnordh@noreply.codeberg.org> e4a792010 - 2025-06-01 - Fjuro <git@alius.cz> 0bd241620 - 2025-06-02 - thenack0 <thenack0@noreply.codeberg.org> 3bdff93bc - 2025-06-01 - pochinki <pochinki@noreply.codeberg.org> 091107dc4 - 2025-06-01 - Outbreak2096 <outbreak2096@noreply.codeberg.org> ac147f2cc - 2025-05-31 - SomeTr <sometr@noreply.codeberg.org> dd0b77eee - 2025-06-01 - ngf <ngf@noreply.codeberg.org> db2aa378b - 2025-06-01 - return42 <return42@noreply.codeberg.org> Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-03[fix] startpage engine: resolve instant CAPTCHA issues (#4890)useralias
Changes: - Improve log messages for better debugging of future CAPTCHA issues - Fixed erroneous get_sc_url variable where sc was always blank (when no cached value) - Move Origin and Referer headers to request() function - Add missing form parameters (abp, abd, abe) required by Startpage to avoid being flagged as automated requests - Include segment parameter for paginated requests - Clean up unnecessary commented-out headers - Fix minor typos e.g. "time-stamp" → "timestamp", "scrap" → "scrapes" Related: - https://github.com/searxng/searxng/issues/4673
2025-05-31[chore] engine preferences: fix grammar mistakes (#4883)benpiano800
2025-05-31[build] /staticMarkus Heiser
2025-05-31[mod] weather results: add types, i18n/l10n, symbols & unit conversionsMarkus Heiser
The types necessary for weather information such as GeoLocation, DateTime, Temperature,Pressure, WindSpeed, RelativeHumidity, Compass (wind direction) and symbols for the weather have been implemented. There are unit conversions and translations for weather property labels. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-31[mod] implement searx.wikidata_units for unit convertersMarkus Heiser