1
0
mirror of https://github.com/searxng/searxng.git synced 2024-11-22 20:17:45 +01:00
Commit Graph

4697 Commits

Author SHA1 Message Date
jazzzooo
54a3e03b45 [fix] engine - openstreetmap currency matching 2023-09-12 20:57:05 +02:00
Bnyro
64d9587ac8 [feat] new engine: svgrepo 2023-09-12 20:38:36 +02:00
Markus Heiser
aa1453db0c [build] /static 2023-09-12 20:30:50 +02:00
Markus Heiser
a987672340 [mod] improve handling of the hotkeys
- KeyboardEvent: keyCode property is depricated, replaced by key property [2]

- the check for ifDetailOpened is not necessary, because the hotkeys are not
  only applicable to image-results, by example:

   `!goi !go !scc hello`

- Key bindings like h for help are to be used in general (not only in vim-mode)

[1] https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode
[2] https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-09-12 20:30:50 +02:00
Jinyuan Huang
e6b160da62 [feature] key bindings: left & right arrow are always on 2023-09-12 20:30:50 +02:00
jazzzooo
b189578b6b [fix] engine - brave 2023-09-12 11:31:43 +02:00
Bnyro
f182abd6f8 [mod] library of congress: fix engine 2023-09-11 19:42:31 +02:00
Bnyro
e73a6f5d14 [fix] engine deviantart: review of the result-scrapper
The deviantart site changed and hence deviantart is currently unusable.
2023-09-11 13:22:36 +02:00
Markus Heiser
1f7366060e [build] /static 2023-09-11 12:27:56 +02:00
Markus Heiser
935aed7ca4 [feature] dark theme for code highlighter in the result list
Closes: https://github.com/searxng/searxng/issues/1354

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-09-11 12:27:56 +02:00
Alexandre Flament
d07c006aed Replace chompjs with pure Python code
The new implementation is good enough for the current usage (brave)
2023-09-09 13:02:36 +02:00
Markus Heiser
8e45ac4271 [build] /static 2023-09-09 00:39:51 +02:00
Markus Heiser
15a3dbf7a0 [fix] preferences - layout of the "special queries" tab
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-09-09 00:39:51 +02:00
Bnyro
9e83c0dedc [feat] engine: implementation of Yummly
Co-authored-by: Markus Heiser <markus.heiser@damarit.de>
2023-09-08 11:47:13 +02:00
Bnyro
a3d7e9c285 [mod] utils.py: add markdown_to_text helper function 2023-09-08 11:47:13 +02:00
searxng-bot
c62605b3e3 [translations] update from Weblate
304f6af5c - 2023-09-04 - return42 <markus.heiser@darmarit.de>
76a4b6496 - 2023-09-03 - alexgabi <alexgabi@disroot.org>
2023-09-08 09:20:19 +02:00
Markus Heiser
019bd97f4b [fix] settings.yml - fix docs-links in the comments
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-09-06 11:35:39 +02:00
Hackurei
1f21ac7d62 [feat] engine: implementation of bilibili https://www.bilibili.com 2023-09-05 22:53:03 +02:00
Markus Heiser
696c35d2c3 [fix] engine - duckduckgo_images / determination of vqd value incorrect
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-09-05 22:24:51 +02:00
bonswouar
4fb26cd96d [fix] engine duckduckgo weather api changes 2023-09-05 16:55:00 +02:00
Markus Heiser
01be9e0e20 [fix] engine: wikicommons - don't quoute ':|' in URL parameters
From [1]: It seems to be because of [2] For some reason it gets url encoded
twice, resulting in

- ``filetype%253Abitmap%257Cdrawing+birds`` instead of
- ``filetype:bitmap%7Cdrawing+birds``

[1] https://github.com/searxng/searxng/issues/2707
[2] https://github.com/searxng/searxng/blob/master/searx/engines/wikicommons.py#L43

