Commit Graph

342 Commits (7dfcc3386e6787fe2267ae667fefff51cc4286a6)

Author SHA1 Message Date
Markus Heiser e9afc4f8ce [mod] Startpage: reversed engineered & upgrade to data_type: traits_v1
One reason for the often seen CAPTCHA of the Startpage requests are the
incomplete requests SearXNG sends to startpage.com: this patch is a complete new
implementation of the ``request()`` function, reversed engineered from the
Startpage's search form.  The new implementation:

- use traits of data_type: traits_v1 and drop deprecated data_type: supported_languages
- adds time-range support
- adds save-search support
- fix searxng/searxng/issues 1884
- fix searxng/searxng/issues 1081 --> improvements to avoid CAPTCHA

In preparation for more categories (News, Images, Videos ..) from Startpage, the
variable ``startpage_categ`` was set up.  The default value is ``web`` and other
categories from Startpage are not yet implemented.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
1 year ago
Markus Heiser 858aa3e604 [mod] wikipedia & wikidata: upgrade to data_type: traits_v1
BTW this fix an issue in wikipedia: SearXNG's locales zh-TW and zh-HK are now
using language `zh-classical` from wikipedia (and not `zh`).

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
1 year ago
Markus Heiser d0f465e6fa [mod] bing: add time_range support & upgrade to data_type: traits_v1
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
1 year ago
Markus Heiser 7daf4f95ef [mod] Wikipedia: fetch engine traits (data_type: supported_languages)
Implements a fetch_traits function for the Wikipedia engines.

.. note::

   Does not include migration of the request methode from 'supported_languages'
   to 'traits' (EngineTraits) object!

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
1 year ago
Markus Heiser f78f908383 [mod] Google: fetch engine traits (data_type: supported_languages)
Implements a fetch_traits function for the Google engines.

.. note::

   Does not include migration of the request methode from 'supported_languages'
   to 'traits' (EngineTraits) object!

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
1 year ago
Markus Heiser dba8977b09 [mod] DuckDuckGo: fetch engine traits (data_type: supported_languages)
Implements a fetch_traits function for the DuckDuckGo engines.

.. note::

   Does not include migration of the request methode from 'supported_languages'
   to 'traits' (EngineTraits) object!

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
1 year ago
Markus Heiser ef143729a0 [mod] yahoo: fetch engine traits (data_type: traits_v1)
Implements a fetch_traits function for the Yahoo engine.

.. note::

   Includes migration of the request methode from 'supported_languages' to
   'traits' (EngineTraits) object!

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
1 year ago
Markus Heiser c1ae2ef57c [mod] qwant: fetch engine traits (data_type: traits_v1)
Implements a fetch_traits function for the Qwant engines.

.. note::

   Includes migration of the request methode from 'supported_languages' to
   'traits' (EngineTraits) object!

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
1 year ago
Markus Heiser fc0c775030 [mod] Dailymotion: fetch engine traits (data_type: supported_languages)
Implements a fetch_traits function for the Dailymotion engine.

.. note::

   Does not include migration of the request methode from 'supported_languages'
   to 'traits' (EngineTraits) object!

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
1 year ago
Markus Heiser 61383edb27 [mod] Startpage: fetch engine traits (data_type: supported_languages)
Implements a fetch_traits function for the Startpage engine.

.. note::

   Does not include migration of the request methode from 'supported_languages'
   to 'traits' (EngineTraits) object!

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
1 year ago
Markus Heiser d3aa690a7a [mod] bing: fetch engine traits (data_type: supported_languages)
Implements a fetch_traits function for the Bing engines.

.. note::

   Does not include migration of the request methode from 'supported_languages'
   to 'traits' (EngineTraits) object!

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
1 year ago
Markus Heiser a7fe22770a [mod] Peertube: re-engineered & upgrade to data_type: traits_v1
- fetch_traits(): Fetch languages from peertube's search-index source code.

  [mod] Include migration of the request methode from 'supported_languages'
        to 'traits' (EngineTraits) object.
  [fix] old supported_languages_url is no longer valid since the sources
        has been moved to a different path.

