Commit Graph

4842 Commits (7c80807bb8204e9ef0df9a39207e30587c856c0a)

Author SHA1 Message Date
Markus Heiser ac7776663b [fix] typo in get_engine_locale
Due to a typo in get_engine_locale, a language selection like `!qw :de siemens`
did not work.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser ef81d14ccf [fix] harden get_engine_locale: handle UnknownLocaleError exceptions
When a user selects an unknown or invalid locale by using the search syntax:

    !qw siemens :de-TW

Before this patch a UnknownLocaleError exception will be rasied:

```
Traceback (most recent call last):
  File "SearXNG/searx/search/processors/online.py", line 154, in search
    search_results = self._search_basic(query, params)
  File "SearXNG/searx/search/processors/online.py", line 128, in _search_basic
    self.engine.request(query, params)
  File "SearXNG/searx/engines/qwant.py", line 98, in request
    q_locale = get_engine_locale(params['language'], supported_languages, default='en_US')
  File "SearXNG/searx/locales.py", line 216, in get_engine_locale
    locale = babel.Locale.parse(searxng_locale, sep='-')
  File "SearXNG/local/py3/lib/python3.8/site-packages/babel/core.py", line 330, in parse
    raise UnknownLocaleError(input_id)
```

This patch implements a simple exception handling, since e.g. `de-TW` does not
exists `de` will be used to get engines locale.  On invalid terms like `xy-XY`
the default will be returned.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser 27385e7898 [mod] qwant - add safesearch option
Closes: https://github.com/searxng/searxng/issues/1640
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser 6579d6d558 [fix] qwant - API error::locale must be one ..
The request function should not request a language (aka locale) that is not
supported by qwant. Select a locale like zh-TW ends in qwant's API error:

  ERROR searx.engines.qwant news: exception : \
  API error::locale must be one of the following values: \
    en_gb, en_ie, en_us, en_ca, en_my, en_au, en_nz, de_de, de_ch, de_at, fr_fr, \
    fr_be, fr_ch, fr_ca, fr_ad, fc_ca, co_fr, es_es, es_ar, es_cl, es_co, es_mx, \
    es_pe, es_ad, ca_es, ca_ad, ca_fr, eu_es, eu_fr, it_it, it_ch, pt_pt, pt_ad, \
    nl_be, nl_nl

The existing searx.utils.match_language function is unsuitable for this purpose,
it is replaced by function searx.locales.get_engine_locale that is based on the
methods from the babel package.

The quant's _fetch_supported_languages function has been revised to filter out
languages 8aka locales) not supported by qwant.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser 9ae409a05a [mod] add locale.get_engine_locale to get predictable results
The match_language function sometimes returns incorrect results which is why a
new function get_engine_locale is required.

A bugfix of the match_language is not easily possible, because there is almost
no documentation for it and already the call parameters are undefined.  E.g. the
function processes values like the ones from yahoo::

    "yahoo": [
        "ar",
        ...
        "zh_chs",
        "zh_cht"
     ]

The get_engine_locale has been documented in detail, there is a clear
description of the assumptions as well as the requirements and approximation
rules (read doc-string for more details)::

    Argument ``engine_locales`` is a python dict that maps *SearXNG locales* to
    corresponding *engine locales*:

      <engine>: {
          # SearXNG string : engine-string
          'ca-ES'          : 'ca_ES',
          'fr-BE'          : 'fr_BE',
          'fr-CA'          : 'fr_CA',
          'fr-CH'          : 'fr_CH',
          'fr'             : 'fr_FR',
          ...
          'pl-PL'          : 'pl_PL',
          'pt-PT'          : 'pt_PT'
      }

    .. hint::

       The *SearXNG locale* string has to be known by babel!

In the following you will find a comparison:

>>> import babel.languages
>>> from searx.utils import match_language
>>> from searx.locales import get_engine_locale

Assume we have an engine that supports the follwoing locales:

>>> lang_list = {
...     "zh-CN": "zh_CN",
...     "zh-HK": "zh_HK",
...     "nl-BE": "nl_BE",
...     "fr-CA": "fr_CA",
... }

Assumption:

  A. When a user selects a language the results should be optimized according to
     the selected language.

  B. When user selects a language and a territory the results should be
     optimized with first priority on territory and second on language.

----

Example: (Assumption A.)

  A user selects region 'zh-TW' which should end in zh_HK

hint:
  CN is 'Hans' and HK ('Hant') fits better to TW ('Hant')

>>> get_engine_locale('zh-TW', lang_list)
'zh_HK'
>>> lang_list[match_language('zh-TW', lang_list)]
'zh_CN'

----

Example: (Assumption A.)

  A user selects only the language 'zh' which should end in CN

>>> get_engine_locale('zh', lang_list)
'zh_CN'
>>> lang_list[match_language('zh', lang_list)]
'zh_CN'

----

Example: (Assumption B.)

  A user selects region 'fr-BE' which should end in nl-BE

hint:
  priority should be on the territory the user selected.  If the user
  prefers 'fr' he will select 'fr' without a region tag.

>>> get_engine_locale('fr-BE', lang_list, default='unknown')
'nl_BE'
>>> match_language('fr-BE', lang_list, fallback='unknown')
'fr-CA'

----

Example: (Assumption A.)

  A user selects only the language 'fr' which should end in fr_CA

>>> get_engine_locale('fr', lang_list)
'fr_CA'
>>> lang_list[match_language('fr', lang_list)]
'fr_CA'

----

The difference in priority on the territory is best shown with a engine that
supports the following locales:

>>> lang_list = {
...     "fr-FR": "fr_FR",
...     "fr-CA": "fr_CA",
...     "en-GB": "en_GB",
...     "nl-BE": "nl_BE",
... }

----

Example: (Assumption A.)

   A user selects only a language

>>> get_engine_locale('en', lang_list)
'en_GB'
>>> match_language('en', lang_list)
'en-GB'

hint: the engine supports fr_FR and fr_CA since no territory is given, fr_FR
takes priority ..

>>> get_engine_locale('fr', lang_list)
'fr_FR'
>>> lang_list[match_language('fr', lang_list)]
'fr_FR'

----

Example: (Assumption B.)

  A user selects region 'fr-BE' which should end in nl-BE

>>> get_engine_locale('fr-BE', lang_list)
'nl_BE'
>>> lang_list[match_language('fr-BE', lang_list)]
'fr_FR'

----

If the user selects a language and there are two locales like the following:

>>> lang_list = {
...      "fr-BE": "fr_BE",
...      "fr-CH": "fr_CH",
...  }
>>>

>>> get_engine_locale('fr', lang_list)
'fr_BE'
>>> lang_list[match_language('fr', lang_list)]
'fr_BE'

Looks like both functions return the same value, but match_language depends on the
order of the dictionary (which is not predictable):

>>> lang_list = {
...      "fr-CH": "fr_CH",
...      "fr-BE": "fr_BE",
...  }
>>> get_engine_locale('fr', lang_list)
'fr_BE'
>>> lang_list[match_language('fr', lang_list)]
'fr_CH'
>>>

The get_engine_locale selects the locale by looking at the "population percent"
and this percentage has an higher amount in BE (68.%) compared to CH (21%)

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser 75bb8c45d0 [mod] decouple qwant's categories from SearXNG's categories
By using new property `qwant_categ:` the category of qwant is no longer bound to
the category of SearXNG.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
ta 96ea355a1f add twitter engine 2 years ago
Markus Heiser 0043190643
Merge pull request #1655 from return42/fix-opensearch
[fix] improve OpenSearch description
2 years ago
Léon Tiekötter b56848e8d0
Merge pull request #1660 from liimee/eng-neeva
Add neeva engine
2 years ago
Léon Tiekötter 8fa84ee9f4 Fix time range support and add soft_max_redirects
Add custom time_range_url and time_range_map

