Commit graph

3858 commits

Author SHA1 Message Date
Markus Heiser
a25e3767d4 [fix] don't show flags for languages without region identifier
SearXNG shows two different things:

region:
  "de-CH" is the equivalent of "Schweiz (de)" in DDG.

languages:
  "en" doesn't say anything about the location. It is up the engines to do their
  best to select English results without a region.

Suggested-by: @dalf https://github.com/searxng/searxng/pull/967#issuecomment-1072979693
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-19 15:09:13 +01:00
Markus Heiser
2841abaf55 [mod] add flags to the languages filter
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-19 15:09:13 +01:00
Markus Heiser
7625da9fa0
Merge pull request #986 from dalf/fix-startpage-fetch_supported_languages
fix startpage: update XPath in _fetch_supported_languages
2022-03-19 14:49:22 +01:00
Alexandre Flament
378b29be2f fix startpage: update XPath in _fetch_supported_languages 2022-03-19 14:16:37 +01:00
Alexandre Flament
b692035120
Merge pull request #894 from dalf/simple-aria-1
[enh] simple: basic ARIA fixes
2022-03-19 12:00:03 +01:00
searxng-bot
06ff1ad967 [translations] update from Weblate
5ef4a876 - 2022-03-16 - Joseph Ko <eaglclaws@gmail.com>
4f81930f - 2022-03-16 - Markus Heiser <markus.heiser@darmarit.de>
7d2abf90 - 2022-03-17 - Markus Heiser <markus.heiser@darmarit.de>
87d5542e - 2022-03-16 - Markus Heiser <markus.heiser@darmarit.de>
d39c1e67 - 2022-03-16 - Joseph Ko <eaglclaws@gmail.com>
7b0c3b03 - 2022-03-16 - Joseph Ko <eaglclaws@gmail.com>
fc37b695 - 2022-03-16 - Joseph Ko <eaglclaws@gmail.com>
7df01eea - 2022-03-16 - Joseph Ko <eaglclaws@gmail.com>
56af42c2 - 2022-03-13 - Markus Heiser <markus.heiser@darmarit.de>
4b17697d - 2022-03-14 - Joseph Ko <eaglclaws@gmail.com>
f5523f9d - 2022-03-12 - Markus Heiser <markus.heiser@darmarit.de>
04998001 - 2022-03-12 - Nik Drešar <nik.dresar@gmail.com>
e6f4d878 - 2022-03-13 - AHOHNMYC <lqwh2h2cwa@protonmail.com>
ede86266 - 2022-03-11 - Matheus Henrique <niletcode@gmail.com>
362b7f2e - 2022-03-12 - Markus Heiser <markus.heiser@darmarit.de>
da14280c - 2022-03-13 - Markus Heiser <markus.heiser@darmarit.de>
d68537d2 - 2022-03-12 - PLefebvreBJO <contact@plefebvrebjo.com>
da27e825 - 2022-03-12 - Markus Heiser <markus.heiser@darmarit.de>
1d00cc00 - 2022-03-12 - Markus Heiser <markus.heiser@darmarit.de>
2022-03-18 07:17:25 +00:00
Alexandre Flament
26d47fe587
Merge pull request #975 from return42/fix-723
[fix] remove unmaintained searx/templates/simple/simple.spec.txt
2022-03-17 19:41:23 +01:00
Markus Heiser
3922612775 [fix] remove unmaintained searx/templates/simple/simple.spec.txt
Files hasn't been updated since it initial commit in 2017

