summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-08[mod] CI move build of online docs to dedicated workflow documentation.yml ↵Ivan Gabaldon
(#4733) documentation.yml will run after integration.yml COMPLETES successfully (will defer anything depending on integration.yml until heavy loads like container building are moved to separate workflows) and in master branch. Style changes, cleanup and improved integration with CI by leveraging the use of shared cache between all workflows (not functional until all workflows have been refactored).
2025-05-08[fix] fix security.yml workflow (#4735)Ivan Gabaldon
Uploading SARIFs needs to write into the repository GitHub security tab
2025-05-08[fix] missing perm data-update.yml workflow (#4736)Ivan Gabaldon
We need to keep the token on checkout and allow writing into the repository to create the branch
2025-05-08[mod] CI: refactor data-update.yml - searxng_extra/update scripts (#4732)Ivan Gabaldon
Style changes, cleanup and improved integration with CI by leveraging the use of shared cache between all workflows (not functional until all workflows have been refactored).
2025-05-08[mod] CI refactor security.yml - style and cleanup changes (#4731)Ivan Gabaldon
2025-05-08[mod] CI: refactor checker.yml - make search.checker (#4730)Ivan Gabaldon
Style changes, cleanup and improved integration with CI by leveraging the use of shared cache between all workflows (not functional until all workflows have been refactored).
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-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.