Commit graph

3679 commits

Author SHA1 Message Date
Markus Heiser
795e8af61d [fix] hostname_replace.py: don't stop replace URL in fields
This is a rewrite of the hostname_replace.py that:

- don't stop to replace URL in fields ('data_src', 'audio_src') if there isn't a
  'parsed_url',
- adds a comment about keep or remove a result from the result list
- adds a loop over ['data_src', 'audio_src'] instead of doubling code lines

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-18 18:59:58 +01:00
Markus Heiser
98cab4cf75 [mod] result_templates/default.html replace embedded HTML by data_src audio_src
Embedded HTML breaks SearXNG architecture.  To modularize, HTML is generated in
the templates (oscar & simple) and result parameter 'embedded' is replaced by
'data_src' (and 'audio_src'), an URL for embedded content (<iframe>).

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-13 14:20:47 +01:00
Markus Heiser
b9a2e8b387 [mod] hostname_replace: replace hostnames in result's data_src param
To test you need to redirect embeded videos (e.g.) from youtube to a invidios
instance.  Search for videos using engine `!youtube lebowski`.  The result URLs
and the embeded videos should link to the invidios instance.

Here is an example of such a `hostname_replace` configuration::

    hostname_replace:

      # youtube --> Invidious

      '(.*\.)?youtube-nocookie\.com': 'invidio.xamh.de'
      '(.*\.)?youtube\.com$': 'invidio.xamh.de'
      '(.*\.)?invidious\.snopyta\.org$': 'invidio.xamh.de'
      '(.*\.)?vid\.puffyan\.us': 'invidio.xamh.de'
      '(.*\.)?invidious\.kavin\.rocks$': 'invidio.xamh.de'
      '(.*\.)?inv\.riverside\.rocks$': 'invidio.xamh.de'

Closes: https://github.com/searxng/searxng/issues/873
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-13 14:20:47 +01:00
Markus Heiser
46e131fdad [mod] result_templates/videos.html: replace embedded HTML by data_src
Embedded HTML breaks SearXNG architecture.  To modularize, HTML is generated in
the templates (oscar & simple) and result parameter 'embedded' is replaced by
'data_src', an URL for embedded content (<iframe>).

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-13 14:20:47 +01:00
Alexandre Flament
a4942213a1
Merge pull request #892 from dalf/limiter-update
plugin limiter: check only /image_proxy and /search
2022-02-12 18:17:05 +01:00
Alexandre Flament
b99ccd7c02 plugin limiter: check only /image_proxy and /search
also adjust the number of req/time
2022-02-12 15:57:07 +01:00
Markus Heiser
9cd9dfd26e
Merge pull request #887 from unixfox/patch-5
Update the XPath for fetching the Google results
2022-02-12 15:11:27 +01:00
Alexandre Flament
782c81ec17
Merge pull request #884 from return42/disable-deezer
[mod] disable deezer engine by default
2022-02-11 22:39:18 +01:00
searxng-bot
eee41a2857 [translations] update from Weblate
085368cc - 2022-02-08 - akynr <ak.red@web.de>
9b531712 - 2022-02-09 - Justas Zabulionis <justas.zabulionis@gmail.com>
6e13d297 - 2022-02-06 - Markus Heiser <markus.heiser@darmarit.de>
b1ac1da2 - 2022-02-06 - Markus Heiser <markus.heiser@darmarit.de>
de117bfe - 2022-02-10 - Tamas Veres <zsumba1985@gmail.com>
7392a5b0 - 2022-02-10 - Markus Heiser <markus.heiser@darmarit.de>
a28a60d9 - 2022-02-07 - Markus Heiser <markus.heiser@darmarit.de>
2022-02-11 07:16:09 +00:00
Émilien Devos
7d3e8118b0
Update the XPath for fetching the Google results 2022-02-09 14:34:14 +01:00
Markus Heiser
f2e16904a5 [mod] disable deezer engine by default
To play content from deezer a account is needed, the majority of the SearXNG
won't have.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-07 22:58:05 +01:00
Markus Heiser
906a0a99cd [fix] openstreatmap: load thumbnail from uploads.wikimedia.org
Openstreatmap images are now loaded from uploads.wikimedia.org instead of
commons.wikimedia.org to prevent redirects.

