summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-07[fix] references from searx.botdetection.http_sec_fetch (#4723)Markus Heiser
2025-05-07missing dependency for armv7 (#4727)Ivan Gabaldon
2025-05-06[mod] Rework Dockerfile - migrate to glibc (debian) (#4721)Ivan Gabaldon
2025-05-05fix] revert searxng/searxng#4699 due to breaking issues (#4720)Bnyro
This reverts commit 2e74d863210c0d21b9e0a64576dcd24237f23f8c.
2025-05-04Rework Dockerfile (#4699)Ivan Gabaldon
This is one of various PR to refactor the entire SearXNG Docker workflow. Switches to Python glibc based images, all dependencies are installed via pip and not from system repositories, and several minor changes. This PR will increase the image size from 194.9 MB to 345.47 MB (amd64), this is due to ARMv7 images (needs dependencies for wheels compilation and runtime (?)) and uWSGI webserver. Later PR will reduce the final image size.
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[upd] web-client (simple): Bump less-loader in /client/simpledependabot[bot]
Bumps [less-loader](https://github.com/webpack-contrib/less-loader) from 12.2.0 to 12.3.0. - [Release notes](https://github.com/webpack-contrib/less-loader/releases) - [Changelog](https://github.com/webpack-contrib/less-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/less-loader/compare/v12.2.0...v12.3.0) --- updated-dependencies: - dependency-name: less-loader dependency-version: 12.3.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
2025-05-02[docs] fix link searx/languages.py to new file searx/sxng_locales.pyMarkus Heiser
The language settings page in the documentation reference languages.py which was removed in commit c9cd376 Closes: https://github.com/searxng/searxng/issues/4690 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-02[upd] web-client (simple): Bump webpack in /client/simpledependabot[bot]
Bumps [webpack](https://github.com/webpack/webpack) from 5.99.6 to 5.99.7. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v5.99.6...v5.99.7) --- updated-dependencies: - dependency-name: webpack dependency-version: 5.99.7 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
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[upd] pypi: Bump typer-slim from 0.15.2 to 0.15.3dependabot[bot]
Bumps [typer-slim](https://github.com/fastapi/typer) from 0.15.2 to 0.15.3. - [Release notes](https://github.com/fastapi/typer/releases) - [Changelog](https://github.com/fastapi/typer/blob/master/docs/release-notes.md) - [Commits](https://github.com/fastapi/typer/compare/0.15.2...0.15.3) --- updated-dependencies: - dependency-name: typer-slim dependency-version: 0.15.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
2025-05-02[upd] pypi: Bump setproctitle from 1.3.5 to 1.3.6dependabot[bot]
Bumps [setproctitle](https://github.com/dvarrazzo/py-setproctitle) from 1.3.5 to 1.3.6. - [Changelog](https://github.com/dvarrazzo/py-setproctitle/blob/master/HISTORY.rst) - [Commits](https://github.com/dvarrazzo/py-setproctitle/compare/version-1.3.5...version-1.3.6) --- updated-dependencies: - dependency-name: setproctitle dependency-version: 1.3.6 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
2025-05-02[upd] pypi: Bump certifi from 2025.1.31 to 2025.4.26dependabot[bot]
Bumps [certifi](https://github.com/certifi/python-certifi) from 2025.1.31 to 2025.4.26. - [Commits](https://github.com/certifi/python-certifi/compare/2025.01.31...2025.04.26) --- updated-dependencies: - dependency-name: certifi dependency-version: 2025.4.26 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
2025-05-02[upd] web-client (simple): Bump stylelint in /client/simpledependabot[bot]
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.19.0 to 16.19.1. - [Release notes](https://github.com/stylelint/stylelint/releases) - [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md) - [Commits](https://github.com/stylelint/stylelint/compare/16.19.0...16.19.1) --- updated-dependencies: - dependency-name: stylelint dependency-version: 16.19.1 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
2025-05-02[l10n] update translations from Weblatesearxng-bot
244e1f3f2 - 2025-04-30 - return42 <return42@noreply.codeberg.org>
2025-05-01Bump vite from 6.3.3 to 6.3.4 in /client/simpledependabot[bot]
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.3 to 6.3.4. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.3.4/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 6.3.4 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com>
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-27[upd] web-client (simple): Bump vite in /client/simpledependabot[bot]
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.2 to 6.3.3. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.3.3/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 6.3.3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
2025-04-27[upd] web-client (simple): Bump @eslint/js in /client/simpledependabot[bot]
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.24.0 to 9.25.1. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.25.1/packages/js) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-version: 9.25.1 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
2025-04-27[upd] web-client (simple): Bump webpack in /client/simpledependabot[bot]
Bumps [webpack](https://github.com/webpack/webpack) from 5.99.5 to 5.99.6. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v5.99.5...v5.99.6) --- updated-dependencies: - dependency-name: webpack dependency-version: 5.99.6 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
2025-04-27[upd] web-client (simple): Bump stylelint in /client/simpledependabot[bot]
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.18.0 to 16.19.0. - [Release notes](https://github.com/stylelint/stylelint/releases) - [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md) - [Commits](https://github.com/stylelint/stylelint/compare/16.18.0...16.19.0) --- updated-dependencies: - dependency-name: stylelint dependency-version: 16.19.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
2025-04-27[upd] web-client (simple): Bump eslint in /client/simpledependabot[bot]
Bumps [eslint](https://github.com/eslint/eslint) from 9.24.0 to 9.25.1. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.24.0...v9.25.1) --- updated-dependencies: - dependency-name: eslint dependency-version: 9.25.1 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
2025-04-26[upd] pypi: Bump lxml from 5.3.2 to 5.4.0dependabot[bot]
Bumps [lxml](https://github.com/lxml/lxml) from 5.3.2 to 5.4.0. - [Release notes](https://github.com/lxml/lxml/releases) - [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt) - [Commits](https://github.com/lxml/lxml/compare/lxml-5.3.2...lxml-5.4.0) --- updated-dependencies: - dependency-name: lxml dependency-version: 5.4.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
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