Closes: https://github.com/searxng/searxng/issues/723
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-17 11:38:00 +01:00
Alexandre Flament
dbe3eaabc9 Info: code refactoring & bug fixes 2022-03-16 22:26:36 +01:00
mrpaulblack
a1776ff57d [build] /static 2022-03-16 21:01:42 +01:00
mrpaulblack
6a8e168e25 [simple theme] use default font and font-size in info page 2022-03-16 21:01:22 +01:00
Markus Heiser
9622dbbc6b [upd] searx/translations/messages.pot
generated by::

  ./manage pyenv.cmd pybabel extract \
      -F babel.cfg \
      -o "searx/translations/messages.pot"\
      "searx/"

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-16 09:55:53 +01:00
Markus Heiser
784bf9ed15 [mod] move category and names of constants to searx/searxng.msg
Closes: https://github.com/searxng/searxng/issues/814
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-16 09:55:53 +01:00
Markus Heiser
b9cf3c82a1 [mod] add i18n infrastructure for SearXNG message files (searxng.msg)
With this patch ``searxng.msg`` files can be added to SearXNG.  In
``searxng.msg`` files messages can be defined which are not captured by babel's
gettext, like the generic names of the categories or messages that are stored in
constants.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-16 09:55:53 +01:00
Markus Heiser
cd92a7eacd
Merge pull request #930 from return42/merge-user-doc2
Integrate the user documentation into the application
2022-03-13 23:12:46 +01:00
Alexandre Flament
1157462ff9 Various change on PR 930 2022-03-13 22:22:02 +01:00
Markus Heiser
59100e8525 [fix] add module for backward compatibility
cache_property has been added in py3.8 [1]

To support cache_property in py3.7 the implementation from 3.8 has been
copied to compat.py.  This code can be cleanup with EOL of py3.7.

[1] https://docs.python.org/3/library/functools.html#functools.cached_property

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-12 15:45:28 +01:00
Markus Heiser
8d83e4aeff [build] /static 2022-03-12 11:36:31 +01:00
Markus Heiser
3633dc5611 [simple] add CSS for /info pages
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-12 11:36:31 +01:00
Markus Heiser
b1912607ae [mod] replace /help by /info pages and include pages in project docs
This patch implements a bolierplate to share content from info-pages of the
SearXNG instance (URL /info) with the project documentation (path /docs/user).

The info pages are using Markdown (CommonMark), to include them in the project
documentation (reST) the myst-parser [1] is used in the Sphinx-doc build chain.

If base_url is known (defined in settings.yml) links to the instance are also
inserted into the project documentation::

    searxng_extra/docs_prebuild

[1] https://www.sphinx-doc.org/en/master/usage/markdown.html

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-12 11:36:31 +01:00
searxng-bot
e475828ed2 [translations] update from Weblate
7f5432c9 - 2022-03-11 - Matheus Henrique <niletcode@gmail.com>
1d7a266c - 2022-03-07 - Markus Heiser <markus.heiser@darmarit.de>
54256fcf - 2022-03-08 - Dmitry Zakharchenko <dmitz@disroot.org>
5240149c - 2022-03-08 - Dmitry Zakharchenko <dmitz@disroot.org>
db511b5a - 2022-03-07 - Deleted User <noreply+256@weblate.org>
114f4399 - 2022-03-04 - Markus Heiser <markus.heiser@darmarit.de>
2022-03-11 07:17:00 +00:00
Alexandre Flament
d597f36e07 [fix] simple: the clear button works without javascript
related to #928
2022-03-08 19:37:21 +00:00
Alexandre Flament
a250ddadb9 [enh] simple: basic ARIA fixes 2022-03-08 19:37:21 +00:00
Markus Heiser
53b5a804e2 [fix] engine mediathekviewweb: replace http links by https
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-07 19:49:16 +01:00
Martin Fischer
579334a7d8 [help] move about.md to searx/help/en/ 2022-03-07 08:29:00 +01:00
Alexandre Flament
740e3bc90f
Merge pull request #932 from dalf/static-file-hash
static files: add a hash as a query
2022-03-05 12:03:44 +01:00
Markus Heiser
20f4538e13 [fix] engine: Semantic Scholar (Science) // rework & fix
Closes: https://github.com/searxng/searxng/issues/939
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-05 11:53:41 +01:00
Alexandre Flament
1c7d8815fb [mod] URL for the static file contains the sha1
* allow to cache the static file forever
* avoid bugs when the static files are updated but not reloaded
2022-03-05 10:50:48 +00:00
Alexandre FLAMENT
041446d12a [build] /static 2022-03-04 08:28:58 +00:00
Alexandre FLAMENT
8ffbaa086a [simple] switch to the tablet layout at 79.75em
The previous value was 80em (1280px).
Some desktop screens have this resolution,
and tablet layout takes too much space in this configuration

