Commit graph

4585 commits

Author SHA1 Message Date
wibyweb
6707354bc8 [mod] engine wiby: add pagination
Suggested by: @wibyweb in searx https://github.com/searx/searx/pull/3465

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-02-10 15:31:24 +01:00
Markus Heiser
4c06837a50 [mod] make python code pylint 2.16.1 compliant
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-02-10 13:59:21 +01:00
Markus Heiser
7320b0c796
Merge pull request #2130 from searxng/translations_update
Update translations
2023-02-04 17:53:20 +01:00
dependabot[bot]
a5a73d77b3
Bump grunt from 1.5.3 to 1.6.1 in /searx/static/themes/simple
Bumps [grunt](https://github.com/gruntjs/grunt) from 1.5.3 to 1.6.1.
- [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.5.3...v1.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-04 08:10:18 +00:00
Markus Heiser
257dc7d6c4 [fix-2146] set different HTTP Referer header to DuckDuckGo requests
For what ever reasons, ddg-lite don't like the Referer

  https://lite.duckduckgo.com/

In an interactive session in the WEB browser the the Reverer has exactly this
value, but ddg-lite don't like this value when the request is build up by
SearXNG.  The new value is:

  https://google.com/

What fakes a user comes from a google link.

Related: https://github.com/searxng/searxng/pull/2081
Closes: https://github.com/searxng/searxng/issues/2146

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-02-03 08:45:51 +01:00
searxng-bot
8db35f8e9c [translations] update from Weblate
009d48c2 - 2023-02-01 - tygyh <jonis9898@hotmail.com>
a5353bad - 2023-02-01 - Mooo <moose@mail.ru>
1617f458 - 2023-01-28 - emirhan <xemirhankoc@gmail.com>
79bc60f4 - 2023-01-29 - ewm <gnu.ewm@protonmail.com>
2023-02-03 07:15:25 +00:00
Alexandre Flament
9d102fb08f
Merge pull request #2132 from dalf/update_pr_1967
search.suspended_time settings: bug fixes
2023-01-29 20:48:43 +01:00
Markus Heiser
feccee01c0 [doc] Add doc-strings to searx.exceptions
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-01-29 19:06:19 +01:00
Markus Heiser
4f808088f1
Merge pull request #2139 from dalf/fix_update_languages
Fix update languages
2023-01-29 17:59:59 +01:00
Markus Heiser
d989c9429f
Merge pull request #2134 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2023-01-29 17:59:40 +01:00
Markus Heiser
5c2667b956
Merge pull request #2135 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2023-01-29 17:59:03 +01:00
Markus Heiser
e6a17f2fae
Merge pull request #2136 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2023-01-29 17:58:22 +01:00
Markus Heiser
c4cbf8829a
Merge pull request #2137 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2023-01-29 17:57:56 +01:00
Alexandre Flament
bfca63c536 wikipedia engine: update _fetch_supported_languages
the layout https://meta.wikimedia.org/wiki/List_of_Wikipedias has changed
2023-01-29 10:01:58 +00:00
Alexandre Flament
8256de2fe8 peertube engine: update _fetch_supported_languages
There is now an API to get the list of supported languages
https://docs.joinpeertube.org/api-rest-reference.html#tag/Video/operation/getLanguages
2023-01-29 10:01:54 +00:00
dalf
f900e33092 Update searx.data - update_engine_descriptions.py 2023-01-29 01:33:29 +00:00
dalf
dafe026815 Update searx.data - update_currencies.py 2023-01-29 01:24:14 +00:00
dalf
47435be70b Update searx.data - update_firefox_version.py 2023-01-29 01:23:43 +00:00
dalf
53a4a90d0c Update searx.data - update_wikidata_units.py 2023-01-29 01:23:42 +00:00
dalf
9dd95457a9 Update searx.data - update_ahmia_blacklist.py 2023-01-29 01:23:42 +00:00
Alexandre Flament
37addec69e search.suspended_time settings: bug fixes
* fix type in settings.yml: replace suspend_times by suspended_times
* always use delay defined in settings.yml:
  * HTTP status 402 and 403: read the value from settings.yml instead of using the hardcoded value of 1 day.
  * startpage engine: CAPTCHA suspend the engine for one day instead of one week
2023-01-28 10:24:14 +00:00
Alexandre Flament
28356f4284
Merge pull request #2115 from searxng/dependabot/pip/master/flask-babel-3.0.0
Bump flask-babel from 2.0.0 to 3.0.0
2023-01-27 10:43:17 +01:00
mrpaulblack
b3883dc395 [build] /static 2023-01-23 23:00:38 +01:00
mrpaulblack
8ead23347f [fix] use input elements for pagination requests
* use html input elements instead of buttons for the pagination forms at the bottom of the result page
* move the less section that hides the pagination number widget on mobile to the mobile section
* clean up the less code for styling the numbers of the pagination widget
* fix: add the margin for box results (like in news category) to the bottom of the result to have a margin between pagination widget and article result
2023-01-23 22:56:55 +01:00
llmII
d2b2300ee1 Feature: Pagination Widget with list of numbers.
Adds to the navigation widget, preserving forward/backward nav, and
inserting a list of clickable page numbers between them.

Phone sized devices continue without this widget as deterministic
display under small screen sizes has not been solved.

The widget is agnostic to the actual amount of pages there are that one
can navigate to and as such shows all plausible, albeit not necessarilly
valid, possibilities.

This widget does not interfere with infinite scroll in any fashion.
2023-01-23 21:22:06 +01:00
Alexandre Flament
06b5068a2e SearXNG version: YYYY.MM.DD without leading zero 2023-01-22 10:45:00 +00:00
Alexandre Flament
a9d6f7532a weblate: migration to https://translate.codeberg.org/ 2023-01-21 15:45:12 +00:00
searxng-bot
6e4c8b3516 [translations] update from Weblate 2023-01-20 11:32:23 +00:00
Alexandre Flament
f759a84af4 SearXNG version: fix make docker
continuation of #2117
related to #2111

This commit:
* fixes the Docker tag using an additional variable DOCKER_TAG, see searx/version.py
* fixes the Docker labels org.label-schema.vcs-ref and org.opencontainers.image.revision
* adds searx/version_frozen to .gitignore
2023-01-20 10:46:00 +00:00
dependabot[bot]
70fff2ebf1 Bump flask-babel from 2.0.0 to 3.0.0
Bumps [flask-babel](https://github.com/python-babel/flask-babel) from 2.0.0 to 3.0.0.
- [Release notes](https://github.com/python-babel/flask-babel/releases)
- [Changelog](https://github.com/python-babel/flask-babel/blob/master/CHANGELOG)
- [Commits](https://github.com/python-babel/flask-babel/compare/v2.0.0...v3.0.0)

---
updated-dependencies:
- dependency-name: flask-babel
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-20 09:38:30 +00:00
Alexandre Flament
0515f2974b Version number follows PEP440 : replace - by +
Close #2111
2023-01-20 09:05:44 +00:00
Alexandre Flament
6d72ef3cbe
Merge pull request #2109 from ahmad-alkadri/fix/highlight-full-word
Standalone words highlighting for query result in non-CJK characters
2023-01-17 23:24:04 +01:00
Alexandre Flament
13b0c251c4
Merge pull request #2100 from nexryai/master
Add goo engine
2023-01-15 23:08:28 +01:00
ahmad-alkadri
99b5272d9a A little fix and modified the testing for content highlight 2023-01-15 16:51:31 +01:00
Léon Tiekötter
0cedb1c6d8 Add search.suspended_times settings
Make suspended_time changeable in settings.yml
Allow different values to be set for different exceptions.

Co-authored-by: Alexandre Flament <alex@al-f.net>
2023-01-15 09:00:32 +00:00
ahmad-alkadri
6c421110b5 Perso branch - added cjk check and enclosement 2023-01-14 23:00:08 +00:00
searxng-bot
3e5ea08504 [translations] update from Weblate
6a57ee0b - 2023-01-11 - Markus Heiser <markus.heiser@darmarit.de>
b180a810 - 2023-01-06 - Nik Drešar <nik.dresar@gmail.com>
8710174a - 2023-01-11 - Markus Heiser <markus.heiser@darmarit.de>
529a2591 - 2023-01-08 - Markus Heiser <markus.heiser@darmarit.de>
a254bd01 - 2023-01-08 - Markus Heiser <markus.heiser@darmarit.de>
860c3fce - 2023-01-11 - Markus Heiser <markus.heiser@darmarit.de>
c140fb52 - 2023-01-06 - Markus Heiser <markus.heiser@darmarit.de>
2023-01-13 07:14:55 +00:00
nexryai
4e7bb1bf9a
Add goo engine 2023-01-12 16:28:09 +09:00
Ahmad Alkadri
7fc8d72889 [fix] bing: parsing result; check to see if the element contains links
This patch is to hardening the parsing of the bing response:

1. To fix [2087] check if the selected result item contains a link, otherwise
   skip result item and continue in the result loop.  Increment the result
   pointer when a result has been added / the enumerate that counts for skipped
   items is no longer valid when result items are skipped.

   To test the bugfix use:   ``!bi :all cerbot``

2. Limit the XPath selection of result items to direct children nodes (list
   items ``li``) of the ordered list (``ol``).

   To test the selector use: ``!bi :en pontiac aztek wiki``

   .. in the result list you should find the wikipedia entry on top,
   compare [2068]

[2087] https://github.com/searxng/searxng/issues/2087
[2068] https://github.com/searxng/searxng/issues/2068
2023-01-09 15:08:24 +01:00
Milad-Laly
cf4db4be37 [fix] Mojeek Xpath showing suggestions and searches + add lang support 2023-01-09 09:33:47 +01:00
Markus Heiser
54e63839db
Merge pull request #2088 from llmII/fix-suggestions
Fix #2083
2023-01-08 18:53:32 +01:00
Markus Heiser
9d6b048fba [build] /static 2023-01-08 18:39:37 +01:00
llmII
33d97fd01a Fix #2083
This changes the Suggestions to be a single column, not a wrapping row,
changing the input to be incapable of overflowing into visually adjacent
elements.
2023-01-08 10:44:58 -06:00
allixx
1407a055b2 [simple theme] set tab index for search page input field #1891
Previously it took five tab keypresses to reach search input field
on search results page. Now one tab press is enough.
2023-01-08 13:41:48 +03:00
ahmad-alkadri
9ee99423fe [fix] Bing-Web engine: XPath to get the wikipedia result
Modify the XPath selector to get the wikipedia result plus small fixes.

About result content: especially with the Wikipedia result, we'd get several
paragraph elements, only the first paragraph would be taken and displayed on the
search result
2023-01-08 09:11:16 +01:00
Markus Heiser
4e355564d2
Merge pull request #1903 from LalleSX/patch-1
Added info about adding the enginge to the brownser
2023-01-07 15:03:12 +01:00
PrivateLalle
212acf7f7b [mod] about page: add information about adding enginge to the brownser 2023-01-07 14:48:06 +01:00
Markus Heiser
4cd3be8964 [fix] indentation and line size of the the markdown files
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-01-07 14:46:31 +01:00
Markus Heiser
b2a80347e3 [build] /static 2023-01-07 11:53:51 +01:00
ahmad-alkadri
db70c262c3 Add flex-wrap to the list of engines 2023-01-07 11:53:05 +01:00
Rudis Muiznieks
128b8c7f0a
Add HTTP Referer header to DuckDuckGo requests
closes #2080
2023-01-06 16:07:37 -06:00
Markus Heiser
b241015e93
Merge pull request #2078 from searxng/dependabot/pip/master/pygments-2.14.0
Bump pygments from 2.13.0 to 2.14.0
2023-01-06 08:40:46 +01:00
Markus Heiser
e9a7a6aea6 [build] /static 2023-01-06 08:35:52 +01:00
searxng-bot
2420ab6fc3 [translations] update from Weblate
b1c60c5b - 2022-12-30 - wldkwl <gayisurdad@hotmail.com>
89133548 - 2023-01-05 - Linerly <linerly@protonmail.com>
4398061a - 2023-01-02 - Markus Heiser <markus.heiser@darmarit.de>
9857916a - 2023-01-04 - p6n7l <nichita@tutanota.com>
0ba50078 - 2023-01-04 - Markus Heiser <markus.heiser@darmarit.de>
0189e648 - 2023-01-02 - Markus Heiser <markus.heiser@darmarit.de>
24ded833 - 2023-01-01 - Markus Heiser <markus.heiser@darmarit.de>
2023-01-06 07:14:08 +00:00
searxng-bot
38c22c8c31 [translations] update from Weblate
ea56f7b6 - 2022-12-26 - Sean Botha <seanbotha@gmail.com>
0dbbb031 - 2022-12-23 - gkkulik <gregorykkulik@gmail.com>
81f33cb7 - 2022-12-28 - Markus Heiser <markus.heiser@darmarit.de>
5ff82460 - 2022-12-28 - peterT1D <kozlovic.peter@gmail.com>
0ea6d8c3 - 2022-12-28 - Markus Heiser <markus.heiser@darmarit.de>
b19bb597 - 2022-12-28 - Markus Heiser <markus.heiser@darmarit.de>
904fa9ab - 2022-12-24 - Markus Heiser <markus.heiser@darmarit.de>
e7c7d624 - 2022-12-29 - Droid <droidpy587@gmail.com>
2022-12-30 07:14:21 +00:00
dalf
0639769274 Update searx.data - update_firefox_version.py 2022-12-29 09:17:56 +01:00
Markus Heiser
174e6851b3
Merge pull request #2054 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2022-12-29 08:35:51 +01:00
Markus Heiser
d531f89316
Merge pull request #2057 from searxng/update_data_update_engine_descriptions.py
Update searx.data - update_engine_descriptions.py
2022-12-29 08:31:19 +01:00
Markus Heiser
76cd808a49
Merge pull request #2053 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2022-12-29 08:28:19 +01:00
dalf
000734cb93 Update searx.data - update_engine_descriptions.py 2022-12-29 01:25:31 +00:00
dalf
36eea5b7cc Update searx.data - update_currencies.py 2022-12-29 01:16:59 +00:00
dalf
66780efda7 Update searx.data - update_wikidata_units.py 2022-12-29 01:16:59 +00:00
dalf
de793fb71e Update searx.data - update_ahmia_blacklist.py 2022-12-29 01:16:52 +00:00
Alexandre Flament
0d4896170f
Merge pull request #2047 from dalf/fasttext-predict
Use fasttext-predict instead of fasttext(-wheel)
2022-12-26 20:50:09 +01:00
Alexandre Flament
f3515041af Lazy load fasttext-predict 2022-12-26 18:44:23 +00:00
searxng-bot
dd125321e4 [translations] update from Weblate
7f3e72fd - 2022-12-20 - Grey <elohim@gmail.com>
5d48e556 - 2022-12-21 - Markus Heiser <markus.heiser@darmarit.de>
56e67eb0 - 2022-12-19 - zDylant <dylantfcs@gmail.com>
28e1abe1 - 2022-12-21 - Markus Heiser <markus.heiser@darmarit.de>
b19d55f7 - 2022-12-17 - YaoSiQian <2229561981@qq.com>
274f7ee9 - 2022-12-17 - Markus Heiser <markus.heiser@darmarit.de>
ab00649b - 2022-12-16 - tents <remendne@pentrens.jp>
2022-12-23 07:14:39 +00:00
Rudis Muiznieks
6804ff048d
Fix: add trailing slash to duckduckgo url
Close #1854
2022-12-22 07:49:58 -06:00
ArtikusHG
735e388cec
Merge branch 'master' into fasttext 2022-12-16 19:43:10 +00:00
ArtikusHG
1f8f8c1e91 Replace langdetect with fasttext 2022-12-16 21:07:39 +02:00
Alexandre Flament
2a51c85672
Merge pull request #1974 from fehho/query-string-deserial
[fix] Deserialize preferences which are explicitly blank strings
2022-12-16 18:56:30 +01:00
searxng-bot
03ce848e04 [translations] update from Weblate
4cf39dae - 2022-12-14 - Markus Heiser <markus.heiser@darmarit.de>
f67457cf - 2022-12-12 - Linerly <linerly@protonmail.com>
dee211c2 - 2022-12-12 - JohnyPeaN <johnypean@gmail.com>
9eeb4290 - 2022-12-12 - Markus Heiser <markus.heiser@darmarit.de>
2022-12-16 07:15:19 +00:00
Alexandre Flament
9e9f57e48b
Merge pull request #1954 from dalf/fix.redis.init.2
[fix] follow up of PR-1856
2022-12-14 07:08:19 +01:00
Markus Heiser
ed901ab18e [mod] improve 'Autodetect search language' plugin
- Add documentation to the plugin
- Harmonize FastText language model with SearXNG's language model

Reosurces::

    import fasttext                                    # --> +10 MB
    fasttext.load_model(str(data_dir / 'lid.176.ftz')) # --> +4MB

Suggested-by: @dalf

- To speed up and simplify the deployment use fasttext-wheel instead of fasttext
- Building numpy on the Alpine Linux of docker-images takes ages --> install
  py3-numpy from Alpines package manager (apk)
- Alpine Linux on docker-images (musl libc) do not support fasttext-wheel (gnu
  libc) --> patch Dockerfile and build from fastetxt:

     sed -i s/fasttext-wheel/fasttext/ requirements.txt

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-12-11 11:26:07 +01:00
ArtikusHG
9925a20950 [mod] new plugin: Autodetect search language 2022-12-10 13:11:47 +01:00
Alexandre Flament
b971167ced move searx.shared.redisdb to searx.redisdb 2022-12-10 09:26:38 +01:00
Alexandre Flament
34e260f88f [fix] follow up of PR-1856
- the environment variable SEARXNG_REDIS_URL overrides the setting value redis.url
- ./manage sets SEARXNG_REDIS_URL to unix:///usr/local/searxng-redis/run/redis.sock if:
   - the socket exists
   - SEARXNG_REDIS_URL is not already defined

Update of PR #1856

Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2022-12-10 09:26:38 +01:00
searxng-bot
759d53c892 [translations] update from Weblate
1b4600d0 - 2022-12-08 - JohnyPeaN <johnypean@gmail.com>
e3b49827 - 2022-12-04 - Markus Heiser <markus.heiser@darmarit.de>
975217cf - 2022-12-02 - Markus Heiser <markus.heiser@darmarit.de>
2022-12-09 07:15:14 +00:00
Alexandre Flament
269326063a Fix: don't crash when engine or name is missing in settings.yml
SearXNG crashes if the engine or name fields are missing.
With this commit, the app displays an error in the log and keeps loading.

Close #1951
2022-12-04 23:43:59 +01:00
searxng-bot
f40d1c0004 [translations] update from Weblate
cc5cf5d8 - 2022-11-30 - Chathura madusanka <mcchathuer216@gmail.com>
97776fbf - 2022-11-29 - Markus Heiser <markus.heiser@darmarit.de>
c3c9f988 - 2022-11-29 - Markus Heiser <markus.heiser@darmarit.de>
a1cf339e - 2022-11-29 - Markus Heiser <markus.heiser@darmarit.de>
4429167c - 2022-11-25 - Markus Heiser <markus.heiser@darmarit.de>
2022-12-02 07:15:43 +00:00
Ryan Kaskel
e19218c6a9
Copy client connection kwargs before mutating 2022-11-29 12:15:18 +00:00
Markus Heiser
a8359dd4d3
Merge pull request #1981 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2022-11-29 07:48:26 +01:00
Markus Heiser
1b2f1c17f6
Merge pull request #1982 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2022-11-29 07:47:52 +01:00
Markus Heiser
3579a38a2d
Merge pull request #1983 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2022-11-29 07:46:49 +01:00
Markus Heiser
82af2f4460
Merge pull request #1984 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2022-11-29 07:45:51 +01:00
dalf
a508cdbd4b Update searx.data - update_engine_descriptions.py 2022-11-29 01:34:42 +00:00
dalf
c4512cf64d Update searx.data - update_ahmia_blacklist.py 2022-11-29 01:24:48 +00:00
dalf
b0b45fd2d0 Update searx.data - update_currencies.py 2022-11-29 01:24:39 +00:00
dalf
a9be73b4da Update searx.data - update_wikidata_units.py 2022-11-29 01:24:38 +00:00
dalf
9fc72419e1 Update searx.data - update_firefox_version.py 2022-11-29 01:24:35 +00:00
searxng-bot
981a2c9626 [translations] update from Weblate
c13727fc - 2022-11-21 - MSI Shafik <shafik.te@gmail.com>
21f638f6 - 2022-11-19 - Markus Heiser <markus.heiser@darmarit.de>
b8ed9e1c - 2022-11-24 - Markus Heiser <markus.heiser@darmarit.de>
2022-11-25 07:16:11 +00:00
fehho
7cab51f98f Deserialize explicitly blank strings
Default behavior of urllib.parse_qs is to discard blank values, causing a preference of none to be deserialized as undefined, using the instance default rather than the selected preference.
2022-11-24 13:14:12 -06:00
searxng-bot
9d06115d07 [translations] update from Weblate
7569f266 - 2022-11-18 - Markus Heiser <markus.heiser@darmarit.de>
6418da9a - 2022-11-18 - mikni <mikni@proton.me>
acc0dc1a - 2022-11-18 - Markus Heiser <markus.heiser@darmarit.de>
6c2beba6 - 2022-11-19 - Alexandre Flament <alex@al-f.net>
b49457e3 - 2022-11-18 - Markus Heiser <markus.heiser@darmarit.de>
2022-11-19 16:21:15 +00:00
searxng-bot
7a39952558 [translations] update from Weblate
f123be21 - 2022-11-13 - Markus Heiser <markus.heiser@darmarit.de>
fa2cfa8f - 2022-11-13 - Markus Heiser <markus.heiser@darmarit.de>
2022-11-18 07:17:51 +00:00
Émilien Devos
46ad32343a Switch back to protobuf for raw HTML 2022-11-11 07:39:48 +00:00
ngosang
78be4b4c70 Fix Google search engine.
- Fix broken links. Resolves #1794
- Fix missing results. Resolves #1829
2022-11-11 07:34:19 +01:00
Ryan Draga
408200c87e [fix] disabling zlibrary due to z-lib.org domain seizure 2022-11-10 21:18:21 +01:00
Markus Heiser
ee4475ff4b
Merge pull request #1934 from dalf/fix_user_agent
User agent: don't include the patch number in the Firefox version
2022-11-09 06:50:33 +01:00
Alexandre FLAMENT
73b5a58d9e [FIX] Redis initialization
redis.Redis.from_url(url) doesn't check if the url is valid

Before this commit: actual error are detected later when the client is actually used.
With this commit, client() makes sure to return a valid Redis client or None.

Also, the code makes sure not to log the password of the Redis URL
2022-11-07 22:08:32 +00:00
Alexandre Flament
8f19bdaf17
Merge pull request #1882 from fehho/metacpan
Add MetaCPAN engine
2022-11-07 21:54:11 +01:00
fehho
fe351c2802 Add MetaCPAN engine 2022-11-07 08:07:06 -06:00
Evhorizon
1517724615
Update network.py 2022-11-06 20:35:30 +01:00
Alexandre Flament
2dc5c0e1d6
Merge pull request #1928 from searxng/translations_update
Update translations
2022-11-06 11:29:28 +01:00
Alexandre Flament
4fe5463671
Merge pull request #1869 from vgerak/1836-ddg-weather
Fix floating point format in DDG weather humidity
2022-11-05 22:46:50 +01:00
Alexandre FLAMENT
d8dee21277 searx.locale: add Dhivehi language 2022-11-05 21:26:15 +00:00
Alexandre FLAMENT
20d951fc5c searx.locales: improve support for languages not supported by babel
* refactor get_translations() to rely on ADDITIONAL_TRANSLATIONS and LOCALE_BEST_MATCH
* update RTL_LOCALES for languages in ADDITIONAL_TRANSLATIONS
2022-11-05 21:26:07 +00:00
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
2022-11-05 22:04:37 +01:00
Alexandre FLAMENT
e92755d358 Initialize Redis in searx/webapp.py
settings.yml:
* The default URL was unix:///usr/local/searxng-redis/run/redis.sock?db=0
* The default URL is now "false"

The default URL makes the log difficult to deal with:
if the admin didn't install a Redis instance, the logs record a false error.

It worked before because SearXNG initialized the Redis connection when the limiter started.

In this commit, SearXNG initializes Redis in searx/webapp.py
so various components can use Redis without taking care of the initialization step.
2022-11-05 17:45:52 +01:00
Alexandre Flament
fe419e355b The checker requires Redis
Remove the abstraction in searx.shared.SharedDict.
Implement a basic and dedicated scheduler for the checker using a Redis script.
2022-11-05 12:04:50 +01:00
searxng-bot
7438e48d13 [translations] update from Weblate
41ebf8e7 - 2022-10-31 - Landhoo School Students <landhooschoolstudents@gmail.com>
1de65e6a - 2022-10-29 - Markus Heiser <markus.heiser@darmarit.de>
fff11c22 - 2022-10-30 - Markus Heiser <markus.heiser@darmarit.de>
f677049f - 2022-10-30 - Markus Heiser <markus.heiser@darmarit.de>
ebf69b4a - 2022-10-30 - Markus Heiser <markus.heiser@darmarit.de>
a21b6221 - 2022-11-02 - Markus Heiser <markus.heiser@darmarit.de>
ac384800 - 2022-11-03 - ptomljanovic <phill2605@gmail.com>
c4736fd4 - 2022-11-03 - alexfs2015 <alex04fs@gmail.com>
1b967129 - 2022-10-31 - Landhoo School Students <landhooschoolstudents@gmail.com>
2022-11-04 07:18:35 +00:00
Markus Heiser
fc9986de0a
Merge pull request #1905 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2022-10-29 08:22:43 +02:00
Markus Heiser
3f1d594c23
Merge pull request #1906 from searxng/update_data_update_external_bangs.py
Update searx.data - update_external_bangs.py
2022-10-29 08:21:33 +02:00
Markus Heiser
a9deead102
Merge pull request #1907 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2022-10-29 08:20:53 +02:00
Markus Heiser
d49ccb54ea
Merge pull request #1908 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2022-10-29 08:20:27 +02:00
Markus Heiser
fa59ff9b78
Merge pull request #1909 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2022-10-29 08:19:56 +02:00
dalf
e70589c598 Update searx.data - update_engine_descriptions.py 2022-10-29 01:56:57 +00:00
dalf
985a2a87a6 Update searx.data - update_currencies.py 2022-10-29 01:46:40 +00:00
dalf
c0ecc2f865 Update searx.data - update_wikidata_units.py 2022-10-29 01:46:38 +00:00
dalf
c24abc2f8c Update searx.data - update_firefox_version.py 2022-10-29 01:46:34 +00:00
dalf
f0c7898445 Update searx.data - update_external_bangs.py 2022-10-29 01:46:27 +00:00
dalf
799c5270ae Update searx.data - update_ahmia_blacklist.py 2022-10-29 01:46:24 +00:00
Markus Heiser
5a181ea1f5
Merge pull request #1901 from searxng/dependabot/npm_and_yarn/searx/static/themes/simple/master/svgo-3.0.0
Bump svgo from 2.8.0 to 3.0.0 in /searx/static/themes/simple
2022-10-28 10:22:56 +02:00
Markus Heiser
d913f0d8aa [build] /static 2022-10-28 10:17:56 +02:00
searxng-bot
bc3db6fd16 [translations] update from Weblate
bf52cdbc - 2022-10-22 - Markus Heiser <markus.heiser@darmarit.de>
fbb36c76 - 2022-10-22 - forvirretfrukt <lillelilli87@gmail.com>
18cc8a36 - 2022-10-22 - Markus Heiser <markus.heiser@darmarit.de>
7314d2b6 - 2022-10-24 - Markus Heiser <markus.heiser@darmarit.de>
b25147b9 - 2022-10-27 - Markus Heiser <markus.heiser@darmarit.de>
d39ade65 - 2022-10-24 - Markus Heiser <markus.heiser@darmarit.de>
cb835cdc - 2022-10-24 - Markus Heiser <markus.heiser@darmarit.de>
563f4e0b - 2022-10-26 - Markus Heiser <markus.heiser@darmarit.de>
a698a2e9 - 2022-10-24 - Markus Heiser <markus.heiser@darmarit.de>
df5ce281 - 2022-10-22 - Markus Heiser <markus.heiser@darmarit.de>
55b369a3 - 2022-10-22 - Markus Heiser <markus.heiser@darmarit.de>
3eddf243 - 2022-10-24 - zaioti <zaioti@tuta.io>
edd3871d - 2022-10-24 - zaioti <zaioti@tuta.io>
5aab9f7b - 2022-10-22 - Markus Heiser <markus.heiser@darmarit.de>
0b2cfe68 - 2022-10-22 - tents <remendne@pentrens.jp>
732b7865 - 2022-10-22 - Markus Heiser <markus.heiser@darmarit.de>
d652c20f - 2022-10-22 - Markus Heiser <markus.heiser@darmarit.de>
0bcaaa8d - 2022-10-24 - Markus Heiser <markus.heiser@darmarit.de>
6fd87821 - 2022-10-26 - Markus Heiser <markus.heiser@darmarit.de>
618f213c - 2022-10-21 - Masterix <masterix@duck.com>
30d38ee9 - 2022-10-24 - Markus Heiser <markus.heiser@darmarit.de>
a934ce3b - 2022-10-23 - Markus Heiser <markus.heiser@darmarit.de>
b696c22e - 2022-10-23 - Markus Heiser <markus.heiser@darmarit.de>
6ee1efe2 - 2022-10-23 - Jeewaka Fernando <Jeewakaphotography@gmail.com>
2022-10-28 07:18:50 +00:00
dependabot[bot]
3cade9a7eb
Bump svgo from 2.8.0 to 3.0.0 in /searx/static/themes/simple
Bumps [svgo](https://github.com/svg/svgo) from 2.8.0 to 3.0.0.
- [Release notes](https://github.com/svg/svgo/releases)
- [Changelog](https://github.com/svg/svgo/blob/main/CHANGELOG-old.md)
- [Commits](https://github.com/svg/svgo/compare/v2.8.0...v3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-28 07:13:58 +00:00
searxng-bot
18ba8628dd [translations] update from Weblate
c7fddee3 - 2022-10-15 - Linerly <linerly@protonmail.com>
f559a626 - 2022-10-17 - Markus Heiser <markus.heiser@darmarit.de>
fe7af662 - 2022-10-17 - Mateusz Bączek <mateusz.baczek1998@gmail.com>
8a7c3da9 - 2022-10-16 - Peter Martin <weblate@pe7er.com>
a84dad5c - 2022-10-16 - Franco Longo <longofrancoale@gmail.com>
9ee1ac8b - 2022-10-20 - prljav <marin.ruskica@gmail.com>
b91bedc4 - 2022-10-16 - Peter Martin <weblate@pe7er.com>
dff99ef4 - 2022-10-16 - Peter Martin <weblate@pe7er.com>
cd639f6c - 2022-10-17 - Markus Heiser <markus.heiser@darmarit.de>
49507a60 - 2022-10-14 - Markus Heiser <markus.heiser@darmarit.de>
ad305582 - 2022-10-16 - Peter Martin <weblate@pe7er.com>
19e97075 - 2022-10-17 - Markus Heiser <markus.heiser@darmarit.de>
97581f70 - 2022-10-14 - Markus Heiser <markus.heiser@darmarit.de>
fcd52cea - 2022-10-14 - Alexandre Flament <alex@al-f.net>
2022-10-21 07:32:09 +00:00
Vasilis Gerakaris
947b62c9d5
Fix floating point format in DDG weather humidity
Fixes #1836
2022-10-20 11:44:17 +03:00
Alexandre FLAMENT
035bc507ec [fix] startpage engine 2022-10-14 18:27:53 +00:00
Alexandre Flament
32e8c2cf09 searx.network: add "verify" option to the networks
Each network can define a verify option:
* false to disable certificate verification
* a path to existing certificate.

SearXNG uses SSL_CERT_FILE and SSL_CERT_DIR when they are defined
see https://www.python-httpx.org/environment_variables/#ssl_cert_file
2022-10-14 13:59:22 +00:00
searxng-bot
6e86f33342 [translations] update from Weblate
eee3d5e2 - 2022-10-12 - Markus Heiser <markus.heiser@darmarit.de>
c4eb9818 - 2022-10-11 - Markus Heiser <markus.heiser@darmarit.de>
27423f5b - 2022-10-12 - Markus Heiser <markus.heiser@darmarit.de>
9e8b7f86 - 2022-10-11 - No4vick <MineBor1@yandex.ru>
1203aa6a - 2022-10-11 - KEINOS <github@keinos.com>
22c78af5 - 2022-10-12 - Markus Heiser <markus.heiser@darmarit.de>
6a4776f8 - 2022-10-11 - Markus Heiser <markus.heiser@darmarit.de>
c00bdc7d - 2022-10-11 - Markus Heiser <markus.heiser@darmarit.de>
e5a39537 - 2022-10-09 - Kayra Uylar <k.uylar@outlook.com>
e3fad460 - 2022-10-11 - Markus Heiser <markus.heiser@darmarit.de>
da5f0bc3 - 2022-10-11 - Surepusofu Arutemu <crexlight@gmail.com>
5704a98b - 2022-10-11 - Markus Heiser <markus.heiser@darmarit.de>
f3ef3ebb - 2022-10-11 - Markus Heiser <markus.heiser@darmarit.de>
620636c1 - 2022-10-11 - Markus Heiser <markus.heiser@darmarit.de>
767b3bb2 - 2022-10-08 - KEINOS <github@keinos.com>
60d38c87 - 2022-10-11 - Markus Heiser <markus.heiser@darmarit.de>
2022-10-14 07:38:20 +00:00
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>
2022-10-11 11:49:06 +02:00
searxng-bot
325eadfd04 [translations] update from Weblate
70909b19 - 2022-10-04 - Yan Lyra <yanlyra3@gmail.com>
acf1f0aa - 2022-10-03 - George Kashkosh <kash.george@gmail.com>
94ce447f - 2022-10-01 - Zaid Aiman <zaidaiman@gmail.com>
59959050 - 2022-09-30 - tjvfxtiwdr <tjvfxtiwdr@daimashili.com>
e27a5c79 - 2022-09-30 - a <a@daimashili.com>
2c05470f - 2022-09-30 - tjvfxtiwdr <tjvfxtiwdr@daimashili.com>
53644516 - 2022-10-01 - random <thrizem+wnd43@gmail.com>
2022-10-07 07:30:33 +00:00
Mohamed Elashri
8d5653e60d
Merge branch 'searxng:master' into master 2022-09-30 23:06:54 +00:00
searxng-bot
4fea4acea1 [translations] update from Weblate
fbac3535 - 2022-09-28 - Markus Heiser <markus.heiser@darmarit.de>
cf5d71b7 - 2022-09-28 - Markus Heiser <markus.heiser@darmarit.de>
6dc351bd - 2022-09-28 - Markus Heiser <markus.heiser@darmarit.de>
42daf1f8 - 2022-09-28 - Markus Heiser <markus.heiser@darmarit.de>
f5fb629f - 2022-09-28 - Markus Heiser <markus.heiser@darmarit.de>
4e5f2c79 - 2022-09-28 - Markus Heiser <markus.heiser@darmarit.de>
5131835f - 2022-09-28 - Robert Bridda <briddarobert@icloud.com>
02055902 - 2022-09-28 - Markus Heiser <markus.heiser@darmarit.de>
716bd1d7 - 2022-09-28 - Markus Heiser <markus.heiser@darmarit.de>
768c8e43 - 2022-09-28 - Markus Heiser <markus.heiser@darmarit.de>
e8ad24c1 - 2022-09-28 - Markus Heiser <markus.heiser@darmarit.de>
a88c5f91 - 2022-09-28 - Markus Heiser <markus.heiser@darmarit.de>
fc70c33a - 2022-09-28 - Markus Heiser <markus.heiser@darmarit.de>
2022-09-30 07:43:45 +00:00
Alexandre Flament
a7d693231c
Merge pull request #1819 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2022-09-29 16:03:34 +02:00
Alexandre Flament
f3d25f9cef
Merge pull request #1821 from searxng/update_data_update_engine_descriptions.py
Update searx.data - update_engine_descriptions.py
2022-09-29 16:02:57 +02:00
Alexandre Flament
5060732486
Merge pull request #1818 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2022-09-29 16:02:02 +02:00
Alexandre Flament
520a873ab4
Merge pull request #1820 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2022-09-29 16:01:31 +02:00
dalf
9cb792c0d6 Update searx.data - update_engine_descriptions.py 2022-09-29 02:22:00 +00:00
dalf
2d429ebd75 Update searx.data - update_wikidata_units.py 2022-09-29 02:13:02 +00:00
dalf
8fc3940448 Update searx.data - update_currencies.py 2022-09-29 02:12:54 +00:00
dalf
b7f4a3a207 Update searx.data - update_ahmia_blacklist.py 2022-09-29 02:12:48 +00:00
dalf
3153f0a795 Update searx.data - update_firefox_version.py 2022-09-29 02:12:48 +00:00
Alexandre Flament
a3148e5115
Merge pull request #1814 from return42/fix-typos
[fix] typos / reported by @kianmeng in searx PR-3366
2022-09-28 09:22:02 +02:00
Alexandre Flament
0e00af9c26
Merge pull request #1810 from return42/fix-1809
[fix] springer: unsupported operand type(s) for +: 'NoneType' and 'str'
2022-09-28 09:20:03 +02:00
Markus Heiser
ba8959ad7c [fix] typos / reported by @kianmeng in searx PR-3366
[PR-3366] https://github.com/searx/searx/pull/3366

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-27 18:32:14 +02:00
Mohamed Elashri
212c98c9f5
Merge branch 'searxng:master' into master 2022-09-27 14:03:12 +00:00
Markus Heiser
52023e3d6e [fix] doc of the paper.html template (isbn, issn)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-25 15:46:29 +02:00
Markus Heiser
0052887929 [fix] springer: unsupported operand type(s) for +: 'NoneType' and 'str'
- fix issue reported #1809
- filter out `None` value from issn and isbn list
- add comments (from publicationName)
- add publisher

Closes: https://github.com/searxng/searxng/issues/1809
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-25 15:25:55 +02:00
Mohamed Elashri
5832c70680
correct sci-hub links/ add .ru and remove other 3rd party domains. 2022-09-24 11:03:57 -04:00
Markus Heiser
e36b023508 [mod] core.ac.uk: add cetgory 'scientific publications'
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-24 16:16:22 +02:00
Markus Heiser
b424ee255e [mod] paper.html: simplify template by using result_link macro
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-24 16:13:36 +02:00
Alexandre Flament
bfd6f61849
Merge pull request #1804 from return42/fix-core.ac.uk
core.ac.uk: use paper.html template
2022-09-24 15:12:05 +02:00
Alexandre Flament
16443d4f4a [mod] core.ac.uk: try multiple ways to get url
If the url is not found, using:
* the DOI
* the downloadUrl
* the ARK id
2022-09-24 15:02:39 +02:00
Markus Heiser
3198c906af [mod] paper.html: add links to doi resolver
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-24 14:19:51 +02:00
Markus Heiser
c76830d8a8 [mod] core.ac.uk: use paper.html template
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-24 13:19:33 +02:00
Markus Heiser
3ff2ad939d [fix] ERROR searx.engines.core.ac.uk: list index out of range
Some result items from core.ac.uk do not have an URL::

  Traceback (most recent call last):
  File "searx/search/processors/online.py", line 154, in search
    search_results = self._search_basic(query, params)
  File "searx/search/processors/online.py", line 142, in _search_basic
    return self.engine.response(response)
  File "SearXNG/searx/engines/core.py", line 73, in response
    'url': source['urls'][0].replace('http://', 'https://', 1),

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-24 13:19:33 +02:00
Markus Heiser
caebafdd06 [fix] typo in crossref settings: disable --> disabled
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-24 08:12:36 +02:00
Alexandre Flament
d6446be38f [mod] science category: various update of about PR 1705 2022-09-23 20:52:55 +02:00
Alexandre FLAMENT
fe43b6e821 [build] /static 2022-09-23 20:45:58 +02:00
Alexandre FLAMENT
e36f85b836 Science category: update the engines
* use the paper.html template
* fetch more data from the engines
* add crossref.py
2022-09-23 20:45:58 +02:00
Alexandre FLAMENT
593026ad9c oa_doi_rewrite: add the doi to the result when it is found.
Currentty, when oa_doi_rewrite find a DOI in the result URL, it replace the URL.
In this commit, the plugin adds the key "doi" to the result,
so the paper.html can show it.
2022-09-23 20:45:58 +02:00
Alexandre FLAMENT
5ba831d6a8 Add paper.html result template 2022-09-23 20:45:58 +02:00
Alexandre FLAMENT
a96f503d7b Add searx.webutils.searxng_format_date
* Move the datetime to str code from searx.webapp.search to searx.webutils.searxng_format_date
* When the month, day, hour, day and second are zero, the function returns only the year.
2022-09-23 20:45:58 +02:00
Alexandre Flament
bef3984d03
Merge pull request #1728 from liimee/eng-ddw
add duckduckgo weather engine
2022-09-23 18:14:09 +02:00
Alexandre Flament
d3fec1388c
Merge pull request #1624 from liimee/eng-wttr
Add wttr.in engine
2022-09-23 18:13:37 +02:00
searxng-bot
ab6e1542ff [translations] update from Weblate
55133802 - 2022-09-21 - Linerly <linerly@protonmail.com>
b9309bdf - 2022-09-22 - Xosé M <correo@xmgz.eu>
6da8db13 - 2022-09-21 - Constantine Giannopoulos <K.Giannopoulos@acg.edu>
c1edbd89 - 2022-09-21 - Markus Heiser <markus.heiser@darmarit.de>
9795e5fe - 2022-09-22 - alexfs2015 <alex04fs@gmail.com>
2022-09-23 07:38:23 +00:00
Alexandre Flament
1a7b6872b5
Merge pull request #1792 from unixfox/google-images-internal-api
use the internal API for google images
2022-09-21 19:50:38 +02:00
Markus Heiser
cf7ee67f71 [mod] google-images: slightly improvements of the engine
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-21 18:59:55 +02:00
Markus Heiser
8b40e68c56 [fix] wording: SearXNG is 'open' and not 'hackable'
The word "hackable" may arouse interest in programmers to participate in the
development, but it scares the ordinary user.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-21 17:10:35 +02:00
Emilien Devos
df5f8d0e8e use the internal API for google images 2022-09-20 22:52:38 +02:00
Markus Heiser
dcf1d408a5 [fix] google-news: origin result does not have a content area
The google news are in a rework, the content area of a news item has been
removed.

Closes: https://github.com/searxng/searxng/issues/1790
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-20 20:18:43 +02:00
Alexandre FLAMENT
33b43763b9 Brave engine: fix BrotliDecoderDecompressStream error 2022-09-18 22:08:38 +00:00
Markus Heiser
fbf07237ff [fix] and improve docs generated from source code.
Fix::

    searx/locales.py:docstring of searx.locales.get_engine_locale:17: \
      WARNING: Definition list ends without a blank line; unexpected unindent.

Improvement: don't show default values in the generated documentation whe it is
more a mess than a usefull information (`:meta hide-value:`).

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-18 12:44:12 +02:00
Alexandre Flament
b3708e4137
Merge pull request #1757 from LencoDigitexer/master
add yandex autocomplete
2022-09-17 13:17:00 +02:00
LencoDigitexer
bc28091557 remove the print statement 2022-09-17 11:25:14 +03:00
searxng-bot
2ee8e5eff2 [translations] update from Weblate
570c4f7d - 2022-09-15 - Fero Novák <itzwowsmile@gmail.com>
0ef09ea1 - 2022-09-15 - dogyx <aaronloit@tuta.io>
03f97e22 - 2022-09-09 - beriain <soila@disroot.org>
caddaedc - 2022-09-10 - Markus Heiser <markus.heiser@darmarit.de>
addfb0c2 - 2022-09-09 - NxOne14 <kiril2315@gmail.com>
2872e3a6 - 2022-09-11 - Markus Heiser <markus.heiser@darmarit.de>
d2835b09 - 2022-09-11 - Sadith Nadungoda <sadithnadungoda@gmail.com>
2022-09-16 07:30:31 +00:00
LencoDigitexer
3f72a79088 add yandex to autocomplete backends settings 2022-09-09 23:50:58 +03:00
LencoDigitexer
7b8d6015e3 add yandex autocompleter 2022-09-09 23:42:44 +03:00
Alexandre Flament
eb3d185e66
Merge pull request #1755 from searxng/dependabot/npm_and_yarn/searx/static/themes/simple/master/sharp-0.31.0
Bump sharp from 0.30.7 to 0.31.0 in /searx/static/themes/simple
2022-09-09 10:40:38 +02:00
searxng-bot
bf8ea2020f [translations] update from Weblate 2022-09-09 07:26:09 +00:00
dependabot[bot]
cbf65e8292
Bump sharp from 0.30.7 to 0.31.0 in /searx/static/themes/simple
Bumps [sharp](https://github.com/lovell/sharp) from 0.30.7 to 0.31.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.30.7...v0.31.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-09 07:11:11 +00:00
Alexandre Flament
691c0ed6b9
Merge pull request #1743 from dalf/update_about_metrics
Update about the metrics
2022-09-04 11:29:28 +02:00
Markus Heiser
ad8ffd222c [mod] option 'ui: cache_url:' to configure internet cache or archive
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-04 09:42:20 +02:00
Alexandre FLAMENT
dd0887be18 xpath engine: change raise_for_httperror to no_result_for_http_status
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 09:07:28 +02:00
Markus Heiser
a15dfa5ee1 [fix] engine woxikon.de - don't raise exception on empty result list
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-04 09:07:28 +02:00
Markus Heiser
8e9fb0b435
Merge pull request #1647 from return42/deepl-engine
[mod] add deepl translation engine
2022-09-02 14:09:22 +02:00
Alexandre FLAMENT
66f72a006f template: when enable_metrics are disabled, hide the empty stats
when metrics are disabled:
* hide the link to /stats at the bottom of the pages
* in /preferences, hide the columns "Response time" and "Reliability"
2022-09-02 08:52:23 +00:00
Alexandre FLAMENT
94a28ebe53 Stats: display only the score per result, no anymore the score 2022-09-02 08:30:38 +00:00
searxng-bot
9e84cf31a4 [translations] update from Weblate
9b3635db - 2022-08-31 - Andrij Mizyk <andmizyk@gmail.com>
875cbf38 - 2022-09-01 - Markus Heiser <markus.heiser@darmarit.de>
7b3b12a0 - 2022-08-31 - SecularSteve <fairfull.playing@gmail.com>
e60b4544 - 2022-08-28 - Markus Heiser <markus.heiser@darmarit.de>
dc9c17a4 - 2022-08-31 - SecularSteve <fairfull.playing@gmail.com>
7307cf31 - 2022-08-31 - SecularSteve <fairfull.playing@gmail.com>
ae642e6f - 2022-09-01 - Xosé M <correo@xmgz.eu>
8db6b9c9 - 2022-08-28 - Markus Heiser <markus.heiser@darmarit.de>
d74ef692 - 2022-08-31 - SecularSteve <fairfull.playing@gmail.com>
3ddf8997 - 2022-08-30 - Markus Heiser <markus.heiser@darmarit.de>
303d0890 - 2022-08-28 - Markus Heiser <markus.heiser@darmarit.de>
2022-09-02 07:25:26 +00:00
Émilien Devos
fcccf39030
Disable brave by default
Brave is too unstable and will often not work by default. As seen in many issues: https://github.com/searxng/searxng/issues?q=is%3Aissue++sort%3Aupdated-desc+brave+label%3Abug+
2022-08-31 15:47:56 +02:00
ta
85b5293e40 simplify infobox result 2022-08-31 18:29:50 +07:00
ta
12f7d4a46b add duckduckgo weather engine 2022-08-31 17:29:32 +07:00
Alexandre Flament
242db53118
Merge pull request #1708 from dalf/result_proxy_default_settings
settings.yml: set default values for result_proxy
2022-08-29 19:42:04 +02:00
Alexandre Flament
a7bd2b47c2
Merge pull request #1712 from dalf/remove_searx_env_var
Remove usage of SEARX environment variables
2022-08-29 19:41:39 +02:00
Markus Heiser
13ef9cc125
Merge pull request #1720 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2022-08-29 07:09:04 +02:00
Markus Heiser
e9b564d066
Merge pull request #1722 from searxng/update_data_update_languages.py
Update searx.data - update_languages.py
2022-08-29 07:08:26 +02:00
Markus Heiser
2b65502388
Merge pull request #1723 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2022-08-29 07:07:54 +02:00
Markus Heiser
55d04a089d
Merge pull request #1724 from searxng/update_data_update_engine_descriptions.py
Update searx.data - update_engine_descriptions.py
2022-08-29 07:07:14 +02:00
Markus Heiser
4a96480bd5
Merge pull request #1721 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2022-08-29 07:06:39 +02:00
dalf
c2400a8677 Update searx.data - update_engine_descriptions.py 2022-08-29 02:17:55 +00:00
dalf
e8bf907eef Update searx.data - update_firefox_version.py 2022-08-29 02:09:34 +00:00
dalf
915c0a2bc6 Update searx.data - update_languages.py 2022-08-29 02:09:27 +00:00
dalf
b1ccecbeb3 Update searx.data - update_wikidata_units.py 2022-08-29 02:09:17 +00:00
dalf
2e6d41fa24 Update searx.data - update_ahmia_blacklist.py 2022-08-29 02:09:09 +00:00
dalf
83fbc16908 Update searx.data - update_currencies.py 2022-08-29 02:09:09 +00:00
Alexandre FLAMENT
4adc9920e9 Remove usage of SEARX environment variables 2022-08-28 17:12:57 +00:00
Alexandre FLAMENT
341ad46303 settings.yml: set default values for result_proxy
* initialize result_proxy with searx/settings_defaults.py
* allow result_proxy.key to be a string

this commit supersedes #1522
2022-08-28 09:27:53 +00:00
Markus Heiser
8bdc6986a1
Merge pull request #1706 from dalf/fix-autocomplete-post
Fix: autocomplete with the POST method: url encode the user query
2022-08-28 09:14:47 +02:00
Markus Heiser
3be847149e
Merge pull request #1707 from dalf/fix-external-bang
External bang: bug fix: URL encode the query so "!!g 1+1" works as intended
2022-08-28 09:07:24 +02:00
Alexandre FLAMENT
2af1a6f547 External bang: bug fix: URL encode the query so "!!g 1+1" works as intended 2022-08-27 07:10:26 +00:00
Alexandre FLAMENT
268fa7e036 [build] /static 2022-08-27 06:52:20 +00:00
Alexandre FLAMENT
4a72a6b9fc Theme: fix autocompletion with the POST method
With the POST method, autocomplete.js does not URL encode the values.
For example "1+1" is sent as "1+1" which is read as "1 1" since space are URL encoded with a plus.

There is no clean way to fix the bug since autocomplete.js seems abandoned.

The commit monkey patches the ajax function of autocomplete.js

Related to #1695
2022-08-27 06:48:30 +00:00
Alexandre Flament
56000d5162
Merge pull request #1699 from liimee/eng-app-store
add apple app store engine
2022-08-27 07:43:23 +02:00
Alexandre Flament
44bc94c36e
Merge pull request #1700 from liimee/eng-ddm
add apple maps engine
2022-08-27 07:36:16 +02:00
ta
5057007270 remove thumbnail from results 2022-08-27 06:23:30 +07:00
ta
525946d7dd add poi's website and phone number, doesn't crash when there is no displayMapRegion, query the token on the first request 2022-08-27 06:17:58 +07:00
Alexandre Flament
5284de9137
Merge pull request #1702 from tiekoetter/limiter-accept-encoding-handling
[mod] limiter plugin: Accept-Encoding handling
2022-08-26 11:54:12 +02:00
searxng-bot
e5a25e51bf [translations] update from Weblate
3e034294 - 2022-08-26 - Markus Heiser <markus.heiser@darmarit.de>
46a4dfd3 - 2022-08-24 - Markus Heiser <markus.heiser@darmarit.de>
d41463fd - 2022-08-24 - Markus Heiser <markus.heiser@darmarit.de>
338b6716 - 2022-08-22 - Markus Heiser <markus.heiser@darmarit.de>
0c9d7756 - 2022-08-22 - Markus Heiser <markus.heiser@darmarit.de>
b422a480 - 2022-08-19 - Markus Heiser <markus.heiser@darmarit.de>
44c9caa0 - 2022-08-22 - Ricardo Simões <xmcorporation@gmail.com>
a774721f - 2022-08-20 - Markus Heiser <markus.heiser@darmarit.de>
d8a322d6 - 2022-08-22 - Markus Heiser <markus.heiser@darmarit.de>
2022-08-26 07:24:01 +00:00
Léon Tiekötter
221740f76e
[mod] limiter plugin: Accept-Encoding handling
Only raise "suspicious Accept-Encoding" when both "gzip" and "deflate" are missing from Accept-Encoding.
Prevent Browsers which only implement one compression solution from being blocked by the limiter plugin.
Example Browser which is currently blocked: Lynx Browser (https://lynx.invisible-island.net)
2022-08-25 23:21:30 +02:00
ta
5dce299b22 add apple maps engine 2022-08-25 17:05:40 +07:00
Alexandre Flament
5a241e545e
Merge pull request #1688 from liimee/eng-9gag
Add 9gag engine
2022-08-25 09:32:52 +02:00
ta
cef7bbab22 get the not cropped version of the thumbnail when the image height is not too important 2022-08-24 18:33:11 +07:00
ta
78bff4618c add safesearch support 2022-08-24 18:31:04 +07:00
ta
bcae7ae4e3 add developer info as author 2022-08-24 17:50:38 +07:00
ta
e5c1b64b1d add the apple app store engine
The Apple App Store is the digital app distribution platform for iOS & iPadOS.
2022-08-24 17:27:36 +07:00
ta
040e24f9ad support playing videos directly 2022-08-24 16:48:31 +07:00
Markus Heiser
c2db7b2a66 [fix] Internal server error after changing UI language to BG
A placeholder has been translated to BG, issue was added 8 month ago, when BG
translation was added [1]

    msgid "Compute {functions} of the arguments"
    msgstr "Изчислете {функции} на аргументите"

The incorrect translation has been corrected here in the message files and on
weblate.

[1] https://weblate.bubu1.eu/translate/searxng/searxng/bg/?&offset=49#history
Closes: https://github.com/searxng/searxng/issues/1692
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-08-23 08:11:16 +02:00
ta
79d06509c1 add tags as suggestions 2022-08-23 05:18:35 +07:00
ta
d22f469010 use invalid-name instead of C0103 for pylint 2022-08-22 18:27:35 +07:00
ta
dd9127492f add 9gag engine
9GAG is a social media website where users upload and share user-generated images and videos
2022-08-22 17:35:07 +07:00
ta
e64cca8c3f don't raise error when nothing was found 2022-08-22 17:04:29 +07:00
M Asenov
faa32d5773 fixed xpath selector for appropriate results 2022-08-21 20:08:00 +01:00
Alexandre Flament
5ed40af3ba
Merge pull request #1661 from liimee/eng-tw
Add twitter engine
2022-08-21 15:21:18 +02:00
Markus Heiser
ee3c5e7752
Merge pull request #1666 from return42/harden-get_engine_locales
[fix] typo in get_engine_locale
2022-08-21 08:22:29 +02:00
Markus Heiser
77a0f33819 [fix] engine duden - don't raise exception on empty result list
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-20 08:41:03 +02:00
Markus Heiser
6f28a69f12
Merge pull request #1677 from searxng/dependabot/pip/master/pygments-2.13.0
Bump pygments from 2.12.0 to 2.13.0
2022-08-19 10:21:22 +02:00
Markus Heiser
299635fb8b [build] /static 2022-08-19 10:01:25 +02:00
Markus Heiser
b08a779f2e make pygments.less
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-08-19 10:00:50 +02:00
searxng-bot
3478c0bc8b [translations] update from Weblate
2b94abf3 - 2022-08-13 - Markus Heiser <markus.heiser@darmarit.de>
249c92f8 - 2022-08-13 - gkkulik <gregorykkulik@gmail.com>
a331870c - 2022-08-12 - Markus Heiser <markus.heiser@darmarit.de>
5aca8ddc - 2022-08-17 - Markus Heiser <markus.heiser@darmarit.de>
6e7d76a0 - 2022-08-18 - Markus Heiser <markus.heiser@darmarit.de>
2a49e5f0 - 2022-08-15 - Markus Heiser <markus.heiser@darmarit.de>
2d2cafa6 - 2022-08-18 - Content Card <weblate-bubu1@gabg.email>
adcf97ed - 2022-08-15 - Markus Heiser <markus.heiser@darmarit.de>
2022-08-19 07:18:58 +00:00
ta
05851978cf add explanation of token 2022-08-17 19:45:42 +07:00
ta
c8acd4a3b6 add profile image to user results 2022-08-17 14:30:59 +07:00
ta
b6fd7cd571 add thumbnail to results if available 2022-08-17 14:25:22 +07:00
Markus Heiser
de1e7d12f7 [fix] get_engine_locale: better approximation of 'en' is 'en-US'
Compared to `en-EN` the better approximation of 'en' is 'en-US'.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-08-14 15:45:07 +02:00
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>
2022-08-14 14:35:09 +02:00
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>
2022-08-14 13:55:42 +02:00
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>
2022-08-14 10:36:14 +02:00
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>
2022-08-14 10:36:14 +02:00
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>
2022-08-14 10:35:55 +02:00
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>
2022-08-14 10:26:54 +02:00
ta
96ea355a1f add twitter engine 2022-08-14 08:39:41 +07:00
Markus Heiser
0043190643
Merge pull request #1655 from return42/fix-opensearch
[fix] improve OpenSearch description
2022-08-13 12:36:34 +02:00
Léon Tiekötter
b56848e8d0
Merge pull request #1660 from liimee/eng-neeva
Add neeva engine
2022-08-13 02:53:27 +02:00
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"
2022-08-13 07:35:15 +07:00
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).
2022-08-13 07:26:36 +07:00
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>
2022-08-12 07:18:14 +00:00
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>
2022-08-11 19:04:36 +02:00
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>
2022-08-10 21:48:34 +02:00
Johan Planchon
e0215e0cc8 add sourcehut engine 2022-08-10 21:48:12 +02:00
Markus Heiser
43c545910b
Merge pull request #1648 from unixfox/google_mobile_ui_parameter
output format protobuf to HTML for google mobile
2022-08-10 20:50:45 +02:00
Markus Heiser
eb02cc77c5 [fix] google - simplify XPath selectors to fetch more results
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-08-10 18:55:31 +02:00
Johan Planchon
90bdb23756 add lib.rs engine 2022-08-10 12:17:55 +02:00
Émilien Devos
b9f16a77db output format protobuf to HTML for google mobile 2022-08-10 09:36:06 +00:00
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.
2022-08-10 09:14:36 +02:00
Brock Vojković
24210fb10b
Revert PR #1633
This reverts the changes made to the Google results XPath in PR #1633.
2022-08-10 03:41:39 +02:00
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
2022-08-09 06:23:59 +02:00
Markus Heiser
925f3ff487
Merge pull request #1627 from allendema/add-marginalia
[enh] Initial Marginalia.nu support (foss)
2022-08-08 06:53:02 +02:00
Markus Heiser
58f630d312
Merge pull request #1623 from return42/mod-yep.com
[mod] engine yep.com: show all 100 results yep.com has
2022-08-08 06:52:15 +02:00
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
2022-08-08 06:31:04 +02:00
Markus Heiser
8b58cd1167 [fix] typo in uWSGI cache: searxcache --> searxngcache
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-08-07 12:31:09 +02:00
liimee
8c318562e2
add description and wikidata ID to wttr.in engine 2022-08-07 14:57:10 +07:00
ta
8aa018db95 add wttr.in engine 2022-08-07 13:04:18 +07:00
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>
2022-08-06 13:21:28 +02:00
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>
2022-08-05 07:18:24 +00:00
Allen
58369e41d6 [wip] brave time range support 2022-08-04 04:47:25 +02:00
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>
2022-08-01 17:01:59 +02:00
Markus Heiser
a2badb4fe4 [doc] add description of method EngineProcessor.get_params()
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-08-01 16:42:33 +02:00
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)
```
2022-07-30 18:04:44 +02:00
Markus Heiser
782f73540e [utils/searxng.sh] implement new script to install SearXNG
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-07-30 13:39:35 +02:00
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>
2022-07-29 07:17:55 +00:00
Markus Heiser
14085cc0a7
Merge pull request #1580 from searxng/update_data_update_engine_descriptions.py
Update searx.data - update_engine_descriptions.py
2022-07-29 07:23:02 +02:00
Markus Heiser
7602c23d71
Merge pull request #1579 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2022-07-29 07:22:12 +02:00
Markus Heiser
0bad4fb931
Merge pull request #1578 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2022-07-29 07:21:06 +02:00
Markus Heiser
7dd75ae080
Merge pull request #1576 from searxng/update_data_update_languages.py
Update searx.data - update_languages.py
2022-07-29 07:20:28 +02:00
dalf
2bdb367e8c Update searx.data - update_engine_descriptions.py 2022-07-29 02:13:07 +00:00
dalf
fc019fb296 Update searx.data - update_currencies.py 2022-07-29 02:01:30 +00:00
dalf
c2662ec3c8 Update searx.data - update_firefox_version.py 2022-07-29 02:01:08 +00:00
dalf
385542e6c5 Update searx.data - update_ahmia_blacklist.py 2022-07-29 02:01:04 +00:00
dalf
90068b3d0b Update searx.data - update_languages.py 2022-07-29 02:00:53 +00:00
Markus Heiser
c72d70d45c Revert "Quick fix for google engine for EU countries"
This reverts commit 747cf1a246.
2022-07-26 06:39:44 +02:00
Léon Tiekötter
950f036c03
[fix] google engine: results XPath 2022-07-26 00:24:15 +02:00
Émilien Devos
747cf1a246
Quick fix for google engine for EU countries
This revert part of the commit of 5fb2071cb2
2022-07-25 20:48:50 +00:00
Markus Heiser
0be0e63117 [fix] demo_online.py - fixed typo
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-07-25 20:04:00 +02:00
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
2022-07-25 13:27:06 +02:00
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>
2022-07-24 21:10:55 +02:00
james-still
2516e21c58 [fix] emojipedia - update XPath to be relative 2022-07-24 19:14:26 +02:00
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>
2022-07-23 16:00:58 +02:00
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>
2022-07-22 07:20:00 +00:00
Solirs
6d646129c3 [mod] add tor_check plugin - convenient tor checking trough searxng 2022-07-19 07:34:54 +02:00
Léon Tiekötter
d339e97727
[fix] preferences: missing option value
Fix missing option value "0".
2022-07-17 19:51:12 +02:00
Markus Heiser
7bf4e8d12d
Merge pull request #1512 from searxng/translations_update
Update translations
2022-07-15 09:45:03 +02:00