summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-11revert using null keywordIvan Gabaldon
env.DOCKERHUB_USERNAME shouldn't be an empty string as it's defined and set (I think, I can't see this). Even if wasn't defined, GitHub Org/Repo wide envs/secrets should return an empty string (?)
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-10[mod] refactor integration.yml (#4763)Ivan Gabaldon
Style changes, cleanup and improved integration with CI by leveraging the use of shared cache between all workflows.
2025-05-10[mod] new l10n.yml workflow (#4734)Ivan Gabaldon
l10n.yml will run after integration.yml finishes successfully (will defer anything depending on integration.yml until heavy loads like container building are moved to separate workflows) and in master branch. * After every integration.yml workflow completes successfully, only the `update` job runs. * Dispatch and Crontab triggers only the `pr` job. 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-10[fix] documentation should run on push/prIvan Gabaldon
Instead of executing the workflow after integration.yml completes correctly, let's run this workflow parallel to integration.yml restoring the original behaviour.
2025-05-09chore: docker + github-actions dependabot (#4754)Émilien (perso)
* chore: docker dependabot * Add github actions too
2025-05-09[build] /staticMarkus Heiser
2025-05-09[fix] static.build.commit: add missing searx/templates/simple/icons.htmlMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-09[fix] simple client: jinja_svg_catalog addClassesToSVGElementMarkus Heiser
Starting with ionicons-8.0.8 the SVG already contains a class attribute and instaed of using SVGO plugin ``addAttributesToSVGElement`` we habve to use ``addClassesToSVGElement`` to add out ``__jinja_class_placeholder__``. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-09[upd] web-client (simple): Bump ionicons in /client/simpledependabot[bot]
Bumps [ionicons](https://github.com/ionic-team/ionicons) from 7.4.0 to 8.0.8. - [Release notes](https://github.com/ionic-team/ionicons/releases) - [Commits](https://github.com/ionic-team/ionicons/compare/v7.4.0...v8.0.8) --- updated-dependencies: - dependency-name: ionicons dependency-version: 8.0.8 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
2025-05-09[upd] pypi: Bump pylint from 3.3.6 to 3.3.7 (#4750)dependabot[bot]
Bumps [pylint](https://github.com/pylint-dev/pylint) from 3.3.6 to 3.3.7. - [Release notes](https://github.com/pylint-dev/pylint/releases) - [Commits](https://github.com/pylint-dev/pylint/compare/v3.3.6...v3.3.7) --- updated-dependencies: - dependency-name: pylint dependency-version: 3.3.7 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-09[upd] pypi: Bump yamllint from 1.37.0 to 1.37.1 (#4752)dependabot[bot]
Bumps [yamllint](https://github.com/adrienverge/yamllint) from 1.37.0 to 1.37.1. - [Release notes](https://github.com/adrienverge/yamllint/releases) - [Changelog](https://github.com/adrienverge/yamllint/blob/master/CHANGELOG.rst) - [Commits](https://github.com/adrienverge/yamllint/compare/v1.37.0...v1.37.1) --- updated-dependencies: - dependency-name: yamllint dependency-version: 1.37.1 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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-08[fix] missing PR perm data-update.yml workflow (#4737)Ivan Gabaldon
We actually don't need to keep the token on checkout because `peter-evans/create-pull-request` will read from `github.token`. The obvious `pull-requests` write permission wasn't set in the last fix, so I added it now.
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>