- fixed code to pass pylint
- request(): complete re-implementation based on the API docs [1]
- response(): complete re-implementation, adds serveral fields missed before
- add source code documentation

[1] https://docs.joinpeertube.org/api-rest-reference.html#tag/Search/operation/searchVideos

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
1 year ago
Markus Heiser 6e5f22e558 [mod] replace engines_languages.json by engines_traits.json
Implementations of the *traits* of the engines.

Engine's traits are fetched from the origin engine and stored in a JSON file in
the *data folder*.  Most often traits are languages and region codes and their
mapping from SearXNG's representation to the representation in the origin search
engine.

To load traits from the persistence::

    searx.enginelib.traits.EngineTraitsMap.from_data()

For new traits new properties can be added to the class::

    searx.enginelib.traits.EngineTraits

.. hint::

   Implementation is downward compatible to the deprecated *supported_languages
   method* from the vintage implementation.

   The vintage code is tagged as *deprecated* an can be removed when all engines
   has been ported to the *traits method*.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
1 year ago
Markus Heiser 097d092a7f
Merge pull request #2224 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2 years ago
Markus Heiser 85ef1af343
Merge pull request #2222 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2 years ago
Alexandre Flament 1632f18631
Merge pull request #2227 from searxng/update_data_update_engine_descriptions.py
Update searx.data - update_engine_descriptions.py
2 years ago
Alexandre Flament 5bbbb14b62
Merge pull request #2226 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2 years ago
dalf 5042d94dea Update searx.data - update_engine_descriptions.py 2 years ago
dalf e30a45812f Update searx.data - update_ahmia_blacklist.py 2 years ago
dalf 935415bfcf Update searx.data - update_currencies.py 2 years ago
dalf ccd00518fd Update searx.data - update_firefox_version.py 2 years ago
dalf d7f10909fa Update searx.data - update_wikidata_units.py 2 years ago
Markus Heiser d989c9429f
Merge pull request #2134 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2 years ago
Markus Heiser 5c2667b956
Merge pull request #2135 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2 years ago
Markus Heiser e6a17f2fae
Merge pull request #2136 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2 years ago
Markus Heiser c4cbf8829a
Merge pull request #2137 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2 years ago
dalf f900e33092 Update searx.data - update_engine_descriptions.py 2 years ago
dalf dafe026815 Update searx.data - update_currencies.py 2 years ago
dalf 47435be70b Update searx.data - update_firefox_version.py 2 years ago
dalf 53a4a90d0c Update searx.data - update_wikidata_units.py 2 years ago
dalf 9dd95457a9 Update searx.data - update_ahmia_blacklist.py 2 years ago
dalf 0639769274 Update searx.data - update_firefox_version.py 2 years ago
Markus Heiser 174e6851b3
Merge pull request #2054 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2 years ago
Markus Heiser d531f89316
Merge pull request #2057 from searxng/update_data_update_engine_descriptions.py
Update searx.data - update_engine_descriptions.py
2 years ago
Markus Heiser 76cd808a49
Merge pull request #2053 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2 years ago
dalf 000734cb93 Update searx.data - update_engine_descriptions.py 2 years ago
dalf 36eea5b7cc Update searx.data - update_currencies.py 2 years ago
dalf 66780efda7 Update searx.data - update_wikidata_units.py 2 years ago
dalf de793fb71e Update searx.data - update_ahmia_blacklist.py 2 years ago
ArtikusHG 9925a20950 [mod] new plugin: Autodetect search language 2 years ago
Markus Heiser a8359dd4d3
Merge pull request #1981 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2 years ago
Markus Heiser 1b2f1c17f6
Merge pull request #1982 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2 years ago
Markus Heiser 3579a38a2d
Merge pull request #1983 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2 years ago
Markus Heiser 82af2f4460
Merge pull request #1984 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2 years ago
dalf a508cdbd4b Update searx.data - update_engine_descriptions.py 2 years ago
dalf c4512cf64d Update searx.data - update_ahmia_blacklist.py 2 years ago
dalf b0b45fd2d0 Update searx.data - update_currencies.py 2 years ago
dalf a9be73b4da Update searx.data - update_wikidata_units.py 2 years ago
dalf 9fc72419e1 Update searx.data - update_firefox_version.py 2 years ago
Alexandre Flament e473addaff User agent: don't include the patch number in the Firefox version
The Firefox version in the user agent doesn't include the patch version: 106.0 not 106.0.2

