summaryrefslogtreecommitdiff
path: root/searx/engines
AgeCommit message (Collapse)Author
2022-09-04xpath engine: change raise_for_httperror to no_result_for_http_statusAlexandre FLAMENT
no_result_for_http_status contains a list of HTTP status. These HTTP status are seen an empty result list. In other cases an exception is thrown as usual. Previously raise_for_httperror were ignoring all HTTP error, which make defective engines invisible in the stats.
2022-09-04[fix] engine woxikon.de - don't raise exception on empty result listMarkus Heiser
Woxikon expects a word in German, so with query "foo" the site finds nothing and respons a 404: httpx.HTTPStatusError: Client error '404 Not Found' \ for url 'https://synonyme.woxikon.de/synonyme/foo.php' [1] https://github.com/searxng/searxng/issues/1543#issuecomment-1193317054 Closes: https://github.com/searxng/searxng/issues/1543 Suggested-by: @allendema [1] Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-02Merge pull request #1647 from return42/deepl-engineMarkus Heiser
[mod] add deepl translation engine
2022-08-27Merge pull request #1699 from liimee/eng-app-storeAlexandre Flament
add apple app store engine
2022-08-27Merge pull request #1700 from liimee/eng-ddmAlexandre Flament
add apple maps engine
2022-08-27remove thumbnail from resultsta
2022-08-27add poi's website and phone number, doesn't crash when there is no ↵ta
`displayMapRegion`, query the token on the first request
2022-08-25add apple maps engineta
2022-08-24get the not cropped version of the thumbnail when the image height is not ↵ta
too important
2022-08-24add safesearch supportta
2022-08-24add developer info as authorta
2022-08-24add the apple app store engineta
The Apple App Store is the digital app distribution platform for iOS & iPadOS.
2022-08-24support playing videos directlyta
2022-08-23add tags as suggestionsta
2022-08-22use `invalid-name` instead of `C0103` for pylintta
2022-08-22add 9gag engineta
9GAG is a social media website where users upload and share user-generated images and videos
2022-08-21fixed xpath selector for appropriate resultsM Asenov
2022-08-21Merge pull request #1661 from liimee/eng-twAlexandre Flament
Add twitter engine
2022-08-20[fix] engine duden - don't raise exception on empty result listMarkus Heiser
Duden expects a word in German, so with query "amazing" the site finds nothing and respons a 404: httpx.HTTPStatusError: Client error '404 Not Found' for url\ 'https://www.duden.de/suchen/dudenonline/amazing' [1] https://github.com/searxng/searxng/issues/1543#issuecomment-1193317054 Suggested-by: @allendema [1] Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-08-17add explanation of tokenta
2022-08-17add profile image to user resultsta
2022-08-17add thumbnail to results if availableta
2022-08-14[mod] qwant - add safesearch optionMarkus Heiser
Closes: https://github.com/searxng/searxng/issues/1640 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-08-14[fix] qwant - API error::locale must be one ..Markus Heiser
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>
2022-08-14[mod] decouple qwant's categories from SearXNG's categoriesMarkus Heiser
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>
2022-08-14add twitter engineta
2022-08-10[fix] google - simplify XPath selectors to fetch more resultsMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-08-10output format protobuf to HTML for google mobileÉmilien Devos
2022-08-10[mod] add deepl translation engineThomas Renard
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.
2022-08-10Revert PR #1633Brock Vojković
This reverts the changes made to the Google results XPath in PR #1633.
2022-08-09[fix] google engine: results XPathLéon Tiekötter
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
2022-08-01[mod] add 'Accept-Language' HTTP header to online processoresMarkus Heiser
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>
2022-07-30[fix] pyright repported errorsAlexandre Flament
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) ```
2022-07-26Revert "Quick fix for google engine for EU countries"Markus Heiser
This reverts commit 747cf1a246df587aeb3b6b175c315ef0b9612dc4.
2022-07-26[fix] google engine: results XPathLéon Tiekötter
2022-07-25Quick fix for google engine for EU countriesÉmilien Devos
This revert part of the commit of https://github.com/searxng/searxng/commit/5fb2071cb2248c0f0ada7affb0c47f841ddbf102
2022-07-25[fix] demo_online.py - fixed typoMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-07-25[fix] google & youtube - set EU consent cookieEmilien Devos
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
2022-07-24[fix] sjp engine - convert enginename to a latin1 compliance nameMarkus Heiser
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>
2022-07-24[fix] emojipedia - update XPath to be relativejames-still
2022-07-23[fix] engine tineye: handle 422 response of not supported img formatMarkus Heiser
Closes: https://github.com/searxng/searxng/issues/1449 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-07-15Merge pull request #1475 from return42/EmojipediaMarkus Heiser
[mod] Add engine for Emojipedia
2022-07-15[mod] Add engine for EmojipediaJay
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] https://github.com/james-still/searx/commit/2fc01eb20f8de5f9cac492dcdfb817a6f0636580 [3] https://github.com/searx/searx/pull/3278
2022-07-10Merge pull request #1219 from dalf/follow_bing_redirectAlexandre Flament
bing.py: remove redirection links
2022-07-09bypass google consent with ucbcb=1Emilien Devos
2022-07-08bing.py: resolve bing.com/ck/a redirectionsAlexandre Flament
add a new function searx.network.multi_requests to send multiple HTTP requests at once
2022-07-05[fix] engine z-zlibrary https URLMarkus Heiser
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>
2022-07-04[mod] Adds Lingva translate engineta
Add the lingva engine (which grabs data from google translate). Results from Lingva are added to the infobox results.
2022-07-02[fix] engines/openstreetmap.py typo: user_langage --> user_languageMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-07-02openstreetmap engine: return the localized named.Alexandre Flament
For example: display "Tokyo" instead of "東京都" when the language is English.