Closes: #2707
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-09-03 18:45:39 +02:00
Markus Heiser
4f8895c6de [fix] follow-up of 4da7003ae / add missing review from @Bnyro
[1] https://github.com/searxng/searxng/pull/2656#pullrequestreview-1607956209

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-09-02 09:26:45 +02:00
Hackurei
4da7003ae0 [feat] engine: implementation of odysee 2023-09-02 09:14:12 +02:00
Bnyro
9c4e9d3814 [feat] implementation of Wikimedia commons for images 2023-09-01 18:39:24 +02:00
searxng-bot
9fce459c7f [translations] update from Weblate
979909acc - 2023-09-01 - return42 <markus.heiser@darmarit.de>
f40af3403 - 2023-08-28 - return42 <markus.heiser@darmarit.de>
2023-09-01 09:29:07 +02:00
Jafar Farganlooj
7af66736c0 Create search-syntax.md fa 2023-08-30 16:39:10 +02:00
Jafar Farganlooj
26cd770cf7 [mod] Persian translation of the about page (fa_IR) 2023-08-30 16:13:44 +02:00
Alexandre Flament
faa4280e1a [mod] bing: resolve redirect without additional requests
Remove the usage of searx.network.multi_requests
The results from Bing contains the target URL encoded in base64
See the u parameter, remove the first two character "a1", and done.