This PR switch to the table layout for screen width strictly below 1280px.

Close https://github.com/searxng/searxng/issues/874
2022-03-04 08:26:02 +00:00
searxng-bot
ebcf78eaa5 [translations] update from Weblate
82b357ae - 2022-03-02 - Markus Heiser <markus.heiser@darmarit.de>
5aa11c25 - 2022-03-02 - Markus Heiser <markus.heiser@darmarit.de>
c188070f - 2022-02-25 - OctopusET <sumoon@seoulsaram.org>
9b93e452 - 2022-02-26 - Markus Heiser <markus.heiser@darmarit.de>
2a286e9a - 2022-02-25 - OctopusET <sumoon@seoulsaram.org>
2022-03-04 07:17:06 +00:00
Alexandre FLAMENT
28bccda78a [build] /static 2022-03-02 18:56:37 +00:00
Alexandre Flament
3d9e48b84e [simple] checkboxes can get the focusable
Do note that checkboxes in the engine tab are displayed reversed.
See: 3408d061aa/searx/templates/simple/preferences.html (L313)
A checkbox for an engine is checked when the engine is disabled.
2022-03-02 18:56:08 +00:00
Markus Heiser
0ddcc12474
Merge pull request #934 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2022-03-01 07:54:58 +01:00
Markus Heiser
69f84d941f
Merge pull request #935 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2022-03-01 07:53:33 +01:00
Markus Heiser
5508155252
Merge pull request #936 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2022-03-01 07:52:54 +01:00
dalf
f4c6eba227 Update searx.data - update_currencies.py 2022-03-01 06:25:18 +00:00
dalf
6946c4566f Update searx.data - update_wikidata_units.py 2022-03-01 06:24:57 +00:00
dalf
49bc3971ae Update searx.data - update_firefox_version.py 2022-03-01 06:24:55 +00:00
dalf
6add9dd6d3 Update searx.data - update_ahmia_blacklist.py 2022-03-01 06:24:53 +00:00
Alexandre Flament
2e1d4fac5d [build] /static 2022-02-27 19:49:44 +01:00
Alexandre Flament
56bb1443c4 [fix] simple: display "Click on the magnifier..." only the mouse over the categories 2022-02-27 19:48:21 +01:00
Alexandre Flament
e435806505 [fix] simple: detect touch screen using media query
related to https://github.com/searxng/searxng/issues/928
2022-02-27 19:26:52 +01:00
mrpaulblack
e2a5dddf8e [build] /static 2022-02-26 22:32:28 +01:00
mrpaulblack
21e3c40516 [simple theme] replace Image_layout.js with flexbox CS impl.
* drop image_layout.js from simple theme
* move image_layout.js to oscar theme and delete common js dir (since its empty now)
* align top position of image detail modal with bottom position of search header
* use flexbox to display images; row height can be set via @results-image-row-height in defenitions.less
* display span title underneath each image with a max width of 12rem
* increase margin and padding around image article on desktop and tablet
* make article height smaller on phone layout (height of 6rem) to display more content on current view
* remove content from result, if the title and content matches
* use a group that cotains the flex image article, if images are mixed with other categories
* fix pylint issues in webapp.py
* use the default.html result template in unit tests (thanks @return42)
2022-02-26 22:31:47 +01:00
Paul Braeuning
3408d061aa
Merge pull request #924 from MontyQI/search-filters
Search filters changes
2022-02-26 10:16:06 +01:00
Monty
6d03fa002f [build] /static 2022-02-26 10:07:07 +01:00
Monty
b850178d26 Search filters changes
Better search filters view on mobile.
2022-02-26 10:05:23 +01:00
searxng-bot
338304078b [translations] update from Weblate
3ecf1edf - 2022-02-21 - Linerly <linerly@protonmail.com>
f6c9465b - 2022-02-23 - Markus Heiser <markus.heiser@darmarit.de>
988c0c74 - 2022-02-22 - Alexandre Flament <alex@al-f.net>
60fbd734 - 2022-02-22 - Markus Heiser <markus.heiser@darmarit.de>
2022-02-25 07:16:36 +00:00
Markus Heiser
8d937179ab
Merge pull request #913 from return42/add-artwork
[mod] add artwork to mixcloud & soundcloud engines
2022-02-21 22:24:40 +01:00
Markus Heiser
96ac99b1f6 [build] /static 2022-02-21 22:16:24 +01:00
Markus Heiser
b08b81b434 [mod] bandcamp & genius: in result set img_src instead thumbnail
Suggested-by: @dalf https://github.com/searxng/searxng/pull/900#issuecomment-1046009057
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-21 22:12:07 +01:00
Markus Heiser
bded1ee280 [fix] genius: add player an avoid exceptional programming
Add player:

- The players are just playing 30sec from the title.  Some of the player will be
  blocked because of a cross-origin request and some players will link to apple
  when you press the play button.

Avoid exceptions and (and BTW improve results)

-  ERROR   searx.engines.genius          : list index out of range

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-21 22:12:07 +01:00
Léon Tiekötter
de5062c10a
[mod] version formatting
Change SearXNG version formatting to YYYY.MM.DD-commit_hash
2022-02-21 21:18:37 +01:00
Alexandre Flament
8230603f48
Merge pull request #916 from dalf/pref_infinite_scroll2
Convert the infinite_scroll plugin as a preference (second version)
2022-02-21 12:49:04 +01:00
Alexandre Flament
1832ec742a [build] /static 2022-02-20 22:58:51 +01:00
Alexandre Flament
56e34947a6 [mod] infinite_scroll as preference
* oscar theme: code from searx/plugins/infinite_scroll.py
* simple theme: new implementation

Co-authored-by: Markus Heiser <markus.heiser@darmarIT.de>
2022-02-20 22:58:51 +01:00
Markus Heiser
5ec9eb8030 [mod] switch default theme from oscar to simple
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-20 18:36:41 +01:00
Markus Heiser
36aee70c24
Merge pull request #910 from tiekoetter/fix-909
[fix] google images engine: Fix 'scrap_img_by_id' function
2022-02-20 18:29:50 +01:00
Markus Heiser
2921d3cd17 [mod] add artwork to mixcloud & soundcloud engines
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-19 21:59:12 +01:00
Markus Heiser
efd81f9266 [build] /static 2022-02-19 15:13:09 +01:00
Markus Heiser
16d05ca285 [mod] simple theme: define a '.show-content-button'
With LESS function '.show-content-button' all the *Show-Media* links becomes
bottons.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-19 15:12:50 +01:00
Markus Heiser
c2d9c93b3b [fix] image_proxy: allow HTTP redirects
Without redirects the load of various images will fail when image_proxy is
enabled [1].

[1] https://github.com/searxng/searxng/pull/910#issuecomment-1045966577
Suggested-by: @dalf [1]
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-19 14:34:02 +01:00
Markus Heiser
4a28b593c2 [fix] google images engine: Fix 'scrap_img_by_id' function
The 'scrap_img_by_id' function didn't return any longer anything useful.  This
fix allows the google images engine to present the full source image instead of
only the thumbnail.

