summaryrefslogtreecommitdiff
path: root/searx
AgeCommit message (Collapse)Author
2026-08-17Limit languagesIvan K. Boikov
2026-08-17PluginsIvan K. Boikov
2026-08-17Rename instanceIvan K. Boikov
2026-08-17Toggle enginesIvan K. Boikov
2026-08-17Custom themeIvan K. Boikov
2026-08-16[upd] pypi: Bump the minor group across 1 directory with 6 updates (#6540)dependabot[bot]
* [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[upd] web-client (simple): Bump the minor group across 1 directory with 7 ↵dependabot[bot]
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-13[feat] engines: add paid yandex search api (#6349)ArsenBilov
2026-08-12[mod] dogpile: set to inactive by defaultBnyro
2026-08-12[fix] dogpile: access denied due to missing origin headerBnyro
2026-08-12[mod] defaults: GET method and ddg autocompletevojkovic
2026-08-11[l10n] update translations from Weblate (#6496)github-actions[bot]
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-10[feat] engines: add jina (general)Bnyro
2026-08-06[fix] engines: only print search traceback in debug modeBnyro
2026-08-04[mod] data: update searx.data - update_wikidata_units.py (#6474)Ivan Gabaldon
2026-08-05[feat] autocomplete: add kagi autocompletervojkovic
2026-08-03[fix] autocompleter: suggestions contain HTML escape codesBnyro
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&amp;B` and never unescaped, so the autocompletion frontend shows `A&amp;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[build] /staticvojkovic
2026-08-03[fix] autocomplete: drop POST methodvojkovic
2026-08-01[feat] add kagi favicon resolvervojkovic
2026-07-30[feat] engines: add keenable (general)Ilya Bogin
2026-07-30[mod] data: update searx.data - update_currencies.py (#6475)Ivan Gabaldon
2026-07-30[mod] py: cleanup link_token.pyIvan Gabaldon
2026-07-30[mod] swisscows: use alphabet from `string` module instead of hardcoding ↵Bnyro
alphabet
2026-07-30[mod] engines: replace [random.choice(...) for ... in range(..)] with ↵Bnyro
random.choices
2026-07-30[del] reddit: remove engine, requires authentication nowBnyro
2026-07-30[mod] data: update searx.data - update_firefox_version.py (#6466)github-actions[bot]
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2026-07-30[mod] data: update searx.data - update_engine_traits.py (#6468)github-actions[bot]
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2026-07-30[mod] data: update searx.data - update_ahmia_blacklist.py (#6467)github-actions[bot]
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2026-07-30chore: remove presearch engineLéon Tiekötter
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-28[l10n] update translations from Weblate (#6447)github-actions[bot]
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[upd] web-client (simple): Bump the minor group across 1 directory with 6 ↵dependabot[bot]
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[fix] exaapi: missing shortcut causes engine to crashBnyro
2026-07-28[feat] engines: add Exa Search API enginekesku
2026-07-18[l10n] update translations from Weblate (#6426)github-actions[bot]
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-17[fix] qwant: can't fetch engine traits because `engine.about` is no longer a ↵Bnyro
dict
2026-07-17[fix] cache: maintenance period comment duration 2h instead of 1hBnyro
2026-07-16[fix] tiger: remember auth cookie for 2 months, not 1 dayBnyro
2026-07-16[fix] public domain image archive: crashes upon responseBnyro
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[fix] engine cache: return default value when cache entry expiredBnyro
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-15[fix] autocomplete suggestrelevance scores for chromiumvojkovic
2026-07-15[mod] images.html: display all engines that found the result, not only the ↵Bnyro
first one
2026-07-15[fix] qwant: engine blocked with captchaBnyro
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[feat] engines: add avalw.org (general)Bnyro
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[fix] results: display internationalized domain names human-friendlyBnyro
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-14[fix] tusksearch: fix engine blocked by bot protectionBnyro
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[fix] heexy: blocked by cloudflareBnyro
2026-07-13[refactor] engines: use datetime.fromisoformat instead of datetime.strptime ↵Onev
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-12[upd] web-client (simple): Bump the minor group across 1 directory with 5 ↵dependabot[bot]
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-10[l10n] update translations from Weblate (#6393)github-actions[bot]
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>