Also add a comment the check of the result_len / pageno
( from https://github.com/searx/searx/pull/1387 )
2023-08-29 07:39:06 +02:00
dalf
f57842b05d Update searx.data - update_firefox_version.py 2023-08-29 07:21:46 +02:00
dalf
a5cd777350 Update searx.data - update_ahmia_blacklist.py 2023-08-29 07:21:21 +02:00
dalf
f361a10af6 Update searx.data - update_currencies.py 2023-08-29 07:20:42 +02:00
dalf
978062bdbe Update searx.data - update_engine_descriptions.py 2023-08-29 07:20:06 +02:00
dalf
f59fd8dc9b Update searx.data - update_wikidata_units.py 2023-08-29 07:17:44 +02:00
Markus Heiser
3294e7cfe4 [fix] reduce error logs related to X-Forwarded-For & X-Real-IP headers
To test start a `make run` instance and query multiple times for `ip` (the
answerer), you should see only once the error message(s):

    ERROR   searx.botdetection            : X-Forwarded-For header is not set!
    ERROR   searx.botdetection            : X-Real-IP header is not set!

[1] https://github.com/searxng/searxng-docker/discussions/174
[2] https://github.com/searxng/searxng-docker/pull/162#issuecomment-1692834457

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-28 08:05:17 +02:00
Bnyro
1428385d1c [mod] preferences.py: add and use BooleanSetting for checkbox preferences 2023-08-27 21:23:43 +02:00
Bnyro
e5535ec078 [feat] settings: replace boolean select preferences with checkboxes 2023-08-27 21:23:43 +02:00
Bnyro
5a5cfc1930 [mod] random answerer: add random hex color generator 2023-08-27 18:59:54 +02:00
Markus Heiser
b0d2cd5ca9 [doc] add documentation of Mwmbl engine & autocompleter
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-27 17:25:26 +02:00
Bnyro
df71c24b20 [mod] autocomplete.py: add support for mwmbl completions 2023-08-27 17:25:26 +02:00
Bnyro
19300a5659 [mod] engine mwmbl: add link to official api docs 2023-08-27 17:25:26 +02:00
Alexandre Flament
97b1df1629 [mod] searx.network: memory optimization
Avoid to create a SSLContext in AsyncHTTPTransportNoHttp

See:
* 0f61aa58d6/httpx/_transports/default.py (L271)
* https://github.com/encode/httpx/issues/2298
2023-08-27 11:49:40 +02:00
Alexandre Flament
e16c007c22 [fix] openstreetmap engine
It seems there is an API change:
extratags can be either a dictionnary or None.

This commit avoid crash when extratags is None

Test query "!osm gare du nord"
2023-08-27 11:49:16 +02:00
Markus Heiser
0647f83a3e [fix] google engine: don't overspecify the search query to Google
The method EngineTraits.get_region(..) returns engine's region string
that **best fits** to SearXNG's locale.  This means it returns a
region (country) if only a language is set in the locale.  By example the method
returns for a locale tag `es` a region `ES`.

Google's search parameter `cr` restricts search results to documents originating
in a particular country / in case of a locale tag (language) as described above,
this argument should be unset in the query send to Google.

Closes: https://github.com/searxng/searxng/issues/2672
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-26 07:47:07 +02:00
searxng-bot
7d806d1020 [translations] update from Weblate
a6c2d1988 - 2023-08-22 - shoko <nickskorohod@outlook.com>
38bc33a71 - 2023-08-20 - return42 <markus.heiser@darmarit.de>
0ff21aa3c - 2023-08-19 - MonsoonFire <re1qnb5mq@mozmail.com>
2023-08-25 09:36:49 +02:00
Paul Braeuning
9069da051a
Merge pull request #2644 from dalf/update_httpx
Bump httpx 0.21.2 from to 0.24.1
2023-08-24 23:12:06 +02:00
Markus Heiser
4b42644579 [fix] engine google_video: google has changed the layout of the rsponse
Closes: https://github.com/searxng/searxng/issues/2664
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-22 08:34:04 +02:00
Alexandre Flament
b4e4cfc026 Bump httpx 0.21.2 from to 0.24.1 2023-08-21 22:05:12 +02:00
Markus Heiser
d52919cc3e [mod] decrease the weighting of wikivoyage, wikibooks, wikisource and wikiversity
The search engines deliver hits for many search terms [1], but these are usually
not the focus of the user. In order to arrange these hits further down in the
list, their weighting is reduced.

[1] https://github.com/searxng/searxng/pull/2589#issuecomment-1670915089

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-21 21:52:40 +02:00
PlayDay
018b0a9322 [feat] engine: XPath configuration for pkg.go.dev 2023-08-19 19:19:31 +02:00
Bnyro
c59ae91b76 [feat] engine: implementation of mwmbl 2023-08-19 18:23:42 +02:00
searxng-bot
bb9e9ab773 [translations] update from Weblate
d8e4100b6 - 2023-08-16 - return42 <markus.heiser@darmarit.de>
b8e03f3bc - 2023-08-17 - ghose <correo@xmgz.eu>
2023-08-18 19:22:13 +02:00
Markus Heiser
c741fc6f00 [mod] currency_convert: support for showing the answer source url
Show URL of the ddg-search page, not the URL of a (generic) Javascript.  The
latter one is not usefull for the user.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-18 19:07:14 +02:00
Markus Heiser
e2744520f8 [mod] google: support for showing the answer source url
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-18 19:07:14 +02:00
Bnyro
5ec7df3480 [mod] engine duckduckgo definitions: support for answer source 2023-08-18 19:07:14 +02:00
Bnyro
64bc98b5fb [mod] brave: support for showing the answer source url 2023-08-18 19:07:14 +02:00
Markus Heiser
6fc2ee514d [build] /static 2023-08-18 19:07:14 +02:00
Bnyro
13d801b75d [feat] results: show source of suggested answer 2023-08-18 19:07:14 +02:00
Markus Heiser
9100a48541 [mod] improve seekr engines and add documentation
Tis patch adds some more fields to the result items and changed paging to the
``nextResultSet`` given in seekr's JSON response.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-15 16:17:42 +02:00
Bnyro
2bab658d39 [feat] engine: implementation of seekr for news, images and videos 2023-08-15 16:17:42 +02:00
Markus Heiser
7052a1a7cf [drop] engine archive.is / blocked by CAPTCHA [1]
Sadly archive.is is blocked by a CAPTCHA that can't be avoid (at least in a
XPath engine).

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-14 08:50:13 +02:00
mrpaulblack
621b09b9b9 [fix] preferences: change engine table category colspan to 8
* this is a small fix to increase the colspan of the category in engine preferences from 7 to 8, since there was a column added
=> fixing a small fallout from 4731290317
2023-08-14 07:11:06 +02:00
ToxyFlog1627
f175574f37 [fix] typos in documentation & messages 2023-08-13 08:50:29 +02:00
Markus Heiser
c348427f07 [update] make pygments.less
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-11 10:54:50 +02:00
searxng-bot
99df7b84d1 [translations] update from Weblate
12c527bcd - 2023-08-10 - maxch <maxletters@tutanota.com>
ea46b66fc - 2023-08-10 - return42 <markus.heiser@darmarit.de>
ae3d8dcdf - 2023-08-10 - return42 <markus.heiser@darmarit.de>
ab6a59e35 - 2023-08-10 - return42 <markus.heiser@darmarit.de>
1db1affcc - 2023-08-10 - gallegonovato <fran-carro@hotmail.es>
94b682aa0 - 2023-08-10 - Fjuro <ifjuro@proton.me>
07c49bb6c - 2023-08-10 - return42 <markus.heiser@darmarit.de>
2023-08-11 09:17:56 +02:00
Bnyro
c76c999a1e [feat] engine: implementation of anaconda 2023-08-10 23:51:07 +02:00
Bnyro
e25d1c7288 [feat] engine: implementation of German news, Tagesschau
Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-10 20:27:54 +02:00
GeckoLinux
2256ba2ffb [mod] settings.yml: move wolframalpha to categ general & disable by default
As suggested in comment [1] as a good compromise between [2] and [3].