With `image_proxy` enabled images from commons.wikimedia.org cant be loaded
since they are redirected.  We already discussed this issue [875] and
@tiekoetter fixed this issue in PR [878].

Related-to:
- [875] https://github.com/searxng/searxng/issues/875
- [878] https://github.com/searxng/searxng/pull/878
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-07 13:05:52 +01:00
Markus Heiser
a967e59590 [pylint] searx/engines/wikidata.py (no functional change)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-07 10:15:32 +01:00
Léon Tiekötter
1c151ae92b
[fix] wikidata: URL decoding and file extension handling
Add '.png' to the second img_src_name if it has the extension '.svg'.
Use urllib.parse.unquote for URL decoding.
2022-02-07 00:21:02 +01:00
Markus Heiser
a13c5d70c7 [fix] wikidata engine: select image with higher (not lower) priority
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-06 23:35:55 +01:00
Léon Tiekötter
a50f32bcfc
wikidata: load thumbnail instead of full image 2022-02-06 23:25:50 +01:00
Léon Tiekötter
560a14e77b
[fix] wikidata info box images
Wikidata info box images are now loaded from uploads.wikimedia.org instead of commons.wikimedia.org to prevent redirects

Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-06 22:16:06 +01:00
Alexandre Flament
10e6881ca8
Merge pull request #867 from return42/fix-base_url_rand
[fix] invidious engine: store random base_url in param
2022-02-05 09:03:20 +01:00
Alexandre Flament
bf987bb608
Merge pull request #848 from not-my-profile/help-route
Introduce `/help` route
2022-02-05 08:52:19 +01:00
Martin Fischer
91527fbd6b [enh] avoid /about redirect in template links 2022-02-05 04:53:21 +01:00
Markus Heiser
24e2acf88e
Merge pull request #839 from dalf/docs_searx_utils
[mod] add documentation about searx.utils
2022-02-04 21:28:27 +00:00
Martin Fischer
07936060d1 preferences: Set autocomplete=off for form
Otherwise you can change the value of a select,
refresh the page and the preferences stay changed,
leaving the wrong impression that they were saved.
2022-02-04 21:11:29 +01:00
Markus Heiser
b35ef9789b [pylint] engines/invidious.py
Fix remarks from pylint and remove usless comments

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-04 15:42:06 +01:00
Markus Heiser
e2ec6b4211 [fix] invidious engine: store random base_url in param
Two different threads ( = two different user queries) can call the request
function in a row and then the response function.  The namespace will be same
since this is the same engine.

To keep exactly the same value ``base_url`` must be stored in params and then
retrieve using ``resp.search_params["base_url"]``.

Suggested-by: @dalf https://github.com/searxng/searxng/pull/862#discussion_r799324861
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-04 15:42:06 +01:00
Markus Heiser
ae804ddf40
Merge pull request #862 from return42/fix-858
[fix] solidtorrents engine - JSON API no longer exists
2022-02-04 14:38:36 +00:00
Markus Heiser
ddc2102a07 [fix] solidtorrents engine: store random bas_url in param
Two different threads ( = two different user queries) can call the request
function in a row and then the response function.  The namespace will be same
since this is the same engine.

To keep exactly the same value ``base_url`` must be stored in params and then
retrieve using ``resp.search_params["base_url"]``.

Suggested-by: @dalf https://github.com/searxng/searxng/pull/862#discussion_r799324861
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-04 14:55:21 +01:00
Markus Heiser
d6061b7c8a [mod] solidtorrents engine: add metadata & torrentfile
BTW: define min_len in eval_xpath_list of 'stats' list

Suggested-by: @dalf https://github.com/searxng/searxng/pull/862#pullrequestreview-872910744
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-04 14:53:42 +01:00
Markus Heiser
f9c4868142 [fix] solidtorrents engine: use get_torrent_size from searx.utils
Suggested-by: @dalf https://github.com/searxng/searxng/pull/862#pullrequestreview-872858489
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-04 14:53:42 +01:00
Markus Heiser
d92b3d96fd [fix] solidtorrents engine: JSON API no longer exists
The API endpoint, we where using does not exist anymore.  This patch is a
rewrite that parses the HTML page.

