Ivan Gabaldon
a1d4e26880
[mod] py: format
2026-09-12 20:29:15 +02:00
dependabot[bot]
a0ab3b4f11
[upd] pypi: Bump black from 25.9.0 to 26.5.1
...
Bumps [black](https://github.com/psf/black ) from 25.9.0 to 26.5.1.
- [Release notes](https://github.com/psf/black/releases )
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md )
- [Commits](https://github.com/psf/black/compare/25.9.0...26.5.1 )
---
updated-dependencies:
- dependency-name: black
dependency-version: 26.5.1
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-12 20:27:44 +02:00
Markus Heiser
56b1f64541
[mod] engine: bing images - use internal API & type hints ( #6699 )
...
Switching to internal APIs such as ``EngineResults`` and
adding more type hints. No functional changes.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-09-12 11:22:01 +02:00
Markus Heiser
923a307454
[fix] engine: bing images - remove market place argument mkt ( #6699 )
...
The ``mkt`` argument does no longer exists and the ``async`` argument has been
renamed to ``mmasync``.
For still unknown reasons (IP based?), some users had to observe that the title
was missing [1]. I myself was not able to reproduce this error, however the
evaluation of the title was additionally expanded by the attribute value of the
``<a title=".."`` element.
Related:
- [1] https://github.com/searxng/searxng/pull/6690#issuecomment-5636811572
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-09-12 11:22:01 +02:00
vojkovic
87bf8c86ed
[fix] engines: dogpile web needs api token
2026-09-12 16:32:42 +08:00
dependabot[bot]
61d660276f
[upd] web-client (simple): Bump the minor group ( #6692 )
...
Bumps the minor group in /client/simple with 2 updates: [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) and [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ).
Updates `@biomejs/biome` from 2.5.11 to 2.5.12
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.12/packages/@biomejs/biome )
Updates `@types/node` from 26.4.1 to 26.5.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@biomejs/biome"
dependency-version: 2.5.12
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: "@types/node"
dependency-version: 26.5.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-11 16:57:14 +02:00
Markus Heiser
6a27c21008
[fix] engine: pinterest - fix empty titles and complete modernization ( #6694 )
...
* [fix] engine: pinterest - fix empty titles and complete modernization
The titles from the fields ``title`` and ``grid_title`` are mostly empty or have
short strings without meaningful content. Various fields for the title are now
being queried, which have more informative value.
As part of the bug fix, the engine was completely revised and modernized.
Related:
- https://github.com/searxng/searxng/pull/6690#issuecomment-5631113121
Co-authored-by: @vojkovic
2026-09-11 16:24:58 +02:00
Brock Vojkovic
ffe96f8a6f
[fix] engines: bing first word results ( #6671 )
...
Fixes the bing web engine, it was just using the first word of the query for the search and return random junk other times. see: vojkovic#10
Swapped to use bing's setlang and cc params. I found us, cn, ru return complete garbage 100% of the time. I reckon that if you don't have an ip address from there it will just return garbage, so those three are skipped. Also removed accept language override because it didn't change anything anymore.
- Closes: https://github.com/searxng/searxng/issues/4964
- Related: https://github.com/vojkovic/searxng/issues/10
2026-09-11 08:41:13 +02:00
Markus Heiser
931fd9787b
[fix] engine: core.ac.uk - don't split a string into a tag list ( #6689 )
2026-09-10 14:45:43 +02:00
vojkovic
42e1d61296
[fix] engines: startpage anubis solver
2026-09-10 19:12:21 +08:00
vojkovic
765a9999df
[fix] engines: duckduckgo web bypass botdetection
2026-09-10 18:56:12 +08:00
rdurnik
ba055b3e09
[feat] engines: add europepmc (science, scientific publications)
2026-09-10 11:27:28 +02:00
Markus Heiser
3fdc6d753a
[del] remove searx_engine - no use case ( #6680 )
...
There is no meaningful use-case for the engine, moreover the implementation
is 10 years old (formerly searx) and no longer fits the current data model of
SearXNG.
Closes: - https://github.com/searxng/searxng/issues/6676
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-09-08 09:29:41 +02:00
Ted Lanham
3e454637fb
[fix] braveapi: set JSON Accept header ( #6666 )
2026-09-07 13:18:07 +02:00
dependabot[bot]
c7f3080aac
[upd] web-client (simple): Bump the minor group in /client/simple with 3 updates ( #6645 )
...
* [upd] web-client (simple): Bump the minor group
Bumps the minor group in /client/simple with 3 updates: [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) and [sharp](https://github.com/lovell/sharp ).
Updates `@biomejs/biome` from 2.5.10 to 2.5.11
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.11/packages/@biomejs/biome )
Updates `@types/node` from 26.3.0 to 26.4.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `sharp` from 0.35.3 to 0.35.4
- [Release notes](https://github.com/lovell/sharp/releases )
- [Commits](https://github.com/lovell/sharp/compare/v0.35.3...v0.35.4 )
---
updated-dependencies:
- dependency-name: "@biomejs/biome"
dependency-version: 2.5.11
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: "@types/node"
dependency-version: 26.4.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: sharp
dependency-version: 0.35.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* update lock
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ivan Gabaldon <igabaldon@inetol.net >
2026-09-05 22:57:09 +02:00
dependabot[bot]
072311b5e0
[upd] pypi: Bump the minor group with 3 updates ( #6647 )
...
Bumps the minor group with 3 updates: [typer](https://github.com/fastapi/typer ), [pylint](https://github.com/pylint-dev/pylint ) and [selenium](https://github.com/SeleniumHQ/Selenium ).
Updates `typer` from 0.27.1 to 0.27.2
- [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.27.1...0.27.2 )
Updates `pylint` from 4.0.7 to 4.0.8
- [Release notes](https://github.com/pylint-dev/pylint/releases )
- [Commits](https://github.com/pylint-dev/pylint/compare/v4.0.7...v4.0.8 )
Updates `selenium` from 4.47.0 to 4.48.0
- [Release notes](https://github.com/SeleniumHQ/Selenium/releases )
- [Commits](https://github.com/SeleniumHQ/Selenium/compare/selenium-4.47.0...selenium-4.48.0 )
---
updated-dependencies:
- dependency-name: typer
dependency-version: 0.27.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: pylint
dependency-version: 4.0.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: selenium
dependency-version: 4.48.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-05 22:48:19 +02:00
Bnyro
c06e9f0889
[del] cara engine: remove because it requires signup for searching
2026-09-05 22:44:32 +02:00
Bnyro
4781754dc4
[mod] engines: remove uses of enable_http2 = False
...
This has only been needed because we were flagged by HTTP2 fingerprinting.
Now, since we use curl cffi, we can bypass the fingerpinting, so we can
use HTTP2 just fine without getting blocked.
2026-09-05 19:51:58 +02:00
Bnyro
28b61729c7
[fix] resulthunter: detect blocked requests instead of returning 0 results
2026-09-05 19:47:23 +02:00
Bnyro
14a9f84c6c
[fix] chatnoir: returns empty responses
2026-09-05 19:46:48 +02:00
vojkovic
8b01679e8f
[fix] engines: update brave images/videos parser and news xpath
2026-09-06 01:45:40 +08:00
vojkovic
eaf1fcb349
[fix] engines: resulthunter search_source arg
2026-09-06 01:43:11 +08:00
vojkovic
e20e370353
[fix] engines: tusksearch referer header
2026-09-06 01:38:09 +08:00
vojkovic
3605a2d58b
[fix] engines: dogpile request api token
2026-09-06 01:22:09 +08:00
Bnyro
aef258321c
[feat] engines: add searchrockit.com (general, news, images)
2026-09-05 19:16:29 +02:00
Bnyro
a303e9c0ca
[fix] neosearch: requests blocked due to missing xsrf token
2026-09-05 19:14:16 +02:00
Bnyro
ccffbfc164
[fix] searchzee: bypass botblocking
...
requires https://github.com/searxng/searxng/pull/6620
2026-09-05 19:11:49 +02:00
Ivan Gabaldon
242dc6e398
[mod] ci: disable armv7 container test ( #6661 )
2026-09-05 18:34:25 +02:00
Ivan Gabaldon
22056605a6
[mod] ci: increase container test delay
...
Testing under armv7 is having trouble running before the delay ends. Increasing
to 20 seconds should help.
2026-09-05 12:37:39 +08:00
dependabot[bot]
23e7e4da00
[upd] github-actions: Bump docker/setup-qemu-action from 4.2.0 to 4.3.0 ( #6644 )
...
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action ) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases )
- [Commits](96fe6ef7f3...1f40c72289 )
---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
dependency-version: 4.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-04 15:16:28 +02:00
Markus Heiser
15a91992e4
[docs] fix some minor reST markup issues in the doc-string ( #6646 )
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-09-04 11:18:59 +02:00
Bnyro
03c439a5b9
[fix] marginalia: crashes with missing filter name
2026-09-04 10:33:42 +02:00
vojkovic
be836e614a
[mod] network: migrate to curl_cffi
2026-09-04 16:16:09 +08:00
Bnyro
15b0c8ef3a
[feat] engines: add JS-based s1search engine
2026-09-04 09:49:07 +02:00
Bnyro
a1144dda3e
[mod] engines: migrate video engines away from get_embedded_stream_url
2026-09-03 17:28:29 +02:00
Bnyro
86008c9dd6
[feat] results: automatically set embedded stream url for video results
...
Currently, many engines that provide video results call the same
`get_embedded_stream_url` method for setting the `iframe_src`. There
is no value in that because this logic is engine-specific and probably
many video engines forgot to implement this.
With these changes, it's done automatically, so engine implementors
don't have to worry about setting an `iframe_src` (unless the engine
explicitly has a field for it).
2026-09-03 17:28:29 +02:00
Bnyro
8f452ee892
[fix] chatnoir: fails to extract API session parameters
2026-09-03 10:03:05 +02:00
Markus Heiser
745d5b6fc5
[fix] engine: braveapi - braveapi pagination sends an invalid offset ( #6627 )
...
Closes: https://github.com/searxng/searxng/issues/6545
2026-09-03 07:52:31 +02:00
Bnyro
05cd77f71b
[mod] s1search: update mirrors to the ones that are not cloudflared
2026-09-02 16:59:05 +02:00
Om Alve
b4f616fed7
[mod] engines: migrate to setup() from init() for simple tasks
2026-09-02 16:30:00 +02:00
Markus Heiser
fd29de6c55
[fix] engine: meilisearch - AttributeError: no attribute 'about' ( #6626 )
...
- Closes: https://github.com/searxng/searxng/issues/6622
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-09-02 14:26:22 +02:00
Bnyro
eca1af4be1
[del] heexy: remove engine due to cloudflare captcha ( #6625 )
2026-09-02 13:43:03 +02:00
Markus Heiser
7a01f5830c
[fix] hardening engine: ddg weather - get GEO location from response ( #6623 )
...
The previous implementation ran into an error if the search term contained words
other than just the location (ValueError was raised).
To test engine use search terms like:
!ddw weather berlin germany
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-09-02 13:40:53 +02:00
Ivan Gabaldon
18af21159b
[mod] py: clearurls update location ( #6618 )
...
We should opt to retrieve the lists through jsDelivr service as our first choice
and avoid hitting the GH (GitHub) and GL (GitLab) servers.
2026-09-01 21:43:50 +02:00
dependabot[bot]
248e37991c
[upd] web-client (simple): Bump the minor group ( #6588 )
...
Bumps the minor group in /client/simple with 4 updates: [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ), [svgo](https://github.com/svg/svgo ) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ).
Updates `@biomejs/biome` from 2.5.9 to 2.5.10
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.10/packages/@biomejs/biome )
Updates `@types/node` from 26.2.0 to 26.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `svgo` from 4.0.2 to 4.1.0
- [Release notes](https://github.com/svg/svgo/releases )
- [Commits](https://github.com/svg/svgo/compare/v4.0.2...v4.1.0 )
Updates `vite` from 8.2.1 to 8.2.2
- [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/v8.2.2/packages/vite )
---
updated-dependencies:
- dependency-name: "@biomejs/biome"
dependency-version: 2.5.10
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: "@types/node"
dependency-version: 26.3.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: svgo
dependency-version: 4.1.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: vite
dependency-version: 8.2.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-01 21:42:44 +02:00
github-actions[bot]
ff424745fd
[mod] data: update searx.data - update_external_bangs.py ( #6593 )
...
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com >
2026-09-01 21:38:36 +02:00
Bnyro
79c8ffe0da
[update] data: update wikidata data
2026-09-01 13:56:11 +02:00
Bnyro
2b1c88c54c
[refactor] wikidata: cache wikidata properties in searxng data
2026-09-01 13:56:11 +02:00
github-actions[bot]
d226b78bc4
[mod] data: update searx.data - update_engine_traits.py ( #6594 )
...
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com >
2026-08-29 10:14:39 +02:00
github-actions[bot]
bdbf9774f5
[mod] data: update searx.data - update_firefox_version.py ( #6592 )
...
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com >
2026-08-29 10:14:25 +02:00
github-actions[bot]
451c46aa32
[mod] data: update searx.data - update_ahmia_blacklist.py ( #6591 )
...
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com >
2026-08-29 10:13:59 +02:00
dependabot[bot]
a30b2d4749
[upd] pypi: Bump the minor group with 2 updates ( #6589 )
...
Bumps the minor group with 2 updates: [granian](https://github.com/emmett-framework/granian ) and [lxml](https://github.com/lxml/lxml ).
Updates `granian` from 2.8.1 to 2.8.2
- [Release notes](https://github.com/emmett-framework/granian/releases )
- [Commits](https://github.com/emmett-framework/granian/compare/v2.8.1...v2.8.2 )
Updates `lxml` from 6.1.1 to 6.1.2
- [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-6.1.1...lxml-6.1.2 )
---
updated-dependencies:
- dependency-name: granian
dependency-version: 2.8.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: lxml
dependency-version: 6.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-28 10:14:10 +02:00
github-actions[bot]
9fea41204f
[l10n] update translations from Weblate ( #6565 )
...
930f4d95f - 2026-08-21 - return42 <return42@noreply.codeberg.org >
45e05f3a5 - 2026-08-21 - return42 <return42@noreply.codeberg.org >
f97f47265 - 2026-08-21 - return42 <return42@noreply.codeberg.org >
c5de4638c - 2026-08-21 - return42 <return42@noreply.codeberg.org >
02aac306b - 2026-08-21 - return42 <return42@noreply.codeberg.org >
f88e28cd0 - 2026-08-14 - Mooo <mooo@noreply.codeberg.org >
2026-08-22 07:32:09 +02:00
Markus Heiser
777ba8fa48
[mod] data: update searx.data - update_engine_traits.py ( #6546 )
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-08-22 11:00:06 +08:00
vojkovic
a4cb7df053
[fix] google: use Nokia UA ( #6546 )
2026-08-22 11:00:06 +08:00
dependabot[bot]
bbb3c7d829
[upd] web-client (simple): Bump the minor group ( #6558 )
...
Bumps the minor group in /client/simple with 2 updates: [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) and [less](https://github.com/less/less.js ).
Updates `@biomejs/biome` from 2.5.7 to 2.5.9
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.9/packages/@biomejs/biome )
Updates `less` from 4.8.1 to 4.9.0
- [Release notes](https://github.com/less/less.js/releases )
- [Changelog](https://github.com/less/less.js/blob/master/CHANGELOG.md )
- [Commits](https://github.com/less/less.js/compare/v4.8.1...v4.9.0 )
---
updated-dependencies:
- dependency-name: "@biomejs/biome"
dependency-version: 2.5.9
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: less
dependency-version: 4.9.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-21 22:33:59 +02:00
dependabot[bot]
f31ff05db3
[upd] pypi: Bump the minor group with 2 updates ( #6559 )
...
Bumps the minor group with 2 updates: [basedpyright](https://github.com/detachhead/basedpyright ) and [pygments](https://github.com/pygments/pygments ).
Updates `basedpyright` from 1.39.9 to 1.39.10
- [Release notes](https://github.com/detachhead/basedpyright/releases )
- [Commits](https://github.com/detachhead/basedpyright/compare/v1.39.9...v1.39.10 )
Updates `pygments` from 2.20.0 to 2.21.0
- [Release notes](https://github.com/pygments/pygments/releases )
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES )
- [Commits](https://github.com/pygments/pygments/compare/2.20.0...2.21.0 )
---
updated-dependencies:
- dependency-name: basedpyright
dependency-version: 1.39.10
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: pygments
dependency-version: 2.21.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-21 22:32:36 +02:00
vojkovic
5f4005996e
[fix] preferences: cap zlib decompress
2026-08-21 20:55:33 +08:00
Ivan Gabaldon
487d7a96e0
[fix] py: (un)trusted proxies ( #6556 )
...
A missing condition allowed an attacker to mask their IP address from the
server. This exploit can only be carried under specific client & server
environments.
Reported-by: Raffaele Forte <raffaele@backbox.org >
Signed-off-by: Ivan Gabaldon <igabaldon@inetol.net >
2026-08-20 18:06:24 +02:00
SVHawk13
8d3dd0cd45
[feat] marginalia: add support for custom filters ( #6543 )
2026-08-20 14:22:22 +02:00
Brock Vojkovic
5ffd32ca2f
[fix] calculator: XSS from innerHTML ( #6551 )
...
* [fix] calculator: XSS from innerHTML
* [build] /static
2026-08-19 14:09:02 +02:00
vojkovic
374939b888
[fix] engines: deviantart access denied
2026-08-17 20:06:57 +08:00
dependabot[bot]
b2da6b90f2
[upd] pypi: Bump the minor group across 1 directory with 6 updates ( #6540 )
...
* [upd] pypi: Bump the minor group across 1 directory with 6 updates
Bumps the minor group with 6 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [granian](https://github.com/emmett-framework/granian ) | `2.7.9` | `2.8.1` |
| [pylint](https://github.com/pylint-dev/pylint ) | `4.0.6` | `4.0.7` |
| [selenium](https://github.com/SeleniumHQ/Selenium ) | `4.46.0` | `4.47.0` |
| [wlc](https://github.com/WeblateOrg/wlc ) | `2.1.0` | `2.1.1` |
| [httpx-socks](https://github.com/romis2012/httpx-socks ) | `0.10.0` | `0.13.0` |
| [typer](https://github.com/fastapi/typer ) | `0.27.0` | `0.27.1` |
Updates `granian` from 2.7.9 to 2.8.1
- [Release notes](https://github.com/emmett-framework/granian/releases )
- [Commits](https://github.com/emmett-framework/granian/compare/v2.7.9...v2.8.1 )
Updates `pylint` from 4.0.6 to 4.0.7
- [Release notes](https://github.com/pylint-dev/pylint/releases )
- [Commits](https://github.com/pylint-dev/pylint/compare/v4.0.6...v4.0.7 )
Updates `selenium` from 4.46.0 to 4.47.0
- [Release notes](https://github.com/SeleniumHQ/Selenium/releases )
- [Commits](https://github.com/SeleniumHQ/Selenium/compare/selenium-4.46.0...selenium-4.47.0 )
Updates `wlc` from 2.1.0 to 2.1.1
- [Release notes](https://github.com/WeblateOrg/wlc/releases )
- [Changelog](https://github.com/WeblateOrg/wlc/blob/main/CHANGES.rst )
- [Commits](https://github.com/WeblateOrg/wlc/compare/2.1.0...2.1.1 )
Updates `httpx-socks` from 0.10.0 to 0.13.0
- [Release notes](https://github.com/romis2012/httpx-socks/releases )
- [Commits](https://github.com/romis2012/httpx-socks/compare/v0.10.0...v0.13.0 )
Updates `typer` from 0.27.0 to 0.27.1
- [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.27.0...0.27.1 )
---
updated-dependencies:
- dependency-name: granian
dependency-version: 2.8.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: httpx-socks
dependency-version: 0.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: pylint
dependency-version: 4.0.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: selenium
dependency-version: 4.47.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: typer
dependency-version: 0.27.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: wlc
dependency-version: 2.1.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* [fix] network: bump httpx-socks to 0.13.1 for python-socks 3
httpx-socks 0.10.0 calls the default AnyIO Proxy with proxy_ssl.
python-socks 3.0.0 dropped that kwarg, so Tor/SOCKS startup checks
crash. 0.13.1 uses the v2 API (proxy_ssl still accepted) and allows
python-socks<4.
Drop the unused loop= argument; 0.13.1 forwards extra kwargs to
httpcore.AsyncConnectionPool, which rejects loop.
Closes : searxng/searxng#6514
Signed-off-by: Richard Freeman <rich@rich0.org >
---------
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: Richard Freeman <rich@rich0.org >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Richard Freeman <rich@rich0.org >
2026-08-16 11:10:39 +02:00
dependabot[bot]
36698aff6b
[upd] web-client (simple): Bump the minor group across 1 directory with 7 updates ( #6522 )
...
Bumps the minor group with 7 updates in the /client/simple directory:
| Package | From | To |
| --- | --- | --- |
| [ionicons](https://github.com/ionic-team/ionicons ) | `8.0.13` | `8.1.0` |
| [ol](https://github.com/openlayers/openlayers ) | `10.9.0` | `10.10.0` |
| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) | `2.5.5` | `2.5.7` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `26.1.1` | `26.2.0` |
| [browserslist](https://github.com/browserslist/browserslist ) | `4.28.7` | `4.28.8` |
| [less](https://github.com/less/less.js ) | `4.8.0` | `4.8.1` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `8.1.5` | `8.2.1` |
Updates `ionicons` from 8.0.13 to 8.1.0
- [Release notes](https://github.com/ionic-team/ionicons/releases )
- [Commits](https://github.com/ionic-team/ionicons/compare/v8.0.13...v8.1.0 )
Updates `ol` from 10.9.0 to 10.10.0
- [Release notes](https://github.com/openlayers/openlayers/releases )
- [Commits](https://github.com/openlayers/openlayers/compare/v10.9.0...v10.10.0 )
Updates `@biomejs/biome` from 2.5.5 to 2.5.7
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.7/packages/@biomejs/biome )
Updates `@types/node` from 26.1.1 to 26.2.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `browserslist` from 4.28.7 to 4.28.8
- [Release notes](https://github.com/browserslist/browserslist/releases )
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md )
- [Commits](https://github.com/browserslist/browserslist/compare/4.28.7...4.28.8 )
Updates `less` from 4.8.0 to 4.8.1
- [Release notes](https://github.com/less/less.js/releases )
- [Changelog](https://github.com/less/less.js/blob/master/CHANGELOG.md )
- [Commits](https://github.com/less/less.js/compare/v4.8.0...v4.8.1 )
Updates `vite` from 8.1.5 to 8.2.1
- [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/v8.2.1/packages/vite )
---
updated-dependencies:
- dependency-name: ionicons
dependency-version: 8.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: ol
dependency-version: 10.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@biomejs/biome"
dependency-version: 2.5.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: "@types/node"
dependency-version: 26.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: browserslist
dependency-version: 4.28.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: less
dependency-version: 4.8.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: vite
dependency-version: 8.2.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-16 10:34:47 +02:00
dependabot[bot]
094c33d406
[upd] github-actions: Bump JamesIves/github-pages-deploy-action ( #6521 )
...
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action ) from 4.8.0 to 4.9.0.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases )
- [Commits](d92aa235d0...fa24774553 )
---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
dependency-version: 4.9.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-14 10:18:45 +02:00
ArsenBilov
ef9a188cc8
[feat] engines: add paid yandex search api ( #6349 )
2026-08-13 18:16:56 +02:00
Bnyro
cdfdaa5a88
[mod] dogpile: set to inactive by default
2026-08-12 16:14:58 +02:00
Bnyro
5638231358
[fix] dogpile: access denied due to missing origin header
2026-08-12 16:13:15 +02:00
vojkovic
1c3bb1e88f
[mod] defaults: GET method and ddg autocomplete
2026-08-12 19:05:02 +08:00
Ivan Gabaldon
54613defc7
Revert "[upd] pypi: Bump the minor group across 1 directory with 3 updates (#…" ( #6515 )
...
This reverts commit e8e710e42a .
2026-08-12 01:34:08 +02:00
dependabot[bot]
e8e710e42a
[upd] pypi: Bump the minor group across 1 directory with 3 updates ( #6495 )
...
Bumps the minor group with 3 updates in the / directory: [typer](https://github.com/fastapi/typer ), [wlc](https://github.com/WeblateOrg/wlc ) and [granian](https://github.com/emmett-framework/granian ).
Updates `typer` from 0.27.0 to 0.27.1
- [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.27.0...0.27.1 )
Updates `wlc` from 2.1.0 to 2.1.1
- [Release notes](https://github.com/WeblateOrg/wlc/releases )
- [Changelog](https://github.com/WeblateOrg/wlc/blob/main/CHANGES.rst )
- [Commits](https://github.com/WeblateOrg/wlc/compare/2.1.0...2.1.1 )
Updates `granian` from 2.7.9 to 2.8.0
- [Release notes](https://github.com/emmett-framework/granian/releases )
- [Commits](https://github.com/emmett-framework/granian/compare/v2.7.9...v2.8.0 )
---
updated-dependencies:
- dependency-name: typer
dependency-version: 0.27.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: wlc
dependency-version: 2.1.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: granian
dependency-version: 2.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-11 17:45:08 +02:00
dependabot[bot]
7b0c7f0bf8
[upd] github-actions: Bump docker/login-action from 4.5.2 to 4.6.0 ( #6493 )
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 4.5.2 to 4.6.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](371161bbe7...dbcb813823 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 4.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-11 17:38:34 +02:00
github-actions[bot]
e033be7c7c
[l10n] update translations from Weblate ( #6496 )
...
8f9804206 - 2026-08-03 - Aindriú Mac Giolla Eoin <aindriu80@noreply.codeberg.org >
6850566e7 - 2026-08-04 - mvtbh <mvtbh@noreply.codeberg.org >
f97257801 - 2026-08-01 - ShinyDust <shinydust@noreply.codeberg.org >
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com >
2026-08-11 17:37:46 +02:00
Bnyro
0a118066d8
[feat] engines: add jina (general)
2026-08-10 14:14:33 +02:00
Bnyro
b023a28bab
[fix] engines: only print search traceback in debug mode
2026-08-06 17:43:17 +02:00
Ivan Gabaldon
c63835bd2a
[mod] data: update searx.data - update_wikidata_units.py ( #6474 )
2026-08-04 19:38:59 +02:00
vojkovic
1689cb1b53
[feat] autocomplete: add kagi autocompleter
2026-08-05 00:00:54 +08:00
Bnyro
aa059419ff
[fix] autocompleter: suggestions contain HTML escape codes
...
The results were previously HTML-escaped for some reason.
That doesn't really make much sense because they never got
unescaped anywhere.
For example, `A&B` gets escaped to `A&B` and never unescaped,
so the autocompletion frontend shows `A&B`, which isn't user-friendly
at all.
Also, it doesn't make sense to escape the full JSON instead
of only escaping the suggestion texts individually because that
makes it even more unclear.
2026-08-03 19:17:57 +02:00
vojkovic
0734ee6c71
[build] /static
2026-08-03 19:51:02 +08:00
vojkovic
d81810d2a7
[fix] autocomplete: drop POST method
2026-08-03 19:51:02 +08:00
vojkovic
8892414dc3
[feat] add kagi favicon resolver
2026-08-01 11:09:50 +08:00
dependabot[bot]
6bfd82705a
[upd] github-actions: Bump docker/login-action from 4.5.0 to 4.5.2 ( #6478 )
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 4.5.0 to 4.5.2.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](06fb636fac...371161bbe7 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 4.5.2
dependency-type: direct:production
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>
2026-07-31 17:03:08 +02:00
vojkovic
057a77168d
[ci] add ai policy checkbox detection
2026-07-31 06:28:06 +08:00
Ilya Bogin
0be6f87801
[feat] engines: add keenable (general)
2026-07-30 16:11:42 +02:00
Ivan Gabaldon
ef3a6ea9fd
[mod] data: update searx.data - update_currencies.py ( #6475 )
2026-07-30 15:16:02 +02:00
Ivan Gabaldon
f25b75e613
[mod] py: cleanup link_token.py
2026-07-30 14:54:39 +02:00
Bnyro
98e10f9ab4
[mod] swisscows: use alphabet from string module instead of hardcoding alphabet
2026-07-30 14:54:39 +02:00
Bnyro
a449518ed4
[mod] engines: replace [random.choice(...) for ... in range(..)] with random.choices
2026-07-30 14:54:39 +02:00
Bnyro
702f702f9b
[del] reddit: remove engine, requires authentication now
2026-07-30 14:53:46 +02:00
github-actions[bot]
afdfd81613
[mod] data: update searx.data - update_firefox_version.py ( #6466 )
...
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com >
2026-07-30 14:26:18 +02:00
github-actions[bot]
c81ed99c69
[mod] data: update searx.data - update_engine_traits.py ( #6468 )
...
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com >
2026-07-30 14:26:02 +02:00
github-actions[bot]
ecf8497b65
[mod] data: update searx.data - update_ahmia_blacklist.py ( #6467 )
...
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com >
2026-07-30 14:25:37 +02:00
Ivan Gabaldon
e28131f8d4
[mod] docs: sidebar remove verbose features ( #6465 )
...
Remove all references to `dev.searxng.org` and get rid of some highlights
2026-07-30 14:24:39 +02:00
Léon Tiekötter
81b0ed7b38
chore: remove presearch engine
...
Removing the presearch engine and configuration because it got shutdown.
ref.: https://news.presearch.io/a-message-from-the-presearch-team-aaa448052b2b
https://x.com/presearchnews/status/2080744472791441807
2026-07-30 14:23:05 +02:00
prodzeus
c01178d031
Updated pronoun in favicons documentation ( #6464 )
...
Updated pronoun 'his' to 'their', to be more inclusive.
2026-07-28 21:40:42 +02:00
github-actions[bot]
c73861ab46
[l10n] update translations from Weblate ( #6447 )
...
c62975ec7 - 2026-07-22 - alexgabi <alexgabi@noreply.codeberg.org >
a0f3db680 - 2026-07-23 - gallegonovato <gallegonovato@noreply.codeberg.org >
c1271523f - 2026-07-17 - codebergnew2 <codebergnew2@noreply.codeberg.org >
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com >
2026-07-28 21:03:43 +02:00
dependabot[bot]
891bc69550
[upd] web-client (simple): Bump the minor group across 1 directory with 6 updates ( #6445 )
...
Bumps the minor group with 6 updates in the /client/simple directory:
| Package | From | To |
| --- | --- | --- |
| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) | `2.5.3` | `2.5.5` |
| [browserslist](https://github.com/browserslist/browserslist ) | `4.28.6` | `4.28.7` |
| [less](https://github.com/less/less.js ) | `4.6.7` | `4.8.0` |
| [stylelint](https://github.com/stylelint/stylelint ) | `17.14.0` | `17.14.1` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `8.1.4` | `8.1.5` |
| [vite-bundle-analyzer](https://github.com/nonzzz/vite-bundle-analyzer ) | `1.3.8` | `1.3.9` |
Updates `@biomejs/biome` from 2.5.3 to 2.5.5
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.5/packages/@biomejs/biome )
Updates `browserslist` from 4.28.6 to 4.28.7
- [Release notes](https://github.com/browserslist/browserslist/releases )
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md )
- [Commits](https://github.com/browserslist/browserslist/compare/4.28.6...4.28.7 )
Updates `less` from 4.6.7 to 4.8.0
- [Release notes](https://github.com/less/less.js/releases )
- [Changelog](https://github.com/less/less.js/blob/master/CHANGELOG.md )
- [Commits](https://github.com/less/less.js/compare/v4.6.7...v4.8.0 )
Updates `stylelint` from 17.14.0 to 17.14.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/17.14.0...17.14.1 )
Updates `vite` from 8.1.4 to 8.1.5
- [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/v8.1.5/packages/vite )
Updates `vite-bundle-analyzer` from 1.3.8 to 1.3.9
- [Release notes](https://github.com/nonzzz/vite-bundle-analyzer/releases )
- [Changelog](https://github.com/nonzzz/vite-bundle-analyzer/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nonzzz/vite-bundle-analyzer/compare/v1.3.8...v1.3.9 )
---
updated-dependencies:
- dependency-name: "@biomejs/biome"
dependency-version: 2.5.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: browserslist
dependency-version: 4.28.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: less
dependency-version: 4.8.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: stylelint
dependency-version: 17.14.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: vite
dependency-version: 8.1.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: vite-bundle-analyzer
dependency-version: 1.3.9
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-28 21:02:52 +02:00
dependabot[bot]
d661b6114d
[upd] pypi: Bump certifi from 2026.6.17 to 2026.7.22 in the minor group ( #6446 )
...
Bumps the minor group with 1 update: [certifi](https://github.com/certifi/python-certifi ).
Updates `certifi` from 2026.6.17 to 2026.7.22
- [Commits](https://github.com/certifi/python-certifi/compare/2026.06.17...2026.07.22 )
---
updated-dependencies:
- dependency-name: certifi
dependency-version: 2026.7.22
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-28 20:52:53 +02:00
Bnyro
8372f5d855
[fix] exaapi: missing shortcut causes engine to crash
2026-07-28 18:33:27 +02:00
kesku
8f8b5d2b8d
[feat] engines: add Exa Search API engine
2026-07-28 18:02:42 +02:00
vojkovic
b060c780d0
Revert "[ci] add ai policy checkbox detection"
...
This reverts commit 6d8b550280 .
2026-07-26 16:53:10 +00:00
vojkovic
6d8b550280
[ci] add ai policy checkbox detection
2026-07-26 16:51:14 +00:00
dependabot[bot]
0909dbc9ef
[upd] github-actions: Bump actions/setup-python from 6.3.0 to 7.0.0 ( #6444 )
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 6.3.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](ece7cb06ca...5fda3b95a4 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-25 08:44:50 +02:00
dependabot[bot]
b4e94417b7
[upd] github-actions: Bump actions/checkout from 7.0.0 to 7.0.1 ( #6443 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](9c091bb21b...3d3c42e5aa )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 7.0.1
dependency-type: direct:production
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>
2026-07-25 08:44:30 +02:00
dependabot[bot]
4f64d95013
[upd] github-actions: Bump docker/login-action from 4.4.0 to 4.5.0 ( #6442 )
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](af1e73f918...06fb636fac )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 4.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 16:15:49 +02:00
Burak Emir Sezen
ef8f6470e0
[fix] container: ignore invalid SEARXNG_PORT values ( #6439 )
...
* [fix] container: ignore invalid SEARXNG_PORT values
* add note
---------
Co-authored-by: Ivan Gabaldon <igabaldon@inetol.net >
2026-07-22 22:23:30 +02:00
Kes
6da6eee265
[upd] update to gecko driver v37 ( #6433 )
2026-07-19 17:04:57 +02:00
github-actions[bot]
277d8469cd
[l10n] update translations from Weblate ( #6426 )
...
b498ffaf1 - 2026-07-17 - return42 <return42@noreply.codeberg.org >
341dacc88 - 2026-07-17 - impar <impar@noreply.codeberg.org >
2650a73a9 - 2026-07-17 - return42 <return42@noreply.codeberg.org >
37d2751a8 - 2026-07-17 - return42 <return42@noreply.codeberg.org >
2026-07-18 11:44:39 +02:00
dependabot[bot]
81c9c23862
[upd] github-actions: Bump actions/setup-node from 6.4.0 to 7.0.0 ( #6423 )
...
Bumps [actions/setup-node](https://github.com/actions/setup-node ) from 6.4.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-node/releases )
- [Commits](48b55a011b...8207627860 )
---
updated-dependencies:
- dependency-name: actions/setup-node
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-17 14:27:38 +02:00
dependabot[bot]
6913fba208
[upd] pypi: Bump the minor group with 2 updates ( #6425 )
...
Bumps the minor group with 2 updates: [typer](https://github.com/fastapi/typer ) and [selenium](https://github.com/SeleniumHQ/Selenium ).
Updates `typer` from 0.26.8 to 0.27.0
- [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.26.8...0.27.0 )
Updates `selenium` from 4.45.0 to 4.46.0
- [Release notes](https://github.com/SeleniumHQ/Selenium/releases )
- [Commits](https://github.com/SeleniumHQ/Selenium/compare/selenium-4.45.0...selenium-4.46.0 )
2026-07-17 14:24:17 +02:00
Bnyro
2daa4d4815
[fix] qwant: can't fetch engine traits because engine.about is no longer a dict
2026-07-17 12:27:46 +02:00
Bnyro
de8f73f434
[fix] cache: maintenance period comment duration 2h instead of 1h
2026-07-17 12:24:47 +02:00
Bnyro
9f9c00819e
[fix] tiger: remember auth cookie for 2 months, not 1 day
2026-07-16 23:31:59 +02:00
Bnyro
b72a87676f
[fix] public domain image archive: crashes upon response
...
The code used here has always been "bad" because `about` shouldn't be used
as data source, but the engine probably broke when type checks / dataclasses
for the about parameter in engines has been added with
<https://github.com/searxng/searxng/pull/6258 >.
Error log:
```
WARNING searx.engines.public domain im: ErrorContext('searx/engines/public_domain_image_archive.py', 143, '\'url\': _clean_url(f"{about[\'website\']}/images/{result[\'objectID\']}"),', 'TypeError', None, ("'EngineAbout' object is not subscriptable",)) False
ERROR searx.engines.public domain im: exception : 'EngineAbout' object is not subscriptable
Traceback (most recent call last):
File "/home/bnyro/Projects/searxng/searx/search/processors/online.py", line 253, in search
search_results = self._search_basic(query, params)
File "/home/bnyro/Projects/searxng/searx/search/processors/online.py", line 239, in _search_basic
return self.engine.response(response)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/home/bnyro/Projects/searxng/searx/engines/public_domain_image_archive.py", line 143, in response
'url': _clean_url(f"{about['website']}/images/{result['objectID']}"),
~~~~~^^^^^^^^^^^
TypeError: 'EngineAbout' object is not subscriptable
```
2026-07-16 15:50:58 +02:00
Bnyro
f2432e33d6
[fix] engine cache: return default value when cache entry expired
...
It's possible that it's expired but has not yet been automatically deleted
by the periodic maintenance because that, by default, runs only every 2 hours.
Related:
- see https://github.com/searxng/searxng/pull/6409#discussion_r3584712601
2026-07-16 12:37:26 +02:00
vojkovic
7b2199ecdf
[fix] autocomplete suggestrelevance scores for chromium
2026-07-15 23:45:25 +08:00
Bnyro
4a9c19d7bf
[mod] images.html: display all engines that found the result, not only the first one
2026-07-15 17:44:11 +02:00
Bnyro
5cb4cb2bc5
[fix] qwant: engine blocked with captcha
...
Qwant now requires a `datadome` cookie that it returns
in the first search response as a `Set-Cookie`.
This cookie has to be sent for all requests, otherwise they
will be blocked.
This means that now, the first search request is blocked (results in CAPTCHA),
and only the subsequent searches work (same happens on the Qwant website for me).
However, I don't think it's worth repeating the same
search request multiple times very quickly because
that also makes us more suspicious.
2026-07-15 17:39:10 +02:00
Bnyro
5a448596ab
[feat] engines: add avalw.org (general)
...
The index is very small, so it often doesn't find anything.
It also has news support, but the results are unusable.
2026-07-15 17:38:46 +02:00
Bnyro
9c49b7e0d7
[fix] results: display internationalized domain names human-friendly
...
Some search engines encode domains that contain special characters
in the IDN format, i.e. by using Punycode (https://en.wikipedia.org/wiki/Punycode ).
This means that domains formatted like that are not human readable
and thus very unintuive.
Also, as only some engines use Punycode, this often causes a result
to appear multiple times, once with a Punycode domain (e.g. xn--allestrungen-9ib.de),
and once with a normal domain (e.g. allestörungen.de).
Always formatting the domains nicely has the caveat that the official sites
are harder to distinguish from malicious clones that just swapped out some
characters by using Punycode, e.g. replaced `a` with `á`. I don't think
that will be much of an issue though - I don't think Punycode results
previously stopped users from clicking the link, and I also think that
most search engines filter out such bad results or don't even have them
indexed.
2026-07-15 17:38:04 +02:00
Bnyro
58e02a01ae
[fix] tusksearch: fix engine blocked by bot protection
...
Changes:
- the `embed.js` request now requires a user agent header
- we include a user agent in the "actual" request (I dropped it by accident)
- we only send the first 4 decimal places of the location
instead of 7+ (not required, but harder to detect)
2026-07-14 20:32:31 +02:00
Bnyro
7fa9f16225
[fix] heexy: blocked by cloudflare
2026-07-14 20:32:18 +02:00
Onev
9e25585aec
[refactor] engines: use datetime.fromisoformat instead of datetime.strptime where possible ( #6394 )
...
Refactor engines that parse ISO 8601 dates with strptime to use
fromisoformat instead. In most cases this is a direct replacement of
strptime(text, "format") with fromisoformat(text).
For engines where the source has a trailing "Z" that strptime consumed
as a literal (e.g. "%Y-%m-%dT%H:%M:%S.%fZ" in huggingface.py), add
rstrip("Z") to keep the output naive and preserve the existing behavior.
In sogou.py the date is extracted with a regular expression, which can
yield strings like "2026-7-11". strptime accepts this via its format
string, but fromisoformat does not. To preserve the existing behavior
and satisfy the format fromisoformat expects, add zero-padding for the
month and day.
Closes : #6098
---------
Signed-off-by: OneVth <onebrotravel@gmail.com >
2026-07-13 17:46:56 +02:00
Ivan Gabaldon
c19d86faa3
[mod] ci: remove security ( #6400 )
...
Manage alerts directly from Docker Hub
2026-07-12 13:09:19 +02:00
Ivan Gabaldon
21fa7b0be1
[mod] ci: rework workflows ( #6401 )
...
* [mod] ci: rework workflows
mod: ubuntu 26.04 runners
mod: remove podman-static
mod: longer container cache
mod: remove useless pr information
mod: sort steps
fix: use commit ref on workflow_run children
fix: missing container workflow_run check
fix: nodejs cache
* [fix] ci: apply suggestions
https://github.com/searxng/searxng/pull/6401#discussion_r3566147961
https://github.com/searxng/searxng/pull/6401#discussion_r3566147970
2026-07-12 13:04:11 +02:00
dependabot[bot]
74b4e7c8d1
[upd] web-client (simple): Bump the minor group across 1 directory with 5 updates ( #6399 )
...
Bumps the minor group with 5 updates in the /client/simple directory:
| Package | From | To |
| --- | --- | --- |
| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) | `2.5.2` | `2.5.3` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `26.1.0` | `26.1.1` |
| [browserslist](https://github.com/browserslist/browserslist ) | `4.28.4` | `4.28.6` |
| [svgo](https://github.com/svg/svgo ) | `4.0.1` | `4.0.2` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `8.1.3` | `8.1.4` |
Updates `@biomejs/biome` from 2.5.2 to 2.5.3
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.3/packages/@biomejs/biome )
Updates `@types/node` from 26.1.0 to 26.1.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `browserslist` from 4.28.4 to 4.28.6
- [Release notes](https://github.com/browserslist/browserslist/releases )
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md )
- [Commits](https://github.com/browserslist/browserslist/compare/4.28.4...4.28.6 )
Updates `svgo` from 4.0.1 to 4.0.2
- [Release notes](https://github.com/svg/svgo/releases )
- [Commits](https://github.com/svg/svgo/compare/v4.0.1...v4.0.2 )
Updates `vite` from 8.1.3 to 8.1.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/v8.1.4/packages/vite )
---
updated-dependencies:
- dependency-name: "@biomejs/biome"
dependency-version: 2.5.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: "@types/node"
dependency-version: 26.1.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: browserslist
dependency-version: 4.28.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: svgo
dependency-version: 4.0.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: vite
dependency-version: 8.1.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-12 08:56:35 +02:00
dependabot[bot]
39f4dd24a5
[upd] web-client (simple): Bump typescript in /client/simple ( #6391 )
...
Bumps [typescript](https://github.com/microsoft/TypeScript ) from 6.0.3 to 7.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases )
- [Commits](https://github.com/microsoft/TypeScript/commits )
---
updated-dependencies:
- dependency-name: typescript
dependency-version: 7.0.2
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-12 08:44:34 +02:00
dependabot[bot]
62a1ab7edd
[upd] pypi: Bump granian from 2.7.8 to 2.7.9 in the minor group ( #6392 )
...
Bumps the minor group with 1 update: [granian](https://github.com/emmett-framework/granian ).
Updates `granian` from 2.7.8 to 2.7.9
- [Release notes](https://github.com/emmett-framework/granian/releases )
- [Commits](https://github.com/emmett-framework/granian/compare/v2.7.8...v2.7.9 )
---
updated-dependencies:
- dependency-name: granian
dependency-version: 2.7.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-11 09:13:34 +02:00
github-actions[bot]
4abac08de5
[l10n] update translations from Weblate ( #6393 )
...
493c1d2a7 - 2026-07-07 - lukisko <lukisko@noreply.codeberg.org >
a67b467e5 - 2026-07-06 - marc-lopez <marc-lopez@noreply.codeberg.org >
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com >
2026-07-10 23:19:38 +02:00
dependabot[bot]
6a4d5148d6
[upd] github-actions: Bump github/codeql-action/upload-sarif ( #6389 )
...
Bumps [github/codeql-action/upload-sarif](https://github.com/github/codeql-action ) from 4.36.3 to 4.37.0.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](54f647b7e1...99df26d4f1 )
---
updated-dependencies:
- dependency-name: github/codeql-action/upload-sarif
dependency-version: 4.37.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-10 14:17:57 +02:00
dependabot[bot]
799086874d
[upd] github-actions: Bump docker/login-action from 4.3.0 to 4.4.0 ( #6387 )
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 4.3.0 to 4.4.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](c99871dec2...af1e73f918 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 4.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-10 14:15:21 +02:00
dependabot[bot]
83139c26b3
[upd] github-actions: Bump docker/scout-action from 1.23.0 to 1.23.1 ( #6388 )
...
Bumps [docker/scout-action](https://github.com/docker/scout-action ) from 1.23.0 to 1.23.1.
- [Release notes](https://github.com/docker/scout-action/releases )
- [Commits](ce97ec1bb8...2688993af7 )
---
updated-dependencies:
- dependency-name: docker/scout-action
dependency-version: 1.23.1
dependency-type: direct:production
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>
2026-07-10 14:14:09 +02:00
Markus Heiser
8456831a04
[mod] show img_load_error.svg if thumbnail fails to load ( #6368 )
...
* [mod] show img_load_error.svg if thumbnail fails to load (#6368 )
Brave and a few other engines occasionally provide dead URLs for the thumbnails,
which looks pretty ugly in the UI. As already with the image search, in case of
an error img_load_error.svg should be displayed here.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
* [build] /static (#6368 )
---------
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-07-09 18:37:41 +02:00
Bnyro
b512eaa272
[feat] engines: add kovunka.net (general)
2026-07-09 12:11:41 +02:00
Jayant Sharma
1412926f5c
[fix] braveapi: strip HTML tags and filter favicon thumbnails ( #6381 )
2026-07-08 21:19:11 +02:00
Bnyro
3b573e0f89
[fix] heexy: use cookies for cacheft token
...
Heexy now passes the cacheft token via cookies and no
longer via HTTP headers.
Hence, the engine is broken without that change.
2026-07-08 21:01:11 +02:00
Bnyro
da6a230413
[fix] autocomplete: google autocompleter crashes
...
`engines` only contains active engines. Since `google` was set to
inactive, it's no longer part of the , making the engine crash.
With this workaround, we directly load the engine traits from the data
dictionary instead of going the intermediate step with the Google engine.
2026-07-08 20:48:15 +02:00
Bnyro
f69b22c45c
[fix] kagi: crashes when there are no results
2026-07-07 10:49:54 +02:00
Patrick Evans
f930443726
[fix] kagi: safely access unpromised result properties
...
I was testing the new Kagi engine and found for some queries I was getting a
`KeyError` exception from the result parsing.
This PR ensures we only assumes the `url` key exists, and we use `.get()` to
retrieve values for keys that may not be present.
Their API documentation [1] clarifies that only the `url` and `title` properties
are required/guaranteed in the search result object, but this is not correct:
File "/home/patrick/code/searxng/searx/engines/kagi.py", line 161, in response
title=html.unescape(result["title"]),
~~~~~~^^^^^^^^^
KeyError: 'title
Heard back from Kagi support:
> The image results "title' should be marked as optional, as many images likely
> don't have titles - as you've noticed. The only required field there should be
> the "url" field.
[1] https://kagi.redocly.app/api/docs/openapi/search/search#search/search/t=response&c=200&path=data/search
[2] https://github.com/searxng/searxng/issues/2247#issuecomment-4692976877
2026-07-07 10:49:54 +02:00
Bnyro
d58ced8f71
[fix] kagi: results contain HTML tags
2026-07-07 10:35:06 +02:00
Markus Heiser
556d08c395
[fix] google CSE - leftover from PR #6364 ( #6369 )
...
The `ZZ` issue has been fixed in the google.py and the default lang_code is
already `en`:
- https://github.com/searxng/searxng/pull/6364#discussion_r3524461287
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-07-06 09:23:28 +02:00
Bnyro
1017631800
[chore] make data.traits ( #6369 )
2026-07-06 09:23:28 +02:00
Bnyro
b64e6ee44a
[feat] google CSE engine: add support for images ( #6369 )
...
Add support for Google CSE images, the normal google images engine doesn't work
anymore, so this is a good workaround for now.
2026-07-06 09:23:28 +02:00
Austin-Olacsi
a6438586a5
[feat] engine: add neocities.org
2026-07-05 13:15:29 +02:00
Markus Heiser
fd5eb84a37
[chore] Google (HTML) engine: remove obsolete GSA User-Agents ( #6366 )
...
The GSA headers that were introduced in PR #5644 unfortunately no longer
work (#6359 ).
The Google engines
- google.py
- google_videos.py
do not work anymore either, but we'll leave it in the code for now:
- In google.py, central functions like get_google_info(..) are provided, which
are also used by other modules.
- We will probably need a Google HTML (and video) engine again very soon.
Related:
- https://github.com/searxng/searxng/issues/6359
- https://github.com/searxng/searxng/pull/6364
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-07-05 12:07:23 +02:00
vojkovic
888364c1ce
[chore] update traits for google cse ( #6364 )
2026-07-05 11:50:23 +02:00
vojkovic
1cdf01a719
[feat] engines: add google cse engine ( #6364 )
...
Adds a new google cse engine as an alternative to the currently broken html
google engine.
It works by generating a token which is cached for 1 hour and it only uses the
public CSE id from blackle.com. We do have two others but I think just
hardcoding one will be enough.
Will be broken in 2027 due to google deprecating it but I it will be good while
it lasts.
I found I can get up to 20 results per page. Setting safesearch and language
works and I just copied the traits from the google engine.
Also set old google engine as inactive as it is completely broken for now.
2026-07-05 11:50:23 +02:00
Ivan Gabaldon
747cec4c23
[mod] container: docker.io base source ( #6344 )
2026-07-03 16:10:04 +02:00
dependabot[bot]
4ef70e9451
[upd] web-client (simple): Bump the minor group across 1 directory with 7 updates ( #6318 )
...
Bumps the minor group with 7 updates in the /client/simple directory:
| Package | From | To |
| --- | --- | --- |
| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) | `2.5.0` | `2.5.2` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `26.0.0` | `26.1.0` |
| [browserslist](https://github.com/browserslist/browserslist ) | `4.28.2` | `4.28.4` |
| [less](https://github.com/less/less.js ) | `4.6.6` | `4.6.7` |
| [sharp](https://github.com/lovell/sharp ) | `0.35.1` | `0.35.3` |
| [stylelint](https://github.com/stylelint/stylelint ) | `17.13.0` | `17.14.0` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `8.0.16` | `8.1.3` |
Updates `@biomejs/biome` from 2.5.0 to 2.5.2
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.2/packages/@biomejs/biome )
Updates `@types/node` from 26.0.0 to 26.1.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `browserslist` from 4.28.2 to 4.28.4
- [Release notes](https://github.com/browserslist/browserslist/releases )
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md )
- [Commits](https://github.com/browserslist/browserslist/compare/4.28.2...4.28.4 )
Updates `less` from 4.6.6 to 4.6.7
- [Release notes](https://github.com/less/less.js/releases )
- [Changelog](https://github.com/less/less.js/blob/master/CHANGELOG.md )
- [Commits](https://github.com/less/less.js/compare/v4.6.6...v4.6.7 )
Updates `sharp` from 0.35.1 to 0.35.3
- [Release notes](https://github.com/lovell/sharp/releases )
- [Commits](https://github.com/lovell/sharp/compare/v0.35.1...v0.35.3 )
Updates `stylelint` from 17.13.0 to 17.14.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/17.13.0...17.14.0 )
Updates `vite` from 8.0.16 to 8.1.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/v8.1.3/packages/vite )
---
updated-dependencies:
- dependency-name: "@biomejs/biome"
dependency-version: 2.5.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: "@types/node"
dependency-version: 26.0.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: browserslist
dependency-version: 4.28.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: less
dependency-version: 4.6.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: sharp
dependency-version: 0.35.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: stylelint
dependency-version: 17.14.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: vite
dependency-version: 8.1.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-03 16:09:38 +02:00
github-actions[bot]
80c9806de1
[l10n] update translations from Weblate ( #6357 )
...
f29d35e7c - 2026-06-27 - Anonymous104 <anonymous104@noreply.codeberg.org >
e574b7601 - 2026-06-27 - nebras <nebras@noreply.codeberg.org >
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com >
2026-07-03 15:50:52 +02:00
dependabot[bot]
9d7ca4febc
[upd] github-actions: Bump docker/setup-qemu-action from 4.1.0 to 4.2.0 ( #6355 )
...
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action ) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases )
- [Commits](06116385d9...96fe6ef7f3 )
---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
dependency-version: 4.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-03 15:50:27 +02:00
dependabot[bot]
c5cd510d82
[upd] github-actions: Bump actions/cache from 6.0.0 to 6.1.0 ( #6353 )
...
Bumps [actions/cache](https://github.com/actions/cache ) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](2c8a9bd745...55cc834586 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-03 15:35:29 +02:00
dependabot[bot]
73a0219ab8
[upd] github-actions: Bump docker/scout-action from 1.22.0 to 1.23.0 ( #6352 )
...
Bumps [docker/scout-action](https://github.com/docker/scout-action ) from 1.22.0 to 1.23.0.
- [Release notes](https://github.com/docker/scout-action/releases )
- [Commits](7520205ff6...ce97ec1bb8 )
---
updated-dependencies:
- dependency-name: docker/scout-action
dependency-version: 1.23.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-03 15:35:07 +02:00
dependabot[bot]
7ed7adfb05
[upd] github-actions: Bump github/codeql-action/upload-sarif ( #6354 )
...
Bumps [github/codeql-action/upload-sarif](https://github.com/github/codeql-action ) from 4.36.2 to 4.36.3.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](8aad20d150...54f647b7e1 )
---
updated-dependencies:
- dependency-name: github/codeql-action/upload-sarif
dependency-version: 4.36.3
dependency-type: direct:production
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>
2026-07-03 15:33:41 +02:00
dependabot[bot]
d7367e0897
[upd] github-actions: Bump docker/login-action from 4.2.0 to 4.3.0 ( #6351 )
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](650006c6eb...c99871dec2 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 4.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-03 15:30:16 +02:00
dependabot[bot]
21773bbb2d
[upd] pypi: Bump the minor group with 5 updates ( #6356 )
...
Bumps the minor group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [granian](https://github.com/emmett-framework/granian ) | `2.7.7` | `2.7.8` |
| [typer](https://github.com/fastapi/typer ) | `0.26.7` | `0.26.8` |
| [typing-extensions](https://github.com/python/typing_extensions ) | `4.15.0` | `4.16.0` |
| [wlc](https://github.com/WeblateOrg/wlc ) | `2.0.0` | `2.1.0` |
| [basedpyright](https://github.com/detachhead/basedpyright ) | `1.39.8` | `1.39.9` |
Updates `granian` from 2.7.7 to 2.7.8
- [Release notes](https://github.com/emmett-framework/granian/releases )
- [Commits](https://github.com/emmett-framework/granian/compare/v2.7.7...v2.7.8 )
Updates `typer` from 0.26.7 to 0.26.8
- [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.26.7...0.26.8 )
Updates `typing-extensions` from 4.15.0 to 4.16.0
- [Release notes](https://github.com/python/typing_extensions/releases )
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md )
- [Commits](https://github.com/python/typing_extensions/compare/4.15.0...4.16.0 )
Updates `wlc` from 2.0.0 to 2.1.0
- [Release notes](https://github.com/WeblateOrg/wlc/releases )
- [Changelog](https://github.com/WeblateOrg/wlc/blob/main/CHANGES.rst )
- [Commits](https://github.com/WeblateOrg/wlc/compare/2.0.0...2.1.0 )
Updates `basedpyright` from 1.39.8 to 1.39.9
- [Release notes](https://github.com/detachhead/basedpyright/releases )
- [Commits](https://github.com/detachhead/basedpyright/compare/v1.39.8...v1.39.9 )
2026-07-03 10:09:55 +02:00
Markus Heiser
67973783de
[fix] typo in utils/lib.sh
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-07-02 14:48:03 +02:00
Markus Heiser
0f9e30e3f9
[fix] docs.live (sphinx-autobuild) - watch .rst, .py, .yml and .conf ( #6348 )
...
So far, any change to any file triggered a new build, and changes to the
doc-strings (in ./searx) were not taken into account. With this patch, a build
is only triggered when files with the specified file extensions change.
The watch has been expanded to ./searx so that changes to doc strings also
trigger a new build.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-07-02 13:22:12 +02:00
Markus Heiser
640f88c9bd
[fix] API docs: remove doc of not existing parameters ( #6346 )
...
TBH: Some of the parameters such as engines or plugins still theoretically exist
in SearXNG, but we will no longer support them. They are usually accessed via
cookies and should not pollute the API / it is these supposed features that
hinder SearXNG in further development.
Closes: https://github.com/searxng/searxng/issues/6003
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-07-02 11:48:53 +02:00
Bnyro
c5d8d05f03
[fix] searchzee: circumvent botblocking
2026-07-01 15:35:46 +02:00
Markus Heiser
d115c61a70
[fix] clarify the mess of Engine.setup and Engine.init ( #6343 )
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-06-30 19:22:23 +02:00
Zhijie He
c5b1d066e5
[feat] engines: add sina engine
...
Apply suggestions from code review
Co-authored-by: Bnyro <bnyro@tutanota.com >
2026-06-30 16:59:55 +02:00
Bnyro
774616ada6
[fix] heexy: circumvent botblocking
2026-06-30 15:46:58 +02:00
Bnyro
6b2ec018e2
[fix] qwant: access denied due to mismatching query order
...
We're now shuffling the order of query arguments, as
it seems that Qwant actively blocks the query order of
SearXNG.
tgp seems to be short for "test group" (look at the XHR requests the
browser sends to "https://www.qwant.com/action/ui ") - its actual value
doesn't matter, as long as it's sent and at the correct position in the
query params and doesn't change too frequently
2026-06-30 15:23:09 +02:00
dependabot[bot]
bfeaad6c37
[upd] pypi: Bump granian from 2.7.6 to 2.7.7 in the minor group ( #6319 )
...
Bumps the minor group with 1 update: [granian](https://github.com/emmett-framework/granian ).
Updates `granian` from 2.7.6 to 2.7.7
- [Release notes](https://github.com/emmett-framework/granian/releases )
- [Commits](https://github.com/emmett-framework/granian/compare/v2.7.6...v2.7.7 )
---
updated-dependencies:
- dependency-name: granian
dependency-version: 2.7.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-30 08:18:49 +02:00
Sisyphus
28d3885764
[fix] naver: update HTML parsing for redesigned Naver search results page
...
Naver redesigned their search results page, replacing the old CSS classes
(lst_total, link_tit, total_dsc_wrap, api_txt_lines) with a new layout
using fds-web-doc-root containers and sds-comps design system.
Updated parse_general():
- Result container: fds-web-doc-root + fds-web-normal-doc-root
- Title: sds-comps-text-type-headline1 span
- URL: first external http link (with try/except guard)
- Content: sds-comps-text-type-body1 span
- Thumbnail: profile-thumbnail img src
- Added guard: skip results without title or URL
2026-06-29 20:25:23 +02:00
Hu Butui
b084194c09
[fix] engine baidu: fix image search blocked by antiFlag
...
Baidu image search returns antiFlag=1 when the acjson API is called
without session cookies from image.baidu.com.
Warm up cookies with a GET to the image homepage, cache them for one
hour via EngineCache, and pass them to image search requests. Raise
SearxEngineAccessDeniedException when antiFlag is still returned.
Signed-off-by: Hu Butui <hot123tea123@gmail.com >
2026-06-29 19:54:10 +02:00
Hu Butui
8c4df4cf3f
[feat] bilibili engine: add time range support
...
Signed-off-by: Hu Butui <hot123tea123@gmail.com >
2026-06-29 19:53:20 +02:00
Bnyro
a0e594e16e
[fix] neosearch: crashes when result has no url
2026-06-29 18:54:01 +02:00
Bnyro
cb4bfbe129
[chore] data.traits: update traits for neosearch
2026-06-29 13:05:01 +02:00
Bnyro
a5660bcc4f
[feat] engines: add support for neosearch.org (general)
2026-06-29 13:05:01 +02:00
Bnyro
1396265774
[feat] engines: add magnific images engine
2026-06-29 10:19:19 +02:00
Bnyro
0fd40d5f29
[feat] engines: add shopify stock images engine
2026-06-29 10:02:16 +02:00
Bnyro
13a5ace8b5
[feat] engines: add stocksnap images engine
2026-06-29 10:02:04 +02:00
Bnyro
a6831797ba
[feat] engines: add support for picjumbo.com
2026-06-29 10:01:43 +02:00
github-actions[bot]
0e990f78a3
[data] update searx.data - update_gsa_useragents.py ( #6329 )
2026-06-29 08:03:21 +02:00
github-actions[bot]
990c63b709
[data] update searx.data - update_currencies.py ( #6333 )
2026-06-29 07:09:12 +02:00
github-actions[bot]
e535e4c61a
[data] update searx.data - update_firefox_version.py ( #6332 )
2026-06-29 07:08:32 +02:00
github-actions[bot]
79506441c5
[data] update searx.data - update_wikidata_units.py ( #6330 )
2026-06-29 07:08:02 +02:00
github-actions[bot]
6cb1c077e9
[data] update searx.data - update_ahmia_blacklist.py ( #6331 )
2026-06-29 07:07:28 +02:00
Bnyro
8605230eb8
[fix] resulthunter: images in search results are not clickable
2026-06-28 22:31:01 +02:00
Bnyro
a54722e692
[feat] tiger: add support for related search terms / suggestions
2026-06-28 22:30:48 +02:00
Bnyro
7e9a6c2861
[fix] tiger: captcha paths have changed
2026-06-28 22:30:48 +02:00
dependabot[bot]
357662d86d
[upd] github-actions: Bump docker/scout-action from 1.21.0 to 1.22.0 ( #6317 )
...
Bumps [docker/scout-action](https://github.com/docker/scout-action ) from 1.21.0 to 1.22.0.
- [Release notes](https://github.com/docker/scout-action/releases )
- [Commits](cd72f264be...7520205ff6 )
---
updated-dependencies:
- dependency-name: docker/scout-action
dependency-version: 1.22.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-28 09:19:29 +02:00
dependabot[bot]
bfa76e4cd9
[upd] github-actions: Bump actions/cache from 5.0.5 to 6.0.0 ( #6316 )
...
Bumps [actions/cache](https://github.com/actions/cache ) from 5.0.5 to 6.0.0.
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](27d5ce7f10...2c8a9bd745 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-28 09:19:14 +02:00
dependabot[bot]
a9d49a3349
[upd] github-actions: Bump actions/setup-python from 6.2.0 to 6.3.0 ( #6315 )
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 6.2.0 to 6.3.0.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](a309ff8b42...ece7cb06ca )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: 6.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-28 09:18:54 +02:00
github-actions[bot]
f8ffbf36f9
[l10n] update translations from Weblate ( #6320 )
...
6de4d96dd - 2026-06-23 - code_gremlin <code_gremlin@noreply.codeberg.org >
2026-06-26 10:24:36 +02:00
Markus Heiser
e3126b89e6
[mod] update_engine_descriptions.py - revision of the script ( #6309 )
...
* [mod] update_engine_descriptions.py - revision of the script (#6309 )
The script was a bit outdated, type hints were missing, and the strings were
converted to double quotation marks
The `descriptions.items()` are sorted to avoid assigning the references to
seen_descriptions randomly (should reduce unnecessary diffs in the future).
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
* [data] update searx.data - update_engine_descriptions.py (#6309 )
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
---------
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-06-24 12:10:28 +02:00
Markus Heiser
f9f3d089ec
[fix] engine anaconda - add missing about configuration ( #6308 )
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-06-24 10:45:40 +02:00
Hu Butui
e3713717f2
[fix] engines: remove terminated chinaso media engines
...
Signed-off-by: Hu Butui <hot123tea123@gmail.com >
2026-06-23 18:20:04 +02:00
Bnyro
952896d29e
[feat] image results: automatically guess mimetype based on path
2026-06-22 12:46:22 +02:00
Bnyro
4cc32b2457
[fix] kozmonavt: remove pagination and set to inactive by default
...
Pagination requires a different nextpage query parameter each
day as it seems, so it's not possible to implement this in the Xpath
engine.
2026-06-22 10:06:09 +02:00
Bnyro
cce0957f54
[feat] engines: add support for iseek.com (general)
2026-06-22 09:51:57 +02:00
Bnyro
9375c0a6b6
[feat] engines: add netherlands startpagina (general, videos, images, news)
2026-06-22 09:50:19 +02:00
Bnyro
a702741e4e
[feat] engines: add giphy (images/videos)
2026-06-22 09:49:47 +02:00
Bnyro
aeced67249
[feat] engines: add findfiles.net file search engine
...
FindFiles.net is a specialized file search engine designed to help you search
files online with precision. Unlike traditional search engines that mainly index
web pages, FindFiles focuses on finding real files on the internet - including
PDFs, documents, archives, videos, datasets, and more. [1]
[1] https://findfiles.net
2026-06-22 09:44:27 +02:00
Bnyro
199e03de1d
[feat] engines: add kozmonavt.su (general)
2026-06-22 09:42:55 +02:00
Bnyro
9cd2439e5e
[feat] engines: add kukei.eu (general)
2026-06-22 09:42:45 +02:00
Bnyro
9f4d8bca02
[feat] engines: add xonaly.com (general)
2026-06-22 09:41:29 +02:00
Bnyro
de76a4a39b
[feat] engines: add cl0q.com (foss domain search)
2026-06-22 09:41:18 +02:00
Bnyro
a85a5e2794
[feat] engines: add unobtanium.rocks (personal websites search)
2026-06-22 09:41:07 +02:00
Bnyro
92abd98a55
[feat] engines: add tusksearch (web, news, videos, images) ( #6267 )
...
The code that reads the value of variable `x` from `embed.js`, decodes
it to ASCII and based on that sets `window["tuskheader"]` and `window["tuskkey"]`
is attached below. The only real way to figure out what this is doing is
by stepping through it with the debugger, otherwise it's almost hopeless.
```js
function fe() {
const B = pe => pe.map(_e => String.fromCharCode(_e)).join(''),
ae = window,
o = ae.x;
if (o?.length) {
const pe = o.length / 2;
for (let _e = 0; _e < pe; _e++) ae[B(o[_e])] = B(o[pe + _e]);
ae.x = void 0
}
}
```
Minimal script for testing the engine:
```py
import random
from json import loads
import requests
resp = requests.get("https://api.tusksearch.com/revcontent/embed.js ")
data = loads(resp.text[6:])
def _decode(text: list[int]) -> str:
return "".join([chr(x) for x in text])
header = _decode(data[3])
value = _decode(data[4])
resp = requests.get(
"https://api.tusksearch.com/Search/Web?q=test&p=1&l=center&nextArgs=&prevArgs= ",
# "https://api.tusksearch.com/Search/Image?q=test&p=1&l=center ",
headers={
header: value,
'x-lon': str(random.random() * 90),
'x-lat': str(random.random() * 90),
},
)
print(resp.text)
```
2026-06-22 09:40:32 +02:00
Bnyro
93e867c6b1
[feat] engine categories: add blogs category
...
Category for searching personal blogs and websites.
Useful if searching for interesting articles on a topic
rather than the mainstream Wikipedia etc. results.
2026-06-22 09:39:40 +02:00
dependabot[bot]
75c1b1dade
[upd] web-client (simple): Bump less ( #6289 )
...
Bumps the minor group in /client/simple with 1 update: [less](https://github.com/less/less.js ).
Updates `less` from 4.6.4 to 4.6.6
- [Release notes](https://github.com/less/less.js/releases )
- [Changelog](https://github.com/less/less.js/blob/master/CHANGELOG.md )
- [Commits](https://github.com/less/less.js/commits/v4.6.6 )
---
updated-dependencies:
- dependency-name: less
dependency-version: 4.6.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-22 08:03:15 +02:00
Bnyro
097ab64c70
[del] aol: remove engine (eol) ( #6299 )
2026-06-22 07:32:23 +02:00
dependabot[bot]
0e9f513efc
[upd] pypi: Bump the minor group with 5 updates ( #6291 )
...
Bumps the minor group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [certifi](https://github.com/certifi/python-certifi ) | `2026.5.20` | `2026.6.17` |
| [pylint](https://github.com/pylint-dev/pylint ) | `4.0.5` | `4.0.6` |
| [selenium](https://github.com/SeleniumHQ/Selenium ) | `4.44.0` | `4.45.0` |
| [sphinxcontrib-programoutput](https://github.com/OpenNTI/sphinxcontrib-programoutput ) | `0.19` | `0.20` |
| [basedpyright](https://github.com/detachhead/basedpyright ) | `1.39.7` | `1.39.8` |
2026-06-22 07:30:41 +02:00
Bnyro
fd42d4fda1
[fix] chatnoir: don't re-use/cache session keys
...
They're invalidated very quickly, so even caching them for
60 seconds results in a lot of unauthorized access errors.
2026-06-20 21:52:14 +02:00
dependabot[bot]
5c38d2feab
[upd] web-client (simple): Bump @types/node in /client/simple ( #6290 )
...
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) from 25.9.3 to 26.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-version: 26.0.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-19 16:58:47 +02:00
dependabot[bot]
38b678c493
[upd] github-actions: Bump actions/checkout from 6.0.3 to 7.0.0 ( #6288 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 6.0.3 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](df4cb1c069...9c091bb21b )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-19 16:58:27 +02:00
github-actions[bot]
fe1848673f
[l10n] update translations from Weblate ( #6293 )
...
0f1c1d570 - 2026-06-18 - lugged9922 <lugged9922@noreply.codeberg.org >
81d208307 - 2026-06-18 - Raithlin <raithlin@noreply.codeberg.org >
bf09069e8 - 2026-06-17 - return42 <return42@noreply.codeberg.org >
c010ba929 - 2026-06-17 - return42 <return42@noreply.codeberg.org >
f92ba4e98 - 2026-06-17 - M Alif fadlan <maliffadlan@gmail.com >
442e504e2 - 2026-06-17 - return42 <return42@noreply.codeberg.org >
e2ffb2275 - 2026-06-17 - return42 <return42@noreply.codeberg.org >
cc26d0794 - 2026-06-17 - return42 <return42@noreply.codeberg.org >
9639f4e84 - 2026-06-17 - return42 <return42@noreply.codeberg.org >
63059d4e7 - 2026-06-15 - AndersNordh <andersnordh@noreply.codeberg.org >
460c5260f - 2026-06-15 - kratos <makesocialfoss32@keemail.me >
b212184d9 - 2026-06-16 - ghose <ghose@noreply.codeberg.org >
c9ac8e6d7 - 2026-06-15 - AndersNordh <andersnordh@noreply.codeberg.org >
cc1f5ab59 - 2026-06-15 - Fjuro <fjuro@noreply.codeberg.org >
84f985a9f - 2026-06-14 - Outbreak2096 <outbreak2096@noreply.codeberg.org >
bdb7e25bc - 2026-06-13 - SomeTr <sometr@noreply.codeberg.org >
c3eac4c37 - 2026-06-14 - Stephan-P <stephan-p@noreply.codeberg.org >
d94ab494b - 2026-06-13 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org >
3387bab27 - 2026-06-13 - gallegonovato <gallegonovato@noreply.codeberg.org >
2026-06-19 15:11:48 +02:00
Bnyro
8b10095e8a
[fix] settings.yml: explicitely set category for xpath engines (ayo, gabanza, zapmeta, abcnyheter) ( #6282 )
2026-06-19 09:10:27 +02:00
Jayant Sharma
b5ef7ec8f3
[fix] calculator: move math.parse inside try-catch ( #6278 ) ( #6280 )
...
* [fix] calculator: move math.parse inside try-catch (#6278 )
* build static
---------
Co-authored-by: Ivan Gabaldon <igabaldon@inetol.net >
2026-06-18 17:36:47 +02:00
Bnyro
bd73cc09ea
[feat] engines: add support for search.ch/web (Swiss)
2026-06-18 14:02:52 +02:00
Butui Hu
4dfdc822cf
[fix] engines: chinaso: handle empty upstream results gracefully ( #6266 )
...
Signed-off-by: Hu Butui <hot123tea123@gmail.com >
2026-06-17 19:36:22 +02:00
Ivan Gabaldon
502c820a25
[fix] container: setup minimal ( #6268 )
...
Start minimal, use defaults, and extend later on. The templates are no longer
checked for changes, which was confusing and annoying after a while.
See: https://github.com/searxng/searxng/issues/6261#issuecomment-4716008282
2026-06-16 15:32:47 +02:00
Markus Heiser
4fb49b4498
[chore] add DeprecationWarning for obsolete engine.about.language property ( #6265 )
...
The old property should still be supported for a transitional period; the
reasons for this can be seen from the discussion in [1] / the further procedure
is also discussed there.
[1] https://github.com/searxng/searxng/issues/6261
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-06-16 10:31:21 +02:00
Markus Heiser
cf1410af8d
[fix] set language_support for engines with languages in traits ( #6258 )
...
In the past, the engine option ``language_support`` was not consistently
maintained; with this patch, a ValueError is now thrown if an engine has
languages in its traits but language_support is not set to True.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-06-15 10:52:00 +02:00
Markus Heiser
6c9dcd4242
[chore] complete and normalize the attributes of engine objects ( #6258 )
...
Drop outdated engine attributes: supported_languages, language_aliases
Complete, normalize and document the type definitions for the engine-module and
engine-class.
For the ``engine.about`` section of the configuration, a type check is performed
based on structure ``searx.enginelib.EngineAbout``.
The property ``engine.about.language`` no longer exists; existing values have
been migrated to ``engine.language``.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-06-15 10:52:00 +02:00
Bnyro
b3e08f2a44
[feat] engines: add searchzee engine (general, news)
...
The results seem to be from Brave (i.e. they are exactly
the same). But it doesn't have any strict rate-limits,
so that's nice.
News support time ranges, but apart from that, unfortunately it doesn't
support any advanced features like safesearch or languages.
2026-06-14 09:59:39 +02:00
Bnyro
a857041afc
[feat] engines: add support for search.ayo.de
2026-06-14 09:32:58 +02:00
Bnyro
31a8a22aa6
[feat] engines: add German tonline engine (general, news, images, videos) ( #6250 )
...
T-Online_ is a German news portal.
It gets its web results from Google, image results from Flickr and videos results
from YouTube.
For images and videos, it additionally returns result from its
news catalog. However, for pagination we have to specify the result
type (e.g. either videos from YouTube or from T-Online), so we use
flickr/youtube there instead of tonline because the tonline results
are usually irrelevant.
2026-06-14 08:46:07 +02:00
Bnyro
a29cda858c
[feat] engines: add luxxle (general, news, images, videos)
...
Add support for https://luxxle.com
Localization is not yet supported because it doesn't seem to work on their
website either, no matter which language I select, it only returns English web
results
2026-06-13 20:39:31 +02:00
Bnyro
2e10a2f614
[feat] engines: add rawweb engine (foss, hand-indexed blogs) ( #6234 )
...
RawWeb is a search engine for personal websites / blog posts.
It has its own index and the personal websites were selected
by hand. Results are quite good for what it is imo. [^1]
[^1]: https://github.com/0x2E/RawWeb.org
2026-06-13 19:09:58 +02:00
Bnyro
2100eb04e1
[feat] engines: add reloado engine (general, german) ( #6233 )
...
- adds support for https://reloado.com (german)
- as it has its own index, the results are hit or miss and mostly German,
but still worth integrating imo
2026-06-13 19:06:18 +02:00
Bnyro
c58391d673
[feat] engines: add fastbot engine (general) ( #6232 )
...
- adds support for https://fastbot.de
- the results are really fast and mostly in English (even though it's a German
engine)
2026-06-13 19:04:39 +02:00
Bnyro
c3284c8238
[chore] make data.traits ( #6211 )
2026-06-13 18:37:57 +02:00
Bnyro
290d3e0c6a
[feat] engines: add privacywall engine ( #6211 )
...
- add https://privacywall.org support
- the engine seems to use the Bing index, but not 100% sure
- it claims to be privacy friendly, but it's not really by itself [1]
[1]: https://discuss.privacyguides.net/t/how-is-privacy-wall-search-engine/29486
2026-06-13 18:37:57 +02:00
Bnyro
0608dfa4d1
[feat] autocomplete: add privacywall autocompleter ( #6211 )
2026-06-13 18:37:57 +02:00
Bnyro
1184b3212f
[feat] engines: add podchaser podcast engine ( #6202 )
...
- add podchaser podcast engine
- the motivation is that podcastindex had to be removed, see #6140
2026-06-13 18:04:21 +02:00
Bnyro
65e0e4c069
[feat] engines: add vuhuv engine ( #6196 )
2026-06-13 17:52:43 +02:00
Bnyro
d14fa1f6e2
[chore] data: add resulthunter engine traits
2026-06-13 17:21:52 +02:00
Bnyro
2d248704fa
[feat] engines: add resulthunter
2026-06-13 17:21:52 +02:00
Markus Heiser
3096b1218f
[mod] add type definitions for engine's "about" section ( #6231 )
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-06-13 17:05:59 +02:00
Bnyro
82a8a90230
[feat] engines: add abcnyheter engine (general, norway) ( #6231 )
...
Add support for https://startsiden.abcnyheter.no , a netherlandish search engine
that probably uses Google or Bing? idk it also returns English results, but
e.g. ``test`` returns mostly results from netherlands.
2026-06-13 17:05:59 +02:00
Bnyro
e3d4fbe570
[feat] engines: add s1search general engine ( #6186 )
...
S1Search provides various different search services, which all seem
to be somewhat based on Google and Yahoo. The site looks kinda suspicious,
but the results are fine.
You can find a list of their engines by using a subdomain finder like
https://web-toolbox.dev/en/tools/subdomain-lookup and search for `s1search.co`.
2026-06-13 14:18:04 +02:00
Bnyro
031747f29e
[feat] engines: add chatnoir general engine ( #6183 )
...
Chatnoir is an open source search engine developed by universities, based on
CommonCrawl (and others). It's uncommented by default - we don't want to
overload the universities with bot traffic that targets SearXNG (sad truth why
we can't have nice things anymore)
2026-06-13 13:52:01 +02:00
Markus Heiser
e3bd7f5df1
[mod] image results: add list of alternative formats ( #6153 )
...
* [mod] template images.html: reformatted for readability (no func change)
In preparation for upcoming changes, the template is being reformatted for
better readability; no functional changes are being made.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
* [mod] image results: add list of alternative formats
To test alternatives formats apply patch from below, query ``!flaticon bmw`` and
open the detail view for the image.
diff --git a/searx/engines/flaticon.py b/searx/engines/flaticon.py
index 06b6a8e25..d88388705 100644
--- a/searx/engines/flaticon.py
+++ b/searx/engines/flaticon.py
@@ -8,7 +8,7 @@ from urllib.parse import urlencode
import typing as t
-from searx.result_types import EngineResults
+from searx.result_types import EngineResults, ImageRef
if t.TYPE_CHECKING:
from searx.extended_types import SXNG_Response
@@ -61,6 +61,14 @@ def response(resp: "SXNG_Response"):
thumbnail_src=_fix_url(result["png"]),
img_src=_fix_url(result["png512"]),
author=result["team_name"],
+ formats=[
+ ImageRef(label="PNG 100x100", url="https://example.org/test.png ", subtype="png"),
+ ImageRef(label="SVG", url="https://example.org/test.svg ", subtype="svg+xml"),
+ ImageRef(url="https://example.org/test.jpg ", subtype="jpeg"),
+ ImageRef(url="https://example.org/test.bmp ", subtype="bmp"),
+ ImageRef(url="https://example.org/test.ico ", subtype="x-icon"),
+ ImageRef(url="https://example.org/test.tif ", subtype="tiff"),
+ ],
)
)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
---------
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-06-13 13:28:05 +02:00
Bnyro
b48205b384
[fix] tiger: crashes on empty result ( #6251 )
...
e.g. when searching for "!tiger pottering github", it crashes.
not really sure why - the problem is that the HTML doesn't
really uses descriptive classes or ids, only Tailwind,
so it's very hard to select only the results HTML.
2026-06-13 09:37:43 +02:00
Bnyro
8522638b00
[fix] duckduckgo web: result title contains html ( #6253 )
2026-06-13 09:35:14 +02:00
dependabot[bot]
ab81c77533
[upd] pypi: Bump the minor group with 2 updates ( #6247 )
...
Bumps the minor group with 2 updates: [granian](https://github.com/emmett-framework/granian ) and [basedpyright](https://github.com/detachhead/basedpyright ).
Updates `granian` from 2.7.5 to 2.7.6
- [Release notes](https://github.com/emmett-framework/granian/releases )
- [Commits](https://github.com/emmett-framework/granian/compare/v2.7.5...v2.7.6 )
Updates `basedpyright` from 1.39.6 to 1.39.7
- [Release notes](https://github.com/detachhead/basedpyright/releases )
- [Commits](https://github.com/detachhead/basedpyright/compare/v1.39.6...v1.39.7 )
---
updated-dependencies:
- dependency-name: granian
dependency-version: 2.7.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: basedpyright
dependency-version: 1.39.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-12 22:42:26 +02:00
dependabot[bot]
cc196f2a5b
[upd] web-client (simple): Bump the minor group across 1 directory with 4 updates ( #6249 )
...
Bumps the minor group with 4 updates in the /client/simple directory: [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ), [sharp](https://github.com/lovell/sharp ) and [stylelint](https://github.com/stylelint/stylelint ).
Updates `@biomejs/biome` from 2.4.16 to 2.5.0
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.0/packages/@biomejs/biome )
Updates `@types/node` from 25.9.1 to 25.9.3
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `sharp` from 0.34.5 to 0.35.1
- [Release notes](https://github.com/lovell/sharp/releases )
- [Commits](https://github.com/lovell/sharp/compare/v0.34.5...v0.35.1 )
Updates `stylelint` from 17.12.0 to 17.13.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/17.12.0...17.13.0 )
---
updated-dependencies:
- dependency-name: "@biomejs/biome"
dependency-version: 2.5.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@types/node"
dependency-version: 25.9.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: sharp
dependency-version: 0.35.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: stylelint
dependency-version: 17.13.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-12 20:40:51 +02:00
dependabot[bot]
dd3022d680
[upd] web-client (simple): Bump sort-package-json in /client/simple ( #6246 )
...
Bumps [sort-package-json](https://github.com/keithamus/sort-package-json ) from 3.6.1 to 4.0.0.
- [Release notes](https://github.com/keithamus/sort-package-json/releases )
- [Commits](https://github.com/keithamus/sort-package-json/compare/v3.6.1...v4.0.0 )
---
updated-dependencies:
- dependency-name: sort-package-json
dependency-version: 4.0.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-12 19:51:22 +02:00
Bnyro
de8a3de15a
[feat] engines: add support for Kagi (requires API key)
2026-06-12 14:48:47 +02:00
Bnyro
4dd0bf4867
[fix] fireball: all results are shown in general category
2026-06-11 17:30:46 +02:00
Bnyro
1957876dd6
[feat] engines: add dogpile (general, news, images, videos)
...
Add support for the Dogpile search engine, found at:
https://seirdy.one/posts/2021/03/10/search-engines-with-own-indexes/
It seems to use the same index as startpage because results are similar and they
share the ``qadf`` (Safe-Search) request parameter.
2026-06-11 16:09:13 +02:00
Bnyro
ab13451086
[mod] odysee: move format_duration helper into utils.py
2026-06-11 16:09:13 +02:00
Bnyro
a1490676e3
[mod] fireball: small fixup from code review ( #6240 )
...
Co-authored-by: Markus Heiser <markus.heiser@darmarIT.de >
2026-06-11 12:09:57 +02:00
Bnyro
3a382cb3f3
[chore] helix config: enable pyling and use black via pylsp
2026-06-11 11:03:38 +02:00
Ivan Gabaldon
9d9d605b15
[fix] ci: use install buildhost script ( #6105 )
2026-06-11 08:23:37 +02:00
Bnyro
de03f4eb11
[feat] engines: add fireball engine (general, news, videos)
2026-06-10 21:00:49 +02:00
Markus Heiser
00f7c68a6f
[chore] drop emacs' obsolete .dir-locals template ( #6236 )
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-06-10 17:38:19 +02:00
Bnyro
41c98b3b41
[chore] devops: add languages config for helix editor
...
The default Helix configuration for Python is different,
so the pylint warnings aren't shown and the formatter
re-formats files by accident when you edit an existing file.
Therefore, this commit adds `python` language configuration
to ease developing SearXNG with Helix Editor [^1].
[^1]: https://helix-editor.com
2026-06-10 17:38:01 +02:00
Bnyro
f4c63c8eb0
[feat] engines: add duckduckgo web engine as alternative to html.duckduckgo.com
...
html.duckduckgo.com captchas all my IPs very fast. I figured out that using
duckduckgo.com works even if html.duckduckgo.com is captcha-ed, hence adding
support for duckduckgo.com's general web search here.
This implementation fetches the link to the first API page
(i.e. ``links.duckduckgo.com/d.js?...``) from duckduckgo.com and uses the ``n``
parameter of the API to fetch all subsequent pages.
This also means that it's not possible to immediately search for the third
page - the first and the second page would need to be loaded first.
The reason why we can't just normally use the `vqd` value is that the API URLs
require an additional parameter `dp` which seems generated at server-side, so we
can't build it ourselves and must scrape it from the HTML pages.
2026-06-10 16:49:56 +02:00
Markus Heiser
26801e92af
[fix] sqlitedb: create DB Schema (DDL) during app initialization (hardening) ( #6187 )
...
The initialization of the DB schema ("base schema") has so far been done on
demand, which causes race conditions with competing threads and processes.
The DDL statements for creating the "base schema" are now executed as part of
the initialization of the app.
Further improvements were made to harden the database applications:
- Wikidata & Radio-Browser engine perform their initialization only once (so far
the initialization was carried out in each thread/process).
- If multiple processes try to set DB's WAL mode when opening the DB at the same
time, this usually leads to another race condition, which is now also caught.
Related:
- https://github.com/searxng/searxng/issues/6181#issuecomment-4586705
Closes : #6181
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-06-10 15:48:49 +02:00
Bnyro
f3fab143be
[feat] engines: add tiger.ch engine
...
Add support for https://tiger.ch (general, news)
It is disabled and inactive by default because it's just a metasearch engine
like SearXNG is, so it's mostly useful for bypassing rate-limits on other
engines: (it has its own German index, but it's not that great) in theory it
supports different locales, but I was too lazy to implement that (I only need
German and English results anyways, which are returned by default...)
2026-06-08 13:35:13 +02:00
Bnyro
72a827ae93
[fix] yep: send Sec-Fetch headers to bypass "access denied" ( #6223 )
...
Avoids yep's botblocking by sending Sec-Fetch-* headers (as the browser does).
2026-06-08 10:55:17 +02:00
Bnyro
6ca9d3784c
[feat] engines: add seek-ninja general engine ( #6217 )
...
Add support for https://seek.ninja (general)
It's very slow because the engine uses Server-side events, that incrementally
send data in their HTTP response [1].
I.e. we wait for the end of the response (7+ seconds), even though the results
data arrives within a few seconds -> it's very slow, because SearXNG wants to
get the full response body before it calls the `response(resp)` method
We could use httpx-sse [2], but I'm not sure how to integrate this into SearXNG
and if it's worth it
[1] https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/
[2] https://github.com/florimondmanca/httpx-sse
2026-06-08 07:09:06 +02:00
Bnyro
63f264220b
[feat] engines: add heexy engine (general, images) ( #6218 )
2026-06-08 05:54:35 +02:00
Austin-Olacsi
41fcf0be4b
[fix] aol engine uses wikidata id for C++ ( #6221 )
2026-06-08 05:32:26 +02:00
Bnyro
86903a2c66
[fix] flaticon: crash if result tag has no name ( #6219 )
2026-06-07 14:16:44 +02:00
Markus Heiser
70de3cc561
Revert "[fix] no such table during engine init ( #6185 )" ( #6215 )
...
This reverts commit 9d49a9f344 .
2026-06-07 09:23:35 +02:00
Bnyro
51b6fd4f23
[del] karmasearch: remove engine (cloudflared) ( #6213 )
...
The engine is using very aggressive Cloudflare blocking for
a while now, no matter if using a normal browser like Firefox
or not.
Closes: https://github.com/searxng/searxng/issues/5976
2026-06-07 06:49:09 +02:00
Brock Vojkovic
9d49a9f344
[fix] no such table during engine init ( #6185 )
2026-06-07 06:04:12 +02:00
Bnyro
e260a732c8
[fix] online engine processor: accept language headers doesn't get sent for 'all' language
2026-06-06 18:24:16 +02:00
Markus Heiser
0429198415
[mod] swisscows WEB: ignore video results from the first page
...
On the first page of the WEB search, there are, among other things, sections for
videos and news. The video results from these sections should not be used as
results in the WEB search of SearXNG.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-06-06 18:04:19 +02:00
Markus Heiser
e7cf57e9ae
[mod] swisscows engines: add language / region support
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-06-06 18:04:19 +02:00
Bnyro
ed369ac0ec
[feat] engines: add support for swisscows general
2026-06-06 18:04:19 +02:00
Bnyro
94bdbb5c63
[feat] engines: add support for swisscows videos
2026-06-06 18:04:19 +02:00
Bnyro
465b5229c6
[feat] engines: add swisscows news engine
2026-06-06 18:04:19 +02:00
Bnyro
cbf97fd262
[feat] engines: add swisscows images engine
...
The implementation is basically a 1:1 port of the reverse engineered
swisscows JavaScript code. (it's been obfuscated, so I've restructured it
and made the variable names idiomatic instead of obfuscated var names like "a", "o", "i")
```js
/*
e: "/v5/images/search"
t: {
itemsCount: "50"
locale: "de-DE"
offset: "50"
query: "test"
spellcheck: "true"
}
*/
// HASH library used: https://github.com/h2non/jshashes
function generateNonceAndSignature(queryParams, urlPath) {
// urlPath = "/v5/images/search"
// sort keys alphabetically and join to query string
let queryStringSorted = '?' + U().stringify(queryParams, {
arrayFormat: 'repeat',
allowDots: !0
}).split('&').map(e => {
let[key, value] = e.split('=');
return [key, decodeURIComponent(value)]
}).sort((e, t) => e[0].localeCompare(t[0])).map(e => e.join('=')).join('&');
function caesarShift(str, offset = 13) {
const alphabet = 'abcdefghijklmnopqrstuvwxyz';
let result = [];
for (let a = 0; a < str.length; a++) {
let c = str[a],
alphabetIndex = alphabet.indexOf(c.toLowerCase());
if ( - 1 !== alphabetIndex) {
alphabetIndex += offset;
while (alphabetIndex >= alphabet.length) alphabetIndex -= alphabet.length;
c = c === c.toUpperCase() ? alphabet[alphabetIndex] : alphabet[alphabetIndex].toUpperCase()
}
result.push(c)
}
return result.join('')
}
const r = new (sha256Instance()).SHA256;
const random = randomString(32);
const randomShifted = caesarShift(random);
let to_hash = [urlPath, queryStringSorted, randomShifted].join('');
let signature = r.b64(to_hash);
signature = signature.replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_');
return {
nonce: random,
signature: signature
}
}
function randomString(length) {
let t = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~',
n = '';
for (let r = 0; r < length; r++) n += t.charAt(Math.floor(Math.random() * t.length));
return n
}
```
2026-06-06 18:04:19 +02:00
dependabot[bot]
37187dc2d8
[upd] web-client (simple): Bump the minor group across 1 directory with 5 updates ( #6169 )
...
Bumps the minor group with 5 updates in the /client/simple directory:
| Package | From | To |
| --- | --- | --- |
| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) | `2.4.15` | `2.4.16` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `25.8.0` | `25.9.1` |
| [edge.js](https://github.com/edge-js/edge ) | `6.5.0` | `6.5.1` |
| [stylelint](https://github.com/stylelint/stylelint ) | `17.11.1` | `17.12.0` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `8.0.13` | `8.0.16` |
Updates `@biomejs/biome` from 2.4.15 to 2.4.16
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.16/packages/@biomejs/biome )
Updates `@types/node` from 25.8.0 to 25.9.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `edge.js` from 6.5.0 to 6.5.1
- [Release notes](https://github.com/edge-js/edge/releases )
- [Changelog](https://github.com/edge-js/edge/blob/6.x/CHANGELOG.md )
- [Commits](https://github.com/edge-js/edge/compare/v6.5.0...v6.5.1 )
Updates `stylelint` from 17.11.1 to 17.12.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/17.11.1...17.12.0 )
Updates `vite` from 8.0.13 to 8.0.16
- [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/v8.0.16/packages/vite )
---
updated-dependencies:
- dependency-name: "@biomejs/biome"
dependency-version: 2.4.16
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: "@types/node"
dependency-version: 25.9.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: edge.js
dependency-version: 6.5.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: stylelint
dependency-version: 17.12.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: vite
dependency-version: 8.0.14
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-05 16:26:27 +02:00
dependabot[bot]
2f049cb037
[upd] github-actions: Bump actions/checkout from 6.0.2 to 6.0.3 ( #6204 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](de0fac2e45...df4cb1c069 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 6.0.3
dependency-type: direct:production
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>
2026-06-05 16:17:01 +02:00
dependabot[bot]
eb39bc0dc1
[upd] github-actions: Bump github/codeql-action from 4.36.0 to 4.36.2 ( #6203 )
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 4.36.0 to 4.36.2.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](7211b7c807...8aad20d150 )
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: 4.36.2
dependency-type: direct:production
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>
2026-06-05 16:16:35 +02:00
dependabot[bot]
007a4e2155
[upd] pypi: Bump typer from 0.26.3 to 0.26.7 in the minor group ( #6205 )
...
Bumps the minor group with 1 update: [typer](https://github.com/fastapi/typer ).
Updates `typer` from 0.26.3 to 0.26.7
- [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.26.3...0.26.7 )
2026-06-05 11:54:28 +02:00
github-actions[bot]
13ce187e64
[l10n] update translations from Weblate ( #6206 )
...
19b2047a9 - 2026-05-30 - daemul72 <daemul72@noreply.codeberg.org >
2026-06-05 11:52:35 +02:00
Bnyro
26fa181b84
[feat] gmx: detect captchas
2026-06-05 08:07:30 +02:00
Bnyro
0f35ef7cd6
[feat] json engine: add option to not send page num on first page
2026-06-05 08:04:49 +02:00
Bnyro
b1ae576b2d
[fix] xpath engine: add missing send_page_num_on_first_page docstring
2026-06-05 08:04:49 +02:00
Bnyro
e6559c9ad6
[fix] gabanza: result URLs are invalid
2026-06-04 08:55:19 +02:00
Bnyro
5bae05514b
[feat] engines: add zapmeta general search engine
2026-06-03 22:38:59 +02:00
Bnyro
00ca5776f2
[feat] engines: add gabanza general engine
2026-06-03 22:38:23 +02:00
Bnyro
577f5f2f30
[fix] online engines: send_accept_language_header is sent even if disabled
2026-06-03 22:37:13 +02:00
Bnyro
253dc86c10
[fix] duckduckgo: image requests get blocked
2026-06-03 22:37:13 +02:00
Bnyro
3066bc19eb
[fix] public domain image archive: fails to extract API url
2026-06-03 22:35:21 +02:00
Austin-Olacsi
e964708c00
[fix] bilibili engine: fix Referer and add Accept HTTP header ( #6189 )
2026-06-02 06:06:31 +02:00
Bnyro
7159b8aed3
[feat] marginalia: add support for pagination
2026-05-31 12:54:53 +02:00
Bnyro
246f5a5499
[mod] svgrepo: remove engine
...
- SVGRepo uses Cloudflare for every session, no matter
if you're opening it in a browser or not
2026-05-31 12:54:32 +02:00
vojkovic
300695de5c
[fix] crash when lock is omitted
2026-05-31 01:37:37 +08:00
Markus Heiser
bd863f16b1
[build] /static
2026-05-30 22:43:50 +08:00
Markus Heiser
4ac822fd7f
[mod] typification of the preference settings
...
no functional change / except the missing online doc which is now available::
$ make docs.live
$ xdg-open "http://127.0.0.1:8000/admin/settings/settings_preferences.html "
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-05-30 22:43:50 +08:00
vojkovic
e1d25c5078
[mod] enable image proxy for public instances
2026-05-30 22:43:50 +08:00