This will help users that want Wolfram Alpha instant answers by default with
every query and don't mind the slowness.  It will be disabled by default so it's
fast for all users, and those that need it can enable it as a user-configurable
option without requiring setting up their own instance to change the Wolfram
Alpha categorization.

[1] https://github.com/searxng/searxng/pull/813#issuecomment-1574851572
[2] https://github.com/searxng/searxng/pull/813#issuecomment-1020581765
[3] https://github.com/searxng/searxng/issues/966#issue-1171107451
2023-08-10 14:31:09 +02:00
Bnyro
834e1c3f12 [mod] engine lemmy: increase thumbnail quality to align with theme 2023-08-10 12:58:40 +02:00
Markus Heiser
c381fc001f [mod] settings: remove lemmy from categ 'general' & enable by default
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-10 12:58:40 +02:00
Markus Heiser
fda111c0c9 [mod] engine lemmy: add more info fields to the result items
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-10 12:58:40 +02:00
Bnyro
224f2250ae [feat] engine: support for lemmy communities, posts, comments and users 2023-08-10 12:58:40 +02:00
Bnyro
9f82c39610 [mod] engine google_play: raise error on unsupported category 2023-08-10 12:35:24 +02:00
Bnyro
0a99dc85b9 [mod] engine brave: raise error on unsupported category 2023-08-10 12:35:24 +02:00
Bnyro
4731290317 [mod] settings: show weight of each instance 2023-08-10 10:50:14 +02:00
Markus Heiser
733b795d53 [fix] make flask_babel.gettext() work in engine modules (L10n & threads)
incident:
  flask_babel.gettext() does not work in the engine modules.

cause:
  the request() and response() functions of the engine modules run in the
  processor, whose search() method runs in a thread and in the threads the
  context of the Flask app does not exist. The context of the Flask app is
  needed by the gettext() function for the L10n.

Solution:
  copy context of the Flask app into the threads. [1]

special case:
  We cannot equip the search() method of the processors with the decorator [1],
  because the decorator requires a context (Flask app) that does not yet exist
  at the time of the initialization of the processors (the initialization of the
  processors is part of the initialization of the Flask app).