Set soft_max_redirects = 2 to prevent "ErrorContext('searx/search/processors/online.py', 116, 'count_error(', None, '2 redirects, maximum: 0', ('200', 'OK', 'neeva.com')) True"
2 years ago
ta d6dfada1a9 add neeva web engine
Neeva is "the world's first ad-free, private search engine" and uses data from Apple, Bing, Yelp and "others".
They claim to crawl "hundreds of millions" of URLs a day (https://twitter.com/Neeva/status/1536447373903335426).
2 years ago
searxng-bot b4fea007f5 [translations] update from Weblate
f2997bfa - 2022-08-12 - Markus Heiser <markus.heiser@darmarit.de>
eeca674f - 2022-08-10 - Edrean Ernst <edrean@allesbeste.com>
7478de6a - 2022-08-11 - Markus Heiser <markus.heiser@darmarit.de>
c4fb9110 - 2022-08-07 - wordpure <wordlesspure@gmail.com>
a5b432e2 - 2022-08-11 - Markus Heiser <markus.heiser@darmarit.de>
eb01d415 - 2022-08-09 - Markus Heiser <markus.heiser@darmarit.de>
f96eb06e - 2022-08-11 - Shopimisrel <shopisrael12@gmail.com>
e7c79191 - 2022-08-08 - ajnasaboobacker <ajnasaboobacker@gmail.com>
f4dbd424 - 2022-08-08 - ajnasaboobacker <ajnasaboobacker@gmail.com>
2 years ago
Markus Heiser 3b0f9c07b2 [fix] improve OpenSearch description
Some HTTP-Clients do have issues with the ``opensearch.xml`` from SearXNG
(related [1][2]) while other OpenSearch descriptions[3] (e.g. from qwant) work
flawles.

Inspired by the OpenSearch description from qwant and with informations from the
specification[4] the ``opensearch.xml`` has been *improved*.

- convert `<Url>` methods from lower case to upper case (`POST`|`GET`)
- add `<moz:SearchForm>` and `xmlns:moz="http://www.mozilla.org/2006/browser/search/"`
- add `<Query role="example" searchTerms="SearXNG" />`  [4]

  OpenSearch description documents should include at least one Query element of
  `role="example"` that is expected to return search results. Search clients may
  use this example query to validate that the search engine is working properly.

- modified `<LongName>` to SearXNG
- modified `<Description>` the word 'hackable' scares uninitiated users and was removed
- add the `type="image/png"` to `<Image>`

Test can be done by::

    make run

Visit http://127.0.0.1:8888/ and add the search engine to your WEB-Browser /
test with different WEB-Browser from desktop and Smartphones (are there any iOS
user here, please test on Safari and Chrome).

[1] https://app.element.io/#/room/#searxng:matrix.org/$xN_abdKhNqUlgXRBrb_9F3pqOxnSzGQ1TG0s0G9hQVw
[2] https://github.com/searxng/searxng/issues/431
[3] https://developer.mozilla.org/en-US/docs/Web/OpenSearch
[4] https://github.com/dewitt/opensearch/blob/master/opensearch-1-1-draft-6.md#the-query-element

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser 73ffa0c070 Update searx.data - update_engine_descriptions.py
./manage pyenv.cmd python ./searxng_extra/update/update_engine_descriptions.py

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Johan Planchon e0215e0cc8 add sourcehut engine 2 years ago
Markus Heiser 43c545910b
Merge pull request #1648 from unixfox/google_mobile_ui_parameter
output format protobuf to HTML for google mobile
2 years ago
Markus Heiser eb02cc77c5 [fix] google - simplify XPath selectors to fetch more results
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Johan Planchon 90bdb23756 add lib.rs engine 2 years ago
Émilien Devos b9f16a77db output format protobuf to HTML for google mobile 2 years ago
Thomas Renard d4acbcfe63 [mod] add deepl translation engine
This implements the Deepl Translation engine. It works nearly like lingva but
directly to the deepl API.  This api only needs a to-lang, from-lang is a fake
by now.

There is a free option to use [1].

[1] https://www.deepl.com/pro-api?cta=header-pro-api for registering a free account.
2 years ago
Brock Vojković 24210fb10b
Revert PR #1633
This reverts the changes made to the Google results XPath in PR #1633.
2 years ago
Léon Tiekötter 94b3656b4a [fix] google engine: results XPath
Seems google rolls out changes first on the `google.com` domain and later on the
"language" domains.  By example: yesterday [1] `google.com` did not work but
`google.de` and `google.fr` did work, today they do not work any longer and this
fix is needed on all domains.

Closes: https://github.com/searxng/searxng/issues/1628
[1] https://github.com/searxng/searxng/issues/1628#issuecomment-1208191816
2 years ago
Markus Heiser 925f3ff487
Merge pull request #1627 from allendema/add-marginalia
[enh] Initial Marginalia.nu support (foss)
2 years ago
Markus Heiser 58f630d312
Merge pull request #1623 from return42/mod-yep.com
[mod] engine yep.com: show all 100 results yep.com has
2 years ago
Allen 5b815b3966 [enh] initial Marginalia.nu support (foss)
Currently it uses a public api_key `/public/` [1]

The 'index' parameter selects the search index, corresponding to the drop down
next to the search field in the main GUI.

    0: popular
    1: blogs
    2: big_sites
    3: default
    4: experimental

'experimental' is more up to date and does not exclude other sites, which is the
case with 'big sites' or 'blogs'.

[1] https://api.marginalia.nu/
[2] https://git.marginalia.nu/marginalia/marginalia.nu
[3] https://news.ycombinator.com/item?id=31536626

Closes: https://github.com/searxng/searxng/issues/1620
2 years ago
Markus Heiser 8b58cd1167 [fix] typo in uWSGI cache: searxcache --> searxngcache
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
liimee 8c318562e2
add description and wikidata ID to wttr.in engine 2 years ago
ta 8aa018db95 add wttr.in engine 2 years ago
Markus Heiser 647e6187d7 [mod] engine yep.com: show all 100 results yep.com has
yep.com is still in beta, the api.yep.com does not have paging support.  There
is only a 'limit' argument with a maximum of 100 results.

yep.com seems fast; there is nor need for a timeout of 12 sec.

The API returns JSON nevertheless what the HTTP header is, the "show more"
button on yep.com's web site does not set a special HTTP Accept header.

FYI: The index does not support languages, the WEB UI does not offer a language
selection of the results and the entire index seems in English.

Closes: https://github.com/searxng/searxng/issues/1619
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
searxng-bot 0f02fcc836 [translations] update from Weblate
acf8bd39 - 2022-08-05 - Markus Heiser <markus.heiser@darmarit.de>
4ad75b6e - 2022-08-04 - Markus Heiser <markus.heiser@darmarit.de>
ee8cbee6 - 2022-07-31 - Markus Heiser <markus.heiser@darmarit.de>
87c19313 - 2022-08-01 - Academic tyro <y13593582403@gmail.com>
cbe0de32 - 2022-07-30 - Markus Heiser <markus.heiser@darmarit.de>
45029a17 - 2022-08-04 - Markus Heiser <markus.heiser@darmarit.de>
6eec3795 - 2022-08-03 - Markus Heiser <markus.heiser@darmarit.de>
f8d8f31f - 2022-07-29 - Markus Heiser <markus.heiser@darmarit.de>
b3fb365f - 2022-07-29 - Markus Heiser <markus.heiser@darmarit.de>
aaeabbc9 - 2022-08-03 - Lakatos Tamás <tomimost@gmail.com>
6c71c501 - 2022-08-03 - Markus Heiser <markus.heiser@darmarit.de>
f7b5ba19 - 2022-08-01 - Markus Heiser <markus.heiser@darmarit.de>
850e7fa0 - 2022-08-04 - Mico Hautaluoma <m@mha.fi>
0cb696fc - 2022-07-31 - Markus Heiser <markus.heiser@darmarit.de>
04c3785f - 2022-08-02 - Markus Heiser <markus.heiser@darmarit.de>
b500f2ad - 2022-08-01 - Edrean Ernst <edrean@allesbeste.com>
0b576b83 - 2022-08-01 - GooGuJiang <gu@gmoe.cc>
0adeb6e2 - 2022-08-01 - Edrean Ernst <edrean@allesbeste.com>
0b025f17 - 2022-07-31 - PRATYAY MUSTAFI <pratyaymustafi@gmail.com>
2 years ago
Allen 58369e41d6 [wip] brave time range support 2 years ago
Markus Heiser 8df1f0c47e [mod] add 'Accept-Language' HTTP header to online processores
Most engines that support languages (and regions) use the Accept-Language from
the WEB browser to build a response that fits to the language (and region).

- add new engine option: send_accept_language_header

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser a2badb4fe4 [doc] add description of method EngineProcessor.get_params()
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Alexandre Flament 2babf59adc [fix] pyright repported errors
The errors make pyright usage useless since a new error won't be seen [1].

[1] https://github.com/searxng/searxng/pull/1569

```
  searx/compat.py:11:27 - error: Expression of type "Type[cached_property[_T@cached_property]]" cannot be assigned to declared type "Type[cached_property]"
    "Type[cached_property[_T@cached_property]]" is incompatible with "Type[cached_property]"
    Type "Type[cached_property[_T@cached_property]]" cannot be assigned to type "Type[cached_property]" (reportGeneralTypeIssues)
  searx/utils.py:69:36 - error: Expression of type "None" cannot be assigned to parameter of type "str"
    Type "None" cannot be assigned to type "str" (reportGeneralTypeIssues)
  searx/utils.py:573:85 - error: Expression of type "None" cannot be assigned to parameter of type "int"
    Type "None" cannot be assigned to type "int" (reportGeneralTypeIssues)
  searx/webapp.py:1306:22 - error: Argument of type "str" cannot be assigned to parameter "__a" of type "BytesPath" in function "join"
    Type "str" cannot be assigned to type "BytesPath"
      "str" is incompatible with "bytes"
      "str" is incompatible with protocol "PathLike[bytes]"
        "__fspath__" is not present (reportGeneralTypeIssues)
  searx/webapp.py:1306:68 - error: Argument of type "Literal['themes']" cannot be assigned to parameter "paths" of type "BytesPath" in function "join"
    Type "Literal['themes']" cannot be assigned to type "BytesPath"
      "Literal['themes']" is incompatible with "bytes"
      "Literal['themes']" is incompatible with protocol "PathLike[bytes]"
        "__fspath__" is not present (reportGeneralTypeIssues)
  searx/webapp.py:1306:78 - error: Argument of type "str | Any | None" cannot be assigned to parameter "paths" of type "BytesPath" in function "join"
    Type "str | Any | None" cannot be assigned to type "BytesPath"
      Type "str" cannot be assigned to type "BytesPath"
        "str" is incompatible with "bytes"
        "str" is incompatible with protocol "PathLike[bytes]"
          "__fspath__" is not present (reportGeneralTypeIssues)
  searx/webapp.py:1306:85 - error: Argument of type "Literal['img']" cannot be assigned to parameter "paths" of type "BytesPath" in function "join"
    Type "Literal['img']" cannot be assigned to type "BytesPath"
      "Literal['img']" is incompatible with "bytes"
      "Literal['img']" is incompatible with protocol "PathLike[bytes]"
        "__fspath__" is not present (reportGeneralTypeIssues)
  searx/engines/mongodb.py:8:6 - warning: Import "pymongo" could not be resolved (reportMissingImports)
  searx/engines/mysql_server.py:9:8 - warning: Import "mysql.connector" could not be resolved (reportMissingImports)
  searx/engines/postgresql.py:9:8 - warning: Import "psycopg2" could not be resolved from source (reportMissingModuleSource)
  searx/engines/xpath.py:187:28 - warning: "categories" is not defined (reportUndefinedVariable)
  searx/search/__init__.py:184:82 - warning: "flask" is not defined (reportUndefinedVariable)
  searx/search/checker/background.py:19:26 - error: Type of "schedule" is partially unknown
    Type of "schedule" is "(delay: Any, func: Any, *args: Any) -> Literal[True]" (reportUnknownVariableType)
  searx/shared/__init__.py:8:12 - warning: Import "uwsgi" could not be resolved (reportMissingImports)
  searx/shared/shared_uwsgi.py:5:8 - warning: Import "uwsgi" could not be resolved (reportMissingImports)
```
2 years ago
Markus Heiser 782f73540e [utils/searxng.sh] implement new script to install SearXNG
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
searxng-bot 953aaec6a3 [translations] update from Weblate
c0c9107c - 2022-07-27 - Sangha Lee <totoriato@gmail.com>
5b48bce6 - 2022-07-24 - Linerly <linerly@protonmail.com>
79669e65 - 2022-07-29 - Markus Heiser <markus.heiser@darmarit.de>
520e9284 - 2022-07-25 - Markus Heiser <markus.heiser@darmarit.de>
7cf52ff5 - 2022-07-25 - Markus Heiser <markus.heiser@darmarit.de>
9d3ebe72 - 2022-07-24 - Markus Heiser <markus.heiser@darmarit.de>
2d03c097 - 2022-07-24 - Markus Heiser <markus.heiser@darmarit.de>
388af012 - 2022-07-27 - Markus Heiser <markus.heiser@darmarit.de>
a4bcf098 - 2022-07-25 - Miguel Silva <miguelcabeca.dev@gmail.com>
93fd0b72 - 2022-07-27 - Markus Heiser <markus.heiser@darmarit.de>
8f68b206 - 2022-07-26 - tents <remendne@pentrens.jp>
9007c99c - 2022-07-24 - Markus Heiser <markus.heiser@darmarit.de>
aeec96f2 - 2022-07-26 - Matija Kromar <matija.kromar@gmail.com>
69084863 - 2022-07-25 - Markus Heiser <markus.heiser@darmarit.de>
b48190ab - 2022-07-24 - alexfs2015 <alex04fs@gmail.com>
b6bbc0a5 - 2022-07-23 - Markus Heiser <markus.heiser@darmarit.de>
1a503806 - 2022-07-29 - Markus Heiser <markus.heiser@darmarit.de>
c960cb93 - 2022-07-27 - Markus Heiser <markus.heiser@darmarit.de>
8a2bd34b - 2022-07-25 - Markus Heiser <markus.heiser@darmarit.de>
1064cea0 - 2022-07-23 - LagManCZ <lagmen@post.cz>
67423045 - 2022-07-24 - alexfs2015 <alex04fs@gmail.com>
56c87fda - 2022-07-24 - Markus Heiser <markus.heiser@darmarit.de>
36a64f1c - 2022-07-24 - Ankit Gupta <guptaa.ankitt@gmail.com>
2 years ago
Markus Heiser 14085cc0a7
Merge pull request #1580 from searxng/update_data_update_engine_descriptions.py
Update searx.data - update_engine_descriptions.py
2 years ago
Markus Heiser 7602c23d71
Merge pull request #1579 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2 years ago
Markus Heiser 0bad4fb931
Merge pull request #1578 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2 years ago
Markus Heiser 7dd75ae080
Merge pull request #1576 from searxng/update_data_update_languages.py
Update searx.data - update_languages.py
2 years ago
dalf 2bdb367e8c Update searx.data - update_engine_descriptions.py 2 years ago
dalf fc019fb296 Update searx.data - update_currencies.py 2 years ago
dalf c2662ec3c8 Update searx.data - update_firefox_version.py 2 years ago
dalf 385542e6c5 Update searx.data - update_ahmia_blacklist.py 2 years ago
dalf 90068b3d0b Update searx.data - update_languages.py 2 years ago
Markus Heiser c72d70d45c Revert "Quick fix for google engine for EU countries"
This reverts commit 747cf1a246.
2 years ago
Léon Tiekötter 950f036c03
[fix] google engine: results XPath 2 years ago
Émilien Devos 747cf1a246
Quick fix for google engine for EU countries
This revert part of the commit of 5fb2071cb2
2 years ago
Markus Heiser 0be0e63117 [fix] demo_online.py - fixed typo
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Emilien Devos 5fb2071cb2 [fix] google & youtube - set EU consent cookie
This change the previous bypass method for Google consent using
``ucbcb=1`` (6face215b8) to accept the consent using ``CONSENT=YES+``.

The youtube_noapi and google have a similar API, at least for the consent[1].

Get CONSENT cookie from google reguest::

    curl -i "https://www.google.com/search?q=time&tbm=isch" \
         -A "Mozilla/5.0 (X11; Linux i686; rv:102.0) Gecko/20100101 Firefox/102.0" \
         | grep -i consent
    ...
    location: https://consent.google.com/m?continue=https://www.google.com/search?q%3Dtime%26tbm%3Disch&gl=DE&m=0&pc=irp&uxe=eomtm&hl=en-US&src=1
    set-cookie: CONSENT=PENDING+936; expires=Wed, 24-Jul-2024 11:26:20 GMT; path=/; domain=.google.com; Secure
    ...

PENDING & YES [2]:

  Google change the way for consent about YouTube cookies agreement in EU
  countries. Instead of showing a popup in the website, YouTube redirects the
  user to a new webpage at consent.youtube.com domain ...  Fix for this is to
  put a cookie CONSENT with YES+ value for every YouTube request

[1] https://github.com/iv-org/invidious/pull/2207
[2] https://github.com/TeamNewPipe/NewPipeExtractor/issues/592

Closes: https://github.com/searxng/searxng/issues/1432
2 years ago
Markus Heiser 4231a5770b [fix] sjp engine - convert enginename to a latin1 compliance name
The engine name is not only a *name* its also a identifier that is used in
logs, HTTP headers and more.  Unicode characters in the name of an engine could
cause various issues.

Closes: https://github.com/searxng/searxng/issues/1544
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
james-still 2516e21c58 [fix] emojipedia - update XPath to be relative 2 years ago
Markus Heiser 1540891561 [fix] engine tineye: handle 422 response of not supported img format
Closes: https://github.com/searxng/searxng/issues/1449
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
searxng-bot 561433b12b [translations] update from Weblate
cf6e9482 - 2022-07-19 - Linerly <linerly@protonmail.com>
918c1bfe - 2022-07-20 - Markus Heiser <markus.heiser@darmarit.de>
4e65ecf6 - 2022-07-21 - calb sepherus <calb.sepherus@protonmail.com>
a54be8fe - 2022-07-19 - Markus Heiser <markus.heiser@darmarit.de>
cad6cb2f - 2022-07-19 - Markus Heiser <markus.heiser@darmarit.de>
a6bd1170 - 2022-07-19 - Markus Heiser <markus.heiser@darmarit.de>
9d0e8754 - 2022-07-19 - Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Solirs 6d646129c3 [mod] add tor_check plugin - convenient tor checking trough searxng 2 years ago
Léon Tiekötter d339e97727
[fix] preferences: missing option value
Fix missing option value "0".
2 years ago
Markus Heiser 7bf4e8d12d
Merge pull request #1512 from searxng/translations_update
Update translations
2 years ago
Markus Heiser 4e05197444
Merge pull request #1475 from return42/Emojipedia
[mod] Add engine for Emojipedia
2 years ago
Markus Heiser 445cba7c02 Update searx.data - update_engine_descriptions.py
./manage pyenv.cmd python ./searxng_extra/update/update_engine_descriptions.py

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Jay 10edcbe3c2 [mod] Add engine for Emojipedia
Emojipedia is an emoji reference website which documents the meaning and
common usage of emoji characters in the Unicode Standard.  It is owned by Zedge
since 2021. Emojipedia is a voting member of The Unicode Consortium.[1]

Cherry picked from @james-still [2[3] and slightly modified to fit SearXNG's
quality gates.

[1] https://en.wikipedia.org/wiki/Emojipedia
[2] 2fc01eb20f
[3] https://github.com/searx/searx/pull/3278
2 years ago
searxng-bot f84e9f8154 [translations] update from Weblate
e78584e1 - 2022-07-14 - Markus Heiser <markus.heiser@darmarit.de>
eb3f2140 - 2022-07-14 - Markus Heiser <markus.heiser@darmarit.de>
9160b6d1 - 2022-07-14 - Markus Heiser <markus.heiser@darmarit.de>
18d569b8 - 2022-07-14 - Markus Heiser <markus.heiser@darmarit.de>
c9137f9e - 2022-07-14 - Hachiki <ninonakano408@gmail.com>
14d8b61f - 2022-07-14 - Markus Heiser <markus.heiser@darmarit.de>
c11e318d - 2022-07-09 - Linerly <linerly@protonmail.com>
4d53b3bb - 2022-07-12 - crazychicken1 <seymaomay1809@gmail.com>
613117bf - 2022-07-10 - Markus Heiser <markus.heiser@darmarit.de>
e5e38305 - 2022-07-11 - Markus Heiser <markus.heiser@darmarit.de>
2bea37fa - 2022-07-10 - Markus Heiser <markus.heiser@darmarit.de>
5ab15881 - 2022-07-11 - Markus Heiser <markus.heiser@darmarit.de>
32794ad3 - 2022-07-11 - Markus Heiser <markus.heiser@darmarit.de>
830b01f9 - 2022-07-11 - Chris Capisce <christof1588@gmail.com>
b4d431e5 - 2022-07-08 - John Doe <cryptiox@protonmail.com>
c6d9841e - 2022-07-10 - tents <remendne@pentrens.jp>
68692656 - 2022-07-13 - Markus Heiser <markus.heiser@darmarit.de>
8cba6d36 - 2022-07-10 - Markus Heiser <markus.heiser@darmarit.de>
fe457886 - 2022-07-08 - Markus Heiser <markus.heiser@darmarit.de>
95e7d403 - 2022-07-13 - Markus Heiser <markus.heiser@darmarit.de>
f02673b1 - 2022-07-11 - Markus Heiser <markus.heiser@darmarit.de>
7d49be29 - 2022-07-10 - Markus Heiser <markus.heiser@darmarit.de>
fbe6e4da - 2022-07-08 - Raúl Díaz <flan@chocoflan.net>
2 years ago
Léon Tiekötter 8e509941b9
[mod] allow brand.issue_url to overwrite the step1 url 2 years ago
Alexandre Flament 44f2eb50a5
Merge pull request #1219 from dalf/follow_bing_redirect
bing.py: remove redirection links
2 years ago
Emilien Devos 6face215b8 bypass google consent with ucbcb=1 2 years ago
Brock Vojković 84e2a3bd3f Add infinite scroll as a setting in settings.yml 2 years ago
Alexandre Flament a1e8af0796 bing.py: resolve bing.com/ck/a redirections
add a new function searx.network.multi_requests to send multiple HTTP requests at once
2 years ago
Alexandre Flament 7e695c6644
Merge pull request #1478 from dalf/submit_bug_workflow
Engine error log: Submit a new issue button: ask the user to check if there are some existing issues.
2 years ago
Alexandre Flament f90aed7ef9 locales.py: add support for Papiamento 2 years ago
searxng-bot cb3a31c04d [translations] update from Weblate
b1809ae3 - 2022-07-07 - visiks-vs <vls@visiks.lv>
cf09e8b2 - 2022-07-07 - Markus Heiser <markus.heiser@darmarit.de>
5a854ba3 - 2022-07-07 - Markus Heiser <markus.heiser@darmarit.de>
e3586433 - 2022-07-06 - John Doe <cryptiox@protonmail.com>
9465ae78 - 2022-07-07 - Markus Heiser <markus.heiser@darmarit.de>
1e1799d0 - 2022-07-07 - Markus Heiser <markus.heiser@darmarit.de>
56429ebb - 2022-07-07 - Markus Heiser <markus.heiser@darmarit.de>
e1e040b1 - 2022-07-06 - watchakorn-18k <porton2559@gmail.com>
d04f51ef - 2022-07-06 - Adriano Xavier <px.adriano@gmail.com>
1a09e45a - 2022-07-06 - John Doe <cryptiox@protonmail.com>
fab4f6de - 2022-07-05 - Angelo B. J. Luidens <aluidens@stargue.com>
782eac5c - 2022-07-05 - watchakorn-18k <porton2559@gmail.com>
73f6dde9 - 2022-07-04 - Markus Heiser <markus.heiser@darmarit.de>
eb3bf7a4 - 2022-07-04 - Markus Heiser <markus.heiser@darmarit.de>
5c337616 - 2022-07-03 - Sangha Lee <totoriato@gmail.com>
8511391a - 2022-07-02 - Markus Heiser <markus.heiser@darmarit.de>
816ec364 - 2022-07-02 - Morten R. Bjørklund <mortenrb@live.no>
24adf82f - 2022-07-04 - 0xFFD <barann.afsarr@gmail.com>
25e13dcf - 2022-07-04 - networkneil <shankyneil1@gmail.com>
f2008c36 - 2022-07-03 - Markus Heiser <markus.heiser@darmarit.de>
79b9b12a - 2022-07-02 - Markus Heiser <markus.heiser@darmarit.de>
1f2f61c8 - 2022-07-02 - Markus Heiser <markus.heiser@darmarit.de>
e7a1cd6e - 2022-07-04 - Markus Heiser <markus.heiser@darmarit.de>
fc02ccbf - 2022-07-02 - Markus Heiser <markus.heiser@darmarit.de>
3d1afa88 - 2022-07-02 - Markus Heiser <markus.heiser@darmarit.de>
95c871d2 - 2022-07-04 - Markus Heiser <markus.heiser@darmarit.de>
f8825dd1 - 2022-07-02 - Markus Heiser <markus.heiser@darmarit.de>
a781c97c - 2022-07-02 - Markus Heiser <markus.heiser@darmarit.de>
7290ce9c - 2022-07-02 - John Doe <cryptiox@protonmail.com>
0a1286c5 - 2022-07-02 - tents <remendne@pentrens.jp>
baa49eef - 2022-07-04 - Markus Heiser <markus.heiser@darmarit.de>
3d3fbc15 - 2022-07-03 - Kuka Manó <dumpster@perjel.hu>
a1eb8798 - 2022-07-04 - Markus Heiser <markus.heiser@darmarit.de>
a08b01a6 - 2022-07-02 - Xosé M <correo@xmgz.eu>
35634446 - 2022-07-04 - Markus Heiser <markus.heiser@darmarit.de>
8d1fe456 - 2022-07-04 - Markus Heiser <markus.heiser@darmarit.de>
805da3b0 - 2022-07-02 - Markus Heiser <markus.heiser@darmarit.de>
c6f02cee - 2022-07-04 - Markus Heiser <markus.heiser@darmarit.de>
cd824613 - 2022-07-03 - Markus Heiser <markus.heiser@darmarit.de>
6a4b41ee - 2022-07-02 - Markus Heiser <markus.heiser@darmarit.de>
53eb448a - 2022-07-03 - adriadam10 <adriadam10@gmail.com>
7012f643 - 2022-07-03 - Gerard Oliva Viñas <oliva3032001@gmail.com>
51ea1d58 - 2022-07-04 - Markus Heiser <markus.heiser@darmarit.de>
744d130c - 2022-07-02 - Markus Heiser <markus.heiser@darmarit.de>
e92d37cd - 2022-07-05 - Angelo B. J. Luidens <aluidens@stargue.com>
4576e883 - 2022-07-05 - watchakorn-18k <porton2559@gmail.com>
da7a9b10 - 2022-07-04 - Markus Heiser <markus.heiser@darmarit.de>
f20a317f - 2022-07-04 - networkneil <shankyneil1@gmail.com>
cab15b15 - 2022-07-02 - Markus Heiser <markus.heiser@darmarit.de>
12d6021c - 2022-07-04 - niele2 <arifshafie.K@gmail.com>
c86a3738 - 2022-07-04 - niele2 <arifshafie.K@gmail.com>
9c6d05e2 - 2022-07-02 - Markus Heiser <markus.heiser@darmarit.de>
2b6ca751 - 2022-07-02 - Kuka Manó <dumpster@perjel.hu>
55e9663c - 2022-07-02 - Albin Håkanson <albin@sweplox.se>
49fac625 - 2022-07-02 - Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Alexandre Flament be3ecf6e31 [build] /static 2 years ago
Alexandre Flament eb489c45ea Submit GH bug: ask the user to do some checks before submitting a new issue 2 years ago
Markus Heiser 81e8c7370f Update searx.data - update_engine_descriptions.py
./manage pyenv.cmd python ./searxng_extra/update/update_engine_descriptions.py

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser c63fab6928
Merge pull request #1443 from return42/fix-online_dictionary
[fix] online_dictionary: regular expression
2 years ago
Markus Heiser 480476fdf3 [fix] online_dictionary: regular expression
The query term of a engine-type `online_dictionary` can consist of more than one
word.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Alexandre Flament df837d8b1b
Merge pull request #1428 from return42/fix-center_aligment
fix typo and document preference 'center_alignment' in the 'ui' section
2 years ago
Markus Heiser c5ec8db6b3
Merge pull request #1457 from return42/fix-1435
[fix] engine z-zlibrary https URL
2 years ago
Markus Heiser be2f782c9e
Merge pull request #1460 from unixfox/patch-1
Better explanation for the use of use_mobile_ui
2 years ago
Émilien Devos 63a995b8c1 Better explanation for the use of use_mobile_ui 2 years ago
mrpaulblack 38385e48cf fix: return body on limiter block so there is not just a blank page 2 years ago
Markus Heiser 970a69012b [fix] engine z-zlibrary https URL
before this patch:

    DEBUG   searx.engines.z-library : using base_url: https:https://de1lib.org

with this patch URL is fixed to:

    DEBUG   searx.engines.z-library : using base_url: https://de1lib.org

Closes: https://github.com/searxng/searxng/issues/1435
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser 8de0b62005 [build] /static 2 years ago
Markus Heiser f8222eb2cd [fix] style.less: move <dl> from infobox.attributes to .attributes class
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
ta 14756a2674 [mod] Adds Lingva translate engine
Add the lingva engine (which grabs data from google translate).  Results from
Lingva are added to the infobox results.
2 years ago
Xavier horwood 61ee370e18 [mod] link to public-instances can be set to hidden
Some administrators may want to hide the link to public_instances: If you run a
private instance for a company that wants there employees to use the private
instance instead of any of the public instances.
2 years ago
Markus Heiser 241bde5ae3 [fix] typo: add missing 'n' in center_aligment --> center_alignment
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser 4ef6263725
Merge pull request #1404 from dalf/donation_use_external_link
Donation link: default value to searxng.org, can be hidden or custom
2 years ago
Markus Heiser 5831c15b49 [fix] engines/openstreetmap.py typo: user_langage --> user_language
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Alexandre Flament 6716c6b0c3 openstreetmap engine: return the localized named.
For example: display "Tokyo" instead of "東京都" when the language is English.
2 years ago
Alexandre Flament 7f30ac37e9 map.html: display the intended text for the links instead of the URL
For example display "Tokyo (en)" instead of https://en.wikipedia.org/wiki/Tokyo
2 years ago
Markus Heiser 69a6d994e1
Merge pull request #1382 from dalf/fix_searxng_extra_update
fix searxng_extra/update/update*.py scripts
2 years ago
Markus Heiser 1416559f22 Update searx.data - update_engine_descriptions.py
./manage pyenv.cmd python ./searxng_extra/update/update_engine_descriptions.py

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser 2bf800a4b1 Update searx.data - update_currencies.py
./manage pyenv.cmd python ./searxng_extra/update/update_currencies.py

Closes: https://github.com/searxng/searxng/pull/1375
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Alexandre Flament f8f239fe1f Donation link: default value to searxng.org, can be hidden or custom
Add a new setting: general.donation_url

By default the value is https://docs.searxng.org/donate.html

When the value is false, the link is hidden

When the value is true, the link goes to the infopage donation,
the administrator can create a custom page.
2 years ago
searxng-bot 8376833d7d [translations] update from Weblate 2 years ago
Alexandre Flament bcded7686e [build] /static 2 years ago
Alexandre Flament e3e5d2bd22 Theme: all top right icons have labels including "Preferences" 2 years ago
searxng-bot 4272ef3117 [translations] update from Weblate
c6c13e8c - 2022-06-29 - Markus Heiser <markus.heiser@darmarit.de>
284f86fe - 2022-06-30 - Linerly <linerly@protonmail.com>
d659c9f2 - 2022-06-29 - Markus Heiser <markus.heiser@darmarit.de>
3d76fb71 - 2022-06-29 - wordpure <wordlesspure@gmail.com>
874e15dc - 2022-06-29 - Markus Heiser <markus.heiser@darmarit.de>
10f3978d - 2022-06-30 - Leonardo Colman <dev@leonardo.colman.com.br>
66556a49 - 2022-06-29 - Markus Heiser <markus.heiser@darmarit.de>
6c5a28a7 - 2022-06-30 - Markus Heiser <markus.heiser@darmarit.de>
9bb7dc8e - 2022-06-29 - Alexandre Flament <alex@al-f.net>
38bd6b55 - 2022-06-29 - Markus Heiser <markus.heiser@darmarit.de>
1aecb8f8 - 2022-06-29 - Markus Heiser <markus.heiser@darmarit.de>
9a74838e - 2022-06-29 - Markus Heiser <markus.heiser@darmarit.de>
3f139d79 - 2022-06-29 - Markus Heiser <markus.heiser@darmarit.de>
d3449b5f - 2022-06-29 - Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Alexandre Flament 1617ef1e41
Update searx/infopage/en/donate.md
Co-authored-by: Émilien Devos <contact@emiliendevos.be>
2 years ago
Alexandre FLAMENT 0e503c990a Move donation page to docs.searxng.org and link to it from instances
Close #1378
2 years ago
Alexandre FLAMENT ecccf02a02 infopage: a .md file can be remove without crash
An administrator might decide to remove some of the .md files.
This commit make sure to not crash the application.
2 years ago
Markus Heiser eb3123e164
Merge pull request #1379 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2 years ago
dalf a89fca9d08 Update searx.data - update_ahmia_blacklist.py 2 years ago
Markus Heiser 3a75d3c1cc
Merge pull request #1376 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2 years ago
dalf 11def5155e Update searx.data - update_wikidata_units.py 2 years ago
dalf 21ab024469 Update searx.data - update_firefox_version.py 2 years ago
Alexandre Flament 0801f9a24e Add donate.md 2 years ago
Alexandre Flament 86f14fd066 [build] /static 2 years ago
Alexandre Flament 6e2b5f3d5a Theme: add Help and Donate links in all pages
Close https://github.com/searxng/searxng/issues/931
2 years ago
Alexandre Flament 4bedd7465c
Merge pull request #1346 from dalf/theme-dependencies-upgrade
Theme: dependencies upgrade
2 years ago
searxng-bot bfebaa15ad [translations] update from Weblate
d745649a - 2022-06-25 - Alexandre Flament <alex@al-f.net>
80c8f41f - 2022-06-25 - tents <remendne@pentrens.jp>
2 years ago
Alexandre Flament 0f3e98ace4 Theme: upgrade dependencies & minor update of the grunt scripts
Remove webfont grunt script
Update clean grunt script
2 years ago
searxng-bot dd2577e21d [translations] update from Weblate
b4ef9941 - 2022-06-20 - Markus Heiser <markus.heiser@darmarit.de>
a4ad5c56 - 2022-06-23 - sdebnath002 <shibnathdebnath@gmail.com>
e9640746 - 2022-06-19 - liimee <alt3753.7@gmail.com>
063e2d09 - 2022-06-22 - HACKKER <andriy.o.vovk@gmail.com>
da095274 - 2022-06-21 - Vander <vander.azevedo88@gmail.com>
4d632f14 - 2022-06-21 - Vander <vander.azevedo88@gmail.com>
136edb67 - 2022-06-20 - Alexandre Flament <alex@al-f.net>
25533b02 - 2022-06-21 - Muhammad Hussein Fattahizadeh <semnanweb@gmail.com>
030b5310 - 2022-06-18 - Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser ed1ff4b8bc
Merge pull request #1357 from liimee/eng-3
Add curlie.org engine
2 years ago
ta 7c457fcf7a add curlie engine 2 years ago
Markus Heiser 88f62cf0df [fix] clean up templates / remove import of result_footer_rtl macro
A macro named 'result_footer_rtl' does not exists.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
ta 8883aed132 [fix] google play apps engine: implement engines/google_play_apps.py 2 years ago
Alexandre Flament 189df7db4e
Merge pull request #1287 from dalf/style-center-2nd
Theme: add a preference to center the results (Oscar) (2nd edition)
2 years ago
Alexandre Flament 0539e38309 Workaround: index.html: remove image preload
Related to https://github.com/searxng/searxng/issues/1326

URL for the logo is referenced twice:
* in index.html for preloading: it contains the hash for cache busting (when static_use_hash: true)
* in searxng.min.css: to actually display the image. The URL doesn't contain the hash.

So the image preload actually loads twice the same image.

This commit removed the image preloading.
This is workaround: the real fix is to be able to use the URL with the hash in the CSS.
2 years ago
Alexandre Flament e6c3000909 [build] /static 2 years ago
Alexandre Flament 8a85d1b0c7 Theme: add a preference to center the results (Oscar) (2nd edition)
related to
* #1169
* #1281
* #1286
2 years ago
Alexandre Flament 5bcbec9b06 Fix: use sys.modules.copy() to avoid RuntimeError
use sys.modules.copy() to avoid "RuntimeError: dictionary changed size during iteration"
see https://github.com/python/cpython/issues/89516
and https://docs.python.org/3.10/library/sys.html#sys.modules

close https://github.com/searxng/searxng/issues/1342
2 years ago
Alexandre Flament a7b0b2ecbf
Merge pull request #1329 from samsaptidev/feature/privacypolicy_url
Add privacypolicy_url option
2 years ago
Léon Tiekötter 6bdc66b70e
[fix] mojeek engine: XPath
Update the XPath of the Mojeek engine.
2 years ago
searxng-bot 8e107a9ad6 [translations] update from Weblate
7d7f9823 - 2022-06-14 - Markus Heiser <markus.heiser@darmarit.de>
61912312 - 2022-06-15 - liimee <alt3753.7@gmail.com>
895d116e - 2022-06-16 - vmisovic <vladimir.misovic03@gmail.com>
2f55d1a3 - 2022-06-13 - Markus Heiser <markus.heiser@darmarit.de>
507db1e1 - 2022-06-10 - Markus Heiser <markus.heiser@darmarit.de>
1a7079d1 - 2022-06-12 - Markus Heiser <markus.heiser@darmarit.de>
aa30ed02 - 2022-06-10 - Stanisław Jankowski <stach.jankowski@gmail.com>
2 years ago
samsaptidev 31005595c9
Add privacypolicy_url option 2 years ago
ta e9cc6ab0e7 add pub.dev engine 2 years ago
Paul Braeuning d7a76f3772
Merge pull request #1322 from return42/fix-794
[fix] keyboard.js - highlightResult: don't steal focus on click event
2 years ago
Markus Heiser ef4239c68a [doc] fix some leftovers from ad964562c
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser 1a361e6635 [build] /static 2 years ago
Markus Heiser 882282d0e9 [fix] keyboard.js - highlightResult: don't steal focus on click event
For keyboard navigation the highlightResult() function in keyboard.js steals the
focus.  On a mouse click event (non keyboard action) the focus should resist
where it is, otherwise a marked region gets lost.  This is the reason why text
can't be selected when using simple theme with JS enabled.

Closes: https://github.com/searxng/searxng/issues/794
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Alexandre Flament 3ade7ffc26 [build] /static 2 years ago
Alexandre Flament fe1683c9c6 UX fix: when the user clicks on the search input, don't move the cursor at the end
Related to https://github.com/searxng/searxng/pull/1153#issuecomment-1154247988
2 years ago
Markus Heiser 9b0b6a2c90
Merge pull request #1313 from unixfox/help-rate-limit-google
add "warn" message to notify the admin that use_mobile_ui parameter exist
2 years ago
Alexandre Flament ee3f230d93 Autocomplete: don't suggest the current query.
Example of minor issue before this commit:
the autocompletion can suggest "Test" if the query is "Test".
2 years ago
Alexandre Flament 2455f1d06a
Merge pull request #1308 from allendema/add-yep-com-json
[enh] Add yep.com via json_engine
2 years ago
Markus Heiser 916f5f8b90
Merge pull request #1306 from return42/fix-1303
[fix] move locale code from webapp.py to locales.py and fix #1303
2 years ago
Markus Heiser ad964562ce [fix] move locale code from webapp.py to locales.py and fix #1303
To improve modularization this patch:

- moves *locale* related implementation from the webapp.py application to the
  locale.py module.

- The initialization of the locales is now done in the application (webapp) and
  is no longer done while importing searx.locales.

In the searx.locales module a new dictionary named `LOCALE_BEST_MATCH` has been
added.  In this dictionary we can map languages without a translation to
languages we have a translation for.

To fix #1303 zh-HK has been mapped to zh-Hant-TW (we do not need additional
translations of traditional Chinese)

Closes: https://github.com/searxng/searxng/issues/1303
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Emilien Devos 0d4c066119 notify the user that use_mobile_ui parameter exist 2 years ago
Allen fd9a13a3e5 [enh] Initial no paging support for Yep.com
Upstream example query:
https://yep.com/web?q=test

https://yep.com/about
2 years ago
Alexandre Flament cd2dd5dd55 Wikidata engine: ignore dummy entities
Close #641
2 years ago
Alexandre Flament d068b67a71 Wikidata engine: minor change of the SPARQL request
The engine can be slow especially when the query won't return any answer.
See https://www.mediawiki.org/wiki/Wikidata_Query_Service/User_Manual/MWAPI#Find_articles_in_Wikipedia_speaking_about_cheese_and_see_which_Wikibase_items_they_correspond_to

Related to #1290
2 years ago
searxng-bot 1e82dedcf3 [translations] update from Weblate
25debdad - 2022-06-07 - Markus Heiser <markus.heiser@darmarit.de>
4ea83323 - 2022-06-08 - Markus Heiser <markus.heiser@darmarit.de>
034a61d2 - 2022-06-07 - Markus Heiser <markus.heiser@darmarit.de>
12598dee - 2022-06-08 - Markus Heiser <markus.heiser@darmarit.de>
9ebd1a60 - 2022-06-06 - Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Maciej Błędkowski 98c4156f12
Fixed typo in settings.yml 2 years ago
Alexandre Flament ea0cddba0b
Merge pull request #1047 from return42/redis-lib
Add a redis library to generalize DB functions we need in SearXNG.
2 years ago
Alexandre Flament 06217ef184 [build] /static 2 years ago
Alexandre Flament 9723cef99a Revert "Theme: add a preference to center the results (Oscar)"
This reverts commit 4237f5fd50.
2 years ago
Alexandre Flament f8f6b95d8f
Merge pull request #1281 from dalf/style-center
Theme: add a preference to center the results
2 years ago
Alexandre Flament 2c62360e6e [build] /static 2 years ago
Alexandre Flament 4237f5fd50 Theme: add a preference to center the results (Oscar)
related to #1169
2 years ago
Markus Heiser 0c489a25ac [fix] version.py: git format '%cs' is not downward compatible
Committer date, short format YYYY-MM-DD ('%cs') [1] is not supported by older git
versions.  Instead use '%cd' committer date (format respects --date= option) [2].

[1] https://www.git-scm.com/docs/git-show#Documentation/git-show.txt-emcsem
[2] https://www.git-scm.com/docs/git-show#Documentation/git-show.txt-emcdem

Suggested-by: @ravermeister https://github.com/searxng/searxng/issues/1251#issuecomment-1146282429
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser 2de007138c [fix] prepare for pylint 2.14.0
Remove issue reported by Pylint 2.14.0:

- no-self-use: has been moved to optional extension [1]
- The refactoring checker now also raises 'consider-using-generator' messages
  for max(), min() and sum(). [2]

.pylintrc:
  - <option name>-hint has been removed since long, Pylint 2.14.0 raises an
    error on invalid options
  - bad-continuation and bad-whitespace have been removed [3]

[1] https://pylint.pycqa.org/en/latest/whatsnew/2/2.14/summary.html#removed-checkers
[2] https://pylint.pycqa.org/en/latest/whatsnew/2/2.14/full.html#what-s-new-in-pylint-2-14-0
[2] https://pylint.pycqa.org/en/latest/whatsnew/2/2.6/summary.html#summary-release-highlights

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
searxng-bot bc8cd9cb8c [translations] update from Weblate
1f71567c - 2022-06-01 - karlis69420 <korlass.karlis2@gmail.com>
67ff4da0 - 2022-05-27 - Tony <papetouses@gmail.com>
57bf9bd7 - 2022-05-29 - Markus Heiser <markus.heiser@darmarit.de>
5f63090b - 2022-05-29 - Markus Heiser <markus.heiser@darmarit.de>
4b675666 - 2022-05-30 - Markus Heiser <markus.heiser@darmarit.de>
9fcfccff - 2022-06-02 - Markus Heiser <markus.heiser@darmarit.de>
b28ac961 - 2022-06-01 - Markus Heiser <markus.heiser@darmarit.de>
ec7b3c14 - 2022-05-29 - Markus Heiser <markus.heiser@darmarit.de>
622896c1 - 2022-05-31 - Markus Heiser <markus.heiser@darmarit.de>
53d0f115 - 2022-05-31 - Joan Montané <joan@montane.cat>
e16d889a - 2022-06-02 - Markus Heiser <markus.heiser@darmarit.de>
2c5337a5 - 2022-06-01 - karlis69420 <korlass.karlis2@gmail.com>
2 years ago
Alexandre FLAMENT 7e8a60fb27 [build] /static 2 years ago
Alexandre FLAMENT fbad93e808 Theme: enable autofocus of #q only on the index page and when the width > 50em
Related to #1270
2 years ago
Markus Heiser 96dc4369d5
Merge pull request #1259 from allendema/petal-images
[enh] Add Petalsearch Images engine
2 years ago
Léon Tiekötter 7e95d6bb79 [mod] image proxy: allow binary/octet-stream mime type
The Petal Search Images engine sends the thumbnails with the binary/octet-stream mime type.
2 years ago
Allen 43dc9eb7d6 [enh] Initial Petalsearch Images support
Upstream example query:

  https://petalsearch.com/search?query=test&channel=image&ps=50&pn=1&region=de-de&ss_mode=off&ss_type=normal

Depending on locale it will internally use some/all results from other
engines. See:

  https://seirdy.one/posts/2021/03/10/search-engines-with-own-indexes/#general-indexing-search-engines
2 years ago
Markus Heiser e568da2314
Merge pull request #1266 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2 years ago
Markus Heiser 84a5e48a90
Merge pull request #1265 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2 years ago
Markus Heiser 78968843a8
Merge pull request #1267 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2 years ago
Markus Heiser a9251cfeb4
Merge pull request #1268 from searxng/update_data_update_engine_descriptions.py
Update searx.data - update_engine_descriptions.py
2 years ago
Markus Heiser 61ee915064
Merge pull request #1264 from searxng/update_data_update_languages.py
Update searx.data - update_languages.py
2 years ago
dalf fda176144e Update searx.data - update_engine_descriptions.py 2 years ago
dalf f37b9978cb Update searx.data - update_currencies.py 2 years ago
dalf a93170725f Update searx.data - update_firefox_version.py 2 years ago
dalf 8d6d32bf6e Update searx.data - update_ahmia_blacklist.py 2 years ago
dalf 012d7fcaa0 Update searx.data - update_languages.py 2 years ago
dalf ab9616c2cc Update searx.data - update_wikidata_units.py 2 years ago
Markus Heiser 1a8ff10e30 [mod] redislib - optimize LUA script registration.
Instead of register the LUA script on each call, the LUA script is registered
once and the `Script` object is cached in global storage.

[1] https://github.com/searxng/searxng/pull/1047#discussion_r884143305

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser 4b185f0e11 [mod] plugins/limiter.py - use searx.redislib.incr_sliding_window
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser 08876df7c2 [mod] collection of redis functions and lua scripts (initial)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Léon Tiekötter 167f635924
[engine] petal search news
Add Petal Search News to SearXNG via XPath
2 years ago
Léon Tiekötter f09e8abd76
[engine] petal search
Add Petal Search to SearXNG via XPath
2 years ago
Léon Tiekötter 7c8903c809
[fix] mojeek engine: xpath 2 years ago
Markus Heiser e93385e6de
Merge pull request #1249 from Linerly/english-infopage
Capitalize website names in search-syntax.md, in the English infopage
2 years ago
Linerly c2f7b1136e
Capitalize website names 2 years ago
Linerly 979c42f044
Replace link 2 years ago
Linerly 2871900651
Capitalize website names 2 years ago
Linerly db26b9b13b
Replace English links to Indonesian links 2 years ago
Markus Heiser 22d8971bc9 [translation] add DE translation of about.md and search-syntax.md
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser 7686739f56
Merge pull request #1242 from Linerly/indonesian-infopage
Add Indonesian translations of about.md and search-syntax.md
2 years ago
searxng-bot 69886253d6 [translations] update from Weblate
00f6ec8e - 2022-05-27 - Tony <papetouses@gmail.com>
76553d1e - 2022-05-22 - Markus Heiser <markus.heiser@darmarit.de>
897c7b0a - 2022-05-22 - Markus Heiser <markus.heiser@darmarit.de>
bed737a1 - 2022-05-23 - Markus Heiser <markus.heiser@darmarit.de>
9a0227e5 - 2022-05-26 - Markus Heiser <markus.heiser@darmarit.de>
f8598b81 - 2022-05-24 - 358k <358k@protonmail.com>
a181f9e3 - 2022-05-26 - Markus Heiser <markus.heiser@darmarit.de>
1c0c6941 - 2022-05-26 - Markus Heiser <markus.heiser@darmarit.de>
5b707d4d - 2022-05-26 - smallaxe80 <smallaxe1980@gmail.com>
2 years ago
Linerly f3134e0869 Add Indonesian translations of about.md and search-syntax.md 2 years ago
Allen 13f4dcafc1
[fix] [new] Brave - Update xpath
Last merge request was messed up with git.
2 years ago
Alexandre Flament c24864a9ad Enable duckduckgo by default
see https://github.com/searxng/searxng/pull/1219#discussion_r879543174
2 years ago
Alexandre Flament cea7b71d14 Disable the bing engine
see
* https://github.com/searxng/searxng/discussions/1209
* https://github.com/searxng/searxng/issues/941
* https://github.com/searxng/searxng/pull/1219
2 years ago
Alexandre Flament d694b339c5
Merge pull request #1214 from dalf/update_template_image
Template images.html: always use JS to lazy load the full size images
2 years ago
searxng-bot 1911d63186 [translations] update from Weblate
fffd40d4 - 2022-05-17 - Orwell Not <neteheste@gmail.com>
ae4b92e4 - 2022-05-16 - Linerly <linerly@protonmail.com>
946e5e9c - 2022-05-18 - Markus Heiser <markus.heiser@darmarit.de>
c758b17b - 2022-05-16 - tents <remendne@pentrens.jp>
0a73f5ad - 2022-05-19 - Anthony ocic <drake@zmmapperz.net>
36c8c1a2 - 2022-05-15 - Alexandre Flament <alex@al-f.net>
42fec22c - 2022-05-16 - Markus Heiser <markus.heiser@darmarit.de>
43d1f4ed - 2022-05-17 - Orwell Not <neteheste@gmail.com>
2 years ago
Alexandre FLAMENT 0063427309 Template images.html: lazy by JS the full size image
Remove lazy loading by browser / width / height:
JS is required to display this HTML fragment anyway.

Simplify the HTML template.
2 years ago
Alexandre Flament f814ac703b
Merge pull request #1202 from julianfairfax/master
Preferences URL in preferences
2 years ago
Julian Fairfax 7d443dfea3 Preferences URL in preferences
Revert translation changes

Auto-save preferences from URL

Preferences URL in preferences

Fix that

Preferences URL in preferences
2 years ago
Allen 6ef24ffd94
[enh] Add alexandria.org engine
engine: json_engine
official_api_documentation: https://github.com/alexandria-org/alexandria-api/raw/master/README.md
2 years ago
searxng-bot 6b29cddadb [translations] update from Weblate
2842aa38 - 2022-05-12 - gkkulik <gregorykkulik@gmail.com>
c8fd2dee - 2022-05-08 - Linerly <linerly@protonmail.com>
6336104f - 2022-05-11 - Markus Heiser <markus.heiser@darmarit.de>
2419fe86 - 2022-05-13 - Luka <jovanovic.luka3214@gmail.com>
6ed911eb - 2022-05-11 - Markus Heiser <markus.heiser@darmarit.de>
b6afceca - 2022-05-08 - tents <remendne@pentrens.jp>
a250f349 - 2022-05-11 - Markus Heiser <markus.heiser@darmarit.de>
3506357b - 2022-05-11 - Markus Heiser <markus.heiser@darmarit.de>
dbf772e9 - 2022-05-11 - Mico Hautaluoma <m@mha.fi>
ee7c5036 - 2022-05-11 - Mico Hautaluoma <m@mha.fi>
8411acd2 - 2022-05-09 - Markus Heiser <markus.heiser@darmarit.de>
2 years ago
mrpaulblack bc89bb4790 [build] /static 2 years ago
mrpaulblack 392c9c4243 [simple theme] add products.html template 2 years ago
Léon Tiekötter 035a4eaa09
Merge pull request #1194 from mrpaulblack/fix-leaflet-src
[fix] loading of external resources in JS client toolkit
2 years ago
mrpaulblack 58d4086ce1 [build] /static 2 years ago
Paul Braeuning b47e44a008
Merge pull request #1196 from unixfox/patch-2
Fix typo for the limiter plugin docs
2 years ago
Émilien Devos 66b77c46c7
Fix typo 2 years ago
Émilien Devos 06cb15cbf7
Reflect the real world parameter from settings.yml 2 years ago
mrpaulblack 33c0a9e410 [fix] loading of external resources in JS client toolkit 2 years ago
mrpaulblack c69c61838b [fix] autocomplete and infinite scroll persistence in preferences
* fixes a regression from https://github.com/searxng/searxng/pull/1186
2 years ago
mrpaulblack 6b124e5120 [build] /static 2 years ago
Monty 2115f6565e [mod] simple theme: colors, autocomplete, border
* change colors, autocomplete, delete border in some places
2 years ago
Léon Tiekötter 18b8bbc017
[fix] PR 1186: GET method
PR https://github.com/searxng/searxng/pull/1186 prevented the GET method from being selected.
2 years ago
Alexandre Flament 1e45dbbae9 [build] /static 2 years ago
Alexandre Flament 9b3efa6d8a theme: remove __common__ 2 years ago
Markus Heiser 4326009d00 [format.python] based on bugfix in 9ed626130 2 years ago
Markus Heiser 8175290867 [build] /static 2 years ago
Markus Heiser 444b1e70db [mod] add setting: search.autocomplete_min
Minimun characters to type before autocompleter starts.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser ed2a4c8087 [mod] client_settings: pass settings from server to JS client
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Markus Heiser 3f18761adb
Revert "[build] /static" 2 years ago
Markus Heiser 0f18bfc8a5 [build] /static 2 years ago
Alexandre FLAMENT 550f70b1aa Add support for the Silesian language 2 years ago
searxng-bot 12a584c5dd [translations] update from Weblate
7d941719 - 2022-05-05 - gkkulik <gregorykkulik@gmail.com>
c3fa2774 - 2022-05-04 - Markus Heiser <markus.heiser@darmarit.de>
0c527178 - 2022-05-05 - realdep <islekege@gmail.com>
3540a89f - 2022-05-06 - AHOHNMYC <lqwh2h2cwa@protonmail.com>
c517f467 - 2022-05-06 - iFvt;/s:.Io8yejcE! <6dbjomtr@anonaddy.me>
f9b9f666 - 2022-05-06 - Markus Heiser <markus.heiser@darmarit.de>
2b3dfa75 - 2022-05-06 - Markus Heiser <markus.heiser@darmarit.de>
bacd0922 - 2022-05-05 - gkkulik <gregorykkulik@gmail.com>
2 years ago
Paul Braeuning 31521f3a46
Merge pull request #1153 from return42/drop-oscar
[theme] peel out oscar from SearXNG development
3 years ago
Markus Heiser 8a79eb4d7b
Merge pull request #1158 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
3 years ago
Markus Heiser 6bd6e09e14
Merge pull request #1159 from searxng/update_data_update_engine_descriptions.py
Update searx.data - update_engine_descriptions.py
3 years ago
Markus Heiser 9c7e9bf1d9
Merge pull request #1157 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
3 years ago
Markus Heiser 9e6000407a
Merge pull request #1156 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
3 years ago
dalf 6f0a717dce Update searx.data - update_engine_descriptions.py 3 years ago
dalf bdfbc0ec02 Update searx.data - update_currencies.py 3 years ago
dalf 6cb08a568a Update searx.data - update_wikidata_units.py 3 years ago
dalf 10023344a5 Update searx.data - update_ahmia_blacklist.py 3 years ago
dalf e36d7067a9 Update searx.data - update_firefox_version.py 3 years ago
Markus Heiser c3bb6c7059 [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>
3 years ago
Markus Heiser ad1aca6823 [theme] delete static/themes/oscar and templates/oscar
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>

 templates/oscar#	gelöscht:       searx/static/themes/oscar/fonts/glyphicons-halflings-regular.ttf
3 years ago
Markus Heiser e8541b6006 [theme] peel out oscar from SearXNG development
This is the first step of removing oscar theme

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser fa681580bf
Merge pull request #1150 from searxng/dependabot/pip/master/pygments-2.12.0
Bump pygments from 2.11.2 to 2.12.0

After each update of the pygments version, we (or github action) should [1]

1. update less files:

    ./manage pyenv.cmd searxng_extra/update/update_pygments.py

    update: static/themes/oscar/src/generated/pygments-logicodev.less
    update: static/themes/oscar/src/generated/pygments-pointhi.less
    update: static/themes/simple/src/generated/pygments.less

2. rebuild the static files of each themes:

    make static.build.commit

[1] https://github.com/searxng/searxng/pull/2#issuecomment-826958666

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 0275f0f5ad [upd] ./manage pyenv.cmd searxng_extra/update/update_pygments.py
After each update of the pygments version, we (or github action) should [1]

1. update less files:

    ./manage pyenv.cmd searxng_extra/update/update_pygments.py

    update: static/themes/oscar/src/generated/pygments-logicodev.less
    update: static/themes/oscar/src/generated/pygments-pointhi.less
    update: static/themes/simple/src/generated/pygments.less

2. rebuild the static files of each themes:

    make static.build.commit

[1] https://github.com/searxng/searxng/pull/2#issuecomment-826958666

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser fcc177b6ed
Merge pull request #1151 from searxng/translations_update
Update translations
3 years ago
searxng-bot 4b77fc6acf [translations] update from Weblate
07ad7224 - 2022-04-29 - Alexandre Flament <alex@al-f.net>
3 years ago
Léon Tiekötter 02026bcc76
[fix] library genesis engine: xpath and url
Changed the xpath to use the official download mirror.

Changed the URL to libgen.fun as this is the official instance. (https://en.wikipedia.org/wiki/Library_Genesis)
3 years ago
Allen 624b58764a
[enh] Add pagination to Brave
Also added ```&spellcheck=1``` because now it is disabled by default, not returning any ```suggestion_xpath```.
3 years ago
capric98 8c7e6cc983 [fix] FutureWarning from lxml
Just in case if content is None, the original code will skip extract_text(), and
just append the None value to 'content'. So just add allow_none=True, and this
will return None without raising a ValueError in extract_text().
3 years ago
Markus Heiser 62982c8812 [fix] add back missing languages & regions (followup of PR #1071)
In PR #1071 the language catalog of dailymotion has been cleaned up, before
there had been over 7000 "languages" in the catalog.

As a side effect of this clean-up the language & region catalog in SearXNG has
been reduced [1].

This patch reduce the ``min_engines_per_lang`` from 13 to 12 to get the missed
languages back in language & region catalog of SearXNG.

[1] 3bb62823ec (diff-f3f00db0f87f95b882624a192e0aac21525638af0b18c9514e765fcf1991678d)

Requested-by: @tiekoetter in a Matrix chat
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
dependabot[bot] 1974a85461
Bump grunt-contrib-uglify in /searx/static/themes/simple
Bumps [grunt-contrib-uglify](https://github.com/gruntjs/grunt-contrib-uglify) from 5.1.0 to 5.2.1.
- [Release notes](https://github.com/gruntjs/grunt-contrib-uglify/releases)
- [Changelog](https://github.com/gruntjs/grunt-contrib-uglify/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt-contrib-uglify/compare/v5.1.0...v5.2.1)

---
updated-dependencies:
- dependency-name: grunt-contrib-uglify
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
Markus Heiser 50bac93363
Merge pull request #1094 from searxng/dependabot/npm_and_yarn/searx/static/themes/simple/master/grunt-1.5.2
Bump grunt from 1.4.1 to 1.5.2 in /searx/static/themes/simple
3 years ago
Markus Heiser cf644b413e [test.pyright] suppress unneeded error & warning messages
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
searxng-bot 9fd5d3b2ac [translations] update from Weblate
9398019a - 2022-04-18 - Markus Heiser <markus.heiser@darmarit.de>
2768987d - 2022-04-18 - Markus Heiser <markus.heiser@darmarit.de>
dc9e7f98 - 2022-04-21 - Markus Heiser <markus.heiser@darmarit.de>
b223bd62 - 2022-04-17 - Egor Ermakov <eg.ermakov2016@gmail.com>
715e7dac - 2022-04-18 - Mihai <miihairadu@gmail.com>
5c53a0ec - 2022-04-18 - Markus Heiser <markus.heiser@darmarit.de>
5906fd34 - 2022-04-18 - Markus Heiser <markus.heiser@darmarit.de>
691702ed - 2022-04-19 - Markus Heiser <markus.heiser@darmarit.de>
cc8bb018 - 2022-04-18 - Markus Heiser <markus.heiser@darmarit.de>
ebfab76a - 2022-04-18 - Markus Heiser <markus.heiser@darmarit.de>
a8ce22fa - 2022-04-18 - Markus Heiser <markus.heiser@darmarit.de>
e9b6e3c6 - 2022-04-18 - Markus Heiser <markus.heiser@darmarit.de>
6266ea2e - 2022-04-18 - Markus Heiser <markus.heiser@darmarit.de>
1729fbd8 - 2022-04-18 - Markus Heiser <markus.heiser@darmarit.de>
0d0f5293 - 2022-04-18 - Mihai <miihairadu@gmail.com>
1b022583 - 2022-04-18 - Markus Heiser <markus.heiser@darmarit.de>
f2a71d93 - 2022-04-18 - A. B <gamemc@virgilio.it>
30206782 - 2022-04-15 - Mico Hautaluoma <m@mha.fi>
10f54679 - 2022-04-17 - smallaxe80 <smallaxe1980@gmail.com>
3 years ago
Markus Heiser 4ab189315b [build] /static 3 years ago
Markus Heiser 2bcd610eeb [fix] add missing result.length and result.author to simple theme
Closes: https://github.com/searxng/searxng/issues/1027
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament e22dc2ba36
Merge pull request #1099 from dalf/update_engine_descriptions
Update engine descriptions
3 years ago
Alexandre Flament bbf13a4657
Merge pull request #1101 from allendema/pass-cookies-from-settings
[enh] Allow passing headers/cookies from settings.yml
3 years ago
Allen dae8a08089
[fix[ Update only cookies/headers 3 years ago
Allen 67fb6fba84
[lint] Remove whitespace
From GH GUI
3 years ago
Allen f039873e1a
[mod] Make a default domain for ebay
Which can be changed.
3 years ago
Allen 15862ebc35
[mod] Pass desired ebay domain in settings
https://www.ebay.de
https://www.ebay.com
htttps://www.ebay.es

etc
3 years ago
Allen 155333f625
[enh] Allow passing headers/cookies from settings.yml
Example:

   - engine: xpath
   - search_url: example.org
   - headers: {'example_header': 'example_header'}
   - cookies: {'safesearch': 'off'}
3 years ago
Alexandre Flament 7bf9e12db9 Update searx.data - update_engine_descriptions.py 3 years ago
Alexandre Flament c474616642
Merge pull request #1071 from return42/fix-lang-dailymotion
[fix] dailymotion engine: filter by language & country
3 years ago
Alexandre Flament 4224607c62 searx.utils.html_to_text: replace <br/> by a space 3 years ago
Alexandre Flament 1a82e79b50 dailymotion: send valid value for the language parameter 3 years ago
Markus Heiser 3bb62823ec [fix] dailymotion engine: filter by language & country
- fix the issue of fetching more the 7000 *languages*
- improve the request function and filter by language & country
- implement time_range_support & safesearch
- add more fields to the response from dailymotion (allow_embed, length)
- better clean up of HTML tags in the 'content' field.

This is more or less a complete rework based on the '/videos' API from [1].
This patch cleans up the language list in SearXNG that has been polluted by the
ISO-639-3 2 and 3 letter codes from dailymotion languages which have never been
used.

[1] https://developers.dailymotion.com/tools/

Closes: https://github.com/searxng/searxng/issues/1065
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Vojtěch Fošnár ccd8305465
Merge branch 'searxng:master' into master 3 years ago
searxng-bot 9109ad706d [translations] update from Weblate
10e2e02d - 2022-04-14 - Markus Heiser <markus.heiser@darmarit.de>
723fc2b4 - 2022-04-14 - Markus Heiser <markus.heiser@darmarit.de>
8c3ef0ce - 2022-04-12 - Linerly <linerly@protonmail.com>
19b08ebf - 2022-04-10 - A. B <gamemc@virgilio.it>
5838445a - 2022-04-10 - BriLHR <brianlimapp@gmail.com>
a9541b96 - 2022-04-10 - Markus Heiser <markus.heiser@darmarit.de>
8f9c7cee - 2022-04-10 - Michal Kuncl <michal.kuncl@gmail.com>
54ea2973 - 2022-04-11 - Taufik Hidayat <tfkhdyt@pm.me>
3 years ago
dependabot[bot] e314cfe667
Bump grunt from 1.4.1 to 1.5.2 in /searx/static/themes/simple
Bumps [grunt](https://github.com/gruntjs/grunt) from 1.4.1 to 1.5.2.
- [Release notes](https://github.com/gruntjs/grunt/releases)
- [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt/compare/v1.4.1...v1.5.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
Vojtěch Fošnár de4af2fefd [enh] add seznam autocomplete 3 years ago
Jabster28 9eb1b04f48
change "Wolfram|Alpha" to "Wolfram Alpha" in search results 3 years ago
Alexandre Flament 27f8fa6fe0
Merge pull request #1048 from Linerly/patch-1
Improve the about page
3 years ago
Alexandre Flament 592cea0e5e
Merge pull request #1030 from austinhuang0131/master
(feat) add jisho.org
3 years ago
Alexandre Flament 74c7aee9ec jisho : code refactoring 3 years ago
Alexandre Flament e764427153
Merge branch 'master' into switch-md-parser 3 years ago
Markus Heiser 5e7f469911
Merge pull request #1051 from return42/fix-region-name
[fix] add missing territory (country) name
3 years ago
Paul Braeuning 02d64772f7
Merge pull request #1066 from unixfox/fix-icons-oscar
Revert "[fix] return correct favicon path"
3 years ago
Paul Braeuning 604d177551
Merge pull request #1064 from capric98/pretty-url
fix: %2F in path will be converted to " › " in searx/webapp.py
3 years ago
searxng-bot 01bbd1d0bd [translations] update from Weblate
45fc8afe - 2022-04-08 - Markus Heiser <markus.heiser@darmarit.de>
b187bba2 - 2022-04-08 - A. B <gamemc@virgilio.it>
9d380d66 - 2022-04-07 - A. B <gamemc@virgilio.it>
03029129 - 2022-04-07 - A. B <gamemc@virgilio.it>
be15e572 - 2022-04-06 - Linerly <linerly@protonmail.com>
71fb0c50 - 2022-04-03 - Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Émilien Devos cad3d93fa2 Revert "[fix] return correct favicon path"
This fixes https://github.com/searxng/searxng/issues/1057
This reverts commit f99d109ceb.
3 years ago
HZH c7de5c043c
fix: %2F in path will be converted to " › " 3 years ago
Markus Heiser 9215281232 [mod] replace Markdown parser mistletoe by markdown-it-py
There are several reasons why we should prefer markdown-it-py over mistletoe:

- Get identical rendering results in SearXNG's `/info` pages and the SearXNG's
  project documentation which is build by Sphinx-doc.

  In the Sphinx-doc we use the MyST parser to render Markdown and the MyST
  parser itself is built on top of the markdown-it-py package.

- markdown-it-py has a typographer that supports *replacements*
  and *smartquotes* (e.g. em-dash, copyright, ellipsis, ...) [1]

- markdown-it-py is much more flexible compared to mistletoe [2]

- markdown-it-py is the fastest CommonMark compliant parser in python [3]

[1] https://markdown-it-py.readthedocs.io/en/latest/using.html#typographic-components
[2] https://markdown-it-py.readthedocs.io/en/latest/plugins.html
[3] https://markdown-it-py.readthedocs.io/en/latest/other.html#performance

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
mrpaulblack 170f0081c9 [build] /static 3 years ago
mrpaulblack 169f8d9988 [simple theme] add netloc to image result articles 3 years ago
Linerly 22309f398b
Fix spelling and punctuation 3 years ago
Markus Heiser 19ebd0e1ac [mod] review of the "Search Syntax" page (en)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 655db9b003 [mod] review of the "About SearXNG" page (en)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser effcde3d0e [fix] add missing territory (country) name
Related-to: https://github.com/searxng/searxng/pull/1029#issuecomment-1086824911
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
HZH 57a3252ff1
Unquote path on result page. 3 years ago
Linerly 036b46493b
Improve the about page 3 years ago
Alexandre Flament 765504ceca
Merge pull request #1031 from dalf/fix-bing-_fetch_supported_languages
Fix bing  fetch supported languages
3 years ago
Austin Huang 19fa0095a0
(fix) satisfy the linter, and btw reduce timeout 3 years ago
Austin Huang a399248f56
update jisho.py according to suggestions 3 years ago
dependabot[bot] b40d57df82 Bump grunt-contrib-uglify in /searx/static/themes/oscar
Bumps [grunt-contrib-uglify](https://github.com/gruntjs/grunt-contrib-uglify) from 5.0.1 to 5.1.0.
- [Release notes](https://github.com/gruntjs/grunt-contrib-uglify/releases)
- [Changelog](https://github.com/gruntjs/grunt-contrib-uglify/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt-contrib-uglify/compare/v5.0.1...v5.1.0)

---
updated-dependencies:
- dependency-name: grunt-contrib-uglify
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
dependabot[bot] c199eadaf9 Bump grunt-contrib-uglify in /searx/static/themes/simple
Bumps [grunt-contrib-uglify](https://github.com/gruntjs/grunt-contrib-uglify) from 5.0.1 to 5.1.0.
- [Release notes](https://github.com/gruntjs/grunt-contrib-uglify/releases)
- [Changelog](https://github.com/gruntjs/grunt-contrib-uglify/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt-contrib-uglify/compare/v5.0.1...v5.1.0)

---
updated-dependencies:
- dependency-name: grunt-contrib-uglify
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
searxng-bot 556e137f8e [translations] update from Weblate
74fb5882 - 2022-04-01 - Markus Heiser <markus.heiser@darmarit.de>
303aa210 - 2022-03-30 - dryragtax hamham uk <dryragtax@hamham.uk>
3eef1150 - 2022-03-30 - Markus Heiser <markus.heiser@darmarit.de>
fce33e06 - 2022-03-30 - Markus Heiser <markus.heiser@darmarit.de>
236dc6cb - 2022-03-31 - Joan Montané <joan@montane.cat>
666e5849 - 2022-03-28 - Markus Heiser <markus.heiser@darmarit.de>
3a6ee1c5 - 2022-03-28 - Markus Heiser <markus.heiser@darmarit.de>
42a5f993 - 2022-03-27 - Linerly <linerly@protonmail.com>
3 years ago
Markus Heiser 099840f4d6
Merge pull request #1035 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
3 years ago
Markus Heiser b853ab717e
Merge pull request #1034 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
3 years ago
Markus Heiser c2de356497
Merge pull request #1033 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
3 years ago
dalf 086517d269 Update searx.data - update_wikidata_units.py 3 years ago
dalf d245ca97ca Update searx.data - update_ahmia_blacklist.py 3 years ago
dalf 084d9ab4e4 Update searx.data - update_currencies.py 3 years ago
dalf 4d55523247 Update searx.data - update_firefox_version.py 3 years ago
Alexandre FLAMENT 7d31b2c0af Update languages 3 years ago
Alexandre FLAMENT f00cdb5e51 bing engine: _fetch_supported_languages: don't use the language code as a country
ref #1029
3 years ago
Austin Huang 934ae4e086
(feat) add jisho.org
Closes #1016
3 years ago
Alexandre Flament d1334beb4f
Merge pull request #1023 from austinhuang0131/master
[fix] return correct plugin path
3 years ago
Austin Huang 96b8aac826
Extra null safety
Co-Authored-By: Alexandre Flament <alex.andre@al-f.net>
3 years ago
Austin Huang 6353b850b0
[fix] merge fake "plugins" endpoint back to "static"
https: //matrix.to/#/!vxScbLNEAmRvOraXBn:matrix.org/$0zqTtH3s-eVKlMwiAgiEJdetOkRx27EIRs-C0o8FzSg?via=libera.chat&via=matrix.org&via=tchncs.de
Co-Authored-By: Alexandre Flament <alex.andre@al-f.net>
3 years ago
Austin Huang f99d109ceb
[fix] return correct favicon path 3 years ago
Paul Braeuning b94fdd0df0
Merge pull request #1024 from MontyQI/answer-box
Fix answer box bug
3 years ago
Alexandre Flament 0379856712
Merge pull request #967 from return42/language-filter
[mod] add flags to the languages filter
3 years ago
Monty a5b013be4f [build] /static 3 years ago
Monty c09ce4d0f2 Fix answer box bug
Fix bug of too long words.
3 years ago
Austin Huang e09d2ad4a7
[fix] return correct plugin path
closes #1021
3 years ago
Alexandre Flament dec04c0ed6
Merge pull request #999 from return42/fix-doc-settings2
[docs] document settings.yml: search.languages
3 years ago
Alexandre Flament b44a29a5a2
Merge pull request #1004 from MontyQI/search_url
Search_url only if method is POST
3 years ago
Monty d4d42b423c Search_url only if method is POST
Shows search_url only if method is set to POST.
3 years ago
Markus Heiser a521d4985a [docs] document settings.yml: search.languages
Requested-by: @dalf https://github.com/searxng/searxng/pull/996#discussion_r830858139
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser ef8af285a2
Merge pull request #994 from return42/add-limiter-redis-doc
[doc] add some documentation about the limiter plugin (and redis)
3 years ago
mrpaulblack fb5169c839 [build] /static 3 years ago
mrpaulblack d8d42c8541 [fix] revert changes from #997
* in #997 there was a bug introduced: #1002
-> for now we just revert the change to make the image detail modal usable again
3 years ago
Markus Heiser 37493b0a1e [doc] add some documentation about the limiter plugin (and redis)
Requested-by: https://github.com/searxng/searxng/discussions/993#discussioncomment-2396914
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
searxng-bot 1e3c0e4e3f [translations] update from Weblate
539bbc2a - 2022-03-25 - Markus Heiser <markus.heiser@darmarit.de>
b6819712 - 2022-03-25 - Markus Heiser <markus.heiser@darmarit.de>
8ae195a0 - 2022-03-25 - Markus Heiser <markus.heiser@darmarit.de>
3ae1423b - 2022-03-20 - Linerly <linerly@protonmail.com>
45dcd109 - 2022-03-21 - Colin Xu <xuzhonglinx@gmail.com>
8ade7993 - 2022-03-21 - Colin Xu <xuzhonglinx@gmail.com>
b815082a - 2022-03-20 - Markus Heiser <markus.heiser@darmarit.de>
cf6bffeb - 2022-03-20 - Markus Heiser <markus.heiser@darmarit.de>
b8132699 - 2022-03-23 - AHOHNMYC <lqwh2h2cwa@protonmail.com>
58736d0d - 2022-03-21 - Markus Heiser <markus.heiser@darmarit.de>
cffd9679 - 2022-03-21 - Markus Heiser <markus.heiser@darmarit.de>
94fe1122 - 2022-03-24 - Alexandre Flament <alex@al-f.net>
cdf14e88 - 2022-03-21 - Markus Heiser <markus.heiser@darmarit.de>
ab6bf599 - 2022-03-20 - Marc Abonce Seguin <marc-abonce@mailbox.org>
0c2a39e0 - 2022-03-20 - Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser cfd08055ca
Merge pull request #963 from MontyQI/mobile-bar
Mobile bar google-like
3 years ago
Markus Heiser 7653e8bf16
Merge pull request #995 from return42/fix-932
[interim fix] static files can't be delivered by HTTP.
3 years ago
mrpaulblack 4ba9f98209 [build] /static 3 years ago
Monty 47dcf876ff [simple theme] refactor search form
* update search input form params; inspiried by whoogle
* remove autofocus from result page input form (JS impl. as well as input param)
-> autofocus on landing page still works only on desktop and tablet with JS impl.
* update landing page margins on mobile
* rework border and radius for search form to 0.8rem and outline
* remove positioning from autocomplete JS lib and use CSS impl.
* match search box and autocomplete width
* rework search form to a google like design on mobile
* fix settings icon display withg RTL on mobile on result page when search input is empty
3 years ago
Markus Heiser b14ed494fb
Merge pull request #996 from return42/fix-settings-doc
[docs] improve settings.yml documentation (admin/engines/settings)
3 years ago
Markus Heiser 32a35b4654 [docs] improve settings.yml documentation (admin/engines/settings)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 11b2724b29 [build] /static 3 years ago
Markus Heiser 022479d4c2 [fix] Text can't be selected when using simple theme with JS enabled
Closes: https://github.com/searxng/searxng/issues/794
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 2486cdc2dc [build] /static 3 years ago
Alexandre Flament 6eae697c73 simple theme: upgrade some of dependencies
* less-plugin-clean-css: no updated version.
  @wikipedia/less-plugin-clean-css might be an alternative.

* stylelint & stylelint-config-standard
  the new versions require configuration and source code changes
3 years ago
Markus Heiser fd5fcdedce [interim fix] static files can't be delivered by HTTP.
Since PR 932 [1][2] static files can't be delivered by HTTP server any longer.

This patch makes the hash paramter in the URL of static files:

    /static/themes/simple/css/searxng.min.css?5fde34a74bc438c7b56ec8c6501e131cc9914bd8

optional.  By default the hash parameter is disabled.

HINT:

  Instances that do not deliver static files by their HTTP server and have a
  long expire time [3] should enable this option.

----

This is only a interim solution, on the long run:

    make static.build.commit

creates files including the file name:

    css/searxng-5fde34a74bc438c7b56ec8c6501e131cc9914bd8.min.css

and a mapping.json with this content[4]

[1] https://github.com/searxng/searxng/issues/964
[2] https://github.com/searxng/searxng/pull/932#issuecomment-1067039518
[3] 5583336440
[4] https://github.com/searxng/searxng/pull/932#issuecomment-1067216426

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament b25f118d64
Merge pull request #990 from dalf/searxng_base_url
settings.yml: allow to base_url with the SEARXNG_BASE_URL env variable
3 years ago
Markus Heiser 3201aa1b3f
Merge pull request #859 from return42/fix-814
[mod] add i18n infrastructure for SearXNG message files (searxng.msg)
3 years ago
Markus Heiser bc30309939
Merge pull request #992 from return42/fix-987
[fix] settings.yml: ui.results_on_new_tab
3 years ago
Markus Heiser e4a2bfba38 [fix] settings.yml: ui.results_on_new_tab
Closes: https://github.com/searxng/searxng/issues/987
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament 2366345429 [build] /static 3 years ago
Alexandre Flament 84340f56ec simple theme: JS version: the reset button clear the text
The <input type="reset"> introduced in the PR 894, restores the default value.
It works in the index page, but it doesn't work in the /search page:
the reset button restore the initial query.

This PR:
* fix the JS version: the reset button clear the text
* keep the clear button in the / page
* hide the clear button in the /search page
3 years ago
Alexandre Flament 8d83787318 settings.yml: allow to base_url with the SEARXNG_BASE_URL env variable
Related to https://github.com/searxng/searxng-docker/pull/12
3 years ago
Markus Heiser 076c6889d3 [fix] simple theme: open preferences with general tab
BTW: fix also the category tab to open with category 'general'

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
mrpaulblack f428dea87c [build] /static 3 years ago
mrpaulblack 3620d006a4 [fix] naming of id for prefs in css 3 years ago
Markus Heiser 2e4557f3f3 [fix] languages: show country name even if there is only one country
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
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>
3 years ago
Markus Heiser 2841abaf55 [mod] add flags to the languages filter
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 7625da9fa0
Merge pull request #986 from dalf/fix-startpage-fetch_supported_languages
fix startpage: update XPath in _fetch_supported_languages
3 years ago
Alexandre Flament 378b29be2f fix startpage: update XPath in _fetch_supported_languages 3 years ago
Alexandre Flament b692035120
Merge pull request #894 from dalf/simple-aria-1
[enh] simple: basic ARIA fixes
3 years ago
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>
3 years ago
Alexandre Flament 26d47fe587
Merge pull request #975 from return42/fix-723
[fix] remove unmaintained searx/templates/simple/simple.spec.txt
3 years ago
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>
3 years ago
Alexandre Flament dbe3eaabc9 Info: code refactoring & bug fixes 3 years ago
mrpaulblack a1776ff57d [build] /static 3 years ago
mrpaulblack 6a8e168e25 [simple theme] use default font and font-size in info page 3 years ago
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>
3 years ago
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>
3 years ago
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>
3 years ago
Markus Heiser cd92a7eacd
Merge pull request #930 from return42/merge-user-doc2
Integrate the user documentation into the application
3 years ago
Alexandre Flament 1157462ff9 Various change on PR 930 3 years ago
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>
3 years ago
Markus Heiser 8d83e4aeff [build] /static 3 years ago
Markus Heiser 3633dc5611 [simple] add CSS for /info pages
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
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>
3 years ago
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>
3 years ago
Alexandre Flament d597f36e07 [fix] simple: the clear button works without javascript
related to #928
3 years ago
Alexandre Flament a250ddadb9 [enh] simple: basic ARIA fixes 3 years ago
Markus Heiser 53b5a804e2 [fix] engine mediathekviewweb: replace http links by https
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Martin Fischer 579334a7d8 [help] move about.md to searx/help/en/ 3 years ago
Alexandre Flament 740e3bc90f
Merge pull request #932 from dalf/static-file-hash
static files: add a hash as a query
3 years ago
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>
3 years ago
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
3 years ago
Alexandre FLAMENT 041446d12a [build] /static 3 years ago
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
3 years ago
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>
3 years ago
Alexandre FLAMENT 28bccda78a [build] /static 3 years ago
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.
3 years ago
Markus Heiser 0ddcc12474
Merge pull request #934 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
3 years ago
Markus Heiser 69f84d941f
Merge pull request #935 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
3 years ago
Markus Heiser 5508155252
Merge pull request #936 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
3 years ago
dalf f4c6eba227 Update searx.data - update_currencies.py 3 years ago
dalf 6946c4566f Update searx.data - update_wikidata_units.py 3 years ago
dalf 49bc3971ae Update searx.data - update_firefox_version.py 3 years ago
dalf 6add9dd6d3 Update searx.data - update_ahmia_blacklist.py 3 years ago
Alexandre Flament 2e1d4fac5d [build] /static 3 years ago
Alexandre Flament 56bb1443c4 [fix] simple: display "Click on the magnifier..." only the mouse over the categories 3 years ago
Alexandre Flament e435806505 [fix] simple: detect touch screen using media query
related to https://github.com/searxng/searxng/issues/928
3 years ago
mrpaulblack e2a5dddf8e [build] /static 3 years ago
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)
3 years ago
Paul Braeuning 3408d061aa
Merge pull request #924 from MontyQI/search-filters
Search filters changes
3 years ago
Monty 6d03fa002f [build] /static 3 years ago
Monty b850178d26 Search filters changes
Better search filters view on mobile.
3 years ago
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>
3 years ago
Markus Heiser 8d937179ab
Merge pull request #913 from return42/add-artwork
[mod] add artwork to mixcloud & soundcloud engines
3 years ago
Markus Heiser 96ac99b1f6 [build] /static 3 years ago
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>
3 years ago
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>
3 years ago
Léon Tiekötter de5062c10a
[mod] version formatting
Change SearXNG version formatting to YYYY.MM.DD-commit_hash
3 years ago
Alexandre Flament 8230603f48
Merge pull request #916 from dalf/pref_infinite_scroll2
Convert the infinite_scroll plugin as a preference (second version)
3 years ago
Alexandre Flament 1832ec742a [build] /static 3 years ago
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>
3 years ago
Markus Heiser 5ec9eb8030 [mod] switch default theme from oscar to simple
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 36aee70c24
Merge pull request #910 from tiekoetter/fix-909
[fix] google images engine: Fix 'scrap_img_by_id' function
3 years ago
Markus Heiser 2921d3cd17 [mod] add artwork to mixcloud & soundcloud engines
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser efd81f9266 [build] /static 3 years ago
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>
3 years ago
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>
3 years ago
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>
3 years ago
Alexandre Flament ace5401632
Merge pull request #900 from return42/fix-883
[fix] bandcamp: fix itemtype (album|track) and exceptions
3 years ago
Markus Heiser e9a227c606
Merge pull request #893 from return42/mvw-video
[mod] mediathekviewweb engine: add data_src and use videos template
3 years ago
Markus Heiser 943a7fdcb5 [mod] mediathekviewweb engine: add iframe_src and use videos template
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser fa3cd7a696 [build] /static 3 years ago
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>
3 years ago
Alexandre Flament 29182eb1c9
Merge pull request #899 from dalf/limiter_update
[limiter] update
3 years ago
Alexandre Flament bf2a2ed48f
Merge pull request #882 from return42/fix-873
[fix] replace embedded HTML by data_src
3 years ago
Markus Heiser 761885682d [build] /static 3 years ago
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>
3 years ago
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>
3 years ago
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>
3 years ago
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>
3 years ago
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>
3 years ago
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>
3 years ago
Alexandre Flament d1b7debac6 [limiter] update 3 years ago
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>
3 years ago
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>
3 years ago
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>
3 years ago
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>
3 years ago
Alexandre Flament a4942213a1
Merge pull request #892 from dalf/limiter-update
plugin limiter: check only /image_proxy and /search
3 years ago
Alexandre Flament b99ccd7c02 plugin limiter: check only /image_proxy and /search
also adjust the number of req/time
3 years ago
Markus Heiser 9cd9dfd26e
Merge pull request #887 from unixfox/patch-5
Update the XPath for fetching the Google results
3 years ago
Alexandre Flament 782c81ec17
Merge pull request #884 from return42/disable-deezer
[mod] disable deezer engine by default
3 years ago
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>
3 years ago
Émilien Devos 7d3e8118b0
Update the XPath for fetching the Google results 3 years ago
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>
3 years ago
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>
3 years ago
Markus Heiser a967e59590 [pylint] searx/engines/wikidata.py (no functional change)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
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.
3 years ago
Markus Heiser a13c5d70c7 [fix] wikidata engine: select image with higher (not lower) priority
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Léon Tiekötter a50f32bcfc
wikidata: load thumbnail instead of full image 3 years ago
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>
3 years ago
Alexandre Flament 10e6881ca8
Merge pull request #867 from return42/fix-base_url_rand
[fix] invidious engine: store random base_url in param
3 years ago
Alexandre Flament bf987bb608
Merge pull request #848 from not-my-profile/help-route
Introduce `/help` route
3 years ago
Martin Fischer 91527fbd6b [enh] avoid /about redirect in template links 3 years ago
Markus Heiser 24e2acf88e
Merge pull request #839 from dalf/docs_searx_utils
[mod] add documentation about searx.utils
3 years ago
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.
3 years ago
Markus Heiser b35ef9789b [pylint] engines/invidious.py
Fix remarks from pylint and remove usless comments

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
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>
3 years ago
Markus Heiser ae804ddf40
Merge pull request #862 from return42/fix-858
[fix] solidtorrents engine - JSON API no longer exists
3 years ago
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>
3 years ago
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>
3 years ago
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>
3 years ago
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>
3 years ago
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
3 years ago
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
3 years ago
Markus Heiser 964902e779 [fix] issue reported by pylint 22.1.0
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
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>
3 years ago
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>
3 years ago
Alexandre Flament 9fae80facb
Merge pull request #618 from dalf/limiter
[enh] limiter plugin
3 years ago
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>
3 years ago
Markus Heiser 07f7289e23
Merge pull request #849 from return42/fix-787
[fix] engines description - currency_convert.py
3 years ago
Markus Heiser 50a56532c4 [pylint] engines/currency_convert.py
Fix remarks from pylint

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 314ea2dc61
Merge pull request #852 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
3 years ago
Markus Heiser 4d0bd47ff0
Merge pull request #853 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
3 years ago
Markus Heiser 20cbabff96
Merge pull request #851 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
3 years ago
dalf f4f90aa3a4 Update searx.data - update_firefox_version.py 3 years ago
dalf 7b402e1aa0 Update searx.data - update_ahmia_blacklist.py 3 years ago
dalf 1c47f4b6e0 Update searx.data - update_currencies.py 3 years ago
dalf e78dc45d1e Update searx.data - update_wikidata_units.py 3 years ago
Martin Fischer 14338e2c3b [enh] generate navigation for help pages 3 years ago
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.
3 years ago
Martin Fischer 0f7bcd17b2 [build] /static 3 years ago
Martin Fischer 5012d06e72 [simple] allow .tabs to be used for help pages 3 years ago
Martin Fischer fb9eedbf40 [enh] introduce /help route
Translation will be implemented in the future.
For now the "en" in /help/en/<pagename> is hardcoded.
3 years ago
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.
3 years ago
Martin Fischer 08bb3a5f3a [pyright:basic] searx.user_help 3 years ago
Martin Fischer e931590312 [build] /static 3 years ago
Martin Fischer b6200563ba [simple] improve margin of #linkto_preferences
Co-authored-by: Paul Braeuning <paul@paulgo.io>
3 years ago
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>
3 years ago
Martin Fischer 743353dd09 [simple] add aria-label to preferences link 3 years ago
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).
3 years ago
Martin Fischer c82b9c68d2
Merge pull request #843 from not-my-profile/simple-page-with-header 3 years ago
Markus Heiser 60e7fee47a
Merge pull request #475 from return42/tineye
[enh] engine - add Tineye reverse image search
3 years ago
Alexandre Flament 2d5929cc59 [mod] searx.utils: more typing 3 years ago
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)
3 years ago
Léon Tiekötter a6673a1a94 [fix] 1x engine
1x changed the XML result layout.
3 years ago
Martin Fischer 79dbbd4d99 [build] /static 3 years ago
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.
3 years ago
Markus Heiser a6b879f19c [mod] tineye engine: set engine_type to 'online_url_search'
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser e92d40c854 [enh] implement a OnlineUrlSearchProcessor
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
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.
3 years ago
Alexandre Flament 068155df88 [build] /static 3 years ago
Alexandre Flament dc4caa5a39 [fix] simple theme: /preferences: cookies table is LTR
close #827
3 years ago
Martin Fischer 6a366c9807
Merge pull request #838 from dalf/remove_deprecated_code
[mod] remove deprecate code
3 years ago
Alexandre Flament f3f61df6a0 [mod] remove deprecate code
remove code to support Python 3.5 and Python 3.6
3 years ago
Alexandre Flament 116802852d [fix] ina engine
based on a45408e8e2
3 years ago
Markus Heiser b7f74fbe42 [mod] tineye - add some documentation
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Allen 880555e263 [enh] engine - add Tineye reverse image search
Other optional parameter ..

`&sort=crawl_date`
    can be appended to search_string to sort results by date.

`&domain=example.org`
    can be implemented to search_string to get results from just one domain.

Public instances could get relatively fast timed-out for 3600s.

--

Merged from @allendema's commit [1] and slightly modfied / see [2].

Related-to: [1] 455b2b4460
Related-to: [2] https://github.com/searx/searx/pull/3040
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
searxng-bot 43a262497b [translations] update from Weblate
80b99072 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
32354577 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
38737f21 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
f1658c80 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
3172618b - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
5063d261 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
69df6ff6 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
51bd2e18 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
f6dea2a9 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
d6230142 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
4d07658c - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
e3798ef7 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
bc99fe05 - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
2811901d - 2022-01-26 - Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament 4f82ab36a9
Merge pull request #817 from not-my-profile/pyright-01
Pyright 01
3 years ago
Léon Tiekötter 0cbf73a1f4
Allow 'using_tor_proxy' to be set for each engine individually
Check 'using_tor_proxy' for each engine individually instead of checking globally

[fix] searx.network: update _rdns test to the last httpx version

Co-authored-by: Alexandre Flament <alex@al-f.net>
3 years ago
Martin Fischer 506169f312 [pyright] remove no longer needed assertion
The pyright bug[1] for which the assertion was added has been fixed.

[1]: https://github.com/microsoft/pyright/issues/2930
3 years ago
Martin Fischer b767752d0c [pyright:basic] searx.webapp 3 years ago
Martin Fischer 640c404844 [pyright:strict] searx.search.checker.background 3 years ago
Martin Fischer 7f89adc5f3 [pyright:strict] searx.shared.shared_abstract 3 years ago
Paul Braeuning 2c6bd2adf6
Merge pull request #825 from MontyQI/ui-changes
Simple theme uppercase buttons
3 years ago
Monty f59afc8dd2 Uppercase buttons 3 years ago
Markus Heiser ccffab3a43
Merge pull request #813 from MarcAbonce/change-wolfram-category
Move WolframAlpha away from Science category
3 years ago
Markus Heiser e5f266065c
Merge pull request #824 from dalf/fix-simple-pref-checker
[fix] simple theme: don't crash when the checker is enabled
3 years ago
Alexandre Flament dfb9ca527d [fix] simple theme: don't crash when the checker is enabled
The macro "checkbox" in macros.html uses the macro "icon_small"
from icons.html

The commit imports icon_small in macros.html to fix the issue.
It works because the macros in macros.html are imported with the Jinja2 context.

See https://jinja.palletsprojects.com/en/3.0.x/templates/#import-visibility

close #819
3 years ago
Markus Heiser 10c9b9775d [mod] improve setup of invidious engine
- My experience is, that a timeout of 5 sec is not need, I got fast response
  less than a second.

- https://invidious.tube/ redirects to http://ww25.invidious.tube/
  - in SearXNG defaults the http protocol is unsafe and raise an error
  - https://ww25.invidious.tube has SSL_ERROR_UNSAFE_NEGOTIATION

Related-to: https://github.com/searxng/searxng/issues/821
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament 81453a0eba
Merge pull request #811 from return42/enh-788
[mod] configuration to overwrite engine description
3 years ago
Alexandre Flament 576eab04d2
Merge pull request #802 from MontyQI/Icon-update
Changed preferences icon to settings icon in gruntfile
3 years ago
Marc Abonce Seguin 1311745f24 move WolframAlpha away from Science category 3 years ago
Markus Heiser e0b284e427 [mod] configuration to overwrite engine description
Engine description can be configured, this is needed e.g. by custom search
engines.  Here is an example of a command engine with a description in the about
section::

    - name: locate
      engine: command
      command: ['locate', '{{QUERY}}']
      disabled: true
      categories: files
      about:
        description: local files
        website: 'https://www.man7.org/linux/man-pages/man1/locate.1.html'
      delimiter:
          chars: ' '
          keys: ['line']

Closes: https://github.com/searxng/searxng/issues/788
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament 61853aa0fb
Merge pull request #799 from return42/brave-complete
Add autocompleter from Brave
3 years ago
Markus Heiser e9588b70a6 [fix] brave autocompleter: charset_normalizer issues
Use httpx.Response.json() to avoid charset_normalizer issues:

DEBUG   charset_normalizer            : override steps (5) and chunk_size (512) as content does not fit (153 byte(s) given) parameters.
INFO    charset_normalizer            : ascii passed initial chaos probing. Mean measured chaos is 0.000000 %
DEBUG   charset_normalizer            : ascii should target any language(s) of ['Latin Based']
INFO    charset_normalizer            : ascii is most likely the one. Stopping the process.

[1] https://www.python-httpx.org/api/#response

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 9c5bac4c43 [pylint] searx/autocomplete.py
Fix remarks from pylint, BTW set SPDX-License-Identifier.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Martin Fischer 105c5a6a98 [help] stop rendering documentation with Jinja2
To facilitate translation of the user documentation we move
the templating logic outside of the user documentation.
3 years ago
Martin Fischer 284ac8bfd8 [help] convert about.html to Markdown
To facilitate translation the new user documentation shall be written in
Markdown (which is more human-friendly than HTML and reStructuredText).
3 years ago
Martin Fischer 05149db4c1 [help] render user documentation once on startup
Currently we have two kinds of user documentation:

* the about page[1] which is written in HTML and part of the web
  application and can therefore link instance-specific pages
  (like e.g. the preferences) via Jinja variables

* the Sphinx documentation[2] which is written in reStructuredText
  and cannot link instance-specific pages since it doesn't know
  which instance the user is using

The plan is to integrate the user documentation currently in Sphinx
into the application, so that it can also link instance specific pages.
We also want to enable the user documentation to be translated.

This commit implements the first step in this endeavor (see #722).

[1]: searx/templates/__common__/about.html
[2]: docs/user/ (currently served at https://docs.searxng.org/user/)
3 years ago
Alexandre Flament 382f4f8fb0
Merge pull request #801 from dalf/fix-checker
[fix] checker: fix image fetch
3 years ago
Monty 80530befdc [build] /static 3 years ago
Monty 91ca5d1613 Changed preferences icon to settings icon in gruntfile 3 years ago
Alexandre Flament 5439dd5fb1 [fix] checker: fix image fetch
Since https://github.com/searxng/searxng/pull/354
the searx.network.stream(...) returns a tuple

This commits update the checker code according to
this function signature change.
3 years ago
Alexandre Flament f01ddd1932
Merge pull request #775 from return42/redis-4.1.1
Revert "[hotfix] interim fix to get docker-build of CI without issues"
3 years ago
Allen b8c98c4c0d [enh] Add autocompleter from Brave
Raw response example: https://search.brave.com/api/suggest?q=how%20to:%20with%20j

Headers are needed in order to get a 200 response, thus Searx user-agent is used.

Other URL param could be  '&rich=false' or  '&rich=true'.

Cherry-pick: 71786bf9cb
3 years ago
searxng-bot 9b3122a84e [translations] update from Weblate
f3f70b7d - 2022-01-20 - Genghis Khan <genghiskhan@gmx.ca>
c66d23fb - 2022-01-15 - Linerly <linerly@protonmail.com>
c2b9f7f7 - 2022-01-18 - Markus Heiser <markus.heiser@darmarit.de>
159ec416 - 2022-01-18 - Markus Heiser <markus.heiser@darmarit.de>
8184a23b - 2022-01-17 - lucky13820 <hello@ryanyao.design>
c4b476d4 - 2022-01-18 - Go2SheeP <allen.ccccnm@gmail.com>
eaf18ed5 - 2022-01-17 - Markus Heiser <markus.heiser@darmarit.de>
e7fec156 - 2022-01-18 - Markus Heiser <markus.heiser@darmarit.de>
99368a91 - 2022-01-18 - Markus Heiser <markus.heiser@darmarit.de>
a8b23af9 - 2022-01-19 - Markus Heiser <markus.heiser@darmarit.de>
7af1ba21 - 2022-01-17 - Genghis Khan <genghiskhan@gmx.ca>
0af5a3ee - 2022-01-15 - Alexandre Flament <alex@al-f.net>
a448183b - 2022-01-14 - Markus Heiser <markus.heiser@darmarit.de>
ea4f95cf - 2022-01-19 - Markus Heiser <markus.heiser@darmarit.de>
2f3e7ac9 - 2022-01-17 - Iosevka <iosevka@protonmail.com>
c28ae5a8 - 2022-01-17 - Markus Heiser <markus.heiser@darmarit.de>
b664bd3b - 2022-01-17 - Pham Nguyen <akizminet@gmail.com>
3 years ago
Martin Fischer 96a1f79c6d
Merge pull request #773 from not-my-profile/typing
More typing
3 years ago
Markus Heiser 1a0760c10a [fix] googel engine - "some results are invalids: invalid content"
Fix google issues listet in the `/stats?engine=google` and message::

    some results are invalids: invalid content

The log is::

    DEBUG   searx                         : result: invalid content: {'url': 'https://de.wikipedia.org/wiki/Foo', 'title': 'Foo - Wikipedia', 'content': None, 'engine': 'google'}
    WARNING searx.engines.google          : ErrorContext('searx/search/processors/abstract.py', 111, 'result_container.extend(self.engine_name, search_results)', None, 'some results are invalids: invalid content', ()) True

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser f0102a95c9 [fix] google engine: remove adds and fix mobile_ui selector
1. Fix issue reported in comment [1]
2. Fix XPath selector for the response of google's mobile UI, reported in
   comment [2]

[1] https://github.com/searxng/searxng/pull/777#issuecomment-1015121322
[2] https://github.com/searxng/searxng/pull/777#issuecomment-1015236238

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament b972df255a
Merge pull request #776 from mrpaulblack/simple-ltr-vars
[simple theme] dont hardcode border radius
3 years ago
Émilien Devos 6670063e0d
Update XPath for Google engine 3 years ago
mrpaulblack 6c1a64d4b3 [build] /static 3 years ago
mrpaulblack 7a0f5e6b19 [simple theme] dynamic border radius in CSS 3 years ago
Markus Heiser e85744c254 Revert "[hotfix] interim fix to get docker-build of CI without issues"
This reverts interim fix from commit 50c4b58db and adds requirement
`redis==4.1.1`.

The interim fix was needed by Alpine images (Docker) [1] and has been fixed in
commit [2] merged with the patch series from [3].  In redis-py version 4.1.1
this pach has been released on PyPi [4].

[1] https://github.com/redis/redis-py/issues/1869
[2] https://github.com/redis/redis-py/commit/1fc1233f
[3] https://github.com/redis/redis-py/pull/1854
[4] https://github.com/redis/redis-py/issues/1880

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Martin Fischer 96655cbd4e [typing] add type hints to webapp.py 3 years ago
Martin Fischer 193b0efd12 [typing] add results.UnresponsiveEngine 3 years ago
Martin Fischer 0c6a09cae3 [refactor] remove never used parameter 3 years ago
Martin Fischer def62c3a47 [typing] add type hints for dictionaries 3 years ago
Martin Fischer 6d43cf7952 [typing] add optional attrs to Plugin 3 years ago
Martin Fischer fdf562bc32 [typing] add results.Timing 3 years ago
Martin Fischer 1ed618222f [typing] add ExtendedRequest
webapp.py monkey-patches the Flask request global.
This commit adds a type cast so that e.g. Pyright[1]
doesn't show "Cannot access member" errors everywhere.

[1]: https://github.com/microsoft/pyright
3 years ago
Alexandre Flament 0c036ae294
Merge pull request #750 from dalf/simple-rtl
Simple theme: implement RTL
3 years ago
Alexandre Flament e07417848f
Merge pull request #695 from return42/fix-sp
[fix] startpage engine / modified API
3 years ago
Alexandre Flament 468619abcb [build] /static 3 years ago
Alexandre Flament d000288ad0 [enh] simple theme: RTL support
* mirror all inline SVGs so that direction SVGs display correctly on RTL
* set the bold list element in info box to RTL so the colon gets displayed on the right side
* set correct .ltr function for the left border on the search button in #q
* move text to the right in autocomplete
* move search form in lign with result article on RTL
* add the correct padding for img thumbnails in categories like music on RTL
* apply RTL to result table for map results
* align text in tables part of /preferences on RTL
* move burger menu on index page to the left on RTL
* fix positioning of drop down arrow on select boxes on RTL
* align result URL on the right (written LTR)
* align vim hotkeys help on the left since it is not translated
* image detail:
  * labels (author, format, URL, etc...) are written on the right,
    values are on the left.
  * URL are written LTR and overflow on the right
3 years ago
Alexandre Flament 2084d7b1ed [mod] simple theme: change stylelint configuration
* disable declaration-empty-line-before
  https://stylelint.io/user-guide/rules/list/declaration-empty-line-before/
  this change allows to mix CSS declarations and LESS mixins without empty lines:

  #something {
    display: flex;
    .ltr-left(60rem); // no mandatory empty line before this one
  }

* disable no-invalid-position-at-import-rule
  https://stylelint.io/user-guide/rules/list/no-invalid-position-at-import-rule/

  this change allows to declare some mixins and then import another .less file:
  for example:

  .ltr-left(@offset) {
    left: @offset;
  }
  @import "style.less";
3 years ago
Alexandre Flament f9271d595f [fix] startpage: workaround to use the startpage network
workaround for the issue #762
3 years ago
Alexandre Flament 32874dbf7f
Merge pull request #742 from return42/mysql
[mod] engine mysql_server: make port configurable
3 years ago
Martin Fischer 599d882d0a
Merge pull request #754 from return42/fix-751
[theme] /preferences: rename "Method" to "HTTP Method"
3 years ago
Markus Heiser 580815a9a5 [fix] stop less grunt runner on missing files
The less grunt runner silently ignore missing files and continue with the build[1]::

    Running "less:production" (less) task
    >> Destination css/searxng.min.css not written because no source files were found.
    >> 1 stylesheet created.
    >> 1 sourcemap created.

Add filter function that calls grunt.fail() if the scr file does not exists.

[1] https://github.com/searxng/searxng/pull/750#discussion_r784357031
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 08b38a8bfd [fix] simple theme: description of HTTP method
Suggested-by: @not-my-profile https://github.com/searxng/searxng/pull/754#issuecomment-1012921096
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser e45dfb334b [theme] /preferences: rename "Method" to "HTTP Method"
Closes: https://github.com/searxng/searxng/issues/751
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
searxng-bot ce018d013b [translations] update from Weblate
0ca15e28 - 2022-01-11 - Allan Nordhøy <epost@anotheragency.no>
dd494ce7 - 2022-01-11 - Markus Heiser <markus.heiser@darmarit.de>
7e4e914a - 2022-01-10 - k2s <martin.minka@gmail.com>
b4915a2f - 2022-01-10 - Markus Heiser <markus.heiser@darmarit.de>
832d5cf9 - 2022-01-13 - Genghis Khan <genghiskhan@gmx.ca>
546ad69a - 2022-01-08 - Alexandre Flament <alex@al-f.net>
f14bd241 - 2022-01-09 - Markus Heiser <markus.heiser@darmarit.de>
2815009a - 2022-01-07 - Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Martin Fischer d9709df740 [fix] make BooleanChoices only set cookies that vary from the default
The bug was inadvertently introduced by the refactor in
180d4d068b.

Fixes #746.
3 years ago
Alexandre Flament 687bdef410
Merge pull request #740 from return42/fix-bang
[fix] get_bang_url: handle ambiguous !!bangs without error
3 years ago
Markus Heiser a7c3c352d8 [upd] searx/data/external_bangs.json
Updated external bangs by::

    ./manage pyenv.cmd ./searxng_extra/update/update_external_bangs.py

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 7cdd31440e [fix] external bangs: don't overwrite Bangs in data trie
Bangs with a `*` suffix (e.g. `!!d*`) overwrite Bangs with the same
prefix (e.g. `!!d`) [1].  This can be avoid when a non printable character is
used to tag a LEAF_KEY.

[1] https://github.com/searxng/searxng/pull/740#issuecomment-1010411888

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 50c4b58db6 [hotfix] interim fix to get docker-build of CI without issues
There is an issue with redis v4.1.0 [1] / for the interim lets remove this
python dependency.

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Martin Fischer cd8ce22f86 [themes] add comma before "but" in new sentence
Closes #739.
3 years ago
Markus Heiser bf593af423 [mod] engine mysql_server: make port configurable
Cherry piked from https://github.com/searx/searx/commit/82ac634070

Suggested-by: https://github.com/searx/searx/issues/3117
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 977e9a4330
Merge pull request #686 from return42/lib_redis
Add redis DB and connector
3 years ago
Markus Heiser 6d7e86eece [fix] get_bang_url: handle ambiguous !!bangs without error
An ambiguous bang like `!!d` raises an exception in function get_bang_url().  A
bang is only unique when the bang_definition from get_bang_definition_and_ac() is
a string / for a ambiguous bang the returned bang_definition is a dictionary.

Reported-by: user prg at #searxng:matrix.org on 2022/01/11
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 3457408285 [build] /static 3 years ago
Markus Heiser 85159ad307 [fix] autocomple.js: register li.onmousedown instead li.onclick
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 6420322cd1
Merge pull request #729 from k2s/fix-tokens
fix(security): filtered_engines were not correctly evaluating validate_token()
3 years ago
Markus Heiser df238e944c [mod] starpage engine: add comment about Startpage's FFox add-on
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 21e884f369 [fix] startpage engine: fetch CAPTCHA & issues related to PR-695
In case of CAPTCHA raise a SearxEngineCaptchaException and suspend for 7 days.
When get_sc_code() fails raise a SearxEngineResponseException and suspend for 7
days.

[1] https://github.com/searxng/searxng/pull/695

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 2f4e567e90 [fix] Get an actual `sc` argument from startpage's home page.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 1cbcddb3f7 [pylint] Startpage engine
Fix remarks from pylint

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser f1f5e69c42 [fix] startpage engine - avoid captcha
Startpage has introduced new anti-scraping measures that make SearXNG instances
run into captchas:

1. some arguments has been removed and a new `sc` has been added.
2. search path changed from `do/search` to `sp/search`
3. POST request is no longer needed

Closes: https://github.com/searxng/searxng/issues/692
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Martin Fischer 576e19dad1 [fix] add default for "about" engine property
Fixes #732.
3 years ago
Martin Minka b76a815827 [fix] filtered_engines were not correctly evaluating validate_token() 3 years ago
Markus Heiser dca83944b5 [fix] redis: don't create a new connection at each client() call
Suggested-by: @dalf https://github.com/searxng/searxng/pull/686#pullrequestreview-844942973
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 4fc5e5299c [fix] ccengine engine - avoid unwanted redirects
api.openverse.engineering is a little picky and wants to have a trailing slash
in the path:

    /v1/images? -->/ v1/images/?

otherwise it redirects, here is the debug log:

    DEBUG   searx.network.openverse       : HTTP Request: GET https://api.openverse.engineering/v1/images?&page=1&page_size=20&format=json&q=foo "HTTP/2 301 Moved Permanently" (text/html; charset=utf-8)
    DEBUG   searx.network.openverse       : HTTP Request: GET https://api.openverse.engineering/v1/images/?&page=1&page_size=20&format=json&q=foo "HTTP/2 200 OK" (application/json)
    WARNING searx.engines.openverse       : ErrorContext('searx/search/processors/online.py', 105, 'count_error(', None, '1 redirects, maximum: 0', ('200', 'OK', 'api.openverse.engineering')) True

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 1461d6a07e [upd] engine_descriptions.json
Updated by:

    ./manage pyenv.cmd python3 \
        ./searxng_extra/update/update_engine_descriptions.py

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Léon Tiekötter 37baf46ece [fix] Rename ccengine engine to openverse
The CC engine was merged with WordPress and renamed to Openverse

Source: https://wordpress.org/news/2021/05/welcome-to-openverse/
3 years ago
Léon Tiekötter 4be6deb0a1 [fix] ccengine engine
Change domain to api.openverse.engineering
3 years ago
Markus Heiser ced656606f
Merge pull request #709 from return42/drop-etools
[fix] drop etools engine module
3 years ago
Markus Heiser 5dd3442f83 [fix] drop etools engine module
The implementation of the etools engine is poor.  No date-range support, no
language support and it is broken by a CAPTCHA.

etools is a metasearch engine, the major search engines it supports (google,
bing, wikipedia, Yahoo) are already available in SeaarXNG.

While etools does support several engines we currently don't support directly,
support for them should be added directly to SearXNG if there is demand.

In practice: in SearXNG the worse etools results will be mixed with good results
from other engines we have (as long as there is no captcha).

At best case, what we win with etools is in e.g. results from de.ask.com in a
query from a german request .. in all other cases worse results are bubble up in
SearXNG's result list.

[1] https://github.com/searxng/searxng/issues/696#issuecomment-1005855499

Closes: https://github.com/searxng/searxng/issues/696
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Martin Fischer e12525a1fa
Merge pull request #708 from not-my-profile/pref-refactor
Refactor `preferences`
3 years ago
Markus Heiser 2eb95f1532
Merge pull request #718 from searxng/dependabot/pip/master/pygments-2.11.2
Bump pygments from 2.11.0 to 2.11.2
3 years ago
Markus Heiser c956ed6c43 [build] /static 3 years ago
Markus Heiser d8db85638e make pygments.less
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
searxng-bot 651342d71a [translations] update from Weblate
7781625e - 2022-01-06 - Linerly <linerly@protonmail.com>
dcab2ef1 - 2022-01-06 - Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Léon Tiekötter 3ab826de22 Drop microsoft academic engine
Microsoft academic was discontinued on 2021-12-31.

Source: https://www.microsoft.com/en-us/research/project/academic/articles/microsoft-academic-to-expand-horizons-with-community-driven-approach/
3 years ago
Martin Fischer 180d4d068b [refactor] refactor SwitchableSetting
The previous implementation used two hash sets and a list.
... that's not necessary ... a single hash map suffices.

And it's also less error prone ... because the previous data structure
allowed a setting to be enabled and disabled at the same time.
3 years ago
Martin Fischer 56fbf22108 [refactor] stop SwitchableSetting from subclassing Setting
Previously the default_value was abused for the cookie name.
Having SwitchableSetting subclass Setting doesn't even make sense
in the first place since none of the Setting methods apply.
3 years ago
Martin Fischer 1196abcfce
Merge pull request #706 from not-my-profile/remove-broken-quest-op
[fix] remove broken ? search operator
3 years ago
Martin Fischer a0486cf827 [fix] prevent leaflet.{css,js} from polluting git grep results
Fixes #704.
3 years ago
Martin Fischer 83f8a8fc6d [refactor] remove pointless tuple 3 years ago
Martin Fischer bb06758a7b [refactor] add type hints & remove Setting._post_init
Previously the Setting classes used a horrible _post_init
hack that prevented proper type checking.
3 years ago
Martin Fischer 61935c72ef [fix] remove broken ? search operator
The ? search operator has been broken for some time and
currently only raises the question why it's still there.

## Context ##

The query "Paris !images" searches for "Paris" in the "images" category.

Once upon a time Searx supported "Paris ?images" to search for "Paris"
in the currently enabled categories and the "images" category.

The feature makes sense ... the ? syntax does not.
We will hopefully introduce a +!images syntax in the future.

Fixes #702.
3 years ago
Alexandre Flament 03189d60f4
Merge pull request #697 from searxng/remove-nl-be
Delete searx/translations/nl_BE
3 years ago
Alexandre Flament aedd6279b3
Merge pull request #634 from not-my-profile/powered-by
Introduce `categories_as_tabs` & group engines in tabs
3 years ago
Alexandre Flament 40684f6b5e
Delete searx/translations/nl_BE
See https://github.com/searxng/searxng/issues/540
3 years ago
Markus Heiser 0ebad8220f
Merge pull request #688 from dalf/settings_enable_stats
[enh] settings.yml: implement general.enable_metrics
3 years ago
Alexandre Flament 9004e84b6e
Merge pull request #596 from dalf/upgrade-httpx
Upgrade httpx
3 years ago
Alexandre Flament d3ecadd3f8
Merge pull request #679 from dalf/brand-searxng
searxng.org: update setup.py & settings.yml
3 years ago
Alexandre Flament 2134703b4b [enh] settings.yml: implement general.enable_metrics
* allow not to record metrics (response time, etc...)
* this commit doesn't change the UI. If the metrics are disabled
  /stats and /stats/errors will return empty response.
  in /preferences, the columns response time and reliability will be empty.
3 years ago
Alexandre Flament e64c3deab7 [mod] upgrade httpx 0.21.2
httpx 0.21.2 and httpcore 0.14.4 fix multiple issues:
* https://github.com/encode/httpx/releases/tag/0.21.2
* https://github.com/encode/httpcore/releases/tag/0.14.4

so most of the workarounds in searx.network have been removed.
3 years ago
Martin Fischer a4c2cfb837 [enh] change categories_as_tabs from a list to a dict
The tab icon names are currently hard coded in the templates.
This commit lets us introduce an icon property in the future, e.g:

categories_as_tabs:
  general:
    icon: search-outline
3 years ago
Martin Fischer b38036d519 [fix] stop setting superfluous cookies for "non tab categories" 3 years ago
Martin Fischer 3dd534e5c0 [refactor] make group_engines_in_tab more readable 3 years ago
Martin Fischer d01e8aa8cc [mod] introduce searx.engines.Engine for type hinting 3 years ago
Martin Fischer 3f76c9c96c [enh] enable English dictionaries by default
These dictionaries are no longer part of the general category,
so they're no longer queried by default -> we can enable them
by default without degrading general query performance.
3 years ago
Martin Fischer abe53946d4 [enh] display help text for "Other" engines tab in preferences 3 years ago
Martin Fischer 6f07d51b62 [mod] improve variable name 3 years ago
Martin Fischer 1e195f5b95 [mod] move group_engines_in_tab to searx.webutils 3 years ago
Martin Fischer 5d74bf3820 [enh] move dictionaries, Erowid & IMDb out of general category
The general category is the category that is searched by default.
From a privacy standpoint it doesn't make sense to send all general
queries to specialized search engines that cannot deal with those
queries anyway.
3 years ago
Martin Fischer ab90e2ac49 [enh] show categories not in any tab category in "Other" preferences tab
Previously we didn't have a good place to put search engines that don't
fit into any of the tab categories. This commit automatically puts
search engines that don't belong to any tab category in an "other"
category, that is only displayed in the user preferences (and not above
search results).
3 years ago
Martin Fischer 4ac6b5d32d [build] /static 3 years ago
Martin Fischer a12cb6a807 [simple] improve styling of subcategory table headers in preferences 3 years ago
Martin Fischer 20a5e43e35 [enh] display language of engines in preferences 3 years ago
Martin Fischer 31e206361f [enh] group engines in preference tabs 3 years ago
Martin Fischer b02f762687 [enh] add more categories 3 years ago
Markus Heiser d7b4306444 [fix] links in comments - https://docs.searxng.org/
fixed links from https://searxng.github.io/searxng/ to https://docs.searxng.org/
3 years ago
Markus Heiser a6cfab93fa [enh] add redis connector searx/shared/redisdb.py
Add a redis connector, the default DB connector is a socket at::

    unix:///usr/local/searxng-redis/run/redis.sock?db=0

To set up a redis instance simply use::

    $ ./manage redis.build
    $ sudo -H ./manage redis.install

A hint for developers:

To get access rights to this instance, your developer account needs to be added
to the *searxng-redis* group::

    $ sudo -H ./manage redis.addgrp "${USER}"
    # don't forget to logout & login to get member of group

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament 41ae5aea2b [fix] disabling all engines in a category makes the bang search in general
with this commit, there is no result
3 years ago
Martin Fischer 8e9ad1ccc2 [enh] introduce categories_as_tabs
Previously all categories were displayed as search engine tabs.
This commit changes that so that only the categories listed under
categories_as_tabs in settings.yml are displayed.

This lets us introduce more categories without cluttering up the UI.
Categories not displayed as tabs  can still be searched with !bangs.
3 years ago
Martin Fischer df34b1ddcf [enh] settings.yml: allow granular overwrites for about 3 years ago
Martin Fischer 8a0810cedc [fix] bang syntax for categories with spaces 3 years ago
Alexandre Flament 458b7fb72d
Merge pull request #610 from return42/img-load-error
[fix] simple theme: hide the image if img load fails
3 years ago
Alexandre Flament d83aa2b0d2
Merge pull request #613 from return42/pylint-bing-images
[pylint] Bing (Images) engine
3 years ago
Alexandre Flament 76cbfbbdda reference docs.searxng.org 3 years ago
Markus Heiser 3cdf2d6570 Update searx.data - update_languages.py
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 21d7c8b367
Merge pull request #676 from return42/fix-bing-lang
Fix issues on running update_languages.py
3 years ago
Markus Heiser 61ce0c2244 [fix] bing engines: fetch_supported_languages
The Request to and the Response from https://www.bing.com/account/general has
been changed.

[1] https://github.com/searxng/searxng/pull/672#discussion_r777104919

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament 6b49f32d3e
Merge pull request #670 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
3 years ago
Markus Heiser 3dcba2f67c
Merge pull request #671 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
3 years ago
Markus Heiser 877293c470
Merge pull request #673 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
3 years ago
dalf 127da09fc9 Update searx.data - update_wikidata_units.py 3 years ago
dalf 291483af53 Update searx.data - update_currencies.py 3 years ago
dalf a0016250ec Update searx.data - update_ahmia_blacklist.py 3 years ago
dalf 184242d36b Update searx.data - update_firefox_version.py 3 years ago
Markus Heiser 021b4a0a02
Merge pull request #667 from searxng/dependabot/pip/master/pygments-2.11.0
Bump pygments from 2.10.0 to 2.11.0
3 years ago
Markus Heiser efbcaaab3b [build] /static 3 years ago
Markus Heiser 391e4b57c9 make pygments.less
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
searxng-bot db4885f7d4 [translations] update from Weblate
055a6080 - 2021-12-28 - Markus Heiser <markus.heiser@darmarit.de>
d028dfd7 - 2021-12-26 - Gert-dev <gert+github@disroot.org>
d2f3b998 - 2021-12-24 - Markus Heiser <markus.heiser@darmarit.de>
1b882f56 - 2021-12-29 - VaiTon <eyadlorenzo@gmail.com>
f8e524a3 - 2021-12-27 - Markus Heiser <markus.heiser@darmarit.de>
70eafa9c - 2021-12-26 - Frederik From <frederikfrom@pm.me>
7eb20cec - 2021-12-28 - Markus Heiser <markus.heiser@darmarit.de>
3cb754a4 - 2021-12-25 - Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser f087d01e24 [build] /static 3 years ago
Markus Heiser f75199b1ec [fix] simple theme: hide the image if img load fails
Add event listener to query selector::

    '#urls img.image'

From the user point of view, I think it is better to hide the image:
img_load_error.svg is helplful in the image category because it still allows to
select the image. IMO, in the news category, the fact there is a missing image
won't help to choose the links. From a developer point of view, the place holder
is signal that may be the engine needs to be updated (at least give a look). The
browser console should show the same information too, but it requires some
additional steps. [1]

[1] https://github.com/searxng/searxng/pull/610#issuecomment-997640132

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 7966fd3bbd
Merge pull request #663 from dalf/mod_secret_key
changes about the secret_key
3 years ago
Markus Heiser 8f3a7feb47 [mod] implement is_hmac_of() in webutils / close to new_hmac()
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>, Alexandre Flament
3 years ago
Markus Heiser dc4f1f705d [pylint] Bing (Images) engine
Fix remarks from pylint and remove obsolete try/except block

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 6d7a38a912 [pylint] Bing (Videos) engine
Fix remarks from pylint and remove obsolete try/except block

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament 7d4834ac4d [mod] webutils.py: remove dead code
secret_key can't be bytes (see settings_default.py)
3 years ago
Alexandre Flament d784870209 [fix] use hmac.compare_digest instead of ==
see https://docs.python.org/3/library/hmac.html#hmac.HMAC.hexdigest
3 years ago
Markus Heiser d84226bf63 [fix] issues reported by pylint
Fix pylint issues from commit (3d96a983)

    [format.python] initial formatting of the python code

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 3d96a9839a [format.python] initial formatting of the python code
This patch was generated by black [1]::

    make format.python

[1] https://github.com/psf/black

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser fcdc2c2cd2 [format.python] disable py code formatting for some hunks of code
Disable the python code formatting from python-black, where the readability of
code suffers by formatting.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
searxng-bot 568a4df297 [translations] update from Weblate
14044898 - 2021-12-19 - Linerly <linerly@protonmail.com>
2db5cc5d - 2021-12-17 - Markus Heiser <markus.heiser@darmarit.de>
7273ced4 - 2021-12-22 - Markus Heiser <markus.heiser@darmarit.de>
bac8f580 - 2021-12-19 - Stephan Wijman <s.wijman@mailarena.net>
472c882a - 2021-12-17 - Markus Heiser <markus.heiser@darmarit.de>
bc2c60a4 - 2021-12-17 - Markus Heiser <markus.heiser@darmarit.de>
11f37c00 - 2021-12-17 - Markus Heiser <markus.heiser@darmarit.de>
10417e8a - 2021-12-22 - Mico Hautaluoma <m@mha.fi>
12d49b4b - 2021-12-22 - Markus Heiser <markus.heiser@darmarit.de>
a1bfd8f6 - 2021-12-23 - Markus Heiser <markus.heiser@darmarit.de>
fa94d205 - 2021-12-17 - Markus Heiser <markus.heiser@darmarit.de>
6a121417 - 2021-12-21 - YFdyh000 <yfdyh000@gmail.com>
bc9b6947 - 2021-12-18 - Shahed Hosseini <sajjadhusseini92@gmail.com>
3 years ago
Martin Fischer 19339067c6 [del] remove geektimes (redirects to habrahabr) 3 years ago
Martin Fischer fb037e7a83 [del] remove whaleslide (website is down)
Closes #639.
3 years ago
Martin Fischer e28c6bda35 [doc] introduce about.language and sort engines by it 3 years ago
Markus Heiser c5d604f06f [upd] engine_descriptions.json
Updated by:

    ./manage pyenv.cmd python3 \
        ./searxng_extra/update/update_engine_descriptions.py

Include documentation of new added engines:

- superuser
- stackoverflow
- askubuntu
- indb
- ...

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 6fb6e8c22a
Merge pull request #621 from not-my-profile/engines-table
[doc] Improve engines table
3 years ago
Martin Fischer 1fb1cca519 [doc] fix about.website for hoogle 3 years ago
Markus Heiser 7a215e07e7
Merge pull request #611 from return42/fix-bing
[fix] bing engine: fix paging support, show inital page.
3 years ago
Martin Fischer 06beffdf31 [doc] add about.website for wiby 3 years ago
Alexandre Flament b5d4cac7e1
Merge pull request #615 from return42/pylint-reddit
[pylint] Reddit engine
3 years ago
mrpaulblack c6b76aa429 [build] /static 3 years ago
mrpaulblack 414f1039d2 [fix] theme: build `img_load_error.svg` as svg 3 years ago
Markus Heiser 2af50c2588 [pylint] Reddit engine
Add Reddit engine to pylint process

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 6b85607274 [fix] bing engine: fix paging support, show inital page.
Follow up queries for the pages needed to be fixed.

- Split search-term in one for initial query and one for following queries.
- Set some headers in HTTP requests, bing needs for paging support.
- IMO //div[@class="sa_cc"] does no longer match in a bing response.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser b2177e5916 [pylint] Bing (Web) engine
Fix remarks from pylint and improved code-style.  In preparation for a bug-fix
of the Bing (Web) engine I add this engine to the pylint-list.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament 4da1e0026c
Merge pull request #609 from return42/fix-bing-news
[fix] engine bing-news: replace the http:// by https://
3 years ago
Markus Heiser f41734a543 [fix] engine bing-news: replace the http:// by https://
BTW: add bing_news to the pylint process

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament f6b1264b5f
Merge pull request #584 from return42/drop-css-vendor
[mod] simple-theme: remove vendor CSS
3 years ago
searxng-bot 3cf9065478 [translations] update
1a891c16 - 2021-12-15 - Markus Heiser <markus.heiser@darmarit.de>
33bd07e7 - 2021-12-14 - Alexandre Flament <alex@al-f.net>
7ba24343 - 2021-12-12 - Markus Heiser <markus.heiser@darmarit.de>
80d54b89 - 2021-12-15 - FilGiov <quota679@gmail.com>
af9e007c - 2021-12-15 - Markus Heiser <markus.heiser@darmarit.de>
9d4e645c - 2021-12-15 - Markus Heiser <markus.heiser@darmarit.de>
21dec08c - 2021-12-15 - Shahed Hosseini <sajjadhusseini92@gmail.com>
3 years ago
Alexandre Flament 6bb6f7ffc1
Merge pull request #602 from return42/fix-600
[fix] move engines gpodder and AZlyrics into category music
3 years ago
Markus Heiser 07f2a9ee3c [fix] engine: MediathekViewWeb (mvw) disable by default
The MediathekViewWeb delivers only content for the german speaking area.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 84836a5000 [build] /static 3 years ago
Markus Heiser c020b90056 [mod] simple theme: remove vendor prefix of `width: max-content`
Remove no longer needed workarounds like `width: 1000px;`
and vendor prefix of max-content [1].

[1] https://developer.mozilla.org/en-US/docs/Web/CSS/max-content#browser_compatibility

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 459f33a18e [mod] simple-theme: remove vendor CSS
flexbox
  Browser support for flexbox is excellent, and the majority of browsers do not
  need a prefix at this point. Safari was the last of the major browsers to
  remove prefixes, with the release of Safari 9 in 2015. [1]

user-select:
  Vendor prefix of user-select is not needed, see 'Browser compatibility' [2].

[1] https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Backwards_Compatibility_of_Flexbox#status_in_browsers
[2] https://developer.mozilla.org/en-US/docs/Web/CSS/user-select#browser_compatibility

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 715f578cda [build] /static 3 years ago
Markus Heiser c416464949 [fix] lazy loading of <img> tags
Images should include dimension attributes.  Without `width` and `height`
specified, image dimensions are 0×0 pixels at first.  ...  In this case the
browser determines that all of them are visible to the user and decides to load
everything [1].

In CSS the `width` is set to a value and the `height` is unsed to scale the image
proportional in both dimensions.

[1] https://web.dev/browser-level-image-lazy-loading/#images-should-include-dimension-attributes
[2] https://caniuse.com/loading-lazy-attr

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 709482088e [fix] move engines gpodder and AZlyrics into category music
Closes: https://github.com/searxng/searxng/issues/600
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser f287787c44 [simple theme] activate - SearXNG JavaScript Style Guide
Add the 'SearXNG JavaScript Style Guide' as one quality gate in the build chain
of the simple theme::

    make themes.simple
    make themes.simple.test

In the github CI the `themes.all` target enforce a `themes.simple`.

BTW: Remove 'jshint' left overs from 0ee316f3d

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 34f5e9c7a3 [fix] eslint --fix
automatically fix some of the problems reported by eslint rules::

    $ ./manage nvm.bash
    nvm-env$ npm --prefix searx/static/themes/simple run eslint-fix

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 32cf24a272 [mod] eslint: add gruntfile.js to the files to lint
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 06730588a6 [mod] SearXNG JavaScript Style Guide (eslint:recommended)
The SearXNG JavaScript Style Guide is a set of eslint rules [1] based on the
eslint:recommended [2] rules.

    "extends": "eslint:recommended"

The additional rules adopted from the JavaScript Standard Style [3][4].

[1] https://eslint.org/docs/rules/
[2] https://github.com/kunalgolani/eslint-config/tree/master/packages/recommended
[3] https://standardjs.com/rules.html#javascript-standard-style
[4] https://github.com/standard/eslint-config-standard/blob/master/.eslintrc.json

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 9fc27088ef
Merge pull request #583 from return42/fix-combo-with
[fix] simple theme: remove width  45% from language and time filters
3 years ago
Markus Heiser 8cc7c880ae
Merge pull request #587 from dalf/fix-gigablast
[fix] gigablast engine
3 years ago
searxng-bot b994471233 [translations] update
030f3e59 - 2021-12-11 - Linerly <linerly@protonmail.com>
cedb4f9d - 2021-12-11 - Alexandre Flament <alex@al-f.net>
8522e4cf - 2021-12-11 - Alexandre Flament <alex@al-f.net>
3 years ago
searxng-bot 5bf16d56f4 [translations] update
10790ace - 2021-12-05 - Alexandre Flament <alex@al-f.net>
0026bde6 - 2021-12-07 - Naveen <naveen.translator@protonmail.com>
e066d8cf - 2021-12-03 - Markus Heiser <markus.heiser@darmarit.de>
174b9f9c - 2021-12-03 - Markus Heiser <markus.heiser@darmarit.de>
0817e645 - 2021-12-03 - Markus Heiser <markus.heiser@darmarit.de>
6272320f - 2021-12-08 - Alexandre Flament <alex@al-f.net>
e1281900 - 2021-12-04 - Markus Heiser <markus.heiser@darmarit.de>
882ced80 - 2021-12-04 - Markus Heiser <markus.heiser@darmarit.de>
59e8c950 - 2021-12-03 - Markus Heiser <markus.heiser@darmarit.de>
cfd72d00 - 2021-12-04 - Markus Heiser <markus.heiser@darmarit.de>
8f3d6058 - 2021-12-03 - Markus Heiser <markus.heiser@darmarit.de>
b293c351 - 2021-12-04 - Markus Heiser <markus.heiser@darmarit.de>
840e1a98 - 2021-12-04 - Markus Heiser <markus.heiser@darmarit.de>
9f045c63 - 2021-12-03 - Markus Heiser <markus.heiser@darmarit.de>
e24a23e0 - 2021-12-04 - Markus Heiser <markus.heiser@darmarit.de>
bf58a870 - 2021-12-04 - Markus Heiser <markus.heiser@darmarit.de>
6b5e4993 - 2021-12-03 - Markus Heiser <markus.heiser@darmarit.de>
dc9ab819 - 2021-12-04 - Markus Heiser <markus.heiser@darmarit.de>
b8b1423b - 2021-12-04 - Markus Heiser <markus.heiser@darmarit.de>
fbfe865c - 2021-12-03 - Markus Heiser <markus.heiser@darmarit.de>
afa65a98 - 2021-12-04 - Markus Heiser <markus.heiser@darmarit.de>
dded218c - 2021-12-05 - Taufik Hidayat <tfkhdyt@pm.me>
79659920 - 2021-12-05 - Markus Heiser <markus.heiser@darmarit.de>
5a4100dc - 2021-12-05 - Taufik Hidayat <tfkhdyt@pm.me>
57fb7a91 - 2021-12-05 - Taufik Hidayat <tfkhdyt@pm.me>
33eb893d - 2021-12-05 - Taufik Hidayat <tfkhdyt@pm.me>
2673c748 - 2021-12-03 - Alexandre Flament <alex@al-f.net>
3 years ago
Alexandre Flament 2a262df0bb
Merge pull request #582 from return42/fix-autocomplete-csp
[fix] simple theme: make autocomplete-js CSP compliant
3 years ago
Markus Heiser b5c9cc4ff3
Merge pull request #586 from dalf/remove-yggtorrent
[del] remove yggtorrent
3 years ago
Alexandre Flament 1a6207574e [fix] gigablast engine
fetch extra params after 3000 seconds
3 years ago
Alexandre Flament fbc2a6ab4b [del] remove yggtorrent
yggtorrent is behind cloudflare now
close #580
3 years ago
Alexandre Flament 037cb7dd3d [fix] imdb: don't crash when there is no result 3 years ago
Markus Heiser 5f902bbb0f [fix] simple theme: remove width 45% from language and time filters
All three filters (`language`, `time_range` and `safesearch`) are rendered in
one line.  A size of 45% for `language` and `time_range` left only 10% for the
`safesearch` filter.  Solution: drop with from `language` and `time_range`.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser d6d6585b26 [build] /static 3 years ago
Markus Heiser 2b26285a73 [fix] simple theme: make autocomplete-js CSP compliant
The CSP issue is, that the `_Position` function in the autocomplete-js set the
style attributes by `setAttribute("style", ...)`.  Using `setAttribute` to set
the style attribute invokes the HTML parser and CSP is triggered [1].

This patch overwrite the `_Position` function of autocomplete-js.

BTW: remove trailing whitespace

[1] https://stackoverflow.com/a/57633533

Closes: https://github.com/searxng/searxng/issues/352
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser f5a4906e3e [build] /static 3 years ago
Markus Heiser 7d6a15a612 [fix] simple theme: make LESS sources available on non build hosts
Include the LESS source files directly in the `.map` files [1].

Drawback: `.map` files grow up in size, but this should not bother, because the
files are only loaded in debug mode.

[1] https://github.com/gruntjs/grunt-contrib-less#outputsourcefiles
[2] https://github.com/searxng/searxng/pull/575#issuecomment-984058868

Suggested-by: @dalf [2]
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament b0774c7e37
Merge pull request #578 from searxng/translations_update
Update translations
3 years ago
searxng-bot d65e841c55 [translations] update
b4860945 - 2021-12-03 - Alexandre Flament <alex@al-f.net>
df96994b - 2021-11-30 - Alexandre Flament <alex@al-f.net>
007ea84d - 2021-12-03 - Alexandre Flament <alex@al-f.net>
6ff99312 - 2021-12-02 - Ati Art <atiartstudio.home@gmail.com>
3 years ago
Markus Heiser d26a746d7d [build] /static 3 years ago
Markus Heiser f54460a805 [fix] simple theme: make JS sources available on non build hosts
Include the source files directly in the `.map` files [1] for two reasons:

1. In the simple theme, modules from `./node_modules` are only available on
   developer's build host (a `make node.env` is needed to get the sources).  By
   example; in the `searxng.min.js.map` file, the `autocomplete.js` is linked at
   URL:

      ../node_modules/autocomplete-js/dist/autocomplete.js

2. Later, when client sources has been moved out of the `./static` URL [2] to
   the `<repo-roo>/src` folder, all JS sources are no longer available.

Drawback: `.map` files grow up in size, but this should not bother, because the
files are only loaded in debug mode.

[1] https://github.com/gruntjs/grunt-contrib-uglify#sourcemapincludesources
[2] https://github.com/searxng/searxng/issues/141

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament ae49b5224c
Merge pull request #566 from dalf/simple-theme-smaller-build
[mod] simple theme: smaller build
3 years ago
Markus Heiser 82125862c6 [fix] simple theme: remove static files no longer needed
remove:

    searx/static/themes/simple/js/searxng.js
    searx/static/themes/simple/js/searxng.head.js
    searx/static/themes/simple/css/searxng-rtl.css
    searx/static/themes/simple/css/searxng.css

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser e62733fcf3
Merge pull request #571 from searxng/update_data_update_languages.py
Update searx.data - update_languages.py
3 years ago
Markus Heiser 24d04f2854
Merge pull request #570 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
3 years ago
Markus Heiser a3fc1304cc
Merge pull request #569 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
3 years ago
dalf c74b465ece Update searx.data - update_languages.py 3 years ago
dalf 56e653011f Update searx.data - update_firefox_version.py 3 years ago
dalf b833e08fc3 Update searx.data - update_currencies.py 3 years ago
dalf 5fdf8f04b7 Update searx.data - update_ahmia_blacklist.py 3 years ago
Alexandre Flament 28b22a0f98 [mod] simple theme: smaller build
remove:
* searx/static/themes/simple/js/searxng.head.js
* searx/static/themes/simple/js/searxng.js
* searx/static/themes/simple/css/searxng-rtl.css
* searx/static/themes/simple/css/searxng.css

These files are never used.
About the js files: the .map files references the sources instead of the concated version.
3 years ago
Markus Heiser 4798acc661 [build] /static 3 years ago
Markus Heiser 7dc9cc91a8 [mod] simple theme, JS: introduce window.searxng.theme namespace
In window.searxng.theme the theme data can be passed through to JS
implementations.

Initial the window.searxng.theme namespace starts with a value for
`img_load_error`::

    // image that is displayed if load of <img src='...'> failed
    img_load_error: 'img/img_load_error.svg'

The searx/static/themes/__common__/js/image_layout.js is patched to uses the
value, if the theme defines a value for img_load_error in this namespace.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser eff0884498 [simple] ImageLayout.watch: `img_load_error.svg` if img load fails
Show default image `img/img_load_error.svg` when image can't be loaded.

----
Some words about class ImageLayout:

The https://github.com/searxng/searxng/blob/master/searx/static/themes/simple/js/searxng.js is build by a grunt task ..

d0e21a01b4/searx/static/themes/simple/gruntfile.js (L91-L93)

The `/__common__/js/*.js` concats also https://github.com/searxng/searxng/blob/master/searx/static/themes/__common__/js/image_layout.js where a modified copy of the of the "Google-image-layout" (`ImageLayout`) is implemented [1][2][3].

[1] https://ptgamr.github.io/2014-09-12-google-image-layout/
[2] https://ptgamr.github.io/google-image-layout/src/google-image-layout.js
[3] https://github.com/ptgamr/google-image-layout/tree/master
----

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser f8c3acd729 [build] /static 3 years ago
Markus Heiser fb5c1ed310 [fix] simple theme: set img background color to wallpaper's color
The *background color* of an transparent image is the color of the color of
wallpaper on which all images are shown on.

Set variable `--color-result-image-background` and `--color-base-background` to
the same value.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser c7bb6945d1 [fix] simple theme: img tile, shows duplicate information on screen
Remove global title attribute from img tag[1][2] .  In the image result, the
title is already shown from span class title::

    <span class="title">{{ result.title|striptags }}</span>

See commit: 8fbffb1409

    [fix] simple-theme templates: polish HTML <img> elements

[1] https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img
[2] https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-title

Reported-by: @dalf https://github.com/searxng/searxng/pull/545#issuecomment-980531215
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 0afcde071c [build] /static 3 years ago
Markus Heiser 944b73511a [enh] add SVG favicon href="favicon.svg" type="image/svg+xml"
Add link::

    <link rel="icon" href="favicon.png" sizes="any">
    <link rel="icon" href="favicon.svg" type="image/svg+xml">

Modern browsers should request::

    INFO  werkzeug   : 127.0.0.1 - - [28/Nov/2021 17:03:07] "GET /static/themes/simple/img/favicon.svg HTTP/1.1" 200 -

[1] https://github.com/audreyfeldroy/favicon-cheat-sheet#svg-file
[2] https://dev.to/masakudamatsu/favicon-nightmare-how-to-maintain-sanity-3al7

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 989f9e97f0
Merge pull request #561 from return42/fix-README
[brand] README: add SearXNG logo
3 years ago
Markus Heiser e2e585319e [build] /static 3 years ago
Markus Heiser 9349c71c54 [mod] themes/simple/img/searxng.svg -> src/brand/searxng.svg
* move `searx/static/themes/simple/img/searxng.svg` to `src/brand/searxng.svg`

* README.rst can use it without a reference to a theme.

* the simple theme can create `searx/static/themes/simple/img/searxng.png` using
  the svg2png task

Suggested-by: @dalf https://github.com/searxng/searxng/pull/561#issuecomment-981747902
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament 3700094f3a
Merge pull request #557 from return42/fix-autocomplete
[fix] route /autocompleter: escape `<` and `>` in the simple theme
3 years ago
Markus Heiser 1f896ea509 [fix] query_in_title: add missing space in title
Suggested-by: @unixfox https://github.com/searxng/searxng/pull/485#issuecomment-981406978
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 0c8ff97d9e [fix] route /autocompleter: escape `<` and `>` in the simple theme
This is a follow up of 9a3253fc escaping `<` and `>` in all themes.  This patch
fix issue in oscar theme

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 8154dd2a2e [build] /static 3 years ago
Alexandre Flament 59f4c792b4 [mod] simple theme: use sharp instead of convert to create .png from .svg
define a custom grunt task, since grunt-sharp is too old (it can't be installed).
in gruntfile.js, the image tasks are moved at the end the build chain.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 8c4c4259d4 [mod] gruntfile: do some polish (no functional change)
- remove unused 'path' constant
- fix indentation
- Put all image tasks at the end, where it is easy to list which image is processed.

Suggested -by: @dalf https://github.com/searxng/searxng/pull/541#discussion_r756247157
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 11ba7f294f
Merge pull request #554 from return42/fix-google-video
[fix] google-videos engine: ignore news articles
3 years ago
Markus Heiser 9a3253fc16 [fix] route /autocompleter: escape '<' and '>' in the response
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 96cb7123bb
Merge pull request #553 from return42/fix-oscar
[fix] oscar theme: use SearXNG logo and wordmark
3 years ago
Markus Heiser 27c1b9f660
Merge pull request #551 from dalf/fix-results-lock
[fix] searx.results: fix pylint issue "useless-with-lock"
3 years ago
Markus Heiser ab5097d708
Merge pull request #545 from return42/fix-523
[fix] simple-theme templates: polish HTML <img> elements
3 years ago
mrpaulblack c443e56458 [build] /static 3 years ago
mrpaulblack 0bb4d6b296 [oscar theme] center search on index and use logo with ponthi 3 years ago
Markus Heiser 6e06618e0c [fix] google-videos engine: ignore news articles
In the video search, google also sometimes includes news.  E.g. in the DE
language when you search for `!gov paris`, google adds an article from a german
newspaper (FAZ), I assume these are sponsored link (not tagged advertisement?)

Those links do not have an image / this patch ignores *video links* wqithout an
image ID.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser e54a06bae7 [fix] oscar theme: use SearXNG logo and wordmark
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament 0d41f26a20 [fix] searx.results: fix pylint issue "useless-with-lock"
Replace "with threading.Lock():" by "with self._lock"
3 years ago
Alexandre Flament da1d502cf7
Merge pull request #550 from searxng/translations_update
Update translations
3 years ago
searxng-bot 7b737e33e4 [translations] update
647aee3b - 2021-11-25 - Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 1ce09df9aa [fix] google video engine - rework of the HTML parser
The google video response has been changed slightly, a rework of the parser was
needed.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 488ace1da9 [fix] google engine - suggestion
BTW: google no longer offers *spelling suggestions*

Closes: https://github.com/searxng/searxng/issues/442
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 8fbffb1409 [fix] simple-theme templates: polish HTML <img> elements
- <img> [1] element does not have an end tag, no need for a leading `/>`
- add global attribute title[2] to result_templates/images.html (result-images-source)
- in jinja macro 'macro result_header' remove duplicate of class="image"
- in jinja macro 'macro result_header' remove alt attribute (fix [3])::

    alt="{{ result.title|striptags }}"

  the result.title is already shown in::

    <h3>{{ result_link(result.url, result.title|safe) }}</h3>

[1] https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img
[2] https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-title
[3] https://github.com/searxng/searxng/issues/523

Closes: https://github.com/searxng/searxng/issues/523
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 3f3097c772 [fix] templates: remove unneeded escape \' of single quotation mark
Strings like::

    'Query in the page\'s title'

are hard to read / remove escape sequence by using double quotation marks for
strings ::

    "Query in the page's title"

BTW: remove a leading dot in the simple theme [1].

[1] 80fb77476f (r756112716)

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament 42c1a938f0
Merge pull request #485 from dalf/pref_query_in_title
[mod] new preference: query_in_title
3 years ago
Markus Heiser dae165eaa0
Merge pull request #537 from return42/moz-warnings
[simple theme] remove '-moz-border-radius' property
3 years ago
Markus Heiser 3364a15b3a [build] /static 3 years ago
Markus Heiser 28a597e43e [simple theme] remove '-webkit-border-radius' property
[1] https://github.com/searxng/searxng/pull/537#issuecomment-976582675

Suggested-by: @dalf [1]
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 8935b1d8a2 [simple theme] remove '-moz-border-radius' property
Support for the prefixed version (-moz-border-radius) was removed in Gecko
13.0 (Firefox 13.0 / Thunderbird 13.0 / SeaMonkey 2.10) [1].

[1] https://developer.mozilla.org/pt-BR/docs/Web/CSS/border-radius

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament c4caa52989
fix PR #535
Use the "empty_element" CSS class.
3 years ago
Markus Heiser 02391cc892 [build] /static 3 years ago
Markus Heiser f57a9f425d [simple template] format default string 'italic'
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
mrpaulblack 047d0ac6d6 [simple template] return a default string if there is no description 3 years ago
Markus Heiser 339838f9f5 [build] /static 3 years ago
mrpaulblack 6a367b59ce [simple theme] add animations.less for keyframe animations 3 years ago
Alexandre Flament e612b81f41 [fix] simple theme: fix modal dialog 3 years ago
mrpaulblack b0aebf7069 [build] /static 3 years ago
mrpaulblack f3aff26086 [simple theme] rework select; add safesearch to search and replace / with › in article url
* rework selection UI in pref (fix based on: 78643e9f43)
* moved search filters underneath categories
* cut params from url and replace / with ›
* make h3 and url in article bigger
* add safe search select to search filter (this will not override settings and only be valid while on result page in a session)
* make search form button not overlap each other when js is disabled
* 1rem padding around preview image and thumbnail in default article template
3 years ago
Alexandre Flament 02cccdf876
Merge pull request #533 from return42/fix-532
[fix] google images: @href index 0 not found
3 years ago
Markus Heiser d51298177a
Merge pull request #528 from return42/brand
[brand] initial - folder src/brand for searxng-wordmark
3 years ago
Markus Heiser 5b28c9109f [fix] google images: @href index 0 not found
Sometimes there is no href in the `<a ..>` tag of a *link_node* [1].

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

Reported-by: @TheEssem
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 4330d7cf5d [mod] gruntfile.js - define grunt.template _brand & _templates
[1] https://gruntjs.com/api/grunt.template

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser c68c53acd8 [brand] initial - folder src/brand for searxng-wordmark
Folder src/brand is intended to place logo, wordmark and more in.  This commit
moves the origin (source) of searxng-wordmark.svg from the simple theme into
this folder

About the new created src/ folder:

On the long term we can move all the files from static/themes/<name>/src/* into
a src/themes/<name>/* folder.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament d7eb373371 [fix] npm engine: don't ignore the first result
"from" parameter start at 0
3 years ago
Alexandre Flament bc0cf9e83e
Merge pull request #521 from dalf/simple-theme-style-pref
Simple theme: allow the user to choose auto, light, dark style
3 years ago
mrpaulblack cf9d161d26 [build] /static 3 years ago
Alexandre Flament ec5a82fccd [enh] simple theme: add "simple-style" preferences 3 years ago
Markus Heiser 86090e13d3 [mod] enable reddit - to have at least one in category social-media
Since digg no longer works, we do nat have a active engine in the social-media
category.  Enable reddit by default to have at least one engine back in this
category.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 4c82ac7670 [drop] engine digg - https://digg.com/api is no longer available
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 4c2df9358a [fix] enigne library genesis - remove 'enable_http: true'
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Alexandre Flament f6bfc8f461
Merge pull request #509 from mrpaulblack/library-of-genesis-category
[engines] move library of genesis from general to files category
3 years ago
Alexandre Flament 55737a219b
Merge pull request #518 from dalf/fix-simple-image-detail
[fix] simple theme: fix image detail layout on mobile
3 years ago
Alexandre Flament ef2556770b [build] /static 3 years ago
Alexandre Flament 48d2dcbb20 [fix] simple theme: adjust image detail height
when on the top of the page, the image is just below the search fields.
this commit slightly aligh the top of the image detail with the bottom
of the search fields.
3 years ago
Alexandre Flament 0400b8ca5d [fix] simple theme: fix layout image detail on mobile
the width of #main_results #results.image-detail-open.only_template_images
was set to 59.25rem. On mobile, the images overflowed on right side of
the viewport, which creates a horizontal scroll.

This commit set the value to min(98%, 59.25rem) whatever the max-width is.
3 years ago
dependabot[bot] 958c7d7280
Bump ionicons from 5.5.4 to 6.0.0 in /searx/static/themes/simple
Bumps [ionicons](https://github.com/ionic-team/ionicons) from 5.5.4 to 6.0.0.
- [Release notes](https://github.com/ionic-team/ionicons/releases)
- [Commits](https://github.com/ionic-team/ionicons/compare/v5.5.4...v6.0.0)

---
updated-dependencies:
- dependency-name: ionicons
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
Markus Heiser 15758f1ac2 [fix] eslint - option configFile changed to overrideConfigFile
https://github.com/sindresorhus/grunt-eslint/pull/171

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
dependabot[bot] d06135e48f Bump grunt-eslint from 23.0.0 to 24.0.0 in /searx/static/themes/simple
Bumps [grunt-eslint](https://github.com/sindresorhus/grunt-eslint) from 23.0.0 to 24.0.0.
- [Release notes](https://github.com/sindresorhus/grunt-eslint/releases)
- [Commits](https://github.com/sindresorhus/grunt-eslint/compare/v23.0.0...v24.0.0)

---
updated-dependencies:
- dependency-name: grunt-eslint
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
Tom e1d60051ca
[fix] Qwant search query string
Search string: "!qwant time"
Resulting request URL: https://api.qwant.com/v3/search/web?q=q=time&count=10&offset=0&device=desktop&safesearch=1&locale=en_US
Notice the double "q="

Resulting request URL after fix: https://api.qwant.com/v3/search/web?q=time&count=10&offset=0&device=desktop&safesearch=1&locale=en_US
3 years ago
mrpaulblack af79cce7cf [engines] move library of genesis from general to files category 3 years ago
Markus Heiser 3c05530518 [build] /static 3 years ago
Markus Heiser b07884c958 [fix] Optimize SVG for WEB usage / CSP 'style-src self'
- Replace grunt-contrib-htmlmin by grunt-image [1].

- Activate svgo's [2] convertStyleToAttrs to make the HTML inline SVGs
  compoliant to the CSP policy [3]::

    Content-Security-Policy: style-src self;

[1] https://www.npmjs.com/package/grunt-image
[2] https://github.com/svg/svgo
[3] https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 5721617de4 [build] /static 3 years ago
MrPaulBlack c79bba60a9 [theme] add border radius to engine token input 3 years ago
Alexandre Flament dfbbc3b471 [fix] simple theme: /preferences: add tokens field
include changes to display input text field in the preferences
3 years ago
Markus Heiser b369ff4425 [fix] delete trailing whitespace
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser a364e54859 [fix] delete trailing whitespace
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 6debda2404 [mod] settings.yml - polish up comments about plugins
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser de7f8b757b
Merge pull request #499 from dalf/fix-autocompletion-startpage
[fix] startpage autocompletion
3 years ago
Alexandre Flament 3c3599c9e6 [fix] startpage autocompletion 3 years ago
MrPaulBlack 29e092b931 [build] /static 3 years ago
MrPaulBlack 566dfe3330 [simple theme] update to ion icons 5 and drop webfont
* update from ionicons-npm to ionicons ver.5
* drop the webfont built by grunt for icons
* built icons.html template for inlining icons with jinja2 into html
* update icon to use mostly the outline version
* add icons to categories and do not display them on mobile to save space
* remove all legacy ion icon font files from simple theme
* icons.html is added in this commit since make statc.build.restore requires git to know the file already
* cleanup error-dialog
3 years ago
Markus Heiser 9bf53ab974 [build] /static 3 years ago
Markus Heiser 04ab012e03 [simple theme] SearXNG wordmark (plain SVG)
Remove XML namespaces from Incscape [1]::

   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"

[1] https://wiki.inkscape.org/wiki/PlainSVG

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser ee67a65180 [simple theme] replace old searx logo by searxng-wordmark.min.svg
Suggested-by: @dalf https://github.com/searxng/searxng/pull/473#issuecomment-962476683
Suggested-by: @MrPaulBlack https://github.com/searxng/searxng/pull/473#issuecomment-962579826
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser 3a981257de [simple theme] create favicon.png from src/svg/searxng-wordmark.svg
new bash function convert_if_newer() / usage::

    convert_if_newer <origfile> <outfile> [<options>, ...]
    convert_if_newer "path/to/origin.svg" "path/to/converted.png" -transparent white -resize 64x64

Run's ImageMagik' convert comand to generate <outfile> from <origfile>, if
<origfile> is newer than <outfile>.  The command line is to convert is::

    convert <origfile> [<options>, ...] <outfile>

PNG 'searx/static/themes/simple/img/favicon.png' has been created by::

  $ make themes.simple
  CONVERT   searx/static/themes/simple/src/svg/searxng-wordmark.svg -transparent white -resize 64x64 searx/static/themes/simple/img/favicon.png
  ...

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser bf52353a5c [enh] minify searxng-wordmark.svg (HTMLMinifier)
Command::

  ./node_modules/.bin/html-minifier \
      --remove-comments \
      --collapse-whitespace \
      src/svg/searxng-wordmark.svg \
      -o ../../../templates/__common__/searxng-wordmark.min.svg

- html-minifier: https://github.com/kangax/html-minifier
  - onilne: https://kangax.github.io/html-minifier
  - grunt: https://www.npmjs.com/package/grunt-contrib-htmlmin
  - grunt-contrib-htmlmin: https://github.com/gruntjs/grunt-contrib-htmlmin
  - npm: https://www.npmjs.com/package/html-minifier

To test, rebuild your node environment::

  make node.env

Alternatives:

- pretty-data: https://github.com/vkiryukhin/pretty-data
  - grunt: https://www.npmjs.com/package/grunt-xmlmin
  - grunt-xmlming: https://github.com/dtrunk90/grunt-xmlmin
  - npm: https://www.npmjs.com/package/grunt-xmlmin

- minify-xml: https://github.com/kristian/minify-xml
  - no grunt package available
  - npm: https://www.npmjs.com/package/minify-xml

src/svg/searxng-wordmark.svg':
'../../../templates/__common__/searxng-wordmark.min.svg'

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
Markus Heiser edb081638b [simple theme] SearXNG wordmark (SVG)
Related-to:

- https://github.com/searxng/searxng/pull/430#issuecomment-951967239
- https://github.com/searxng/searxng/pull/378

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
3 years ago
MrPaulBlack 303cea3437 [build] /static 3 years ago
MrPaulBlack 1becb5e138 [simple theme] minor css fixes
* remove hover effect from vim help modal
* remove bold font weight from active item in prefenreces tab bar
* remove margin from answer box to unify with rest of result page
3 years ago
MrPaulBlack 9badec0260 [build] /static 3 years ago
MrPaulBlack a80b5dc110 [fix] scaling of result page on small screens by @ZetaTom
* thanks to https://github.com/ZetaTom for the fix!
* set the width of the input#q element to 100% of the 1fr space of the grid layout
* change the viewport meta tag to th recommended value (see: https://developer.mozilla.org/en-US/docs/Web/HTML/Viewport_meta_tag#viewport_basics)
* add a new @ultra-small-phone width of 20rem; when a device is smaller than that the search logo does not get displayed on the result page anymore
3 years ago
Alexandre Flament 80fb77476f [mod] new preference: query_in_title
* disable by default
* settings.yml: ui.query_in_title
* in /preferences: privacy tab

when enabled, the result page's title contains the user query.

previously:
* oscar theme: the query was always included
* simple theme: the query was included with the GET method
3 years ago
Alexandre Flament 67ab4d4165 [build] /static 3 years ago
Alexandre Flament ddc2346a06 [enh] simple theme: mobile layout: allow access to the preferences
when there is no query, reduce the width of the query field,
to display the preference button on the right.
3 years ago
Alexandre Flament 558e0c3241 [build] /static 3 years ago
Alexandre Flament c00e54d61b [fix] simple theme: image detail: click on the URL to the HTML page works
Before this commit, the default click event on an image result is prevented,
this include clicks inside the detail.

This commit makes sure the click happends outside the detail to prevent the default event.
3 years ago
Alexandre Flament 4d051c43f3 [fix] simple theme: various about the hotkeys help
* dark mode: #555 border (same as infoboxes and other borders)
* remove a call to console.log
* center the dialog without using the style attribute.
3 years ago
Alexandre Flament d1c09c84e2 [fix] simple theme: disable hotkeys when they are not enabled in the preferences 3 years ago
Alexandre Flament ba342db55e
Merge pull request #480 from dalf/searxng-simple-theme
SearXNG brand: remove searx from searx*.js file names.
3 years ago
Alexandre Flament 57421c4b20
Merge pull request #479 from dalf/simple-fix-open-new-tab
[fix] simple theme: fix open in a new tab preference
3 years ago
Alexandre Flament 6ab78f1a6a [build] /static 3 years ago