summaryrefslogtreecommitdiff
path: root/searx
AgeCommit message (Collapse)Author
2025-05-21[fix] pinterest: engine broken due to API changes (#4816)Bnyro
- apparently the API now requires a `X-Pinterest-PWS-Handler` in order to properly function (extracted from their web UI) - the other `X-Pinterest` headers here are added in case they become mandatory too Closes: https://github.com/searxng/searxng/issues/4812
2025-05-21[feat] engines: add uxwing engine for icons (#4819)Bnyro
- uxwing provides attribution-free icons to use for design projects - svgrepo was my go-to before, but it's ratelimiting a lot recently
2025-05-21[refactor] icon engines: add new icon category (#4817)Bnyro
Icons category makes sense because it allows to quickly search for free SVG icons to use for websites / other designs with a quick `!icons` query Icons don't seem to fit into the normal images category that well because icons are quite a special type of images
2025-05-20[chore] fix some docstring typos (#4815)Jost Alemann
2025-05-20[fix] yahoo: url and title xpathuseralias
2025-05-20[mod] upgrade to httpx 0.28.1 (#4674)Alexandre Flament
2025-05-20[fix] duckduckgo engines: issue when get_vqd() is used by ddg-images and ↵Markus Heiser
ddg-videos (#4809) The global variable CACHE is not initialized when DDG images or DDG videos import the get_vqd() function (please remember: the engine modules are imported using the importlib method and not via the `import` keyword). Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-18[mod] engine invidious: commented out / no public API available nowadays (#4800)Markus Heiser
Reported-by: @unifox https://github.com/searxng/searxng/issues/2722#issuecomment-2884993248 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-16[l10n] update translations from Weblate (#4788)github-actions[bot]
2025-05-13[enh] tidy: clean old morty, filtron, searx referencesIvan Gabaldon
Everyone should have already switched from legacy methods
2025-05-13[fix] engine archlinux: avoid Anubis challenge by User-Agent "SearXNG" (#4779)Markus Heiser
Of the archlinux wikis only wiki.archlinux.org has a has Anubis challenge. About Anubis[1]: > Anubis decides to present a challenge using this logic: > > - User-Agent contains "Mozilla" > ... > This should ensure that git clients, RSS readers, and other low-harm clients > can get through without issue .. [1] https://github.com/TecharoHQ/anubis/blob/6c0ff3f4d5e7a66ea85e5873e6ee4c28692091d7/docs/docs/design/how-anubis-works.mdx#challenge-presentation Suggested-by: @unixfox https://github.com/searxng/searxng/issues/4646#issuecomment-2855322406 Closes: https://github.com/searxng/searxng/issues/4646 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
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>