[1] https://flask.palletsprojects.com/en/2.3.x/api/#flask.copy_current_request_context

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-09 13:27:43 +02:00
allendema_searxng_pi
c00c0c5434 [mod] remove discontinued petalsearch engines 2023-08-09 07:17:40 +02:00
Markus Heiser
b8352eca0c [mod] brave engines: add fetch_traits() / improve language support
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-08 16:21:45 +02:00
Markus Heiser
460bbe5b81 [mod] implement brave (WEB) engine to replace XPath configuration
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-08 16:21:45 +02:00
Bnyro
d151497db3 [feat] engine: brave - support for news 2023-08-08 16:21:45 +02:00
Bnyro
cae06f2781 [feat] engine: brave - support for videos 2023-08-08 16:21:45 +02:00
Bnyro
73364e158e [feat] engine: brave - support for images 2023-08-08 16:21:45 +02:00
Markus Heiser
bcaaae699f [doc] fix some minor typos in the doc-strings of class EngineTraits
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-08 08:15:53 +02:00
Markus Heiser
a2108432f7 [fix] settings.yml: typo in engine name wikipecies -> wikispecies
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-07 10:35:44 +02:00
Markus Heiser
1d0abb7157 [doc] engine bt4g: add documentation to docs/dev/engines/online/
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-06 09:30:48 +02:00
Emilien Devos
0fc8f99ecc [feat] new engine: bt4g added & enabled and disable by default btdigg
Disable btdigg because on most SearXNG instances, SearXNG is blocked by btdigg
due to cloudflare too many requests.

This impementation did not parse the HTML page because there is an API in
XML (RSS).  The RSS feed provides fewer data like amount of seeders/leechers and
the files in the torrent file. It's a tradeoff for a "stable" engine as the XML
from RSS content will change way less than the HTML page.

Closes: https://github.com/searxng/searxng/issues/2553
2023-08-06 09:30:48 +02:00
Markus Heiser
dad16c0949 [mod] settings.yml: enable engines from Wikimedia Foundation
The Wikimedia wikis [1] engines provide good answers and have short response
times --> no reason to disable these enhgines by default.  BTW: this patch adds
a (sub-) category ``wikimedia`` for the engines [1].

[1] https://meta.wikimedia.org/wiki/Wikimedia_wikis

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-04 19:06:50 +02:00
Markus Heiser
db522cf76d [mod] engine: wikimedia - improve results, add addition settings & doc
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-04 19:06:50 +02:00
Bnyro
7d8c20c80d [feat] new engine: wikispecies 2023-08-04 19:06:50 +02:00
searxng-bot
9a5e91ce84 [translations] update from Weblate
310daeb72 - 2023-08-03 - return42 <markus.heiser@darmarit.de>
01be8a264 - 2023-08-01 - return42 <markus.heiser@darmarit.de>
2023-08-04 09:30:11 +02:00
Markus Heiser
1b030d4b41 [doc] engine: Yacy
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-03 19:58:51 +02:00
zutto
ca518c6803 add option to change yacy search mode 2023-08-03 19:58:51 +02:00
Markus Heiser
203f1f0928 [fix] engine piped: 'invalid content'
SearXNG does not allow a None value in the content field of a result item.

If the key (shortDescription, uploaderName) in the JSON response from piped
exists but is set to None, SearXNG ignores this result item::

  DEBUG   searx    : result: invalid content: { ..,  'content': None,  ..}

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-03 16:23:36 +02:00
Markus Heiser
207fcc0c8c [mod] engine piped: add paging support
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-03 16:23:36 +02:00
Markus Heiser
ef5831cd84 [mod] engine piped: split into two dedicated engiens for video & music
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-03 16:23:36 +02:00
Markus Heiser
7aa95d2d52 [doc] engine piped: add documentation to docs/dev/engines/online/
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-03 16:23:36 +02:00
Bnyro
636bfdac68 [feat] engine: implementation of Piped 2023-08-03 16:23:36 +02:00
dalf
8b4ba204b7 Update searx.data - update_engine_descriptions.py 2023-07-29 11:02:54 +02:00
dalf
d421385dc6 Update searx.data - update_wikidata_units.py 2023-07-29 11:02:23 +02:00
dalf
290f16207b Update searx.data - update_currencies.py 2023-07-29 11:02:14 +02:00
dalf
fcd2013511 Update searx.data - update_firefox_version.py 2023-07-29 11:01:28 +02:00