Commit Graph

5565 Commits

Author SHA1 Message Date
Ivan Gabaldon 49fdf4edd9 [fix] utils: truncated result (#4949)
Make sure to prase everything before returning.

Related: \
```
FAIL: test_html_to_text (tests.unit.test_utils.TestUtils.test_html_to_text)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/searxng/searxng/tests/unit/test_utils.py", line 53, in test_html_to_text
    self.assertEqual(utils.html_to_text(r"regexp: (?<![a-zA-Z]"), "regexp: (?<![a-zA-Z]")
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: 'regexp: (?' != 'regexp: (?<![a-zA-Z]'
- regexp: (?
+ regexp: (?<![a-zA-Z]
```
2025-06-27 17:52:12 +02:00
github-actions[bot] d47ff4d026 [l10n] update translations from Weblate (#4946)
66f385590 - 2025-06-26 - AndersNordh <andersnordh@noreply.codeberg.org>
2f0d725c7 - 2025-06-27 - MaheAlif <mahealif@noreply.codeberg.org>
3b8c842d2 - 2025-06-25 - SomeTr <sometr@noreply.codeberg.org>
88c5a918b - 2025-06-25 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
306e1f8a4 - 2025-06-25 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
f1314daea - 2025-06-25 - return42 <return42@noreply.codeberg.org>
f4d3905d2 - 2025-06-25 - Linerly <linerly@noreply.codeberg.org>
790dbb51c - 2025-06-25 - return42 <return42@noreply.codeberg.org>
4c59a2801 - 2025-06-24 - Outbreak2096 <outbreak2096@noreply.codeberg.org>
2b70aab75 - 2025-06-24 - ghose <ghose@noreply.codeberg.org>
dade2fbb2 - 2025-06-24 - SomeTr <sometr@noreply.codeberg.org>
930f76d9d - 2025-06-24 - AndersNordh <andersnordh@noreply.codeberg.org>
f2f5bfa28 - 2025-06-24 - SecularSteve <secularsteve@noreply.codeberg.org>
14bcf9a7b - 2025-06-24 - SecularSteve <secularsteve@noreply.codeberg.org>
ba266aa82 - 2025-06-24 - SecularSteve <secularsteve@noreply.codeberg.org>
c25b3788c - 2025-06-24 - SecularSteve <secularsteve@noreply.codeberg.org>

Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-27 14:47:34 +02:00
useralias 8757655644 [fix] restore startpage autocompleter
Changes:
- Undo deletions of the autocompleter in settings and logic
- Add fixed autocomplete function in autocomplete.py

Related:
- https://github.com/searxng/searxng/issues/4334
2025-06-25 17:38:31 +02:00
benpiano800 b47ee0a4e3 [chore] docs: various grammatical fixes 2025-06-23 23:01:29 +02:00
Bnyro cacfe54153 [chore] fix ci 2025-06-23 22:57:11 +02:00
Bnyro b385f32098 [fix] uxwing: doesn't work / forbidden
the engine is currently broken because
- it requires a normal user agent (spoofed)
- it has some additional fingerprinting if using http2
2025-06-23 22:51:48 +02:00
Markus Heiser 2dd4f7b972 [mod] data: implement a simple tracker URL (SQL) database
On demand, the tracker data is loaded directly into the cache, so that the
maintenance of this data via PRs is no longer necessary.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-06-23 22:12:18 +02:00
Markus Heiser 58c10f758b [mod] plugins: activate tracker url plugin by default
With the new implementation for removing tracker arguments from URLs, we use the
tracker definitions of the ClearURLs project [1].  These definitions are
regularly updated and significantly improve data protection, which is why we
should now also enable this plugin by default.

[1] https://github.com/ClearURLs

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-06-23 22:12:18 +02:00
Bnyro 2001efbbab [data] update searx.data - add tracker_patterns.json 2025-06-23 22:12:18 +02:00
Bnyro 8f7eee2473 [feat] tracker url plugin: use ClearURL tracking param list 2025-06-23 22:12:18 +02:00
Bnyro 58df3e8e97 [build] /static 2025-06-22 09:41:16 +02:00
Robert M. Clabough ec892d3836 [feat] engines: add Tube Archivist engine (#4889)
Tube Archivist [1] is a self-hosted project which archives youtube videos on
your own local server.  This engine connects with Tube Archivist's search API to
allow searching from SearXNG into your own hosted videos.

[1] https://www.tubearchivist.com/

Signed-off-by:  Robert M. Clabough <robert@claobugh.tech>
Co-authored-by: Bnyro <bnyro@tutanota.com>
Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2025-06-22 09:40:42 +02:00
useralias cc61d0833c [refactor] yahoo engine: fix missing results and improve request code structure (#4923)
Changes:
- Add required iscqry, pz and bct search parameters
- Remove unused/optional search parameters (ei, fr2, age)
- Fix offset calculation
- Use new sB cookie for filters (time, safesearch, language)
- Group related parameter assignments together
- Restructure request parameter building to better match a real request
- Use f-strings for string formatting
- Add logging of domain and cookies used

Related:
- https://github.com/searxng/searxng/issues/4910
2025-06-22 08:56:25 +02:00
Nanashi 64f00bf5fd [fix] remove dissem.in due to its closure (#4930)
remove dissem.in due to its closure [1]

[1] https://association.dissem.in/dissemin-closure.html
2025-06-22 08:52:46 +02:00
github-actions[bot] 174faa342a [l10n] update translations from Weblate (#4925)
9c4f336a6 - 2025-06-19 - itsmrxyz <itsmrxyz@noreply.codeberg.org>
f639499e2 - 2025-06-18 - Adiker <adiker@noreply.codeberg.org>
67ddeb0b8 - 2025-06-19 - Fjuro <git@alius.cz>
2f37218d3 - 2025-06-17 - Linerly <linerly@noreply.codeberg.org>
b6b11a88e - 2025-06-16 - aindriu80 <aindriu80@noreply.codeberg.org>
23d4b17ed - 2025-06-16 - Shihfu Juan <xlion@xlion.tw>
b6e19a4a7 - 2025-06-16 - Juno Takano <jutty@noreply.codeberg.org>
9fe7bb4b4 - 2025-06-16 - artens <artens@noreply.codeberg.org>
a52c6a9ed - 2025-06-17 - radekjuthner <radekjuthner@noreply.codeberg.org>
91aafaa77 - 2025-06-16 - French <french@noreply.codeberg.org>
f00ea030c - 2025-06-15 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
0ff16bbad - 2025-06-14 - French <french@noreply.codeberg.org>
1785f8d3b - 2025-06-13 - SomeTr <sometr@noreply.codeberg.org>
2c394a6f4 - 2025-06-13 - AndersNordh <andersnordh@noreply.codeberg.org>
136e3016d - 2025-06-13 - ghose <ghose@noreply.codeberg.org>
c29cfab40 - 2025-06-13 - AndersNordh <andersnordh@noreply.codeberg.org>
cf982efb8 - 2025-06-13 - L33P <l33p@noreply.codeberg.org>

Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-22 07:32:29 +02:00
github-actions[bot] e52e9bb4b6 [l10n] update translations from Weblate (#4914)
0c960fb83 - 2025-06-13 - Outbreak2096 <outbreak2096@noreply.codeberg.org>

Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-14 08:42:06 +02:00
benpiano800 0b877f1fb8 [mod] Hash plugin: List the available hash functions in the description
Co-authored-by: Bnyro <bnyro@tutanota.com>
2025-06-12 21:05:49 +02:00
benpiano800 a6d0333e30 [chore] Preferences: Make autocomplete description sound less casual (#4908) 2025-06-12 02:07:30 +02:00
benpiano800 e58ed0fdba [chore] Preferences: Fix grammatical error in results_on_new_tab.html (#4909) 2025-06-12 01:51:24 +02:00
Brock Vojkovic 8888d71ab9 [mod] disable wallhaven by default 2025-06-10 15:57:39 +00:00
0xhtml 6a2cb45791 [feat] bing: raise error upon receiving wrong results page 2025-06-08 22:09:27 +02:00
benpiano800 49a1f08a17 [feat] engines: add Minecraft Wiki (#4896) 2025-06-06 17:05:30 +02:00
github-actions[bot] 3f1504a913 [l10n] update translations from Weblate (#4897)
1abc876b1 - 2025-06-06 - Linerly <linerly@noreply.codeberg.org>
8e107bf1a - 2025-06-06 - realkendrick_fr <realkendrick_fr@noreply.codeberg.org>
3ea971192 - 2025-06-03 - LinuxWizard <linuxwizard@noreply.codeberg.org>
455f80f14 - 2025-06-02 - ghose <ghose@noreply.codeberg.org>
aab313207 - 2025-06-02 - wags07 <wags07@noreply.codeberg.org>
1f1390745 - 2025-06-02 - aindriu80 <aindriu80@noreply.codeberg.org>
c098e4d67 - 2025-06-02 - Shihfu Juan <xlion@xlion.tw>
a30395996 - 2025-06-01 - AndersNordh <andersnordh@noreply.codeberg.org>
a1648feed - 2025-06-02 - yurtpage <yurtpage@noreply.codeberg.org>
985d3f23c - 2025-06-02 - rodgui <rodgui@noreply.codeberg.org>
1526dbc88 - 2025-06-02 - rodgui <rodgui@noreply.codeberg.org>
2d6baae9e - 2025-06-02 - artens <artens@noreply.codeberg.org>
bb5344f55 - 2025-06-02 - Haraldher <haraldher@noreply.codeberg.org>
08991138c - 2025-06-01 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
94952bbd5 - 2025-06-01 - AndersNordh <andersnordh@noreply.codeberg.org>
e4a792010 - 2025-06-01 - Fjuro <git@alius.cz>
0bd241620 - 2025-06-02 - thenack0 <thenack0@noreply.codeberg.org>
3bdff93bc - 2025-06-01 - pochinki <pochinki@noreply.codeberg.org>
091107dc4 - 2025-06-01 - Outbreak2096 <outbreak2096@noreply.codeberg.org>
ac147f2cc - 2025-05-31 - SomeTr <sometr@noreply.codeberg.org>
dd0b77eee - 2025-06-01 - ngf <ngf@noreply.codeberg.org>
db2aa378b - 2025-06-01 - return42 <return42@noreply.codeberg.org>

Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-06-06 09:50:34 +02:00
useralias b73ac81815 [fix] startpage engine: resolve instant CAPTCHA issues (#4890)
Changes:
- Improve log messages for better debugging of future CAPTCHA issues
- Fixed erroneous get_sc_url variable where sc was always blank (when no cached value)
- Move Origin and Referer headers to request() function
- Add missing form parameters (abp, abd, abe) required by Startpage
  to avoid being flagged as automated requests
- Include segment parameter for paginated requests
- Clean up unnecessary commented-out headers
- Fix minor typos e.g. "time-stamp" → "timestamp", "scrap" → "scrapes"

Related:
- https://github.com/searxng/searxng/issues/4673
2025-06-03 09:58:52 +02:00
benpiano800 93751b6379 [chore] engine preferences: fix grammar mistakes (#4883) 2025-05-31 21:09:31 +02:00
Markus Heiser 6e2d3e05c4 [build] /static 2025-05-31 20:34:59 +02:00
Markus Heiser ff206e9679 [mod] weather results: add types, i18n/l10n, symbols & unit conversions
The types necessary for weather information such as GeoLocation, DateTime,
Temperature,Pressure, WindSpeed, RelativeHumidity, Compass (wind direction) and
symbols for the weather have been implemented.

There are unit conversions and translations for weather property labels.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-31 20:34:59 +02:00
Markus Heiser a800dd0473 [mod] implement searx.wikidata_units for unit converters 2025-05-31 20:34:59 +02:00
Bnyro cf59ee2efc [feat] open meteo: use new weather answerer 2025-05-31 20:34:59 +02:00
Bnyro d70f0a3321 [feat] result types: add weather result answerer and template 2025-05-31 20:34:59 +02:00
benpiano800 37d851fb23 [mod] UI footer: correct capitalization of "SearXNG" in base.html 2025-05-30 09:33:57 +02:00
searxng-bot 44471bef35 [l10n] update translations from Weblate
0f55f2438 - 2025-05-29 - sandijs <sandijs@noreply.codeberg.org>
109f7dcb8 - 2025-05-26 - ngf <ngf@noreply.codeberg.org>
d2ba9b3d0 - 2025-05-26 - artnay <artnay@noreply.codeberg.org>
33c6f23bf - 2025-05-26 - realkendrick_fr <realkendrick_fr@noreply.codeberg.org>
2025-05-30 09:13:36 +02:00
Markus Heiser 913dfbde3c [fix] plugins: currency processor bug
Fix C&P typo from  https://github.com/searxng/searxng/pull/4836

Closes: https://github.com/searxng/searxng/issues/4861
2025-05-29 07:37:59 +02:00
searxng-bot 7448a18efa [data] update searx.data - update_ahmia_blacklist.py 2025-05-29 07:11:55 +02:00
searxng-bot 23396f5a1d [data] update searx.data - update_firefox_version.py 2025-05-29 07:10:22 +02:00
searxng-bot dbe6a6f4fa [data] update searx.data - update_wikidata_units.py 2025-05-29 07:08:32 +02:00
searxng-bot b2727e1be9 [data] update searx.data - update_currencies.py 2025-05-29 07:07:55 +02:00
searxng-bot 9d8592afd7 [data] update searx.data - update_engine_traits.py 2025-05-29 07:07:05 +02:00
searxng-bot 70a387a48f [data] update searx.data - update_engine_descriptions.py 2025-05-29 07:06:38 +02:00
Bnyro 2288f07d62 [fix] presearch: reuse response cookies from token extraction
Why?
- presearch requires the response cookies of the first request to be sent within the second request
- otherwise we miss auth information and the engine doesn't work

Related:
- https://github.com/searxng/searxng/pull/4858
- closes https://github.com/searxng/searxng/issues/4854

Co-authored-by: Aadniz <8147434+Aadniz@users.noreply.github.com>
2025-05-28 12:53:45 +02:00
Bnyro 20b40351b9 [chore] il post: disable by default 2025-05-26 17:39:09 +02:00
Bnyro 7a5a499795 [build] /static 2025-05-25 18:04:18 +02:00
Markus Heiser 848c8d0544 [mod] data: implement a simple currencies (SQL) database (#4836)
To reduce the memory footprint, this patch no longer loads the JSON data
completely into memory.  Instead, there is an SQL database based on
`ExpireCacheSQLite`.

The class CurrenciesDB is a simple DB application that encapsulates the
DB (queries and initialization) and provides convenient methods like
`name_to_iso4217` and `iso4217_to_name`.

Related:

- https://github.com/searxng/searxng/discussions/1892
- https://github.com/searxng/searxng/pull/3458#issuecomment-2900807671
- https://github.com/searxng/searxng/pull/4650

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-25 10:40:57 +02:00
github-actions[bot] e46187e3ce [l10n] update translations from Weblate (#4840)
51e0a154c - 2025-05-22 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
256b8cb8e - 2025-05-16 - wetinee <wetinee@noreply.codeberg.org>
ac12b76a8 - 2025-05-16 - wetinee <wetinee@noreply.codeberg.org>

Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-05-25 10:36:27 +02:00
Markus Heiser 064eb50473 [mod] engines: Yahoo in different languages (#4826)
BTW fix issue reported in [1]

[1] https://github.com/searxng/searxng/pull/4814#issuecomment-2896948787

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Co-authored-by: Bnyro <bnyro@tutanota.com>
2025-05-24 13:14:13 +02:00
Alexandre Flament 9ed9a9aa53 [fix] searx.network: don't trigger DeprecationWarning (#4845)
Avoid a confusing warning:

    DeprecationWarning: Setting per-request cookies=<...> is being deprecated

Code based on httpx unit test [1]

[1] https://github.com/encode/httpx/blob/6a99f6f2b3a638719f70200de9983f80d618ee1c/tests/client/test_cookies.py#L123-L137

Closes: https://github.com/searxng/searxng/issues/4833
2025-05-24 12:40:05 +02:00
Markus Heiser 230215c250 [fix] preferences: description not localized for all UI languages (#4844)
The previous implementation for determining the description of an engine did not
take into account that the UI languages ​​can also have a region tag and/or a
script tag:

    el-GR:      Ελληνικά, Ελλάδα (Greek, Greece)
    fa-IR:      فارسی, ایران (Persian, Iran)
    nb-NO:      Norsk bokmål, Norge (Norwegian bokmål, Norway)
    nl-BE:      Nederlands, België (Dutch, Belgium)
    pt-BR:      Português, Brasil (Portuguese, Brazil)
    zh-HK:      中文, 中國香港特別行政區 (Chinese, Hong Kong SAR China)
    zh-Hans-CN: 中文, 中国 (Chinese, China)
    zh-Hant-TW: 中文, 台灣 (Chinese, Taiwan)

Closes: https://github.com/searxng/searxng/issues/4842

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-23 17:11:41 +02:00
Markus Heiser 1ef5c03962 [fix] ddg engine: IndexError exception is raised on empty contend (#4843)
Sometimes (e.g. when ddg does not have a result item) there is no content and
the engine will fail with an IndexError:

  * Error: IndexError
  * Percentage: 10
  * Parameters: `()`
  * File name: `searx/engines/duckduckgo.py:375`
  * Function: `response`
  * Code: `item["content"] = extract_text(eval_xpath(div_result, './/a[contains(@class, "result__snippet")]')[0])`

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-23 14:55:22 +02:00
useralias 4fa7de8033 [refactor] duckduckgo engine: improve request logic and code structure (#4837)
Changes:
- Add trailing slash to base URL to prevent potential redirects
- Remove advanced search syntax filtering (no longer guarantees a CAPTCHA)
- Correct pagination offset calculation: Page 2 now starts at offset 10,
  subsequent pages use 10 + (n-2)*15 formula instead of the previous
  broken 20 + (n-2)*50 calculation that caused CAPTCHAs
- Restructure request parameter building to better match a real request
- "kt" cookie is no longer an empty string if the language/region is "all"
- Group related parameter assignments together
- Add header logging to debugging output

Related:

- https://github.com/searxng/searxng/issues/4824
2025-05-23 13:01:10 +02:00
Markus Heiser 98badc9cd0 [fix] searx.data: fetch-traits - z-library (httpx.ConnectError) (#4835)
There is currently no known z-library, and all known URLs are dead [1]. To avoid
interrupting automated updates, a connection error to a z-library is treated as
a *known error*, and the old properties of the z-library are retained.

[1] https://github.com/searxng/searxng/issues/3610

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-22 17:43:11 +02:00