summaryrefslogtreecommitdiff
path: root/searx
AgeCommit message (Collapse)Author
2025-05-11[mod] rework container deployment (#4764)Ivan Gabaldon
container.yml will run after integration.yml COMPLETES successfully and in master branch. Style changes, cleanup and improved integration with CI by leveraging the use of shared cache between all workflows. * Podman is now supported to build the container images (Docker also received a refactor, merging both build and buildx) * Container images are being built by Buildah instead of Docker BuildKit. * Container images are tested before release. * Splitting "modern" (amd64 & arm64) and "legacy" (armv7) arches on different Dockerfiles allowing future optimizations.
2025-05-09[build] /staticMarkus Heiser
2025-05-09[l10n] update translations from Weblate (#4744)SearXNG Bot
6f8c520f2 - 2025-05-08 - polskiecus <polskiecus@noreply.codeberg.org> 05dd91d5b - 2025-05-08 - return42 <return42@noreply.codeberg.org> 686b8e5fb - 2025-05-08 - return42 <return42@noreply.codeberg.org> f40b42bd8 - 2025-05-05 - ehsanrs2 <ehsanrs2@noreply.codeberg.org> b8013bc99 - 2025-05-03 - polskiecus <polskiecus@noreply.codeberg.org> 5affaa104 - 2025-05-02 - SomeTr <sometr@noreply.codeberg.org> Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-05-09[data] update searx.data - update_wikidata_units.py (#4738)github-actions[bot]
2025-05-09[data] update searx.data - update_ahmia_blacklist.py (#4739)github-actions[bot]
Co-authored-by: inetol <inetol@users.noreply.github.com>
2025-05-09[data] update searx.data - update_currencies.py (#4740)github-actions[bot]
Co-authored-by: inetol <inetol@users.noreply.github.com>
2025-05-09[data] update searx.data - update_engine_traits.py (#4741)github-actions[bot]
Co-authored-by: inetol <inetol@users.noreply.github.com>
2025-05-09[data] update searx.data - update_engine_descriptions.py (#4742)github-actions[bot]
Co-authored-by: inetol <inetol@users.noreply.github.com>
2025-05-07[enh] plugins: tor_check: Add more keywords (#4726)benpiano800
Previously, there was only one usable keyword for the tor_check plugin. Adding more keywords eliminates confusion.
2025-05-07[fix] sec-fetch-* blocking infinite scroll (#4728)Brock Vojkovic
2025-05-07[fix] references from searx.botdetection.http_sec_fetch (#4723)Markus Heiser
2025-05-04fix: check if the browser supports Sec-Fetch headers (#4696)Émilien (perso)
2025-05-04[mod] botdetection: HTTP Fetch Metadata Request HeadersMarkus Heiser
HTTP Fetch Metadata Request Headers [1][2] are used to detect bot requests. Bots with invalid *Fetch Metadata* will be redirected to the intro (`index`) page. [1] https://www.w3.org/TR/fetch-metadata/ [2] https://developer.mozilla.org/en-US/docs/Glossary/Fetch_metadata_request_header Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-03[fix] cache.ExpireCache: definition of a context name for the keyMarkus Heiser
The definition of a context name belongs in the abstract base class (was previously only in the concrete implementation for the SQLite adapter). Suggested-by: @dalf https://github.com/searxng/searxng/pull/4650#discussion_r2069873853 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-03[fix] (armv7) cache.ExpireCache: remove option ENCRYPT_VALUEMarkus Heiser
Prophylactic encryption of the value currently makes no sense; on the contrary, since the ``cryptography`` package is not available on armv7, it would cause further problems. Suggested-by: @dalf https://github.com/searxng/searxng/pull/4650#issuecomment-2830786661 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-03[mod] engines: migration of the individual cache solutions to EngineCacheMarkus Heiser
The EngineCache class replaces all previously individual solutions for caches in the context of the engines. - demo_offline.py - duckduckgo.py - radio_browser.py - soundcloud.py - startpage.py - wolframalpha_api.py - wolframalpha_noapi.py Search term to test most of the modified engines:: !ddg !rb !sc !sp !wa test !ddg !rb !sc !sp !wa foo For introspection of the DB, jump into developer environment and run command to show cache state:: $ ./manage pyenv.cmd bash --norc --noprofile (py3) python -m searx.enginelib cache state cache tables and key/values =========================== [demo_offline ] 2025-04-22 11:32:50 count --> (int) 4 [startpage ] 2025-04-22 12:32:30 SC_CODE --> (str) fSOBnhEMlDfE20 [duckduckgo ] 2025-04-22 12:32:31 4dff493e.... --> (str) 4-128634958369380006627592672385352473325 [duckduckgo ] 2025-04-22 12:40:06 3e2583e2.... --> (str) 4-263126175288871260472289814259666848451 [radio_browser ] 2025-04-23 11:33:08 servers --> (list) ['https://de2.api.radio-browser.info', ...] [soundcloud ] 2025-04-29 11:40:06 guest_client_id --> (str) EjkRJG0BLNEZquRiPZYdNtJdyGtTuHdp [wolframalpha ] 2025-04-22 12:40:06 code --> (str) 5aa79f86205ad26188e0e26e28fb7ae7 number of tables: 6 number of key/value pairs: 7 In the "cache tables and key/values" section, the table name (engine name) is at first position on the second there is the calculated expire date and on the third and fourth position the key/value is shown. About duckduckgo: The *vqd coode* of ddg depends on the query term and therefore the key is a hash value of the query term (to not to store the raw query term). In the "properties of ENGINES_CACHE" section all properties of the SQLiteAppl / ExpireCache and their last modification date are shown:: properties of ENGINES_CACHE =========================== [last modified: 2025-04-22 11:32:27] DB_SCHEMA : 1 [last modified: 2025-04-22 11:32:27] LAST_MAINTENANCE : [last modified: 2025-04-22 11:32:27] crypt_hash : ca612e3566fdfd7cf7efe2b1c9349f461158d07cb78a3750e5c5be686aa8ebdc [last modified: 2025-04-22 11:32:30] CACHE-TABLE--demo_offline: demo_offline [last modified: 2025-04-22 11:32:30] CACHE-TABLE--startpage: startpage [last modified: 2025-04-22 11:32:31] CACHE-TABLE--duckduckgo: duckduckgo [last modified: 2025-04-22 11:33:08] CACHE-TABLE--radio_browser: radio_browser [last modified: 2025-04-22 11:40:06] CACHE-TABLE--soundcloud: soundcloud [last modified: 2025-04-22 11:40:06] CACHE-TABLE--wolframalpha: wolframalpha These properties provide information about the state of the ExpireCache and control the behavior. For example, the maintenance intervals are controlled by the last modification date of the LAST_MAINTENANCE property and the hash value of the password can be used to detect whether the password has been changed (in this case the DB entries can no longer be decrypted and the entire cache must be discarded). Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-03[mod] ExpireCache - sqlite based key/value cache with expire timeMarkus Heiser
2025-05-03[fix] ResourceWarning: unclosed database in sqlite3Markus Heiser
Reported: - https://github.com/inetol-infrastructure/searxng-container/issues/5 Related: - https://github.com/searxng/searxng/issues/4405#issuecomment-2692352352 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-02[fix] semantic scholar: method not allowed / engine doesn't workBnyro
Fixes the semantic scholar engine by extracting a ui version token. BTW: remove html tags from the content. Author's checklist: - they are ratelimiting very fast, if you do approx more than 2 requests per minute, you have to wait some time again... - they also have an official api at api.semanticscholar.org, but it's ratelimits are even harder Closes: https://github.com/searxng/searxng/issues/4685
2025-05-02[data] update searx.data - update_engine_descriptions.pyreturn42
2025-05-02[feat] engine ChinaSo: support source filter for ChinaSo-NewsBrandonStudio
* filtering ChinaSo-News results by source, option ``chinaso_news_source`` * add ChinaSo engine to the online docs https://docs.searxng.org/dev/engines/online/chinaso.html * fix SearXNG categories in the settings.yml * deactivate ChinaSo engines ``inactive: true`` until [1] is fixed * configure network of the ChinaSo engines [1] https://github.com/searxng/searxng/issues/4694 Signed-off-by: @BrandonStudio Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-02[l10n] update translations from Weblatesearxng-bot
244e1f3f2 - 2025-04-30 - return42 <return42@noreply.codeberg.org>
2025-04-30[fix] brave: fix images and videos enginesBnyro
2025-04-29[fix] pdia: dynamically fetch API key config file locationDenperidge
As suggested by @Bnyro at https://github.com/searxng/searxng/pull/4652#discussion_r2055760390 !
2025-04-29[data] update searx.data - update_currencies.pyreturn42
2025-04-29[data] update searx.data - make data.traitsMarkus Heiser
Related: - https://github.com/searxng/searxng/pull/4687 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-04-29[fix] engine yahoo: replace fetch_traits by a list of languagesMarkus Heiser
The Yahoo engine's fetch_traits function has been encountering an error in CI jobs for several months [1], thus aborting the process for all other engines as well. The language selection dialog (which fetch_traits calls) requires an `EuConsent` cookie. Strangely, the cookie is not needed for searching, which is why the engine itself still works. Since Yahoo won't be conquering any new marketplaces in the foreseeable future, it should be sufficient to hard-implement the list of currently available languages ​​(`yahoo_languages`). [1] https://github.com/searxng/searxng/actions/runs/14720458830/job/41313149268 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-04-29[data] update searx.data - update_wikidata_units.pyreturn42
2025-04-29[data] update searx.data - update_ahmia_blacklist.pyreturn42
2025-04-29[data] update searx.data - update_firefox_version.pyreturn42
2025-04-29[data] update searx.data - update_external_bangs.pyreturn42
2025-04-27[l10n] update translations from Weblatesearxng-bot
bec89c8a4 - 2025-04-24 - Atul_Eterno <atul_eterno@noreply.codeberg.org> 97edb4d63 - 2025-04-23 - whytf <whytf@noreply.codeberg.org> e7111d6ec - 2025-04-22 - prashere <prashere@noreply.codeberg.org> f5eeda966 - 2025-04-20 - return42 <return42@noreply.codeberg.org>
2025-04-24[fix] is_werkzeug_reload_active is not realted to python -mMarkus Heiser
Werkzeug's reloader is not active when was server is launched by uWSGI. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-04-24Revert "[fix] is_werkzeug_reload_active is not realted to python -m"Markus Heiser
This reverts commit 3392beb914591cac6e862dab66e4d4911b798800.
2025-04-24[fix] fix Quark engine callingZhijie He
2025-04-24[fix] is_werkzeug_reload_active is not realted to python -mMarkus Heiser
Werkzeug's reloader is not active when was server is launched by:: python -m searx.webapp Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-04-24[mod] internal `!` and external `!!` bangs: ignore upper/lower caseMarkus Heiser
Closes: https://github.com/searxng/searxng/issues/1223 Suggested-by: @dalf https://github.com/searxng/searxng/issues/1223#issuecomment-1133772363 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-04-24[clean] drop unusable engine: server/project on curlie.org is brokenMarkus Heiser
The websites of https://curlie.org are no longer usable, long runtimes and recurring "Bad Gateway" messages .. the project is no longer maintained and is therefore no longer useful in SearXNG. Related: https://github.com/searxng/searxng/issues/1190 Closes: https://github.com/searxng/searxng/issues/3482 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-04-23[fix] typo in soundcloud engineMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-04-23[data] update searx.data - make data.traits (mullvad leta)Markus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-04-23[fix] engine: re-implement mullvad leta integrationGrant Lanham
Re-writes the Mullvad Leta integration to work with the new breaking changes. Mullvad Leta is a search engine proxy. Currently Leta only offers text search results not image, news or any other types of search result. Leta acts as a proxy to Google and Brave search results. - Remove docstring comments regarding requiring the use of Mullvad VPN, which is no longer a hard requirement. - configured two engines: ``mullvadleta`` (uses google) and ``mullvadleta brave`` (uses brave) - since leta may not provide up-to-date search results, both search engines are disabled by default. .. hint:: Leta caches each search for up to 30 days. For example, if you use search terms like ``news``, contrary to your intention you'll get very old results! Co-authored-by: Markus Heiser <markus.heiser@darmarit.de> Signed-off-by: Grant Lanham <contact@grantlanham.com>
2025-04-23[mod] include SEARXNG_METHOD environment variableAadniz
2025-04-22[fix] issues when launching a local development serverMarkus Heiser
A local development server can be launched by one of these command lines:: $ flask --app searx.webapp run $ python -m searx.webapp The different ways of starting the server should lead to the same result, which is generally the case. However, if the modules are reloaded after code changes (reload option), it must be avoided that the application is initialized twice at startup. We have already discussed this in 2022 [1][2]. Further information on this topic can be found in [3][4][5]. To test a bash in the ./local environment was started and the follwing commands had been executed:: $ ./manage pyenv.cmd bash --norc --noprofile (py3) SEARXNG_DEBUG=1 flask --app searx.webapp run --reload (py3) SEARXNG_DEBUG=1 python -m searx.webapp Since the generic parts of the docs also initialize the app to generate doc from it, the build of the docs was also tested:: $ make docs.clean docs.live [1] https://github.com/searxng/searxng/pull/1656#issuecomment-1214198941 [2] https://github.com/searxng/searxng/pull/1616#issuecomment-1206137468 [3] https://flask.palletsprojects.com/en/stable/api/#flask.Flask.run [4] https://github.com/pallets/flask/issues/5307#issuecomment-1774646119 [5] https://stackoverflow.com/a/25504196 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-04-18[l10n] update translations from Weblatesearxng-bot
f290f4ffe - 2025-04-15 - return42 <return42@noreply.codeberg.org> 4a9134b03 - 2025-04-14 - DZDevelopers <dzdevelopers@noreply.codeberg.org> a8c86581d - 2025-04-14 - aindriu80 <aindriu80@noreply.codeberg.org> 2b5395719 - 2025-04-11 - ayame30 <ayame30@noreply.codeberg.org> 448a443fa - 2025-04-11 - ayame30 <ayame30@noreply.codeberg.org>
2025-04-18[feat] engine: add Steam engineZhijie He
2025-04-17[fix] disable engine ansa by defaultMarkus Heiser
Reported-by: https://github.com/searxng/searxng/pull/4575#issuecomment-2813007107 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-04-17[feat] engines: add Hugging Face engineZhijie He
2025-04-17[feat] engine: add engine for italian press agency ansaTommaso Colella
2025-04-17[fix] settings.yml files: doc & obsolete settings in the templateMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-04-17[fix] Result type: remove rstrip "/" form url normalizationTommaso Colella