The function scrap_img_by_id() is rpelaced by a fully rewrite to parse image
URLs by a regular expression. The new function parse_urls_img_from_js(dom)
returns a mapping of data-id to image URL.

Closes: https://github.com/searxng/searxng/issues/909
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-19 14:33:56 +01:00
Alexandre Flament
ace5401632
Merge pull request #900 from return42/fix-883
[fix] bandcamp: fix itemtype (album|track) and exceptions
2022-02-19 13:42:53 +01:00
Markus Heiser
e9a227c606
Merge pull request #893 from return42/mvw-video
[mod] mediathekviewweb engine: add data_src and use videos template
2022-02-19 00:55:46 +01:00
Markus Heiser
943a7fdcb5 [mod] mediathekviewweb engine: add iframe_src and use videos template
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-19 00:50:54 +01:00
Markus Heiser
fa3cd7a696 [build] /static 2022-02-18 22:46:51 +01:00
Markus Heiser
05c105b837 [fix] bandcamp: fix itemtype (album|track) and exceptions
BTW: polish implementation and show tracklist for albums

Closes: https://github.com/searxng/searxng/issues/883
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-18 22:44:43 +01:00
Alexandre Flament
29182eb1c9
Merge pull request #899 from dalf/limiter_update
[limiter] update
2022-02-18 22:17:26 +01:00
Alexandre Flament
bf2a2ed48f
Merge pull request #882 from return42/fix-873
[fix] replace embedded HTML by data_src
2022-02-18 20:55:40 +01:00
Markus Heiser
761885682d [build] /static 2022-02-18 19:00:51 +01:00
Markus Heiser
8acf540f0e [mod] simple theme: set height of embedded content (iframe)
This commit sets appropriate height of the (embedded) player from:

- soundcloud
- mixcloud
- deezer

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-18 19:00:51 +01:00
Markus Heiser
7352c6bc79 [mod] templates: rename field for <iframe> URL to iframe_src
Rename result field data_src to iframe_src

Suggested-by: @dalf https://github.com/searxng/searxng/pull/882#issuecomment-1037997402
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-18 19:00:49 +01:00
Markus Heiser
f5e8cfade2 [fix] simple theme: support browsers which do not have aspect-ratio
Suggested-by: @dalf https://github.com/searxng/searxng/pull/882#discussion_r805187303
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-18 19:00:02 +01:00
Markus Heiser
50ee7bcac6 [oscar] add scrolling="no" to iframes in HTML templates
Suggested-by: @dalf https://github.com/searxng/searxng/pull/882#discussion_r805180787
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-18 19:00:02 +01:00
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
searxng-bot
1084f5f42c [translations] update from Weblate
8daeaf72 - 2022-02-16 - mezysinc <mezysinc@mailsac.com>
f373b0a4 - 2022-02-13 - temp <temp@mykolab.com>
273ae271 - 2022-02-16 - Márton Farkas <farkasmrton@gmail.com>
956496a3 - 2022-02-12 - Alexandre Flament <alex@al-f.net>
acf6d3ae - 2022-02-15 - Markus Heiser <markus.heiser@darmarit.de>
aec5670e - 2022-02-11 - Markus Heiser <markus.heiser@darmarit.de>
2022-02-18 07:17:24 +00:00
Alexandre Flament
d1b7debac6 [limiter] update 2022-02-17 20:27:02 +01:00
Markus Heiser
ae8b174e93 [fix] replace peer.tube by peertube.biz
More peertube instances are listed at [1]

[1] https://instances.joinpeertube.org/instances

