| Age | Commit message (Collapse) | Author |
|
|
|
Fix typo in engine timeout definition: 'timout' -> 'timeout'
|
|
The requests changed here all run outside of the network context timeout,
thereby preventing the engine's timeout from being applied (the engine's timeout
can become longer than it was configured).
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
|
|
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
The JS string, whose encoding will be corrupted if all single quotes (followed
by a comma) are replaced with double quotes. Bug was introduced in PR #4573.
Here is a simple example in which the list get corrupted::
>>> s = r"""[ 'foo\'', 'bar']"""
>>> print(s)
[ 'foo\'', 'bar']
>>> print(s.replace("',", "\","))
[ 'foo\'", 'bar']
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
Presearch responds with a Cloudflare captcha on each request when using HTTP2.
Using HTTP1.1, everything seems to work fine.
- other engines with the same issue: pixabay, uxwing
- closes https://github.com/searxng/searxng/issues/5438
|
|
The results from the recoll engine were not displaying the usual
toggle for showing media previews. After the changes described bellow,
the toggle is displayed and works as expected.
In the JSON returned by recoll-webui, the field containing the
mimetype is actually `mtype`, not `mime`.
Furthermore, according to the documentation for the `File` class in
`searx/result_types/file.py`, `embedded` should contain the URL to the
media itself. The embedding of the media into the page for preview is
done in `searx/templates/simple/result_templates/file.html`.
|
|
|
|
- official website: https://devicon.dev/
- the engine contains a lot of icons of popular software frameworks (e.g. pytest),
so they could for example be useful for visualizing a diagram of the tech stack used in an app
|
|
|
|
updates (#5423)
* [upd] web-client (simple): Bump the minor group
Bumps the minor group in /client/simple with 4 updates: [ol](https://github.com/openlayers/openlayers), [@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 `ol` from 10.6.1 to 10.7.0
- [Release notes](https://github.com/openlayers/openlayers/releases)
- [Commits](https://github.com/openlayers/openlayers/compare/v10.6.1...v10.7.0)
Updates `@biomejs/biome` from 2.3.2 to 2.3.4
- [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.3.4/packages/@biomejs/biome)
Updates `@types/node` from 24.9.2 to 24.10.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
Updates `sharp` from 0.34.4 to 0.34.5
- [Release notes](https://github.com/lovell/sharp/releases)
- [Commits](https://github.com/lovell/sharp/compare/v0.34.4...v0.34.5)
---
updated-dependencies:
- dependency-name: ol
dependency-version: 10.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: "@biomejs/biome"
dependency-version: 2.3.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: "@types/node"
dependency-version: 24.10.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
- dependency-name: sharp
dependency-version: 0.34.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* [upd] web-client (simple): rebuild static
---------
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>
|
|
|
|
The difference between decompression with brotli or gzip in HTML files is
negligible for 3 MB of compiled binary package.
Introduced in https://github.com/searxng/searxng/commit/eaa694fb7d0e47b943bc6d6edb6cb6a40ab2d85e
Closes https://github.com/searxng/searxng/security/code-scanning/276
Closes https://github.com/searxng/searxng/security/dependabot/37
|
|
Yandex engine will return parsing error instead of informing that a CAPTCHA was found. It is confusing for the admin and the users (#5415).
This patch fixes an issue where the CAPTCHA response from Yandex wouldn't be detected, resulting in `ParserError` when trying to parse the response to DOM.
In this fix, I replaced the url condition and instead is checking if the `x-yandex-captcha` header is set, and is equal to `captcha`.
Alternatively, maybe something like `resp.headers.get('Location', '').startswith("https://yandex.com/showcaptcha")` could be done instead. Lastly, setting `params['allow_redirects'] = True` can also work, but this will waste an extra request. Just let me know.
Closes: https://github.com/searxng/searxng/issues/5415
|
|
SourceHut uses a foss bot protection tool called `go-away` (which I can
recommend BTW). It blocks common crawler user agents, such as the standard
Firefox user agent. Hence, we're now using our custom SearXNG user agent to
clarify we're not a crawler.
Closes: https://github.com/searxng/searxng/issues/5270
Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
including version (#5414)
|
|
|
|
This reverts HOTFIX from commit fc7d8b8b [1]
[1] https://github.com/searxng/searxng/pull/5309
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
Reported in [1], HOTFIX in [2], this patch here is now the final solution.
Note that if using PEP 563 postponed evaluation of annotations" (e.g. ``from
__future__ import annotations``) only the following spellings will work:
ClassVar or ClassVar[<type>]
typing.ClassVar or typing.ClassVar[<type>]
Importing ClassVar or typing under an aliased name (e.g. ``import typing as t``)
will not be properly detected. [3]
[1] https://github.com/searxng/searxng/issues/5304#issuecomment-3394140820
[2] https://github.com/searxng/searxng/pull/5309
[3] https://jcristharif.com/msgspec/structs.html#class-variables
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
0bdbdde2e - 2025-10-26 - 0ko <0ko@noreply.codeberg.org>
7b0abb9aa - 2025-10-27 - artens <artens@noreply.codeberg.org>
882a28944 - 2025-10-27 - langckx <langckx@noreply.codeberg.org>
c2d025563 - 2025-10-25 - Flyingfufu <flyingfufu@noreply.codeberg.org>
|
|
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
|
|
|
|
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
|
|
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
|
|
Pagination currently does not work for deviantart, resulting in the same page
being shown when going to the next page in SearXNG.
|
|
Set HTTP header Accept-Language [1] for the Qwant engine.
Qwant does not seem to work on any SearXNG instance right now, and this is a fix
for this issue.
During testing, it seems like setting the Accept-Language gives more success for
bypassing bot detection (tested with a few ~20 searches).
[1] https://docs.searxng.org/dev/engines/enginelib.html#searx.enginelib.Engine.send_accept_language_header
|
|
|
|
(#5380)
Fixes an issue where startpage engine would display parsing error
(`json.decoder.JSONDecodeError`) when returning CAPTCHA redirect page.
The fix simply checks if response header has `Location` set, and if it starts
with `https://www.startpage.com/sp/captcha`, it will raise a CAPTCHA exception
before trying to parse the data.
|
|
|
|
|
|
|
|
Uses the deprecated [`execCommand()`](https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand)
to copy content to clipboard if accessing the instance through HTTP, this method
isn't going away soon.
Closes https://github.com/searxng/searxng/issues/5359
|
|
55c0cab85 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
7705bba80 - 2025-10-21 - Outbreak2096 <outbreak2096@noreply.codeberg.org>
d2ee86058 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
8c4478ca3 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
147ba039a - 2025-10-21 - return42 <return42@noreply.codeberg.org>
2d9a206e8 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
024e2f1c7 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
8059378af - 2025-10-21 - return42 <return42@noreply.codeberg.org>
4b4359eea - 2025-10-21 - return42 <return42@noreply.codeberg.org>
05af879c9 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
0ea9d6393 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
e2e0907ff - 2025-10-21 - return42 <return42@noreply.codeberg.org>
9a7cfc1c1 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
06b7d62f0 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
a3bc054a5 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
34e56b171 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
8cc444358 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
55afa16d1 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
a336dd1ae - 2025-10-21 - return42 <return42@noreply.codeberg.org>
ec68a405a - 2025-10-21 - return42 <return42@noreply.codeberg.org>
beeab8c25 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
44a5c9e04 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
aef218710 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
42923cf46 - 2025-10-21 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
3cab50a73 - 2025-10-22 - jperegrinm <jperegrinm@noreply.codeberg.org>
410e760d5 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
bb5e921c3 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
eece61f04 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
1f18156d5 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
20026535d - 2025-10-21 - return42 <return42@noreply.codeberg.org>
fcc563bf8 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
ec02a81da - 2025-10-21 - return42 <return42@noreply.codeberg.org>
78125c9e6 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
7a4b89369 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
d02406831 - 2025-10-21 - return42 <return42@noreply.codeberg.org>
8fe4022cb - 2025-10-21 - return42 <return42@noreply.codeberg.org>
0e8cdcaa8 - 2025-10-20 - SomeTr <sometr@noreply.codeberg.org>
4b138b0dc - 2025-10-20 - Juno Takano <jutty@noreply.codeberg.org>
d20e2c9c1 - 2025-10-20 - ghose <ghose@noreply.codeberg.org>
|
|
(#5339)
The query argument for URLs like:
- 'http://example.org?q=' --> query_str is 'q='
- 'http://example.org?/foo/bar' --> query_str is 'foo/bar'
is a *simple string* and not a key/value dict. This string may only be removed
from the URL if one of the patterns matches.
BTW get_pretty_url(): keep such a *simple string* in the path element.
Closes: https://github.com/searxng/searxng/issues/5299
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
|
|
This PR adds a new result type: File
Python class: searx/result_types/file.py
Jinja template: searx/templates/simple/result_templates/file.html
CSS (less) client/simple/src/less/result_types/file.less
Class 'File' (singular) replaces template 'files.html' (plural). The renaming
was carried out because there is only one file (singular) in a result. Not to be
confused with the category 'files' where in multiple results can exist.
As mentioned in issue [1], the class '.category-files' was removed from the CSS
and the stylesheet was adopted in result_types/file.less (there based on the
templates and no longer based on the category).
[1] https://github.com/searxng/searxng/issues/5198
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
The size of the full-size images from ``thumbnail.url`` is usually several
MB. By reducing the full-size image to 80 pixels, the data size for a thumb is
reduced from MB to a few KB.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
1. On empty result list, return empty EngineResults (#5330)
2. Use ``dateutil.parser`` to avoid ``ValueError``:
ERROR searx.engines.reuters : exception : Invalid isoformat string: '2022-06-08T16:07:54Z'
File "searx/engines/reuters.py", line 91, in response
publishedDate=datetime.fromisoformat(result["display_time"]),
ValueError: Invalid isoformat string: '2022-06-08T16:07:54Z'
Closes: https://github.com/searxng/searxng/issues/5330
Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
It doesn't matter if you're using Mullvad's VPN and a proper browser, you'll
still get blocked for specific searches [1] with a 403 or 429 HTTP status code.
Mullvad only blocks the search request and doesn't prevent you from doing more
searches.
The logic should handle the blocked requests (403, 429), but not put the engine
on a cooldown.
[1] https://leta.mullvad.net/search?q=site%3Afoo+bar&engine=brave
Closes: https://github.com/searxng/searxng/issues/5328
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
|
|
|
|
Apparently, in China, Bing redirects from `www.bing.com` to `cn.bing.com`.
So in order to make Bing work for chinese users by default, we have to follow that redirect.
related: https://github.com/searxng/searxng/issues/5243
|
|
* [upd] web-client (simple): Bump the minor group
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.2.5 to 2.2.6
- [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.2.6/packages/@biomejs/biome)
Updates `@types/node` from 24.7.1 to 24.8.1
- [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.2.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor
- dependency-name: "@types/node"
dependency-version: 24.8.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* [build] /static
---------
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>
|
|
e23460caa - 2025-10-13 - aindriu80 <aindriu80@noreply.codeberg.org>
bb7d1cc0e - 2025-10-13 - Juno Takano <jutty@noreply.codeberg.org>
8b8bc1461 - 2025-10-13 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
f4bec8c6a - 2025-10-13 - Raithlin <raithlin@noreply.codeberg.org>
609efd4e6 - 2025-10-13 - AndersNordh <andersnordh@noreply.codeberg.org>
6c709f898 - 2025-10-13 - return42 <return42@noreply.codeberg.org>
a2b608da4 - 2025-10-13 - AndersNordh <andersnordh@noreply.codeberg.org>
4f0cd2119 - 2025-10-12 - kratos <makesocialfoss32@keemail.me>
8d049e1cb - 2025-10-11 - Outbreak2096 <outbreak2096@noreply.codeberg.org>
4bf5fc5fe - 2025-10-11 - Linerly <linerly@noreply.codeberg.org>
c80cf6e92 - 2025-10-11 - ghose <ghose@noreply.codeberg.org>
92427655d - 2025-10-11 - Fjuro <fjuro@alius.cz>
8efe1bb12 - 2025-10-10 - SomeTr <sometr@noreply.codeberg.org>
|
|
settings.yml (#5325)
|
|
Adds a new engine `searx/engines/azure.py` to search cloud resources on Azure.
A lot of enterprise users have to deal with Azure Public Cloud. This helps them
easily search for cloud resources without logging in to the Portal first
How to test this PR locally?
You should create an App Registration on Azure Entra Id with Reader access on
the resources you want to search for. You should create a Secret for the App
Registration. After that, you should set up appropriate values in the
`settings.yml` file [1]::
- name: azure
engine: azure
...
azure_tenant_id: "your_tenant_id"
azure_client_id: "your_client_id"
azure_client_secret: "your_client_secret"
azure_token_expiration_seconds: 5000
[1] https://github.com/searxng/searxng/pull/5235#issuecomment-3397664928
Co-authored-by: Bnyro <bnyro@tutanota.com>
Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
|
|
uploader name (#5314)
closes #5231
|