searxng/docs/src
Markus Heiser c80e82a855 [mod] DuckDuckGo: reversed engineered & upgrade to data_type: traits_v1
Partial reverse engineering of the DuckDuckGo (DDG) engines including a
improved language and region handling based on the enigne.traits_v1 data.

- DDG Lite
- DDG Instant Answer API
- DDG Images
- DDG Weather

docs/src/searx.engine.duckduckgo.rst:
  Online documentation of the DDG engines (make docs.live)

searx/data/engine_traits.json
  Add data type "traits_v1" generated by the fetch_traits() functions from:

  - "duckduckgo" (WEB),
  - "duckduckgo images" and
  - "duckduckgo weather"

  and remove data from obsolete data type "supported_languages".

searx/autocomplete.py:
  Reversed engineered Autocomplete from DDG.  Supports DDG's languages.

searx/engines/duckduckgo.py:
  - fetch_traits():  Fetch languages & regions from DDG.

  - get_ddg_lang(): Get DDG's language identifier from SearXNG's locale.  DDG
    defines its languages by region codes.  DDG-Lite does not offer a language
    selection to the user, only a region can be selected by the user.

  - Cache ``vqd`` value: The vqd value depends on the query string and is needed
    for the follow up pages or the images loaded by a XMLHttpRequest (DDG
    images).  The ``vqd`` value of a search term is stored for 10min in the
    redis DB.

  - DDG Lite engine: reversed engineered request method with improved Language
    and region support and better ``vqd`` handling.

searx/engines/duckduckgo_definitions.py: DDG Instant Answer API
  The *instant answers* API does not support languages, or at least we could not
  find out how language support should work.  It seems that most of the features
  are based on English terms.

searx/engines/duckduckgo_images.py: DDG Images
  Reversed engineered request method.  Improved language and region handling
  based on cookies and the enigne.traits_v1 data.  Response: add image format to
  the result list

searx/engines/duckduckgo_weather.py: DDG Weather
  Improved language and region handling based on cookies and the
  enigne.traits_v1 data.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-03-24 10:37:42 +01:00
..
index.rst Correct my small mistake 2023-01-04 20:07:51 +01:00
searx.babel_extract.rst [mod] add i18n infrastructure for SearXNG message files (searxng.msg) 2022-03-16 09:55:53 +01:00
searx.engine.duckduckgo.rst [mod] DuckDuckGo: reversed engineered & upgrade to data_type: traits_v1 2023-03-24 10:37:42 +01:00
searx.enginelib.rst [mod] replace engines_languages.json by engines_traits.json 2023-03-24 10:37:42 +01:00
searx.engines.bing.rst [doc] add a description of bing engines (web, news, video, images) 2023-03-24 10:37:42 +01:00
searx.engines.demo_offline.rst [docs] add engine "Demo Offline Engine" 2021-06-04 15:04:38 +02:00
searx.engines.demo_online.rst [docs] add engine "Demo Online Engine" 2021-06-04 15:05:58 +02:00
searx.engines.google.rst [docs] add documentation from the sources of the google engines 2021-06-21 18:25:52 +02:00
searx.engines.peertube.rst [mod] Peertube: re-engineered & upgrade to data_type: traits_v1 2023-03-24 10:37:42 +01:00
searx.engines.rst [mod] replace engines_languages.json by engines_traits.json 2023-03-24 10:37:42 +01:00
searx.engines.startpage.rst [mod] Startpage: reversed engineered & upgrade to data_type: traits_v1 2023-03-24 10:37:42 +01:00
searx.engines.tineye.rst [mod] tineye - add some documentation 2022-01-28 09:06:44 +01:00
searx.engines.wikipedia.rst [mod] wikipedia & wikidata: upgrade to data_type: traits_v1 2023-03-24 10:37:42 +01:00
searx.engines.yahoo.rst [fix] engine - yahoo: rewrite and fix issues 2021-10-16 20:05:26 +00:00
searx.exceptions.rst [doc] Add doc-strings to searx.exceptions 2023-01-29 19:06:19 +01:00
searx.infopage.rst [mod] replace /help by /info pages and include pages in project docs 2022-03-12 11:36:31 +01:00
searx.locales.rst [mod] replace searx.languages by searx.sxng_locales 2023-03-24 10:37:42 +01:00
searx.plugins.limiter.rst [doc] add some documentation about the limiter plugin (and redis) 2022-03-25 11:26:10 +01:00
searx.plugins.tor_check.rst [mod] add tor_check plugin - convenient tor checking trough searxng 2022-07-19 07:34:54 +02:00
searx.redisdb.rst move searx.shared.redisdb to searx.redisdb 2022-12-10 09:26:38 +01:00
searx.redislib.rst [mod] collection of redis functions and lua scripts (initial) 2022-05-30 11:10:30 +02:00
searx.search.processors.rst [mod] replace engines_languages.json by engines_traits.json 2023-03-24 10:37:42 +01:00
searx.search.rst [doc] update docs/dev/plugins.rst 2021-09-10 10:58:22 +02:00
searx.utils.rst [mod] add documentation about searx.utils 2022-01-29 22:49:42 +01:00