Closes: https://github.com/searxng/searxng/issues/881
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-13 22:48:09 +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
Martin Fischer
b93711b45d [help] remove link from about.md title
Now that about.html extends page_with_header.html
it already has a link to the start page and removing
the link makes it easier to extract the page title
from the Markdown for the following commit.
2022-02-01 06:28:26 +01:00
Martin Fischer
08bb3a5f3a [pyright:basic] searx.user_help 2022-02-01 06:28:26 +01:00
Martin Fischer
e931590312 [build] /static 2022-02-01 06:22:44 +01:00
Martin Fischer
b6200563ba [simple] improve margin of #linkto_preferences
Co-authored-by: Paul Braeuning <paul@paulgo.io>
2022-02-01 06:22:29 +01:00
Markus Heiser
15320b5eec [fix] engines description - currency_convert.py
Currency engine has DuckDuckGo metadata

In the engine selector of the preferences window, the currency search engine has
the same metadata and wikidata url as duckduckgo, I'd assume there should be a
difference of some sort there clarifying what source the currency uses or, if
it's a duckduckgo service, at least clarifying that it's a currency service by
duck duck go.

Closes: https://github.com/searxng/searxng/issues/787
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-01-31 23:17:28 +01:00
Martin Fischer
743353dd09 [simple] add aria-label to preferences link 2022-01-31 12:00:11 +01:00
Martin Fischer
e7c0f4e877 [simple] link preferences on /about and /stats
We want to link the preferences from every page
(except of course the preferences page).
2022-01-31 11:57:24 +01:00
Martin Fischer
c82b9c68d2
Merge pull request #843 from not-my-profile/simple-page-with-header 2022-01-31 11:14:48 +01:00
Markus Heiser
60e7fee47a
Merge pull request #475 from return42/tineye
[enh] engine - add Tineye reverse image search
2022-01-31 08:51:35 +01:00
Alexandre Flament
2d5929cc59 [mod] searx.utils: more typing 2022-01-30 22:14:12 +01:00
Alexandre Flament
ebd3013a1a [mod] tineye engine: minor changes
* remove "disable: false" in settings.yml
* use the json() method from httpx.Response (faster character encoding detection)
2022-01-30 20:49:22 +01:00
Léon Tiekötter
a6673a1a94 [fix] 1x engine
1x changed the XML result layout.
2022-01-30 19:48:40 +01:00
Martin Fischer
79dbbd4d99 [build] /static 2022-01-30 17:29:21 +01:00
Martin Fischer
6f0ec7e58f [simple] introduce page_with_header.html template
Previously the preferences & stats templates contained the markup:

<a href="{{ url_for('index') }}"><h1><span>SearXNG</span></h1></a>

There are many things wrong with this:

1. the markup was duplicated

2. the CSS needed to be changed whenever a new page wanted to use this
   header (since the CSS used page-specific selectors)

3. h1 should be reserved for the actual page title
   (e.g. Preferences or Engine stats)

4. the image was set via CSS which also set:

       span { visibility: hidden; }

   which however removes the alternative text from the accessibility
   tree (meaning screen readers will ignore it).

This commit fixes all these problems.
2022-01-30 17:29:21 +01:00
Markus Heiser
a6b879f19c [mod] tineye engine: set engine_type to 'online_url_search'
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-01-30 16:30:52 +01:00
Markus Heiser
e92d40c854 [enh] implement a OnlineUrlSearchProcessor
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-01-30 16:05:08 +01:00
Alexandre Flament
0eacc46ee3 [mod] add documentation about searx.utils
This module is a toolbox for the engines.
Is should be documented.

In addition, searx/utils.py is checked by pylint.
2022-01-29 22:49:42 +01:00
Alexandre Flament
068155df88 [build] /static 2022-01-29 14:44:05 +01:00
Alexandre Flament
dc4caa5a39 [fix] simple theme: /preferences: cookies table is LTR
close #827
2022-01-29 14:42:12 +01:00
Martin Fischer
6a366c9807
Merge pull request #838 from dalf/remove_deprecated_code
[mod] remove deprecate code
2022-01-29 10:13:56 +01:00
Alexandre Flament
f3f61df6a0 [mod] remove deprecate code
remove code to support Python 3.5 and Python 3.6
2022-01-29 08:54:12 +01:00