Close #1914
2 years ago
Markus Heiser fc9986de0a
Merge pull request #1905 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2 years ago
Markus Heiser 3f1d594c23
Merge pull request #1906 from searxng/update_data_update_external_bangs.py
Update searx.data - update_external_bangs.py
2 years ago
Markus Heiser a9deead102
Merge pull request #1907 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2 years ago
Markus Heiser d49ccb54ea
Merge pull request #1908 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2 years ago
Markus Heiser fa59ff9b78
Merge pull request #1909 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2 years ago
dalf e70589c598 Update searx.data - update_engine_descriptions.py 2 years ago
dalf 985a2a87a6 Update searx.data - update_currencies.py 2 years ago
dalf c0ecc2f865 Update searx.data - update_wikidata_units.py 2 years ago
dalf c24abc2f8c Update searx.data - update_firefox_version.py 2 years ago
dalf f0c7898445 Update searx.data - update_external_bangs.py 2 years ago
dalf 799c5270ae Update searx.data - update_ahmia_blacklist.py 2 years ago
Markus Heiser 23d797ee6f Update searx.data - update_osm_keys_tags.py
Patch was generated by::

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2 years ago
Alexandre Flament a7d693231c
Merge pull request #1819 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2 years ago
Alexandre Flament f3d25f9cef
Merge pull request #1821 from searxng/update_data_update_engine_descriptions.py
Update searx.data - update_engine_descriptions.py
2 years ago
Alexandre Flament 5060732486
Merge pull request #1818 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2 years ago
Alexandre Flament 520a873ab4
Merge pull request #1820 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2 years ago
dalf 9cb792c0d6 Update searx.data - update_engine_descriptions.py 2 years ago
dalf 2d429ebd75 Update searx.data - update_wikidata_units.py 2 years ago
dalf 8fc3940448 Update searx.data - update_currencies.py 2 years ago
dalf b7f4a3a207 Update searx.data - update_ahmia_blacklist.py 2 years ago
dalf 3153f0a795 Update searx.data - update_firefox_version.py 2 years ago
Markus Heiser 13ef9cc125
Merge pull request #1720 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2 years ago
Markus Heiser e9b564d066
Merge pull request #1722 from searxng/update_data_update_languages.py
Update searx.data - update_languages.py
2 years ago
Markus Heiser 2b65502388
Merge pull request #1723 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2 years ago
Markus Heiser 55d04a089d
Merge pull request #1724 from searxng/update_data_update_engine_descriptions.py
Update searx.data - update_engine_descriptions.py
2 years ago
Markus Heiser 4a96480bd5
Merge pull request #1721 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2 years ago
dalf c2400a8677 Update searx.data - update_engine_descriptions.py 2 years ago
dalf e8bf907eef Update searx.data - update_firefox_version.py 2 years ago
dalf 915c0a2bc6 Update searx.data - update_languages.py 2 years ago
dalf b1ccecbeb3 Update searx.data - update_wikidata_units.py 2 years ago
dalf 2e6d41fa24 Update searx.data - update_ahmia_blacklist.py 2 years ago
dalf 83fbc16908 Update searx.data - update_currencies.py 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 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
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 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
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 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
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