searxng-bot
448ced4b18
[mod] data: update searx.data - update_wikidata.py
2026-10-29 00:17:16 +00:00
Bnyro
c360868e5b
[feat] xprivo: properly detect ratelimits instead of showing HTTP errors
2026-10-28 10:54:38 +01:00
dependabot[bot]
b5ed73fcb6
[upd] pypi: Bump python-dateutil from 2.9.0.post0 to 3.0.0 ( #6888 )
...
Bumps [python-dateutil](https://github.com/dateutil/dateutil ) from 2.9.0.post0 to 3.0.0.
- [Release notes](https://github.com/dateutil/dateutil/releases )
- [Changelog](https://github.com/dateutil/dateutil/blob/master/NEWS )
- [Commits](https://github.com/dateutil/dateutil/compare/2.9.0.post0...3.0.0 )
---
updated-dependencies:
- dependency-name: python-dateutil
dependency-version: 3.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-10-27 21:33:35 +01:00
dependabot[bot]
28423d332d
[upd] pypi: Bump the minor group with 2 updates ( #6887 )
...
Bumps the minor group with 2 updates: [certifi](https://github.com/certifi/python-certifi ) and [granian](https://github.com/emmett-framework/granian ).
Updates `certifi` from 2026.10.19 to 2026.10.23
- [Commits](https://github.com/certifi/python-certifi/compare/2026.10.19...2026.10.23 )
Updates `granian` from 2.8.4 to 2.8.5
- [Release notes](https://github.com/emmett-framework/granian/releases )
- [Commits](https://github.com/emmett-framework/granian/compare/v2.8.4...v2.8.5 )
---
updated-dependencies:
- dependency-name: certifi
dependency-version: 2026.10.23
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: granian
dependency-version: 2.8.5
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-10-27 20:00:45 +01:00
Brock Vojkovic
ef7bae9ddb
[upd] pypi: Bump curl_cffi from 0.16.3 to 0.17.0 ( #6890 )
...
Fixes HTTP2Shell (CVE-2026-111497).
Signed-off-by: vojkovic <git@vojk.au >
2026-10-27 17:00:58 +08:00
Brock Vojkovic
cb74e7f810
[fix] autocomplete: apply outgoing request timeout ( #6886 )
...
Fixes update_kwargs so it does not throw away the dict and instead uses the correct settings.
Signed-off-by: vojkovic <git@vojk.au >
2026-10-27 10:54:52 +08:00
Sandro
54ca1d9cfb
[fix] tagesschau: remove from general category ( #6882 )
2026-10-25 19:34:17 +01:00
github-actions[bot] and searxng-bot
ef0ec03da0
[l10n] update translations from Weblate ( #6850 )
...
3dfe3d3f7 - 2026-10-19 - cyh21185 <cyh21185@noreply.codeberg.org >
896dc9faf - 2026-10-20 - marc-lopez <marc-lopez@noreply.codeberg.org >
f53baeeae - 2026-10-16 - marc-lopez <marc-lopez@noreply.codeberg.org >
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com >
2026-10-24 10:46:18 +02:00
dependabot[bot]
629368e40c
[upd] web-client (simple): Bump the minor group ( #6880 )
...
Bumps the minor group in /client/simple with 2 updates: [browserslist](https://github.com/browserslist/browserslist ) and [sort-package-json](https://github.com/keithamus/sort-package-json ).
Updates `browserslist` from 4.29.3 to 4.29.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.29.3...4.29.4 )
Updates `sort-package-json` from 4.0.0 to 4.1.0
- [Release notes](https://github.com/keithamus/sort-package-json/releases )
- [Commits](https://github.com/keithamus/sort-package-json/compare/v4.0.0...v4.1.0 )
---
updated-dependencies:
- dependency-name: browserslist
dependency-version: 4.29.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: sort-package-json
dependency-version: 4.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-10-23 20:33:46 +02:00
dependabot[bot]
68647d0806
[upd] pypi: Bump certifi from 2026.7.22 to 2026.10.19 in the minor group ( #6881 )
...
Bumps the minor group with 1 update: [certifi](https://github.com/certifi/python-certifi ).
Updates `certifi` from 2026.7.22 to 2026.10.19
- [Commits](https://github.com/certifi/python-certifi/compare/2026.07.22...2026.10.19 )
---
updated-dependencies:
- dependency-name: certifi
dependency-version: 2026.10.19
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-10-23 20:33:12 +02:00
Bnyro
81371861f6
[del] engines: remove andisearch for now - #687
...
This reverts commit 2a6fc07be3 .
2026-10-19 23:27:52 +02:00
WookieeOnCrack
d47cb96bfb
[feat] brave: parse JavaScript IIFE to fix engine
...
- Should resolve #6819 by reverting Accept-Encoding headers back to the curl_cffi default value
- Adds IIFE Parsing / Data Extraction that appears after headers update
2026-10-19 13:30:53 +02:00
jerry155756294
62366b05c0
[fix] engine - DDG: ignore zero-click answers without URLs ( #6865 )
...
If the provider uses DDG, and a HEX color code is searched for (for example, `A87771`), it directly reports `SearxEngineXPathException: index 0 not found` (the Web UI displays a parsing error), because DDG displays an icon for a color code. This causes the parser to be unable to parse that icon. This fix directly ignores this special function.
2026-10-19 08:44:54 +02:00
Ivan Gabaldon
1c10abe2d3
[enh] container: nitpicks ( #6862 )
...
Reduce Valkey writes to database
Should error with 1, not 127
2026-10-17 20:30:22 +02:00
Ivan Gabaldon
3afd949268
[enh] container: merge dockerfiles ( #6861 )
...
* [enh] container: merge dockerfiles
Leftover from https://github.com/searxng/searxng/pull/6720
* [enh] apply suggestion
https://github.com/searxng/searxng/pull/6861#discussion_r4302473383
2026-10-17 20:30:09 +02:00
Bnyro
2a6fc07be3
[feat] engines: add andisearch (general)
2026-10-17 11:16:04 +02:00
dependabot[bot]
decdfa6f7d
[upd] pypi: Bump the minor group with 4 updates ( #6852 )
...
Bumps the minor group with 4 updates: [black](https://github.com/psf/black ), [pylint](https://github.com/pylint-dev/pylint ), [selenium](https://github.com/SeleniumHQ/Selenium ) and [typer](https://github.com/fastapi/typer ).
Updates `black` from 26.10.0 to 26.10.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/26.10.0...26.10.1 )
Updates `pylint` from 4.1.2 to 4.1.3
- [Release notes](https://github.com/pylint-dev/pylint/releases )
- [Commits](https://github.com/pylint-dev/pylint/compare/v4.1.2...v4.1.3 )
Updates `selenium` from 4.50.0 to 4.51.0
- [Release notes](https://github.com/SeleniumHQ/Selenium/releases )
- [Commits](https://github.com/SeleniumHQ/Selenium/compare/selenium-4.50.0...selenium-4.51.0 )
Updates `typer` from 0.27.2 to 0.27.3
- [Release notes](https://github.com/fastapi/typer/releases )
- [Changelog](https://github.com/fastapi/typer/blob/master/docs/release-notes.md )
- [Commits](https://github.com/fastapi/typer/compare/0.27.2...0.27.3 )
---
updated-dependencies:
- dependency-name: black
dependency-version: 26.10.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: pylint
dependency-version: 4.1.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: selenium
dependency-version: 4.51.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: typer
dependency-version: 0.27.3
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-10-17 10:15:00 +02:00
Bnyro
8252c0bf6d
[chore] resulthunter: fix broken linter
2026-10-16 18:24:21 +02:00
Bnyro
47aa11475b
[fix] resulthunter: blocked with access denied
2026-10-16 18:17:43 +02:00
dependabot[bot]
0ce72dd2cc
[upd] github-actions: Bump actions/upload-artifact from 7.0.1 to 7.0.2 ( #6851 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 7.0.1 to 7.0.2.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/043fb46d1a93c77aae656e7c1c64a875d1fc6a0a...cf430e030ddbb5b0abf93d22962f4752f3646cd9 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 7.0.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-10-16 14:56:49 +02:00
dependabot[bot]
c6d7fe91d3
[upd] web-client (simple): Bump @types/node ( #6849 )
...
Bumps the minor group in /client/simple with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ).
Updates `@types/node` from 26.6.4 to 26.6.5
- [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.6.5
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-10-16 14:56:19 +02:00
dependabot[bot]
7847767832
[upd] github-actions: Bump actions/download-artifact from 8.0.1 to 8.0.2 ( #6848 )
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 8.0.1 to 8.0.2.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c...9000827ccba6bdab643e8b6fd33ac0654aef8333 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 8.0.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-10-16 14:55:46 +02:00
dependabot[bot]
d2209bfbb0
[upd] github-actions: Bump actions/setup-node from 7.0.0 to 7.1.0 ( #6847 )
...
Bumps [actions/setup-node](https://github.com/actions/setup-node ) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/actions/setup-node/releases )
- [Commits](https://github.com/actions/setup-node/compare/820762786026740c76f36085b0efc47a31fe5020...949feb2413d6458794dcd2491c4babbbce0c15c1 )
---
updated-dependencies:
- dependency-name: actions/setup-node
dependency-version: 7.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-10-16 14:55:17 +02:00
Aadniz
ca8e1582be
[build] /static
2026-10-16 13:27:46 +02:00
Aadniz
243d3a9df2
[fix] image descriptions disappearing on firefox
2026-10-16 13:27:46 +02:00
Bnyro
ff8f5ddcc9
[fix] yep: send x-csrf-protection header to bypass botdetection
2026-10-16 00:18:44 +02:00
Brock Vojkovic
b00212a836
[mod] image proxy: /image with the default network ( #6816 )
...
- Changes the path of the /image_proxy endpoint to /image. This ensures that if the user copies the image through the browser, it is named image.png rather than image_proxy.png as the latter can be attributed to searxng hence preserving the privacy of the user.
- Removed the dedicated network for the image proxy. Previously this was used to force http/2 off but since moving to curl from httpx this is not as much of a problem. Now instead uses the default network.
Signed-off-by: vojkovic <git@vojk.au >
2026-10-15 06:59:50 +08:00
Bnyro
22c64b8d39
[fix] xprivo: crashes when parsing response
2026-10-13 12:15:09 +02:00
ky0nshi
ad46ebd7d8
[fix] typo in ayo engine - https://search.ayo.de ( #6817 )
...
typo in the address fixed -> https://search.ayo.de
2026-10-11 17:52:29 +02:00
dependabot[bot]
f4822b3fc4
[upd] web-client (simple): Bump the minor group ( #6826 )
...
Bumps the minor group in /client/simple with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [ol](https://github.com/openlayers/openlayers ) | `10.10.0` | `10.11.0` |
| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) | `2.5.14` | `2.5.15` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `26.6.3` | `26.6.4` |
| [browserslist](https://github.com/browserslist/browserslist ) | `4.29.2` | `4.29.3` |
| [stylelint](https://github.com/stylelint/stylelint ) | `17.15.0` | `17.16.0` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `8.3.1` | `8.3.3` |
Updates `ol` from 10.10.0 to 10.11.0
- [Release notes](https://github.com/openlayers/openlayers/releases )
- [Commits](https://github.com/openlayers/openlayers/compare/v10.10.0...v10.11.0 )
Updates `@biomejs/biome` from 2.5.14 to 2.5.15
- [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.15/packages/@biomejs/biome )
Updates `@types/node` from 26.6.3 to 26.6.4
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `browserslist` from 4.29.2 to 4.29.3
- [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.29.2...4.29.3 )
Updates `stylelint` from 17.15.0 to 17.16.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.15.0...17.16.0 )
Updates `vite` from 8.3.1 to 8.3.3
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v8.3.3/packages/vite )
---
updated-dependencies:
- dependency-name: ol
dependency-version: 10.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@biomejs/biome"
dependency-version: 2.5.15
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: "@types/node"
dependency-version: 26.6.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: browserslist
dependency-version: 4.29.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: stylelint
dependency-version: 17.16.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: vite
dependency-version: 8.3.3
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-10-09 20:59:16 +02:00
Markus Heiser
9f042d2f67
[build] /static
2026-10-09 16:16:48 +02:00
DangTAnh
815f58994a
[feat] simple theme: translate hotkeys help dialog ( #6806 )
...
Move hardcoded English strings of the hotkeys help (keyboard.ts) to the
server side get_translations() so translators can pick them up. The client
looks them up via settings.translations with identical English fallbacks.
2026-10-09 16:16:48 +02:00
Markus Heiser
6a0ac6a391
[upd] update to gecko driver v0.37.1 ( #6827 )
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-10-09 15:19:50 +02:00
Markus Heiser
bba4f64e8a
[fix] issues reported by pylint v4.1.2 ( #6827 )
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-10-09 15:19:50 +02:00
dependabot[bot]
619696aa6c
[upd] pypi: Bump the minor group with 5 updates ( #6827 )
...
Bumps the minor group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [granian](https://github.com/emmett-framework/granian ) | `2.8.3` | `2.8.4` |
| [black](https://github.com/psf/black ) | `26.5.1` | `26.10.0` |
| [pylint](https://github.com/pylint-dev/pylint ) | `4.0.9` | `4.1.2` |
| [selenium](https://github.com/SeleniumHQ/Selenium ) | `4.49.0` | `4.50.0` |
| [basedpyright](https://github.com/detachhead/basedpyright ) | `1.40.1` | `1.40.2` |
Updates `granian` from 2.8.3 to 2.8.4
- [Release notes](https://github.com/emmett-framework/granian/releases )
- [Commits](https://github.com/emmett-framework/granian/compare/v2.8.3...v2.8.4 )
Updates `black` from 26.5.1 to 26.10.0
- [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/26.5.1...26.10.0 )
Updates `pylint` from 4.0.9 to 4.1.2
- [Release notes](https://github.com/pylint-dev/pylint/releases )
- [Commits](https://github.com/pylint-dev/pylint/compare/v4.0.9...v4.1.2 )
Updates `selenium` from 4.49.0 to 4.50.0
- [Release notes](https://github.com/SeleniumHQ/Selenium/releases )
- [Commits](https://github.com/SeleniumHQ/Selenium/compare/selenium-4.49.0...selenium-4.50.0 )
Updates `basedpyright` from 1.40.1 to 1.40.2
- [Release notes](https://github.com/detachhead/basedpyright/releases )
- [Commits](https://github.com/detachhead/basedpyright/compare/v1.40.1...v1.40.2 )
2026-10-09 15:19:50 +02:00
github-actions[bot]
2dc2b14628
[l10n] update translations from Weblate ( #6828 )
...
cf8a68cc8 - 2026-10-05 - lugged9922 <lugged9922@noreply.codeberg.org >
046b92a92 - 2026-10-06 - kratos <makesocialfoss32@keemail.me >
475f33d38 - 2026-10-04 - SomeTr <sometr@noreply.codeberg.org >
2f508cdb2 - 2026-10-05 - Stephan-P <stephan-p@noreply.codeberg.org >
0de45dca2 - 2026-10-05 - Kito <q1t0@noreply.codeberg.org >
76a5f5248 - 2026-10-05 - ghose <ghose@noreply.codeberg.org >
d7bfd43bd - 2026-10-04 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org >
bcc67b083 - 2026-10-04 - gallegonovato <gallegonovato@noreply.codeberg.org >
2026-10-09 14:08:51 +02:00
Guillaume P. and Guillaume PUTIER
6671d89bed
[fix] engines: wikidata, no list as content when an entity has no description ( #6824 )
...
Wikidata kept showing up in `unresponsive_engines` as "unexpected crash", but only for some queries (`!wikidata loi anti gaspillage` for instance).
In `get_results`, `itemDescription` defaults to `[]`. When an entity has no description and `display_type` contains `"list"`, that empty list goes out as the `content` of a list result, and `ResultContainer.extend` fails with `TypeError: expected string or bytes-like object, got 'list'`. Every wikidata result of the query is dropped with it.
The default is now an empty string. `len(infobox_content) == 0` still works, and the infobox branch already expected a string.
`tests/unit/test_engine_wikidata.py` covers an entity with no description, once with `display_type` `["list"]` and once with `["infobox"]`. Without the fix both tests fail (`'content': []` instead of `''`), with it both pass.
itemDescription defaulted to [] in get_results. With "list" in display_type, that empty list was sent as the content of a list result and ResultContainer.extend raised a TypeError, so the whole wikidata answer of the query was lost. Default to an empty string instead.
Signed-off-by: Guillaume PUTIER <putier.guillaume@gmail.com >
Co-authored-by: Guillaume PUTIER <putier.guillaume@gmail.com >
2026-10-07 11:18:19 +02:00
Brock Vojkovic
d48c4b5554
[feat] sort infobox so images are first ( #6815 )
...
Often there will be two or more results in the infobox.
We now sort this so infoboxes with an image show above those that do not.
Signed-off-by: vojkovic <git@vojk.au >
2026-10-04 08:16:51 +02:00
Brock Vojkovic
44b98e6102
[fix] engines: privacywall referer to bypass botdetection ( #6813 )
...
Privacywall needs a referer header now or else returns access denied.
2026-10-04 07:49:12 +02:00
Bnyro
7a3e41d420
[feat] s1search: parse suggestions ( #6810 )
...
- parse s1search suggestions
- thereby also fixes that some queries would crash the engine if using `https://search.nation.online ` as base url because it tried to parse the suggestions as real results
### How to test this PR locally?
- set `base_url = "https://search.nation.online "` and `inactive: false`
- !s1 rust
2026-10-04 07:47:00 +02:00
Brock Vojkovic
ce913b8934
[fix] engines: dogpile cors headers ( #6814 )
...
Added Sec-Fetch-Mode header to fix the engine. Dogpile now has better bot detection, similar to tusksearch, we now require CORS headers in the request.
2026-10-04 07:44:15 +02:00
dependabot[bot]
19ffbcd306
[upd] web-client (simple): Bump the minor group ( #6807 )
...
Bumps the minor group in /client/simple with 4 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ), [browserslist](https://github.com/browserslist/browserslist ), [sharp](https://github.com/lovell/sharp ) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ).
Updates `@types/node` from 26.6.2 to 26.6.3
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `browserslist` from 4.29.0 to 4.29.2
- [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.29.0...4.29.2 )
Updates `sharp` from 0.35.4 to 0.35.5
- [Release notes](https://github.com/lovell/sharp/releases )
- [Commits](https://github.com/lovell/sharp/compare/v0.35.4...v0.35.5 )
Updates `vite` from 8.3.0 to 8.3.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.3.1/packages/vite )
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-version: 26.6.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: browserslist
dependency-version: 4.29.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: sharp
dependency-version: 0.35.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: vite
dependency-version: 8.3.1
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-10-02 16:37:24 +02:00
dependabot[bot]
e652ca7d29
[upd] pypi: Bump msgspec from 0.21.1 to 0.22.0 in the minor group ( #6811 )
...
Bumps the minor group with 1 update: [msgspec](https://github.com/msgspec/msgspec ).
Updates `msgspec` from 0.21.1 to 0.22.0
- [Release notes](https://github.com/msgspec/msgspec/releases )
- [Changelog](https://github.com/msgspec/msgspec/blob/main/docs/changelog.md )
- [Commits](https://github.com/msgspec/msgspec/compare/0.21.1...0.22.0 )
2026-10-02 16:30:24 +02:00
Brock Vojkovic
26b90797e0
[enh] simplify and clean up preferences ( #6126 )
...
- The 'engine tokens' field is only shown now if there are any engines with tokens configured.
- DOI Resolver now has combined the previous two settings (one dropdown and one toggle) into just a single dropdown similar to the favicon resolver.
2026-10-02 18:36:07 +08:00
dependabot[bot]
a5659a5364
[upd] pypi: Bump the minor group with 2 updates ( #6808 )
...
Bumps the minor group with 2 updates: [pylint](https://github.com/pylint-dev/pylint ) and [wlc](https://github.com/WeblateOrg/wlc ).
Updates `pylint` from 4.0.8 to 4.0.9
- [Release notes](https://github.com/pylint-dev/pylint/releases )
- [Commits](https://github.com/pylint-dev/pylint/compare/v4.0.8...v4.0.9 )
Updates `wlc` from 2.2.0 to 2.2.1
- [Release notes](https://github.com/WeblateOrg/wlc/releases )
- [Changelog](https://github.com/WeblateOrg/wlc/blob/main/CHANGES.md )
- [Commits](https://github.com/WeblateOrg/wlc/compare/2.2.0...2.2.1 )
2026-10-02 12:12:46 +02:00
kcs81
a9d9900334
[fix] map Brave API SafeSearch levels correctly ( #6799 )
...
API description:
- https://api-dashboard.search.brave.com/api-reference/web/search/get#parameter-safesearch
2026-09-30 07:39:34 +02:00
quacker
4e2c1ea7f4
[fix] duckduckgo_web: make preload link timeout use the global configuration - #6768
2026-09-29 14:33:54 +02:00
github-actions[bot]
f5035873ad
[mod] data: update searx.data - update_firefox_version.py ( #6792 )
2026-09-29 08:44:07 +02:00
github-actions[bot]
c11cbda117
[mod] data: update searx.data - update_ahmia_blacklist.py ( #6793 )
2026-09-29 08:35:03 +02:00
github-actions[bot]
bad451b3da
[mod] data: update searx.data - update_currencies.py ( #6794 )
2026-09-29 08:08:20 +02:00
github-actions[bot]
896ec8d3af
[mod] data: update searx.data - update_engine_descriptions.py ( #6796 )
2026-09-29 07:43:48 +02:00
Ivan Gabaldon
12f8b6515c
[enh] ci: convert script to esm ( #6725 )
...
Embraces the ESM format. Allow spaces between the checkbox `([ x ])`
2026-09-25 18:50:35 +02:00
dependabot[bot]
d8ae3abd59
[upd] web-client (simple): Bump the minor group ( #6785 )
...
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.13 to 2.5.14
- [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.14/packages/@biomejs/biome )
Updates `@types/node` from 26.6.1 to 26.6.2
- [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.14
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: "@types/node"
dependency-version: 26.6.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-25 16:30:37 +02:00
github-actions[bot]
487f519227
[l10n] update translations from Weblate ( #6771 )
...
4bf358751 - 2026-09-24 - bittin <bittin@noreply.codeberg.org >
ca4696cb4 - 2026-09-23 - ghose <ghose@noreply.codeberg.org >
2026-09-25 11:04:23 +02:00
Brock Vojkovic
3cd69d30e2
[fix] engines: tusksearch requires cors headers for botdetection ( #6773 )
...
Sec-Fetch-Mode and Sec-Fetch-Dest headers now mandatory
2026-09-23 23:18:45 +08:00
Bnyro
783a094625
[feat] engines: add xprivo - general, news, videos ( #6641 )
...
Add support for xprivo.com. Xprivo has a rate-limit of smth like 20 requests
per day without an API key. However, if you use a proxy like the IPv6 rotating
proxy [1] you basically get unlimited requests.
[1] https://github.com/vojkovic/http-proxy-ipv6-pool-docker
2026-09-23 13:00:51 +02:00
Bnyro
dcf1d477ae
[feat] engines: add iconify - icons ( #6541 )
2026-09-23 11:47:20 +02:00
Bnyro
d63bbef7a0
[feat] engines: add findborg.com - general, news, images, videos ( #6688 )
...
Adds support for findborg.com which also uses the Brave results.
2026-09-23 09:31:34 +02:00
Bnyro
4d9c982cda
[mod] brave-based engines: reuse result parsing methods ( #6688 )
...
Many engines use the JSON results from Brave (e.g. Brave, BraveAPI, Tusksearch
and more), so the result parsing logic is always the same. This PR deduplicates
this code.
2026-09-23 09:31:34 +02:00
Ivan Gabaldon
2ed96e6fcf
[feat] ci: oneway sync to CB ( #6770 )
2026-09-22 18:16:59 +02:00
vojkovic
019460e07d
[build] /static ( #6766 )
2026-09-22 09:14:25 +02:00
vojkovic
8a8b4eaec0
[fix] video thumbnails on left side again ( #6766 )
...
- Imports video.less now to apply the stylesheet.
- Ammends thumbnail_bg to dim the background and blur it more to make the thumbnail easier to see.
2026-09-22 09:14:25 +02:00
Crizomb
b3c3895294
[docs] indicate modification of settings.yml is necessary to add new … ( #6685 )
...
* [docs] indicate modification of settings.yml is necessary to add new plugin + small exemple code correction
* [docs] plugins: add more details about adding new plugins
2026-09-22 09:13:02 +02:00
Austin-Olacsi
df67eb6c26
[fix] rewrite vimeo engine
2026-09-21 17:56:49 +02:00
Markus Heiser
f372096fb1
[build] /static ( #6742 )
2026-09-21 14:49:04 +02:00
Bnyro
52284fd320
[feat] categories: add icons for remaining category tabs ( #6759 )
...
Icons are provided for the main categories known to us.
The distinction between CATEGORY_GROUPS and CATEGORY_NAMES is abandoned in favor
of the latter.
HINT: we need single-color icons; transparent background and the color must be
`currentColor` so that the icons can be used in light/dark themes.
The following SVGs from the ionicons had to be revised (use ``currentColor``).
- client/simple/src/svg/ionicons/logo-rss.svg
- client/simple/src/svg/ionicons/radio-outline.svg
- client/simple/src/svg/ionicons/color-palette-outline.svg
For the following categories, I did not find any usable icons in Ionicons; new
SVGs were created for these categories.
- onions: client/simple/src/svg/ionicons/tor-browser.svg
- lyrics: client/simple/src/svg/ionicons/song-lyric-music.svg [1]
- packages: client/simple/src/svg/ionicons/package_2.svg [1]
[1] Based on Google's Material icons: https://fonts.google.com/icons
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-09-21 14:49:04 +02:00
Bnyro
49064747a2
[fix] c3tv: crashes on missing description ( #6752 )
2026-09-21 10:07:38 +02:00
Bnyro
591ad564a9
[mod] c3tv: modernize engine ( #6752 )
2026-09-21 10:07:38 +02:00
Markus Heiser
2e624bed40
[fix] utils.parse_duration_string - the last three of [00, HH, MM, SS] ( #6743 )
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-09-20 16:57:45 +02:00
Markus Heiser
2e41cf7407
[mod] migration of some engine results to the video class ( #6743 )
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-09-20 16:57:45 +02:00
Markus Heiser
ce48993997
[build] /static
2026-09-20 16:57:45 +02:00
Markus Heiser
e40de2d992
[mod] typification of SearXNG: add new result type Video ( #6743 )
...
- Python class: searx/result_types/video.py
- Jinja template: searx/templates/simple/result_templates/videos.html
- CSS (less) client/simple/src/less/result_types/video.less
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-09-20 16:57:45 +02:00
vojkovic
fdd8525b1a
[build] /static
2026-09-20 18:58:14 +08:00
vojkovic
bcd2b709fe
[mod] theme: improve thumbnails display on results page
...
Deletes thumbnails instead of showing an error image and also moves them to the right side. Also gives them a background and makes them into rounded 4:3 rectangles for better ui.
2026-09-20 18:58:14 +08:00
Brock Vojkovic
e75fd22d09
[mod] defaults: disable image engines with poor results ( #6690 )
...
The image search defaults are a bit of a mix of results atm with random stock photos, some broken thumbnails (artic) and svg icons.
2026-09-20 11:10:16 +08:00
Bnyro
e831fc2a1c
[fix] categories: rename stock_images category to stock images ( #6760 )
...
Category ``stock_images`` is referenced to as ``stock images`` everywhere else,
so SXNG didn't find any translation for ``stock_images``.
2026-09-19 15:01:12 +02:00
WookieeOnCrack
c0014f015e
[mod] brave - modernize response handling ( #6742 )
2026-09-19 13:04:37 +02:00
Bnyro
fe5bdd1bf2
[feat] magnific: solve captcha to bypass botblocking
...
Magnific now employs a very simple to solve CAPTCHA before
all API requests (essentially summing up some numbers).
Python script for testing:
```python
import re
from lxml import html
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:156.0) Gecko/20100101 Firefox/156.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en-US,en;q=0.9',
'Sec-GPC': '1',
'Connection': 'keep-alive',
'Upgrade-Insecure-Requests': '1',
'Sec-Fetch-Dest': 'document',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site': 'same-origin',
'Priority': 'u=0, i',
'Pragma': 'no-cache',
'Cache-Control': 'no-cache',
}
resp = requests.get(
"https://www.magnific.com/api/regular/search?term=tree&filters%5Bai-generated%5D%5Bexcluded%5D=1&page=1&locale=en&filters%5Blicense%5D=free ",
headers=headers,
)
cookies = resp.cookies
print(resp.text)
_NUMBER_RE = re.compile("\d+")
_BM_VERIFY = re.compile(r"\"bm-verify\":\s*\"(.*?)\"")
doc = html.fromstring(resp.text)
script = doc.xpath("//script")[0].text
numbers = [int(m) for m in _NUMBER_RE.findall(script)]
bm_verify = _BM_VERIFY.search(resp.text)
if not bm_verify:
exit(1)
bm_verify = bm_verify.group(1)
print("bm-verify: " + bm_verify)
solution = sum(numbers)
print(f"sum({numbers}) = {solution}")
resp = requests.post(
"https://www.magnific.com/_sec/verify?provider=interstitial ",
json={"bm-verify": bm_verify, "pow": solution},
headers=headers,
cookies=cookies,
)
resp = requests.get(
"https://www.magnific.com/api/regular/search?term=bird&filters%5Bai-generated%5D%5Bexcluded%5D=1&page=1&locale=en&filters%5Blicense%5D=free ",
headers=headers,
cookies=resp.cookies,
)
print(resp.text)
```
2026-09-19 11:31:00 +02:00
Brock Vojkovic
367fb6537c
[fix] engines: tusksearch cors request headers ( #6758 )
...
Added the ``Origin`` and ``Sec-Fetch-Site`` http headers to bypass tusksearch's latest bot detection.
2026-09-19 07:30:06 +02:00
dependabot[bot] and Ivan Gabaldon
c0042add30
[upd] web-client (simple): Bump the minor group in /client/simple with 3 updates ( #6750 )
...
* [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 [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ).
Updates `@biomejs/biome` from 2.5.12 to 2.5.13
- [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.13/packages/@biomejs/biome )
Updates `@types/node` from 26.5.0 to 26.5.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `vite` from 8.2.2 to 8.3.0
- [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/create-vite@8.3.0/packages/vite )
---
updated-dependencies:
- dependency-name: "@biomejs/biome"
dependency-version: 2.5.13
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: "@types/node"
dependency-version: 26.5.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: vite
dependency-version: 8.3.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* [upd] sync lockfile
---------
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-18 17:23:06 +02:00
Bnyro
c0ec29fdc3
[fix] pixabay: crashes when there are no results
2026-09-18 17:18:59 +02:00
dependabot[bot]
579809a053
[upd] github-actions: Bump docker/setup-qemu-action from 4.3.0 to 4.4.0 ( #6747 )
...
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action ) from 4.3.0 to 4.4.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases )
- [Commits](https://github.com/docker/setup-qemu-action/compare/1f40c72289eff860ee54a304f1438e3cff362e0a...99012661954931238ded8c8b007157a8430204e1 )
---
updated-dependencies:
- dependency-name: docker/setup-qemu-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-09-18 17:10:17 +02:00
dependabot[bot]
9cde918dd2
[upd] github-actions: Bump actions/download-artifact from 4.3.0 to 8.0.1 ( #6748 )
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 4.3.0 to 8.0.1.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/d3f86a106a0bac45b974a628896c90dbdf5c8093...3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 8.0.1
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-09-18 17:08:07 +02:00
dependabot[bot]
63b827edc7
[upd] github-actions: Bump actions/upload-artifact from 4.6.2 to 7.0.1 ( #6749 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4.6.2 to 7.0.1.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/ea165f8d65b6e75b540449e92b4886f43607fa02...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 7.0.1
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-09-18 17:07:54 +02:00
Bnyro
74ffd01152
[feat] engines: add littlelayer (general / indie) engine
2026-09-18 16:45:36 +02:00
Markus Heiser
280aceb1ae
[mod] add new category 'stock_images' - a specialization of 'images' ( #6703 )
...
Engines like Pexels provide images that one would more likely expect in a
category named ``stock_images``.
By classifying engines like Pexels more precisely, we enable a more specific
handling of them, which also helps to avoid mixing them with the more general
image search on the internet. [1]
We leave these engines *enabled* by default, take them out of ``images`` and
move them into the specialization ``stock_images``.
This makes it possible, on the one hand, for the admin to configure a tab in the
UI, and on the other hand, the user can always select the group directly using
the search syntax ``!stock_images ...``.
What we need to keep in mind:
1. Technically speaking, there are no subcategories in the strict
sense. Organizationally, the *subcategories* are derived from the
`categories_as_tabs`.
2. From an admin’s perspective, `categories_as_tabs` is the tool for
structuring their content.
3. In the context of “enabled/disabled by default”: We should avoid having
the admin have to activate many individual engines when they want to
structure their content (UI tabs).
So if we leave an engine enabled by default and **move** it from `images` to a
new category, the admin only needs to add the new category to
`categories_as_tabs` to restructure their content. If the new category is also
part of the translations (see `searx/searxng.msg` in this PR), this UI structure
would also be available internationally.
[1] https://github.com/searxng/searxng/pull/6690#issuecomment-5646291679
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-09-18 16:13:42 +02:00
Bnyro
1f7711ef1f
[mod] categories: move app search engines to it category instead of files
2026-09-18 13:19:28 +02:00
Bnyro
12df7aed60
[del] library of congress: now behind cloudflare ( #6756 )
2026-09-18 12:27:30 +02:00
Bnyro
96c35f1ed3
[fix] findfiles images: crashes due to changed HTML layout
2026-09-18 11:47:45 +02:00
dependabot[bot]
0d6910ae5a
[upd] pypi: Bump the minor group with 3 updates ( #6751 )
...
Bumps the minor group with 3 updates: [granian](https://github.com/emmett-framework/granian ), [selenium](https://github.com/SeleniumHQ/Selenium ) and [basedpyright](https://github.com/detachhead/basedpyright ).
Updates `granian` from 2.8.2 to 2.8.3
- [Release notes](https://github.com/emmett-framework/granian/releases )
- [Commits](https://github.com/emmett-framework/granian/compare/v2.8.2...v2.8.3 )
Updates `selenium` from 4.48.0 to 4.49.0
- [Release notes](https://github.com/SeleniumHQ/Selenium/releases )
- [Commits](https://github.com/SeleniumHQ/Selenium/compare/selenium-4.48.0...selenium-4.49.0 )
Updates `basedpyright` from 1.40.0 to 1.40.1
- [Release notes](https://github.com/detachhead/basedpyright/releases )
- [Commits](https://github.com/detachhead/basedpyright/compare/v1.40.0...v1.40.1 )
2026-09-18 09:32:40 +02:00
Bnyro
087ec6fbda
[fix] 500px: crashes when there's no description ( #6745 )
2026-09-18 07:42:08 +02:00
Bnyro
fc028154a4
[fix] giphy: API key extraction fails ( #6744 )
2026-09-18 07:41:40 +02:00
Bnyro
274b63b677
[refactor] engines: migrate to SXNG_Response.html() ( #6718 )
2026-09-17 12:22:38 +02:00
Bnyro
3169aafd28
[feat] SXNG_Response: add method to parse html body ( #6718 )
2026-09-17 12:22:38 +02:00
Bnyro
c497719921
[feat] yandex web: add time range support
2026-09-17 09:46:21 +02:00
Bnyro
e57ebb0aa5
[refactor] engine processors: add type for time range and safesearch in OnlineParams
2026-09-17 09:46:21 +02:00
Bnyro
77d07c8743
[mod] yandex: simplify request method and drop unused params/cookies
...
We previously set the 'cookie' cookie value with a timestamp
from 2024 to `yq=...`. The cookie is not actually used in Yandex,
instead we probably wanted to set the `yq` cookie instead. But
since the engine works without it, it can be dropped.
Also simplifies the request method a bit to be easier to read.
2026-09-17 09:46:21 +02:00
Brock Vojkovic
9aab16aef7
[fix] network: stop http redirects ( #6740 )
...
Stop curl from following from a HTTPS origin to a HTTP page
See: https://curl.se/libcurl/c/CURLOPT_REDIR_PROTOCOLS_STR.html
Reported-by: Rohit Dixit <00.00.xit@gmail.com >
2026-09-17 15:27:01 +08:00
Bnyro
3accbaca79
[feat] mojeek: automatically solve altcha captchas
2026-09-17 09:00:33 +02:00
Bnyro
9d82be9d89
[feat] utils.py: add altcha captcha solver
2026-09-17 09:00:33 +02:00
Markus Heiser
461f174b09
[mod] engine: pexels - added type hints and migrate to Image-Results ( #6739 )
...
Code style somewhat unified, type annotations added, ``LegacyResult`` replaced
by ``Image``, but no functional modifications.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-09-16 16:46:16 +02:00
Markus Heiser
1354f3952b
[feat] mediathekviewweb: add description to queried fields ( #6717 )
...
Queries like `!mvw hercule poirot` usually yield no results if the `description`
is not also included in the search.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-09-16 16:35:47 +02:00
Bnyro
f9c9c35546
[fix] mediathekviewweb: crashes when result has no hd video url ( #6717 )
2026-09-16 16:35:47 +02:00
Bnyro
71a2424c24
[feat] mediathekviewweb: modernize engine to use EngineResults ( #6717 )
2026-09-16 16:35:47 +02:00
Brock Vojkovic
ce19e9fae3
[fix] image_proxy compressed images ( #6730 )
...
Prevents the image proxy from decompressing brotli/gzip in transit.
See: https://curl.se/libcurl/c/CURLOPT_ACCEPT_ENCODING.html
Setting accept_encoding to none prevents curl from automatically decompressing the received contents.
Signed-off-by: vojkovic <git@vojk.au >
2026-09-16 22:23:11 +08:00
WookieeOnCrack
f725cc7936
[fix] yandex: image result xpath + modernization ( #6728 )
2026-09-16 10:38:32 +02:00
vojkovic
ca49650407
[fix] engines: yahoo modernisation and ybv cookie
2026-09-15 17:37:19 +08:00
vojkovic
94218a3ac6
[build] /static
2026-09-15 09:56:24 +08:00
vojkovic
beb324c0f5
[mod] simple: apply nojs via stylesheet
2026-09-15 09:56:24 +08:00
vojkovic
604ee1698c
[fix] engines: flaticon encode non ascii words
2026-09-15 08:50:46 +08:00
Ivan Gabaldon
ef05645f09
[mod] container: rework builds ( #6720 )
...
Free from ghcr.io/searxng/cache! Now we save and load images without polluting
this shared (and useless) layer cache, which also makes it easy to download
artifacts for local debugging.
I also removed this nonsense about virtualenv normalization, this will be
properly fixed by using lockfiles on py dependencies.
2026-09-14 16:06:00 +02:00
Ivan Gabaldon
d4ce87c234
[mod] py: format ( #6560 )
2026-09-13 23:48:01 +02:00
dependabot[bot]
ab5dd7599e
[upd] pypi: Bump black from 25.9.0 to 26.5.1 ( #6560 )
...
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-13 23:48:01 +02:00
vojkovic
230c3632d9
[mod] github: convert issue templates to yaml forms
2026-09-13 22:37:48 +08:00
Bnyro
42829cecd6
[feat] results: limit titles and content to fixed length
2026-09-13 15:05:47 +02:00
Bnyro
3b80090654
[del] adobe stock: remove because it's behind a datadome captcha
2026-09-13 14:49:03 +02:00
Bnyro
e61d097562
[fix] 500px: migrate to new search endpoint
2026-09-13 14:48:44 +02:00
Bnyro
32f2da4ef0
[fix] public domain image archive: fails to extract API url
2026-09-13 13:43:01 +02:00
Brock Vojkovic
96479fff65
[fix] ci: run armv7 test on the amd64 runner ( #6711 )
2026-09-13 09:25:21 +02:00
dependabot[bot]
d4f00d15d4
[upd] pypi: Bump the minor group with 4 updates ( #6693 )
...
Bumps the minor group with 4 updates: [lxml](https://github.com/lxml/lxml ), [curl-cffi](https://github.com/lexiforest/curl_cffi ), [wlc](https://github.com/WeblateOrg/wlc ) and [basedpyright](https://github.com/detachhead/basedpyright ).
Updates `lxml` from 6.1.2 to 6.1.3
- [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.2...lxml-6.1.3 )
Updates `curl-cffi` from 0.16.1 to 0.16.3
- [Release notes](https://github.com/lexiforest/curl_cffi/releases )
- [Changelog](https://github.com/lexiforest/curl_cffi/blob/main/docs/changelog.rst )
- [Commits](https://github.com/lexiforest/curl_cffi/compare/v0.16.1...v0.16.3 )
Updates `wlc` from 2.1.1 to 2.2.0
- [Release notes](https://github.com/WeblateOrg/wlc/releases )
- [Changelog](https://github.com/WeblateOrg/wlc/blob/main/CHANGES.md )
- [Commits](https://github.com/WeblateOrg/wlc/compare/2.1.1...2.2.0 )
Updates `basedpyright` from 1.39.10 to 1.40.0
- [Release notes](https://github.com/detachhead/basedpyright/releases )
- [Commits](https://github.com/detachhead/basedpyright/compare/v1.39.10...v1.40.0 )
2026-09-12 18:20:51 +02:00
Markus Heiser
a667e8c905
[mod] openverse - use of internal APIs and addition result fields ( #6701 )
...
Additional fields:
add resolution, thumbnail and author to the image result
Types:
use EngineResults and add type hints from internall APIs
Disabled engine:
as of 09/2026: The availability of https://openverse.org/ is poor, and queries
and image requests often time out. However, these issues also occur when using
a WEB browser to search on openverse.org or view images.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2026-09-12 18:18:32 +02:00
vojkovic
0a94da4368
[fix] engines: naver images updated matcher
2026-09-12 18:17:41 +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 and @vojkovic
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] and Ivan Gabaldon
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](https://github.com/docker/setup-qemu-action/compare/96fe6ef7f33517b61c61be40b68a1882f3264fb8...1f40c72289eff860ee54a304f1438e3cff362e0a )
---
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] and searxng-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