Related: https://github.com/paulgoio/searxng/issues/17
Closes: https://github.com/searxng/searxng/issues/858

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-04 14:53:37 +01:00
Markus Heiser
de32d543bc
Merge pull request #863 from searxng/dependabot/pip/master/black-22.1.0
Bump black from 21.12b0 to 22.1.0
2022-02-04 08:52:22 +00:00
Markus Heiser
2e5d562da3
Merge pull request #865 from searxng/dependabot/npm_and_yarn/searx/static/themes/simple/master/sharp-0.30.0
Bump sharp from 0.29.3 to 0.30.0 in /searx/static/themes/simple
2022-02-04 08:52:04 +00:00
Markus Heiser
964902e779 [fix] issue reported by pylint 22.1.0
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-04 09:45:35 +01:00
searxng-bot
cc99386523 [translations] update from Weblate
bf218121 - 2022-01-31 - Markus Heiser <markus.heiser@darmarit.de>
ba9e50fd - 2022-01-30 - Genghis Khan <genghiskhan@gmx.ca>
258505ba - 2022-01-29 - Markus Heiser <markus.heiser@darmarit.de>
dacbf882 - 2022-01-31 - Markus Mikkonen <markus.mikkonen@outlook.com>
968e7f6b - 2022-02-02 - Marco Ciampa <ciampix@posteo.net>
2022-02-04 07:14:12 +00:00
dependabot[bot]
6eee2d8771
Bump sharp from 0.29.3 to 0.30.0 in /searx/static/themes/simple
Bumps [sharp](https://github.com/lovell/sharp) from 0.29.3 to 0.30.0.
- [Release notes](https://github.com/lovell/sharp/releases)
- [Changelog](https://github.com/lovell/sharp/blob/main/docs/changelog.md)
- [Commits](https://github.com/lovell/sharp/compare/v0.29.3...v0.30.0)

---
updated-dependencies:
- dependency-name: sharp
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-04 07:10:14 +00:00
Alexandre Flament
9fae80facb
Merge pull request #618 from dalf/limiter
[enh] limiter plugin
2022-02-02 09:24:34 +01:00
Alexandre Flament
f79b0fce06 [enh] limiter plugin
can replace filtron:
* rate limite the number of request per IP and per (IP, User-Agent)
* block some bots

use Redis
data stored in Redis never contains the IP addresses, only HMAC using the secret_key

Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-02 09:15:59 +01:00
Markus Heiser
07f7289e23
Merge pull request #849 from return42/fix-787
[fix] engines description - currency_convert.py
2022-02-01 07:19:05 +00:00
Markus Heiser
50a56532c4 [pylint] engines/currency_convert.py
Fix remarks from pylint

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-01 08:02:42 +01:00
Markus Heiser
314ea2dc61
Merge pull request #852 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2022-02-01 06:52:57 +00:00
Markus Heiser
4d0bd47ff0
Merge pull request #853 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2022-02-01 06:52:19 +00:00
Markus Heiser
20cbabff96
Merge pull request #851 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2022-02-01 06:48:54 +00:00
dalf
f4f90aa3a4 Update searx.data - update_firefox_version.py 2022-02-01 06:23:16 +00:00
dalf
7b402e1aa0 Update searx.data - update_ahmia_blacklist.py 2022-02-01 06:23:01 +00:00
dalf
1c47f4b6e0 Update searx.data - update_currencies.py 2022-02-01 06:23:00 +00:00
dalf
e78dc45d1e Update searx.data - update_wikidata_units.py 2022-02-01 06:22:58 +00:00
Martin Fischer
14338e2c3b [enh] generate navigation for help pages 2022-02-01 06:29:22 +01:00
Martin Fischer
c53c295573 [enh] make searx.user_help use an explicit TOC
When we have multiple help pages we want them
to be displayed in a specific order.
2022-02-01 06:29:22 +01:00
Martin Fischer
0f7bcd17b2 [build] /static 2022-02-01 06:29:19 +01:00
Martin Fischer
5012d06e72 [simple] allow .tabs to be used for help pages 2022-02-01 06:28:26 +01:00
Martin Fischer
fb9eedbf40 [enh] introduce /help route
Translation will be implemented in the future.
For now the "en" in /help/en/<pagename> is hardcoded.
2022-02-01 06:28:26 +01:00