Commit graph

3801 commits

Author SHA1 Message Date
Markus Heiser
e62733fcf3
Merge pull request #571 from searxng/update_data_update_languages.py
Update searx.data - update_languages.py
2021-12-01 07:30:41 +01:00
Markus Heiser
24d04f2854
Merge pull request #570 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2021-12-01 07:29:56 +01:00
Markus Heiser
a3fc1304cc
Merge pull request #569 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2021-12-01 07:29:24 +01:00
dalf
c74b465ece Update searx.data - update_languages.py 2021-12-01 06:24:47 +00:00
dalf
56e653011f Update searx.data - update_firefox_version.py 2021-12-01 06:24:38 +00:00
dalf
b833e08fc3 Update searx.data - update_currencies.py 2021-12-01 06:24:29 +00:00
dalf
5fdf8f04b7 Update searx.data - update_ahmia_blacklist.py 2021-12-01 06:24:25 +00:00
Alexandre Flament
28b22a0f98 [mod] simple theme: smaller build
remove:
* searx/static/themes/simple/js/searxng.head.js
* searx/static/themes/simple/js/searxng.js
* searx/static/themes/simple/css/searxng-rtl.css
* searx/static/themes/simple/css/searxng.css

These files are never used.
About the js files: the .map files references the sources instead of the concated version.
2021-11-30 23:04:37 +01:00
Markus Heiser
4798acc661 [build] /static 2021-11-30 12:43:18 +01:00
Markus Heiser
7dc9cc91a8 [mod] simple theme, JS: introduce window.searxng.theme namespace
In window.searxng.theme the theme data can be passed through to JS
implementations.

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

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

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-30 12:42:52 +01:00
Markus Heiser
eff0884498 [simple] ImageLayout.watch: img_load_error.svg if img load fails
Show default image `img/img_load_error.svg` when image can't be loaded.

----
Some words about class ImageLayout:

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

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

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

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-29 21:10:13 +01:00
Markus Heiser
f8c3acd729 [build] /static 2021-11-29 20:48:38 +01:00
Markus Heiser
fb5c1ed310 [fix] simple theme: set img background color to wallpaper's color
The *background color* of an transparent image is the color of the color of
wallpaper on which all images are shown on.

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-29 20:47:37 +01:00
Markus Heiser
c7bb6945d1 [fix] simple theme: img tile, shows duplicate information on screen
Remove global title attribute from img tag[1][2] .  In the image result, the
title is already shown from span class title::

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

See commit: 8fbffb1409

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

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

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

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

Modern browsers should request::

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

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-29 20:36:31 +01:00
Markus Heiser
989f9e97f0
Merge pull request #561 from return42/fix-README
[brand] README: add SearXNG logo
2021-11-29 20:05:54 +01:00
Markus Heiser
e2e585319e [build] /static 2021-11-29 19:53:28 +01:00
Markus Heiser
9349c71c54 [mod] themes/simple/img/searxng.svg -> src/brand/searxng.svg
* move `searx/static/themes/simple/img/searxng.svg` to `src/brand/searxng.svg`

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

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

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

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

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

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

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

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-26 01:14:17 +01:00
Markus Heiser
488ace1da9 [fix] google engine - suggestion
BTW: google no longer offers *spelling suggestions*

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

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

  the result.title is already shown in::

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

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

Closes: https://github.com/searxng/searxng/issues/523
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-25 12:07:57 +01:00
Markus Heiser
3f3097c772 [fix] templates: remove unneeded escape \' of single quotation mark
Strings like::

    'Query in the page\'s title'

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

    "Query in the page's title"

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

[1] 80fb77476f (r756112716)

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-24 17:40:03 +01:00
Alexandre Flament
42c1a938f0
Merge pull request #485 from dalf/pref_query_in_title
[mod] new preference: query_in_title
2021-11-24 13:10:27 +01:00
Markus Heiser
dae165eaa0
Merge pull request #537 from return42/moz-warnings
[simple theme] remove '-moz-border-radius' property
2021-11-23 20:25:17 +01:00
Markus Heiser
3364a15b3a [build] /static 2021-11-23 20:04:27 +01:00
Markus Heiser
28a597e43e [simple theme] remove '-webkit-border-radius' property
[1] https://github.com/searxng/searxng/pull/537#issuecomment-976582675

Suggested-by: @dalf [1]
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-23 20:02:39 +01:00
Markus Heiser
8935b1d8a2 [simple theme] remove '-moz-border-radius' property
Support for the prefixed version (-moz-border-radius) was removed in Gecko
13.0 (Firefox 13.0 / Thunderbird 13.0 / SeaMonkey 2.10) [1].

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

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

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

Reported-by: @TheEssem
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-21 09:55:59 +01:00
Markus Heiser
4330d7cf5d [mod] gruntfile.js - define grunt.template _brand & _templates
[1] https://gruntjs.com/api/grunt.template

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

About the new created src/ folder:

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-20 10:14:55 +01:00
Alexandre Flament
d7eb373371 [fix] npm engine: don't ignore the first result
"from" parameter start at 0
2021-11-20 08:22:48 +01:00
Alexandre Flament
bc0cf9e83e
Merge pull request #521 from dalf/simple-theme-style-pref
Simple theme: allow the user to choose auto, light, dark style
2021-11-19 17:14:35 +01:00
mrpaulblack
cf9d161d26 [build] /static 2021-11-19 16:56:07 +01:00
Alexandre Flament
ec5a82fccd [enh] simple theme: add "simple-style" preferences 2021-11-19 16:45:50 +01:00
Markus Heiser
86090e13d3 [mod] enable reddit - to have at least one in category social-media
Since digg no longer works, we do nat have a active engine in the social-media
category.  Enable reddit by default to have at least one engine back in this
category.

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-19 07:09:16 +00:00
Markus Heiser
15758f1ac2 [fix] eslint - option configFile changed to overrideConfigFile
https://github.com/sindresorhus/grunt-eslint/pull/171

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

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

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

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

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

    Content-Security-Policy: style-src self;

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-13 09:05:20 +01:00
Markus Heiser
bf52353a5c [enh] minify searxng-wordmark.svg (HTMLMinifier)
Command::

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

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

To test, rebuild your node environment::

  make node.env

Alternatives:

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

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

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-13 09:05:20 +01:00
Markus Heiser
edb081638b [simple theme] SearXNG wordmark (SVG)
Related-to:

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

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

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

previously:
* oscar theme: the query was always included
* simple theme: the query was included with the GET method
2021-11-08 21:40:53 +01:00
Alexandre Flament
67ab4d4165 [build] /static 2021-11-06 21:14:12 +01:00
Alexandre Flament
ddc2346a06 [enh] simple theme: mobile layout: allow access to the preferences
when there is no query, reduce the width of the query field,
to display the preference button on the right.
2021-11-06 21:13:41 +01:00
Alexandre Flament
558e0c3241 [build] /static 2021-11-05 12:45:15 +01:00
Alexandre Flament
c00e54d61b [fix] simple theme: image detail: click on the URL to the HTML page works
Before this commit, the default click event on an image result is prevented,
this include clicks inside the detail.

This commit makes sure the click happends outside the detail to prevent the default event.
2021-11-05 12:42:44 +01:00
Alexandre Flament
4d051c43f3 [fix] simple theme: various about the hotkeys help
* dark mode: #555 border (same as infoboxes and other borders)
* remove a call to console.log
* center the dialog without using the style attribute.
2021-11-05 12:42:44 +01:00
Alexandre Flament
d1c09c84e2 [fix] simple theme: disable hotkeys when they are not enabled in the preferences 2021-11-05 12:42:44 +01:00
Alexandre Flament
ba342db55e
Merge pull request #480 from dalf/searxng-simple-theme
SearXNG brand: remove searx from searx*.js file names.
2021-11-05 12:42:30 +01:00
Alexandre Flament
57421c4b20
Merge pull request #479 from dalf/simple-fix-open-new-tab
[fix] simple theme: fix open in a new tab preference
2021-11-05 12:39:34 +01:00
Alexandre Flament
6ab78f1a6a [build] /static 2021-11-05 09:52:50 +01:00
Alexandre Flament
680d70865f [mod] SearXNG: remove "searx" from the searx*.js file names. 2021-11-05 09:51:27 +01:00
Alexandre Flament
3167d645e8 [fix] simple theme: fix open in a new tab preference 2021-11-05 09:36:19 +01:00
searxng-bot
f5ac9d3493 [translations] update
01459a65 - 2021-10-31 - Markus Heiser <markus.heiser@darmarit.de>
99f3e56c - 2021-10-31 - Markus Heiser <markus.heiser@darmarit.de>
e6bf731c - 2021-10-31 - Markus Heiser <markus.heiser@darmarit.de>
a7cfd6f3 - 2021-10-31 - Markus Heiser <markus.heiser@darmarit.de>
ab1d2718 - 2021-10-31 - Markus Heiser <markus.heiser@darmarit.de>
0960dffc - 2021-10-31 - Markus Heiser <markus.heiser@darmarit.de>
5ef8ba13 - 2021-10-31 - Markus Heiser <markus.heiser@darmarit.de>
444a915a - 2021-10-31 - Markus Heiser <markus.heiser@darmarit.de>
98f35b9f - 2021-10-31 - Markus Heiser <markus.heiser@darmarit.de>
44ee48df - 2021-10-31 - Markus Heiser <markus.heiser@darmarit.de>
343c8133 - 2021-10-31 - Markus Heiser <markus.heiser@darmarit.de>
d8356eaa - 2021-10-31 - Markus Heiser <markus.heiser@darmarit.de>
5adaa438 - 2021-10-31 - Markus Heiser <markus.heiser@darmarit.de>
2021-11-05 07:16:58 +00:00
Markus Heiser
aa08c48af8 [build] /static 2021-11-04 00:07:49 +01:00
Markus Heiser
7ecd0583fe [simple theme] add .rounded-corners to selectable_url
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-04 00:05:04 +01:00
MrPaulBlack
e05bcd4311 [simple theme] result layout suggestions 2021-11-04 00:04:57 +01:00
Markus Heiser
4887c25e7f [simple theme] simplify and justify #answers & #corrections
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-03 23:59:50 +01:00
Markus Heiser
ca971bd5e5 [simple theme] CSS remove box-shadow effects
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-03 23:51:07 +01:00
Alexandre Flament
8d6c119593 [build] /static 2021-11-03 09:26:20 +01:00
Alexandre Flament
7179af32f2 [mod] simple theme: dark mode: various fixes 2021-11-03 09:25:33 +01:00
Alexandre Flament
2dcd9a68d6 [mod] simple theme: adjust button colors in dark version.
buttons:
* previous & next in the result page
* save, restore, & back in the preferences
* back to top

<select> input in Chrom* browsers:
* fix the white text with a white background issue
2021-11-03 09:25:33 +01:00
Markus Heiser
49db7b20d4
Merge pull request #469 from return42/css-answer-box
[theme] simple - improve rendering of the "Answers" box
2021-11-03 08:14:09 +00:00
Markus Heiser
67d3dc01a2 [build] /static 2021-11-02 13:59:45 +01:00
Markus Heiser
7996619691 [theme] simple - improve rendering of the "Answers" box
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-02 13:59:26 +01:00
MrPaulBlack
41494d9f47 [fix] make reddit only in social media category avail.
fix https://github.com/searxng/searxng/issues/470
2021-11-01 20:37:17 +01:00
Markus Heiser
07f849cd56
Merge pull request #468 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2021-11-01 06:49:09 +00:00
Markus Heiser
853a144bb4
Merge pull request #467 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2021-11-01 06:48:43 +00:00
Markus Heiser
82a0dfab61
Merge pull request #466 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2021-11-01 06:48:15 +00:00
dalf
f3dfdad1d1 Update searx.data - update_ahmia_blacklist.py 2021-11-01 06:24:06 +00:00
dalf
2be4c35f76 Update searx.data - update_firefox_version.py 2021-11-01 06:23:59 +00:00
dalf
073d3edc0c Update searx.data - update_wikidata_units.py 2021-11-01 06:23:58 +00:00
dalf
3d9be86519 Update searx.data - update_currencies.py 2021-11-01 06:23:54 +00:00
Alexandre Flament
6782830a4a [build] /static 2021-10-30 22:34:05 +02:00
Alexandre Flament
540042d0ca [mod] simple theme: infobox: center the image 2021-10-30 22:33:36 +02:00
Alexandre Flament
60d595ea52 [mod] simple theme: use :root instead of html to define CSS variables
This allows to use the CSS variables in inline svg.
2021-10-30 22:33:36 +02:00
Alexandre Flament
d0a3164514 [fix] simple theme: /preferences: dark theme version for select widgets
It is not possible to use CSS variable in a SVG when this is in a background.
This commit adds two .svg files, less converts them into data URL.
The two files are indentical except the fill color.
2021-10-30 22:33:34 +02:00
Alexandre Flament
67b0b68b40 [fix] simple theme: /preferences: dark theme version for the response time bar charts 2021-10-30 18:03:37 +02:00
Alexandre Flament
9f0b47f525 [fix] simple theme: cookie table doesn't overflow the expected width 2021-10-30 18:03:37 +02:00
Alexandre Flament
46fde2e98e
Merge pull request #454 from searxng/translations_update
Update translations
2021-10-30 18:00:42 +02:00
Alexandre Flament
7bfaf42e4b [build] /static 2021-10-29 20:24:30 +02:00
Alexandre Flament
0650e73b12 [mod] simple theme: SearXNG logo 2021-10-29 20:24:04 +02:00
MrPaulBlack
f86a658c1c [build] /static 2021-10-29 19:27:38 +02:00
MrPaulBlack
9ddcd62464 [simple theme] selection ui with border
* remove vim arrow
* add 1rem padding to results
* add 0.2rem left border to vim selected article
* set column gap to 1.2rem and make search bar in line with results
* put 10px border-radius selected article
* result article: 0.125rem margin on tablet and esktop; 1rem margin on phone
2021-10-29 19:27:38 +02:00
Igor Rzegocki
13c355c4c4 healthcheck endpoint 2021-10-29 10:18:17 +00:00
searxng-bot
37a966d5c0 [translations] update 2021-10-29 07:17:27 +00:00
Alexandre Flament
861f046090 [build] /static 2021-10-28 20:54:17 +02:00
Alexandre Flament
e2d312f6ae [mod] simple theme: adjust margins
* index page: margin top is 24% of the view port.
  avoid to scroll a small screen,
  center the content in the middle of the screen

* link to preferences at the same height same the input fields

* increase the category tab heighs

* increase the margin bottom of the query field

* in the results, change the h3 margin top and bottom to 0.4rem (6px)

* move the back to top button slightly on the right when the results are only images
2021-10-28 20:53:52 +02:00
Alexandre Flament
a93bd19101 [build] /static 2021-10-28 08:37:38 +02:00
Alexandre Flament
fd374d6322 [enh] simple theme: image detail
When an image is selected, the detail with the full size image is displayed
on the right side of the screen (or full screen on tablet and phone).

When Javascript is disabled, the thumbnail is a linked to the full size image,
as it was before.

When the image proxy is enabled, the full size image is also proxied,
in consequence this commit increases the bandwidth usage of instances.

The detail can be closed by the close button or the Esc key.
It is possible to go to the next and previous images using the j and k keys
or the button on the top right of the screen.
2021-10-28 08:28:21 +02:00
Alexandre Flament
2624034cd6 [mod] settings_defaults.py: default values for the brand section 2021-10-27 06:31:16 +00:00
Markus Heiser
84447b87e1 [build] /static 2021-10-27 06:17:37 +00:00
MrPaulBlack
1723726361 [simple theme] make url clickable and cleanup result article header
* url in article head is clickable
* url is bigger now 0.96em font
* url is now left floating on tablet and phone
* there is a 8px top and bottom margin on h3 result heading
2021-10-27 06:17:37 +00:00
MrPaulBlack
8918fb3eb0 [build] /static 2021-10-27 05:47:25 +00:00
MrPaulBlack
bcc313bcf8 [simple theme] add logo to search form on result page
* rework search form as grid layout
* remove various paddings and margins
* add logo and link to index to search form
* make categories bigger on phone
2021-10-27 05:47:25 +00:00
Alexandre Flament
18299abc6f
Merge pull request #437 from dalf/fix-433
[mod] microsoft academic: increase timeout to 6 seconds
2021-10-26 12:54:13 +02:00
Alexandre Flament
64b29ad838 [mod] microsoft academic: increase timeout to 6 seconds
also avoid a crash when there is no result

close #433
2021-10-26 12:26:43 +02:00
Alexandre Flament
828088fa5a [mod] update_languages: min_engines_per_country=7
a (language,country) tuple is included if 7 engines have it, was 10 before.

close #432
2021-10-26 12:13:23 +02:00
Alexandre Flament
60db344cc0 [enh] reduce the available language list
close #406

settings['search']['languages'] contains the languages codes and 'all'
2021-10-26 10:27:05 +02:00
Alexandre Flament
cab98ed6c7 [build] /static 2021-10-21 08:26:42 +00:00
Alexandre Flament
ff5ded2baf [mod] upgrade grunt-contrib-concat: ~2.0.0 2021-10-21 08:26:42 +00:00
Markus Heiser
713814547a [fix] yahoo engine - don't lump all search suggestions together
Closes: https://github.com/searxng/searxng/issues/421
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-21 07:51:05 +00:00
MrPaulBlack
9ff0a91fca [build] /static 2021-10-18 21:57:56 +02:00
MrPaulBlack
6204ef665f [simple theme] define device width with less vars in defenition.less 2021-10-18 21:57:32 +02:00
MrPaulBlack
32fb2bdf85 [build] /static 2021-10-17 11:01:02 +00:00
MrPaulBlack
5e6e964c54 [simple theme] center results on tablet 2021-10-17 11:01:02 +00:00
Markus Heiser
f63ffbb22b [fix] engine - yahoo: rewrite and fix issues
Languages are supported by mapping the language to a domain.  If domain is not
found in :py:obj:`lang2domain` URL ``<lang>.search.yahoo.com`` is used.

BTW: fix issue reported at https://github.com/searx/searx/issues/3020

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-16 20:05:26 +00:00
Markus Heiser
38a157b56f [pylint] engines: yahoo fix several issues reported from pylint
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-16 20:05:26 +00:00
searxng-bot
c067c18235 [translations] update
4da16339 - 2021-10-15 - Markus Heiser <markus.heiser@darmarit.de>
2021-10-15 20:39:33 +00:00
Markus Heiser
9730371199 [fix] typos reported from weblate translators
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-15 19:20:11 +00:00
searxng-bot
dd04551e14 [translations] update
f8a46518 - 2021-10-15 - Markus Heiser <markus.heiser@darmarit.de>
2021-10-15 18:43:10 +00:00
dependabot[bot]
1f39b99c03 Bump eslint from 7.32.0 to 8.0.1 in /searx/static/themes/simple
Bumps [eslint](https://github.com/eslint/eslint) from 7.32.0 to 8.0.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.32.0...v8.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-15 07:16:16 +00:00
MrPaulBlack
00b0394e19 [fix] language param for qwant 2021-10-14 16:11:44 +00:00
Alexandre Flament
ee5e9f9e1d
Merge pull request #380 from dalf/fix-339
[fix] interface language zh_CN and zh_TW don't work
2021-10-12 21:50:05 +02:00
Alexandre Flament
4759f65b69 [fix] interface language zh_CN and zh_TW don't work
before this commit, when the user picks "Chinese, China" or "Chinese, Taiwan",
the locale fallbacks to English.

This commit fixes this issue (the translations branch must be updated)

close #339
2021-10-12 21:06:20 +02:00
Alexandre Flament
a1d1aec6e2 [mod] locale: use hyphen everywhere except for Babel 2021-10-12 21:06:20 +02:00
Alexandre Flament
988910d451 [fix] templates: lang attribute of html uses hyphen
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-lang
https://www.w3.org/TR/REC-xml/#sec-lang-tag
2021-10-12 21:06:20 +02:00
Marc Abonce Seguin
66b7be0965 [fix] fix match_language issue to make zh-TW match to zh-Hant-TW
pybabel separates locales with underscores but we use hyphens
everywhere babel doesn't directly touch
2021-10-12 21:06:20 +02:00
Alexandre Flament
f9c6393502 [enh] verify that Tor proxy works every time searx starts
based on @MarcAbonce commit on searx
2021-10-12 21:01:02 +02:00
Noémi Ványi
4cc1ee8565 [fix] qwant engine - only get results from categories
Reported-by: https://github.com/searx/searx/issues/3014
Cherry-picked: https://github.com/searx/searx/commit/3bcca43
2021-10-12 18:42:50 +00:00
Paolo Basso
64df011e2f [mod] engines - add zlibrary engine 2021-10-11 14:58:44 +00:00
Alexandre Flament
3fad483b7a SearXNG: partial update: reference /etc/searxng/settings.yml 2021-10-11 12:28:55 +00:00
Alexandre Flament
861925c50f SearXNG: load /etc/searxng/settings.yml
fall back to /etc/searx/setting.yml
2021-10-11 12:28:55 +00:00
Alexandre Flament
7f72844ca6
Merge pull request #355 from MrPaulBlack/simple-theme-css-vars
[simple theme] dark mode and some css cleanup
2021-10-10 09:41:46 +02:00
Alexandre Flament
f5755ba6b9
Merge pull request #319 from dalf/mod-plugins
plugins: refactor initialization
2021-10-10 09:16:00 +02:00
MrPaulBlack
d8c9839625 [build] /static 2021-10-09 16:03:58 +02:00
MrPaulBlack
bc2c8e6ba9 [simple theme] add a dark theme
* add a new color theme for a dark mode
* make the device auto switch between dark and light theme
2021-10-09 16:00:56 +02:00
MrPaulBlack
3daa024c04 [simple theme] new color theme and result on mobile and tablet
* clean up vars in defenition
* results look now the same on mobile and desktop
* reworked results on mobile
* new color theme with more vibrant colors
2021-10-09 16:00:56 +02:00
MrPaulBlack
09324f3492 [template] move result url to top of article 2021-10-09 16:00:56 +02:00
MrPaulBlack
740fca00cc Redo Color Theme and css cleanup
* remove vars and add elements to base and btn vars
* change default border radius to 10px and padding to 0.7em
* put border radius and padding on search input form, infoxbox and buttons
* remove unused .help class in #categories_container
* remove active background from tabs to straemline design
* redo search form: 10px padding
* 2rem margin on search results on desktop
* fix modal pacement of engine reliability in prefs
* use darker accent colors
* streamline autocomplete with more padding and a hover effect
2021-10-09 16:00:56 +02:00
MrPaulBlack
7c2a518d12 [theme] replace all hardcoded colors by css vars and drop ununsed vars 2021-10-09 16:00:55 +02:00
MrPaulBlack
452b266387 [theme] convert less vars to css vars in simple theme 2021-10-09 16:00:55 +02:00
dependabot[bot]
94de9ee61a
Bump grunt-contrib-jshint in /searx/static/themes/oscar
Bumps [grunt-contrib-jshint](https://github.com/gruntjs/grunt-contrib-jshint) from 3.0.0 to 3.1.1.
- [Release notes](https://github.com/gruntjs/grunt-contrib-jshint/releases)
- [Changelog](https://github.com/gruntjs/grunt-contrib-jshint/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt-contrib-jshint/commits/v3.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-08 07:46:52 +00:00
Alexandre Flament
6b643e961b
Merge pull request #397 from searxng/dependabot/npm_and_yarn/searx/static/themes/simple/master/grunt-contrib-jshint-3.1.1
Bump grunt-contrib-jshint from 3.0.0 to 3.1.1 in /searx/static/themes/simple
2021-10-08 09:45:40 +02:00
searxng-bot
91206a5682 [translations] update
b2709671 - 2021-10-04 - Markus Heiser <markus.heiser@darmarit.de>
2021-10-08 07:16:49 +00:00
dependabot[bot]
a88ee63aca
Bump grunt-contrib-jshint in /searx/static/themes/simple
Bumps [grunt-contrib-jshint](https://github.com/gruntjs/grunt-contrib-jshint) from 3.0.0 to 3.1.1.
- [Release notes](https://github.com/gruntjs/grunt-contrib-jshint/releases)
- [Changelog](https://github.com/gruntjs/grunt-contrib-jshint/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt-contrib-jshint/commits/v3.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-08 07:05:58 +00:00
Markus Heiser
5731b6b700 [mod] searx.plugins.prepare_package_resources() - use generators
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-07 18:41:56 +02:00
Markus Heiser
aa5a5147b2 [fix] searx.plugins.initialize() - don't miss module & module-name
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-07 18:41:41 +02:00
Markus Heiser
3abbe6d25b [fix] engine torznab - categories, before join convert int to str
BTW add init() function and replace SearxEngineAPIException by ValueError.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-07 15:27:55 +00:00
Markus Heiser
9fb77065bd [fix] engine torznab - marginal issues reported from linters
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-07 15:27:55 +00:00
Paolo Basso
d803df8d89 [mod] engines - add torznab WebAPI 2021-10-07 15:27:55 +00:00
Alexandre Flament
7246d62770
Merge pull request #386 from return42/fix-384
[mod] set 'engine.supported_languages' from the origin python module
2021-10-07 09:50:43 +02:00
Markus Heiser
19e41c137e [mod] set 'engine.supported_languages' from the origin python module
The key of the dictionary 'searx.data.ENGINES_LANGUAGES' is the *engine name*
configured in settings.xml.  When multiple engines are configured to use the
same origin engine (e.g. `engine: google`)::

    - name: google
      engine: google
      use_mobile_ui: false
      ...

    - name: google italian
      engine: google
      use_mobile_ui: false
      language: it
      ...

    - name: google mobile ui
      engine: google
      shortcut: gomui
      use_mobile_ui: true

There exists no entry for ENGINES_LANGUAGES[engine.name] (e.g. `name: google
mobile ui` or `name: google italian`).  This issue can be solved by recreate the
ENGINES_LANGUAGES::

    make data.languages

But this is nothing an SearXNG admin would like to do when just configuring
additional engines, since this just doubles entries in ENGINES_LANGUAGES and
BTW: `make data.languages` has various external requirements which might be not
installed or not available, on a production host.

With this patch, if engine.name fails, ENGINES_LANGUAGES[engine.engine] is used
to get the engine.supported_languages (e.g. `google` for the engine named
`google mobile`).

For an engine, when there is `language: ...` in the YAML settings, the engine
supports only one language, in this case engine.supported_languages should
contains this value defined in settings.yml (e.g. `it` for the engine named
`google italian`).

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Closes: https://github.com/searxng/searxng/issues/384
2021-10-07 08:45:02 +02:00
Alexandre Flament
2b4fef7118 plugins: refactor initialization
add a new function "init" call when the app starts.
The function can:
* return False to disable the plugin.
* modify the Flask app.
2021-10-06 19:18:19 +02:00
Markus Heiser
de0249ddae [fix] don't mix loaded modules with imported modules (sys.modules)
The utils.load_module() function is used to load a python file (aka module) and
return the module's namespace.  SearXNG uses this function to load *engines and
answerers* from arbitrary locations with arbitrary modifications.  These are not
real python modules and it is not intended to mix this *engines and answerers*
with the python modules registered in sys.modules.

Closes: https://github.com/searxng/searxng/issues/312
Suggested-by: @dalf in https://github.com/searxng/searxng/issues/312
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-06 18:45:00 +02:00
Markus Heiser
feb2d4dda5
Merge pull request #377 from return42/engine-imdb
[mod] engines - add IMDB / Internet Movie Database
2021-10-05 08:14:01 +00:00
Alexandre Flament
8a897b86f1 [mod] engines - IMDB: add thumbnails 2021-10-05 09:10:02 +02:00
Alexandre Flament
47eb836c65
Merge pull request #375 from dalf/searxng_extra
SearXNG: searx_extra
2021-10-03 19:09:07 +02:00
Alexandre Flament
715c445e9b [build] /static 2021-10-03 19:04:18 +02:00
Paul Alcock
823d44ed0a [mod] engines - add IMDB / Internet Movie Database
Merged from @Guilvareux's commit [1] and slightly modfied / see [2].

[1] https://github.com/searx/searx/pull/2980/commits/f2f90071
[2] https://github.com/searx/searx/pull/2980
2021-10-03 11:44:25 +02:00
Alexandre Flament
1bb82a6b54 SearXNG: searxng_extra 2021-10-02 17:30:39 +02:00
Alexandre Flament
430babca25 SearXNG: environment variables 2021-10-02 16:54:11 +02:00
Alexandre Flament
e39a03cc61
Merge pull request #367 from dalf/searxng-github
SearXNG: .github, searxng-docker
2021-10-02 07:57:49 +02:00
Markus Heiser
fda5609a17
Merge pull request #360 from return42/ddg-lite
Implement a DuckDuckGo Lite engine
2021-10-02 05:16:29 +00:00
Markus Heiser
97419a770d [upd] make data.languages
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-01 20:01:41 +02:00
Markus Heiser
a5b7ed9550 [mod] engine duckduckgo - update supported_languages_url
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-01 20:01:41 +02:00
Markus Heiser
4c9b8b29ee [mod] engine duckduckgo - use DuckDuckGo-Lite
Implement a scrapper for DuckDuckGo-Lite [1].  The existing DuckDuckGo [2]
engine does not support paging.  DuckDuckgo-Lite is much faster, less verbose
and does have a paging option (reversed engineered from the input form of [1]).

[1] https://lite.duckduckgo.com/lite
[2] https://duckduckgo.com/

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-01 20:01:41 +02:00
Alexandre Flament
a53a4d5012 [build] /static 2021-10-01 18:09:37 +02:00
Alexandre Flament
74b0830362 SearXNG: simple theme 2021-10-01 18:06:55 +02:00
Alexandre Flament
499c7b3cce SearXNG: .github, searxng-docker 2021-10-01 09:48:53 +02:00
Alexandre Flament
458575c221
Merge pull request #361 from dalf/searxng-theme-oscar
SearXNG theme oscar
2021-10-01 09:15:46 +02:00
Markus Heiser
c74f45b1df
Merge pull request #365 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2021-10-01 07:11:13 +00:00
Markus Heiser
62ea3c7074
Merge pull request #366 from searxng/update_data_update_languages.py
Update searx.data - update_languages.py
2021-10-01 06:41:09 +00:00
Markus Heiser
d814f1182f
Merge pull request #364 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2021-10-01 06:34:20 +00:00
Markus Heiser
8479a83411
Merge pull request #363 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2021-10-01 06:33:51 +00:00
dalf
db51a64390 Update searx.data - update_languages.py 2021-10-01 06:23:31 +00:00
dalf
a582e55af0 Update searx.data - update_wikidata_units.py 2021-10-01 06:23:25 +00:00
dalf
56c68beb42 Update searx.data - update_firefox_version.py 2021-10-01 06:23:14 +00:00
dalf
453114fbe4 Update searx.data - update_ahmia_blacklist.py 2021-10-01 06:23:12 +00:00
dalf
0c24a03f05 Update searx.data - update_currencies.py 2021-10-01 06:23:04 +00:00
Alexandre Flament
1dfac73a64 [build] /static 2021-09-30 19:01:50 +02:00
Alexandre Flament
df06dddc04 SearXNG: oscar theme 2021-09-30 18:50:21 +02:00
Alexandre Flament
a582cf3d82
Merge pull request #353 from return42/stackexchange
[mod] engines - add Stack Exchange API v2.3
2021-09-29 10:38:50 +02:00
Markus Heiser
ecb3912bd0 [fix] engine stackexchange - decode HTML entities in title & content
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-29 08:08:18 +02:00
Alexandre Flament
a9c3c88cc0 [mod] searx.network.stream returns a tuple (response, stream) 2021-09-28 19:33:29 +02:00
Alexandre Flament
29893cf816 [fix] searx.network.stream: fix memory leak 2021-09-28 19:28:12 +02:00
Markus Heiser
5efe77bdf5 [mod] engines - add superuser.com (Stack Exchange API)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-28 19:20:13 +02:00
Markus Heiser
29eb06ab16 [mod] engines - add askubuntu.com (Stack Exchange API)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-28 19:17:26 +02:00
Markus Heiser
b62851559b [mod] replace old stackoverflow engine by Stack Exchange API v2.3
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-28 19:12:37 +02:00
Markus Heiser
55fee1e45d [mod] engines - add Stack Exchange API v2.3
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-28 19:01:04 +02:00
Alexandre Flament
2eab89b4ca [fix] checker: fix memory usage
* download images using the "image_proxy" network (HTTP/1 instead of HTTP/2)
* don't cache data: URL (reduce memory usage)
* after each test: purge image URL cache then call garbage collector
* download only the first 64kb of images
2021-09-28 15:26:02 +02:00
MrPaulBlack
43fc136207 [build] /static 2021-09-28 00:26:43 +02:00
MrPaulBlack
57f58f85bd [fix] position of engine description tooltip 2021-09-28 00:26:17 +02:00
Markus Heiser
73cb80e71d [build] /static 2021-09-27 17:40:11 +02:00
Markus Heiser
8ac776765c [theme] simple: do not prefer arial over user's sans-serif font
The default *sans-serif* font from the browsers most often renders much better
compared to Arial font.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-27 17:37:15 +02:00
MrPaulBlack
e8ed56251a [build] /static 2021-09-27 13:47:00 +02:00
MrPaulBlack
f81afed60b [fix] backtotop and pagination on image result page 2021-09-27 13:46:40 +02:00
MrPaulBlack
8268873701 [fix] several issues in the simple theme
- using more rem in style and definitions
- mobile width in preferences.less fix max-width: 75em to 80em (normalized with
  style.less and other)
- do not display #backToTop position on tablet (when max-width: 80em)
- fix answer box on mobile (when max-width: 50em)
2021-09-27 13:17:17 +02:00
MrPaulBlack
b6ae1f1c7a [theme] margin around checkboxes is bigger now, index centers the search more and the pref, stats and about page have a max-width now 2021-09-27 12:26:54 +02:00
MrPaulBlack
859179f0c9 [theme] optimize switching between different device types 2021-09-27 12:26:54 +02:00
MrPaulBlack
385dce213b [theme] cleanup grid layout and remove various margins and paddings from elements 2021-09-27 12:26:54 +02:00
Alexandre Flament
cc3c54f4cd simple theme: update 2021-09-27 12:26:54 +02:00
MrPaulBlack
88c17d106d [fix] make selected tabs not change wifth anymore compared to not being selected 2021-09-27 12:26:54 +02:00
Alexandre Flament
b046322c7b
Merge pull request #333 from dalf/enh-engine-descriptions
RFC: /preferences: display engine descriptions
2021-09-25 11:29:25 +02:00
Alexandre Flament
0c3314b338
Merge pull request #344 from dalf/osm-lang-all-fix
[fix] openstreetmap engine: map "all" language to English
2021-09-25 11:29:13 +02:00
Alexandre Flament
ab569c1e12 [fix] openstreetmap engine: optmizer SPARQL query
add
hint:Query hint:optimizer "None".
to the SPARQL query to keep the response time small.

It tells the optimizer to follow the path from ?item to the different property values
instead of the other way around.
See https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/query_optimization#Property_paths
2021-09-25 11:16:22 +02:00
Alexandre Flament
39876d9f14 [build] /static 2021-09-24 20:38:56 +02:00
Alexandre Flament
2f1384f198 [enh] themes: display the engine descriptions 2021-09-24 20:38:05 +02:00
Alexandre Flament
bfd24d1226 [mod] add /engine_descriptions.json endpoint
returns engine descriptions (JSON):
* key: engine name
* value: description in the user locale, use English description as a fallback
2021-09-24 20:20:30 +02:00
Alexandre Flament
8961131497 [fix] fix the about section of some engines 2021-09-24 20:20:30 +02:00
Alexandre Flament
6f11b61cd5 [fix] openstreetmap engine: map "all" language to English 2021-09-24 20:12:18 +02:00
MrPaulBlack
3017227c14 [preferences] remove checkbox class from query section 2021-09-24 19:14:35 +02:00
MrPaulBlack
30a9146bdc [build] /static 2021-09-24 18:02:07 +02:00
MrPaulBlack
7cb5099c88 [preferences] make elements in query selecter align left 2021-09-24 18:01:20 +02:00
MrPaulBlack
d24bcbb6f0 [preferences] reorder tabs in simple to match oscar theme 2021-09-24 16:21:43 +02:00
MrPaulBlack
45eb2b5637 [preferences] cleanup whitespaces 2021-09-24 16:15:26 +02:00
MrPaulBlack
2d26ace265 [preferences] add special queries tab to preferences 2021-09-24 16:04:10 +02:00
MrPaulBlack
fa95cd91a8 [build] /static 2021-09-22 21:44:35 +02:00
MrPaulBlack
79351c2e4d [fix] searx.js null pointer exception when category div is missing 2021-09-22 21:41:19 +02:00
Alexandre Flament
12c90a1b47
Merge pull request #336 from MrPaulBlack/simple-search-form
[theme] remove categories, language and time range from index.html
2021-09-22 18:20:33 +02:00
MrPaulBlack
575483ad2a [theme] add newline at the end of the file 2021-09-21 00:12:39 +02:00
MrPaulBlack
880fe67172 [theme] remove categories, language and time range from index 2021-09-21 00:10:12 +02:00
Alexandre Flament
e8e81c7432 [build] /static 2021-09-19 22:01:19 +02:00
Alexandre Flament
2cc6301c98 [fix] Oscar theme: fix input field on Safari
close #323
2021-09-19 22:00:59 +02:00
searxng-bot
1bc50c1eb4 [translations] update
3834942d - 2021-09-15 - ButterflyOfFire <butterflyoffire@protonmail.com>
2021-09-17 13:50:32 +00:00
Alexandre Flament
dc74df3a55
Merge pull request #261 from dalf/upgrade_httpx
[upd] upgrade httpx 0.19.0
2021-09-17 11:48:37 +02:00
Markus Heiser
443bf35e09 [pylint] fix global-variable-not-assigned issues
If there is no write access, there is no need for global.  Remove global
statement if there is no assignment.

global-variable-not-assigned:
  Using global for names but no assignment is done Used when a variable is
  defined through the "global" statement but no assignment to this variable is
  done.

In Pylint 2.11 the global-variable-not-assigned checker now catches global
variables that are never reassigned in a local scope and catches (reassigned)
functions [1][2]

[1] https://pylint.pycqa.org/en/latest/whatsnew/2.11.html
[2] https://github.com/PyCQA/pylint/issues/1375

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-17 10:14:27 +02:00
Alexandre Flament
41f6359d06 [fix] error recorder: avoid RuntimeError on some rare occasion
httpx.RequestError (subclass of httpx.HTTPError) has a property request.
This property raises a RuntimeError if the attributes _request is None.
To avoid a cascade of errors, this commit reads directly the _request attribute.
2021-09-17 10:06:24 +02:00
Alexandre Flament
b10403d3a1 [mod] searx.network: remove redundant code
searx.client.new_client: the proxies parameter is a dictonnary,
and the protocol (key of the dictionnary) is already normalized
(see usage of searx.network.network.PROXY_PATTERN_MAPPING)
2021-09-17 10:06:24 +02:00
Alexandre Flament
8e73438cbe [upd] upgrade httpx 0.19.0
adjust searx.network module to the new internal API
see https://github.com/encode/httpx/pull/1522
2021-09-17 10:06:22 +02:00
Alexandre Flament
602cbc2c99
Merge pull request #297 from dalf/engine-logger-enh
debug mode: more readable logging
2021-09-14 07:06:28 +02:00
Markus Heiser
de5a8ee7d7 [fix] settings - displayed name is SearXNG
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-13 14:36:24 +02:00
Markus Heiser
97acedd9fe
Merge pull request #305 from dalf/fix-engine-logger
[fix] logger per engine: make .logger is always initialized
2021-09-13 07:03:37 +00:00
Alexandre Flament
f8793fbda0 [fix] logger per engine: make .logger is always initialized
the openstreetmap engine imports code from the wikidata engine.
before this commit, specific code make sure to copy the logger variable to the wikidata engine.

with this commit searx.engines.load_engine makes sure the .logger is initialized.
The implementation scans sys.modules for module name starting with searx.engines.
2021-09-13 08:47:59 +02:00
MrPaulBlack
644ccf16be [theme] make engine stats clickable 2021-09-12 10:52:15 +02:00
MrPaulBlack
48d4296caa [theme] link to engine stats in footer 2021-09-12 10:37:21 +02:00
Markus Heiser
ecd6ca86d0
Merge pull request #308 from dalf/plugin_hostname_replace
[enh] add hostname_replace plugin
2021-09-12 07:53:09 +00:00
Alexandre Flament
0f43b39eac [enh] add hostname_replace plugin
* backport of https://github.com/searx/searx/pull/2724
* allow to remove result if the replacement is the boolean value false
2021-09-11 13:23:06 +02:00
Alexandre Flament
2b53d718e4 [fix] PR #257: use the image_proxy network instead of the default network 2021-09-11 11:15:51 +02:00
Alexandre Flament
6abc37efc7 [mod] production mode: make sure to set the log level to WARNING
set:
* the root logger level to WARNING
* the werkzeug logger level to WARNING (useful when there is no uwsgi)
2021-09-11 10:13:16 +02:00
Alexandre Flament
0e42db9da1 [mod] xpath engine: remove logging of the requested URL 2021-09-11 10:13:16 +02:00
Alexandre Flament
91a6d80e82 [mod] debug mode: log HTTP requests with network name
For example wikipedia requests use the logger name "searx.network.wikipedia"

Log is disable when searx_debug is False
2021-09-11 10:13:14 +02:00
Alexandre Flament
577998106a [mod] debug mode: use coloredlogs package
in debug mode, add some padding to make the output more readable
in procution mode, add the timestamp
2021-09-10 21:49:34 +02:00
Alexandre Flament
b513917ef9 [mod] searx.metrics & searx.search: use the engine loggers
metrics & processors use the engine logger
2021-09-10 21:49:34 +02:00
Alexandre Flament
d9658a7f91 [fix] searx/results.py: strip result['content'] only if it exists
fix PR #302
2021-09-10 17:58:19 +02:00
Markus Heiser
b671e0364f
Merge pull request #302 from dalf/mod_plugin_on_result
[mod] plugin: call on_result for each result of each engines.
2021-09-10 09:20:26 +00:00
Alexandre Flament
0b27c8698f [doc] update docs/dev/plugins.rst 2021-09-10 10:58:22 +02:00
Alexandre Flament
70c9bb6f2c [fix] remove references to transifex 2021-09-09 21:29:55 +02:00
Alexandre Flament
b941763e20 [mod] ahmia_filter: use on_result instead of post_search
see commit 6c9ae7911e9639bc46cd53af215734b4bdb61ba9
2021-09-09 11:31:46 +02:00
Alexandre Flament
660c180170 [mod] plugin: call on_result after each engine from the ResultContainer
Currently, searx.search.Search calls on_result once the engine results have been merged
(ResultContainer.order_results).

on_result plugins can rewrite the results: once the URL(s) are modified, even they can be merged,
it won't be the case since ResultContainer.order_results has already be called.

This commit call on_result inside for each result of each engines.
In addition the on_result function can return False to remove the result.

Note: the on_result function now run on the engine thread instead of the Flask thread.
2021-09-09 11:31:44 +02:00
Alexandre Flament
fc20c561bf [mod] oa_doi_rewrite plugin: get_doi_resolver: remove args parameter
doi_resolvers.get_value('preferences') already contains the value from
request.args.get('doi_resolver')
2021-09-07 19:14:36 +02:00
Alexandre Flament
a3789b3bb4
Merge pull request #295 from return42/fix-csp-2
[fix] make HTML templates more CSP compliant
2021-09-07 18:51:00 +02:00
Markus Heiser
b0623ac9f6 [build] /static 2021-09-07 17:48:56 +02:00
Markus Heiser
0240ca9567 [fix] oscar template - merge the two class attributes into one
Suggested-by: @dalf https://github.com/searxng/searxng/pull/295#discussion_r703337237
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-07 16:46:49 +02:00
Markus Heiser
bd830f7449 [fix] simple theme - preferences: fix tooltip overflow
Suggested-by: @dalf https://github.com/searxng/searxng/pull/295#discussion_r703370358
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-07 16:46:49 +02:00
Markus Heiser
2a3b9a2e26 [pylint] searx: drop no longer needed 'missing-function-docstring'
Suggested-by: @dalf https://github.com/searxng/searxng/issues/102#issuecomment-914168470
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-07 13:34:35 +02:00
Markus Heiser
f0059b80ed [pylint] engines: drop no longer needed 'missing-function-docstring'
Suggested-by: @dalf https://github.com/searxng/searxng/issues/102#issuecomment-914168470
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-07 13:26:59 +02:00
Markus Heiser
9068a72c6a [fix] oscar theme - preferences: rename col-checkbox/col-stat
[1] https://github.com/searxng/searxng/pull/295#discussion_r703318053
[2] https://github.com/searxng/searxng/pull/295#discussion_r703337237

Suggested-by: @dalf [1] [2]
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-07 12:26:07 +02:00
Markus Heiser
82847df300 [fix] add 'categories' to PYLINT_ADDITIONAL_BUILTINS_FOR_ENGINES
androp no longer needed (see line 591 in 7b235a1)::

    # pylint: disable=undefined-variable

Suggested-by: @dalf https://github.com/searxng/searxng/issues/102#issuecomment-914068609
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-07 10:29:38 +02:00
Markus Heiser
cd033b5416 [fix] drop useless pylint: disable=undefined-variable
Since 7b235a1 (see line 591) it is no longer needed to disable
'undefined-variable' for names defined in::

   PYLINT_ADDITIONAL_BUILTINS_FOR_ENGINES

Suggested-by: @dalf https://github.com/searxng/searxng/issues/102#issuecomment-914068609
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-07 10:26:15 +02:00
Markus Heiser
222031e975 [fix] make oscar theme more CSP compliant - col-checkbox
Add col-checkbox in::

    searx/static/themes/oscar/src/less/preferences.less

Replaced style in file::

    searx/templates/oscar/preferences.html

Reported-by: https://github.com/searxng/searxng/issues/57
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-07 08:24:48 +02:00
Markus Heiser
9d106ae972 [fix] make oscar theme more CSP compliant - default-image-style
Add default-image-style in::

    searx/static/themes/oscar/src/less/result_templates.less

Replaced style= in files::

    ./oscar/result_templates/default.html:19:        <img src="{{ image_proxify(result.img_src or result.thumbnail) }}" title="{{ result.title|striptags }}" style="width: auto; max-height: 60px; min-height: 60px;" class="col-xs-2 col-sm-4 col-md-4 result-content">
    ./oscar/result_templates/files.html:24:<img src="{{ image_proxify(result.img_src) }}" alt="{{ result.title|striptags }}" title="{{ result.title|striptags }}" style="width: auto; max-height: 60px; min-height: 60px;" class="col-xs-2 col-sm-4 col-md-4 result-content">

Reported-by: https://github.com/searxng/searxng/issues/57
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-07 08:20:30 +02:00
Markus Heiser
e564cef0fe [fix] make /preferences more CSP compliant - simple & oscar theme
In simple & oscar theme remove ``style=`` properties which violates CSP but seem
not to have a magnification in GUI (UX).

Fixed files::

    ./oscar/preferences.html:25:<td class="{{ label }}" style="padding: 2px">{{- "" -}}
    ./simple/preferences.html:39:<td class="{{ label }}" style="padding: 2px; width: 13rem;">{{- "" -}}
    ./simple/preferences.html:77:    <div class="engine-tooltip" style="right: 12rem;" role="tooltip" id="{{engine_name}}_reliability">
    ./simple/preferences.html:258:     <p class="text-muted" style="margin:20px 0;">

Reported-by: https://github.com/searxng/searxng/issues/57
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-07 08:20:30 +02:00
Alexandre Flament
ea60c03827 [fix] fix openstreetmap engine
close #298

This is a workaround: inside engine code, any call to function in another engine can crash
since the logger won't be initialized except if it is done explicitly.
2021-09-06 22:44:22 +02:00
Markus Heiser
aecfb2300d [mod] one logger per engine - drop obsolete logger.getChild
Remove the no longer needed `logger = logger.getChild(...)` from engines.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-06 18:05:46 +02:00
Markus Heiser
7b235a1c36 [mod] one logger per engine
Suggested-by: @dalf in https://github.com/searxng/searxng/issues/98#issuecomment-849013518
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-06 17:47:28 +02:00
Markus Heiser
0d070fde92 [build] /static 2021-09-06 11:12:17 +02:00
Markus Heiser
ad528c706e [fix] make result template map more CSP compliant - simple & oscar
Add osm-map-box in::

    searx/static/themes/__common__/less/result_templates.less

Replaced sty= in files::

    ./oscar/result_templates/map.html:64:        <div style="height:300px; width:100%; margin: 10px 0;" id="osm-map-{{ index }}"></div>
    ./simple/result_templates/map.html:65:    <div id="result-map-{{ index }}" class="invisible"><div id="osm-map-{{ index }}" style="height:300px; width:100%; margin: 10px 0;" ></div></div>

Reported-by: https://github.com/searxng/searxng/issues/57
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-06 11:08:50 +02:00
Markus Heiser
48c806954e [fix] make /preferences more CSP compliant - simple & oscar theme
in simple & oscar theme replace bar-graph's *styles* by CSP compliant
implementation in::

    searx/static/themes/__common__/less/stats.less

Fixed files::

    ./oscar/preferences.html:29:        <span style="width: calc(max(2px, 100%*{{ (stats[engine_name].time / max_rate95)|round(3) }}))" class="stacked-bar-chart-median"></span>{{- "" -}}
    ./oscar/preferences.html:30:        <span style="width: calc(100%*{{ ((stats[engine_name].rate80 - stats[engine_name].time) / max_rate95)|round(3) }})" class="stacked-bar-chart-rate80"></span>{{- "" -}}
    ./oscar/preferences.html:31:        <span style="width: calc(100%*{{ ((stats[engine_name].rate95 - stats[engine_name].rate80) / max_rate95)|round(3) }})" class="stacked-bar-chart-rate95"></span>{{- "" -}}
    ./simple/preferences.html:43:        <span style="width: calc(max(2px, 100%*{{ (stats[engine_name].time / max_rate95)|round(3) }}))" class="stacked-bar-chart-median"></span>{{- "" -}}
    ./simple/preferences.html:44:        <span style="width: calc(100%*{{ ((stats[engine_name].rate80 - stats[engine_name].time) / max_rate95)|round(3) }})" class="stacked-bar-chart-rate80"></span>{{- "" -}}
    ./simple/preferences.html:45:        <span style="width: calc(100%*{{ ((stats[engine_name].rate95 - stats[engine_name].rate80) / max_rate95)|round(3) }})" class="stacked-bar-chart-rate95"></span>{{- "" -}}

Reported-by: https://github.com/searxng/searxng/issues/57
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-06 11:08:50 +02:00
Alexandre Flament
33ea1d5909
Merge pull request #289 from return42/fix-xpath
[fix] remove minimum length of content for XPath engine
2021-09-04 15:34:18 +02:00
Alexandre Flament
39bbd15b39
Merge pull request #287 from return42/azlyrics
[enh] add engine AZLyrics.com (XPath)
2021-09-04 13:36:09 +02:00
Markus Heiser
9ff881f937 [fix] remove minimum length of content for XPath engine
Instead of raising an exception and therefore hiding all results of the engine.

It make sense to remove that requirement in order to allow the implementation of
search engines that do not always have a description.  In fact some search
engines that in 99% of the case have a description like Brave Search or Mojeek
crash completely if they for some reason included a result with no description.

To test this patch try Mojeek:

    !mjk xyz

before and after the patch.

Suggested-by: 0xhtml in https://github.com/searx/searx/discussions/2933
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-04 12:41:23 +02:00
Markus Heiser
730073b850 [enh] add suggestions to brave engine
Suggestions should be added too.

    suggestion_xpath: //div[@class="text-gray h6"]/a

You can try it with:

    !brave recurzuoin

Suggested-by: @allendema in https://github.com/searx/searx/issues/2857#issuecomment-904837023
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-04 11:38:59 +02:00
Allen
0648757e7f [enh] add engine AZLyrics.com (XPath)
Upstream example query:
  https://search.azlyrics.com/search.php?q=The+verbal+acupunture&w=lyrics&p=1

Cherry picked from [1] and slightly modified to pass yamllint test.

[1] https://github.com/allendema/searx/commit/8b6d5a0e5

Reviewed-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-04 10:58:34 +02:00
Allen
a5a0a4e106 [fix] Correct engine name in for Rumble 2021-09-04 10:22:26 +02:00
Allen
49bbd250d9 [fix] Update about section of Invidious
Another website and new documentation
2021-09-04 10:22:07 +02:00
Markus Heiser
ab4456b0d0
Merge pull request #281 from dalf/cleanup
Cleanup
2021-09-04 07:17:19 +00:00
Markus Heiser
df351937f4 [fix] typo in searx.webadapter.parse_lang
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-04 08:39:45 +02:00
searxng-bot
3120c9ca79 [translations] update
4fd5bb5a - 2021-08-27 - Allan Nordhøy <epost@anotheragency.no>
2021-09-03 07:16:39 +00:00
Alexandre Flament
a14ea6396e [mod] remove searx.raise_for_httperror
Not used anymore
2021-09-02 16:24:25 +02:00
Alexandre Flament
a7d781c49d [mod] remove remaining references to locales in settings.yml
see #247
2021-09-02 16:19:18 +02:00
Alexandre Flament
3c377c0aa8 [mod] searx.webapp: code clean up 2021-09-02 16:16:20 +02:00
Alexandre Flament
b9c73fb697 [mod] move searx/testing.py to the tests directory
move robot tests to tests.robot
manage calls "python -m tests.robot"
2021-09-02 16:01:34 +02:00
Markus Heiser
065b4dab56
Merge pull request #278 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2021-09-01 06:48:55 +00:00
Markus Heiser
a7a879181d
Merge pull request #279 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2021-09-01 06:46:29 +00:00
Markus Heiser
00a51fa17f
Merge pull request #280 from searxng/update_data_update_firefox_version.py
Update searx.data - update_firefox_version.py
2021-09-01 06:44:22 +00:00
dalf
9e3113865d Update searx.data - update_firefox_version.py 2021-09-01 06:23:44 +00:00
dalf
a45fc66e83 Update searx.data - update_currencies.py 2021-09-01 06:23:35 +00:00
dalf
44f7e1fcaa Update searx.data - update_ahmia_blacklist.py 2021-09-01 06:23:20 +00:00
dalf
a556d0c1aa Update searx.data - update_wikidata_units.py 2021-09-01 06:23:11 +00:00
Markus Heiser
37b3d8c33b
Merge pull request #276 from dalf/simple_eslint
Simple theme: eslint and bug fix
2021-08-31 16:13:47 +00:00
Markus Heiser
840a327564
Merge pull request #275 from koelle25/add-packagist
[enh] Add Packagist search engine
2021-08-31 16:05:24 +00:00
Kevin Köllmann
2b3687780c [enh] Add Packagist search engine (JSON)
Packagist's API: https://packagist.org/apidoc
2021-08-31 17:59:34 +02:00
Alexandre Flament
d246679dbe [build] /static 2021-08-31 15:43:28 +02:00
Alexandre Flament
f77f797f8c [mod] simple theme: fix eslint errors, fix VIM keys
* VIM keys: fix the next page and previous pages (n, p keys)
* Map: Enable the wikipedia map (the layer was initialized but not included)
2021-08-31 15:41:31 +02:00
Alexandre Flament
66a27757fd
Merge pull request #244 from return42/eslint-simple-client
[mod] simple theme - add ESLint
2021-08-31 13:24:06 +02:00
Alexandre Flament
0ee316f3d1 eslint: grunt integration 2021-08-31 12:20:23 +02:00
Markus Heiser
2948a99b6e [mod] simple theme - add ESLint
[1] https://eslint.org/
[2] https://eslint.org/docs/user-guide/configuring/
[3] https://eslint.org/docs/user-guide/command-line-interface

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-08-31 12:20:23 +02:00
Alexandre Flament
7dc370efe9 [enh] new issue: include information from searx.version 2021-08-31 11:45:33 +02:00
Markus Heiser
1e942435be
Merge pull request #273 from searxng/dependabot/pip/master/pylint-2.10.2
Bump pylint from 2.9.6 to 2.10.2
2021-08-31 09:08:59 +00:00
Markus Heiser
03e7d423be [pylint] Pylint 2.10 - unused-variable
Pylint 2.10 fixed [1]:

  Fixed bug with cell-var-from-loop checker: it no longer has false negatives
  when both unused-variable and used-before-assignment are disabled.

[1] https://pylint.pycqa.org/en/latest/whatsnew/2.10.html

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-08-31 10:51:50 +02:00
Markus Heiser
e856b563dd [pylint] Pylint 2.10 - unspecified-encoding
Pylint 2.10 added new default checks [1]:

unspecified-encoding:
  Emitted when open() is called without specifying an encoding [2]

[1] https://pylint.pycqa.org/en/latest/whatsnew/2.10.html
[2] https://github.com/PyCQA/pylint/issues/3826

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-08-31 10:49:36 +02:00
Markus Heiser
b83c14cf6b [pylint] Pylint 2.10 - fix use-list-literal & use-dict-literal
Pylint 2.10 added new default checks [1]:

use-list-literal
  Emitted when list() is called with no arguments instead of using []

use-dict-literal
  Emitted when dict() is called with no arguments instead of using {}

[1] https://pylint.pycqa.org/en/latest/whatsnew/2.10.html

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-08-31 10:40:29 +02:00
searxng-bot
9e63e20c36 [translations] update
18fae620 - 2021-08-25 - Markus Heiser <markus.heiser@darmarit.de>
2e76843c - 2021-08-25 - ewm <gnu.ewm@protonmail.com>
172a1a88 - 2021-08-25 - Alexandre Flament <alex@al-f.net>
4567065b - 2021-08-25 - Full Name <cheez.1337@mail.ru>
59d9d549 - 2021-08-25 - Markus Heiser <markus.heiser@darmarit.de>
5f135b41 - 2021-08-23 - Markus Heiser <markus.heiser@darmarit.de>
91b3a32e - 2021-08-24 - Full Name <cheez.1337@mail.ru>
0198ea11 - 2021-08-22 - Allan Nordhøy <epost@anotheragency.no>
6efc4b9f - 2021-08-22 - Markus Heiser <markus.heiser@darmarit.de>
a263af1e - 2021-08-23 - Alexandre Flament <alex@al-f.net>
713b07f7 - 2021-08-22 - Markus Heiser <markus.heiser@darmarit.de>
0c7b7859 - 2021-08-22 - Markus Heiser <markus.heiser@darmarit.de>
408c85f9 - 2021-08-20 - Alexandre Flament <alex@al-f.net>
2021-08-27 07:16:35 +00:00
Alexandre Flament
697ebeddcc [mod] searx.utils.dict_subset: rewrite with comprehension 2021-08-24 15:28:08 +02:00
Alexandre Flament
3b0f70ed0f [mod] /image_proxy: use HTTP/1 instead of HTTP/2
httpx: HTTP/2 is slow when a lot data is downloaded.
https://github.com/dalf/pyhttp-benchmark

also, the usage of HTTP/1 decreases the load average
2021-08-24 14:51:20 +02:00
Alexandre Flament
43fcaa642a [fix] image_proxy: always close the httpx respone
previously, when the content type was not an image and some other error,
the httpx response was not closed
2021-08-24 14:51:20 +02:00
Alexandre Flament
df15c655f7 [mod] /image_proxy: don't decompress images 2021-08-24 14:51:20 +02:00
Markus Heiser
29b40338d6
Merge pull request #260 from dalf/mod_locale
[mod] searx.webapp.get_locale: read locale from the preferences
2021-08-22 16:07:21 +00:00
Noémi Ványi
3d5e6e0abb [enh] google: add filter=0 to Google engine for more results
backport from searx ( 23b3b56a06ef831af0a1b30a12c26ebd50e329bb )
2021-08-21 17:46:16 +02:00
searxng-bot
eafa373cff [translations] update
b25c9d58 - 2021-08-17 - Allan Nordhøy <epost@anotheragency.no>
2021-08-20 07:16:15 +00:00
Markus Heiser
8290f70e24 [fix] /config add missing GIT_BRANCH value
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-08-18 19:51:07 +02:00
searxng-bot
02b6f0c370 [translations] update
fc3041a0 - 2021-08-10 - Allan Nordhøy <epost@anotheragency.no>
fcc3732d - 2021-08-06 - Allan Nordhøy <epost@anotheragency.no>
894bd655 - 2021-08-06 - Allan Nordhøy <epost@anotheragency.no>
2021-08-17 08:47:59 +00:00
Alexandre Flament
28ccf47ca4 [mod] searx.webapp.get_locale: read locale from the preferences
pre_request already set the locale.
2021-08-17 08:18:30 +02:00
Alexandre Flament
a925254c3d
Merge pull request #258 from dalf/plugin_minor_change
[mod] plugins: minor change
2021-08-16 17:10:28 +02:00
Alexandre Flament
2f363858b8 [fix] searx.search.checker.get_result() always return a dict
So checker_results['status'] == 'ok' is enough to check the checker result.
See searx/webapp.py, /preferences endpoint
2021-08-16 08:29:16 +02:00
Alexandre Flament
3f3b5d6181 [mod] plugins: minor change
required attributes: display a different message
when the attribute has the wrong type
2021-08-14 18:03:31 +02:00
Markus Heiser
15bf9fc850 [fix] settings.yml - replace http:// URLs by https://
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-08-07 16:43:19 +02:00
Alexandre Flament
0d20e5dfe3 [mod] searx/locales.py: language names based on Unicode CLDR
rename "oc" to "Occitan":
* https://github.com/unicode-org/cldr/blob/35.1/seed/main/oc.xml#L115
* https://oc.wikipedia.org/wiki/Occitan

see https://github.com/searxng/searxng/pull/247#issuecomment-892382001
2021-08-04 09:50:34 +02:00
Markus Heiser
809bf1a105 [mod] pylint & document searx.locales (settings.yml: remove locales)
- Add ``# lint: pylint`` header to pylint this python file.
- Fix issues reported by pylint.
- Add source code documentation of modul searx.locales

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-08-04 07:54:53 +02:00
Alexandre Flament
f30d01ffab [mod] settings.yml: remove locales
There are detected from the searx/translations directory
2021-08-03 15:44:45 +02:00
Alexandre Flament
bd17544f82 [fix] make test.robot: firefox profile: intl.accept_languages=en
make sure Firefox in test.robot asks for English pages
2021-08-03 15:11:51 +02:00
Alexandre Flament
7fa7177759 Update translations (pot, po) 2021-08-02 09:44:13 +02:00
Markus Heiser
e0ca749ff5
Merge pull request #242 from searxng/update_data_update_currencies.py
Update searx.data - update_currencies.py
2021-08-02 07:40:19 +00:00
Alexandre Flament
b6711ba0ad
Merge pull request #241 from searxng/update_data_update_languages.py
Update searx.data - update_languages.py
2021-08-02 09:01:57 +02:00
Markus Heiser
274edd523c [fix] get common used languages back (min_engines_per_lang = 13)
In commit 4d3f2f48d common used languages has been droped.  By reducing the
number of `min_engines_per_lang` from 15 to 13 we get theses languages back.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-08-01 13:04:24 +02:00
Markus Heiser
0fc1dcbfa5
Merge pull request #243 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2021-08-01 09:42:01 +00:00
dalf
7fae5647d3 Update searx.data - update_wikidata_units.py 2021-08-01 06:24:23 +00:00
dalf
2963c83daa Update searx.data - update_currencies.py 2021-08-01 06:24:13 +00:00
dalf
4d3f2f48d2 Update searx.data - update_languages.py 2021-08-01 06:24:12 +00:00
dalf
f5389fd722 Update searx.data - update_firefox_version.py 2021-08-01 06:24:01 +00:00
Alexandre Flament
38ee88b390
Merge pull request #229 from dalf/version-from-git
version based on git
2021-07-30 18:57:00 +02:00
Alexandre Flament
4b43775c91 version based on the git repository
This commit remove the need to update the brand for GIT_URL and GIT_BRANCH:
there are read from the git repository.

It is possible to call python -m searx.version freeze to freeze the current version.
Useful when the code is installed outside git (distro package, docker, etc...)
2021-07-30 14:40:09 +02:00
Alexandre Flament
feef577f99
Merge pull request #230 from dalf/remove-zh-hant-tw
Remove zh_Hant_TW translation
2021-07-28 08:34:09 +02:00
Alexandre Flament
0b2dca088f Remove zh_Hant_TW translation
See https://github.com/searxng/searxng/issues/195#issuecomment-887518808
2021-07-27 18:54:25 +02:00
Alexandre Flament
ed0db4d61a
Merge pull request #226 from return42/hardening
[mod] hardening SearXNG instances by default (formats)
2021-07-27 11:22:18 +02:00
Alexandre Flament
24fcd7475a Revert "[brand] !!DO NOT MERGE!! this patch uses branch fix-searx.sh @return42"
This reverts commit e946c3462c.
2021-07-27 08:40:53 +02:00
Markus Heiser
beff764d74
Merge pull request #216 from return42/fix-searx.sh
normalize environment of installation tasks (shell) with YAML settings
2021-07-27 05:32:57 +00:00
Markus Heiser
80f5241387
Merge pull request #225 from return42/docs-nosql
[docs] document NoSLQ engines MongoDB and redis
2021-07-27 05:32:26 +00:00
Samuel Dudik
7a7ef9cea6 [fix] Seznam engine - some XPath selectors has been changed
Merged from https://github.com/dudik/searx/commit/5a4207759

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-27 07:13:41 +02:00
Markus Heiser
7b40c736e6 [mod] hardening SearXNG instances by default (formats)
Deny formats has been implemented in 6ed4616d.

To harden SearXNG instances by default, other formats than HTML should be
denied.  Most of JSON, RSS and CSV requests are bots [1]::

    Bots are the only users of this feature on a public instance, and they abuse
    it too much that the engines rate limit pretty quickly the IP address of the
    instance.

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-25 12:59:09 +02:00
Noémi Ványi
5e648e77ab [docs] document NoSLQ engines MongoDB and redis
Slightly modified merge of commit [3b192e638]

[3b192e638] https://github.com/searx/searx/commit/3b192e638

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-25 11:39:11 +02:00
Alexandre Flament
48fe83b901
Merge pull request #221 from dalf/fix-peertube_fetch_supported_languages
[fix] peertube: update _fetch_supported_languages
2021-07-25 10:30:53 +02:00
Markus Heiser
e946c3462c [brand] !!DO NOT MERGE!! this patch uses branch fix-searx.sh @return42
Do not merge this patch in master branch of SearXNG!  This branch exists only
for testing the feature branch fix-searx.sh @return42.

This patch changes the buildenv to::

    GIT_URL='https://github.com/return42/searxng'
    GIT_BRANCH='fix-searx.sh'
    SEARX_PORT='7777'
    SEARX_BIND_ADDRESS='127.0.0.12'

To test installation procedure, clone feature branch (fix-searx.sh)::

    $ cd ~/Downloads
    $ git clone --branch fix-searx.sh https://github.com/return42/searxng searxng
    $ cd searxng

    $ ./utils/searx.sh install all
    ...

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-24 16:28:15 +02:00
Markus Heiser
b6a55e223c [mod] reduce enviroment variables in shell scripts to what is needed
Not all settings from the 'brand:' section of the YAML files are needed in the
shell scripts.  This patch reduce the variables in ./utils/brand.env to what is
needed.  The following ('brand:' settings) can be removed from this file:

- ISSUE_URL
- DOCS_URL
- PUBLIC_INSTANCES
- WIKI_URL

Tasks running outside of an *installed instance*, need the following settings
from the YAML configuration:

- GIT_URL            <--> brand.git_url
- GIT_BRANCH         <--> brand.git_branch
- SEARX_URL          <--> server.base_url  (aka PUBLIC_URL)
- SEARX_PORT         <--> server.port
- SEARX_BIND_ADDRESS <--> server.bind_address

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-24 16:28:15 +02:00
Markus Heiser
fe67f1478f [fix] qwant engine - prevent API locale exception on lang 'all'
Has been reported in [1], error message::

    Error
        Error: searx.exceptions.SearxEngineAPIException
        Percentage: 0
        Parameters: ('API error::locale must be a string,locale must be one of
        the following values: en_gb, en_ie, en_us, en_ca, en_in, en_my, en_au,
        en_nz, cy_gb, gd_gb, de_de, de_ch, de_at, fr_fr, br_fr, fr_be, fr_ch,
        fr_ca, fr_ad, fc_ca, ec_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_br,
        pt_pt, pt_ad, nl_be, nl_nl, pl_pl, zh_hk, zh_cn, fi_fi, bg_bg, et_ee,
        hu_hu, da_dk, nb_no, sv_se, ko_kr, th_th, cs_cz, ro_ro, el_gr',)
        File name: searx/engines/qwant.py:114
        Function: response
        Code: raise SearxEngineAPIException('API error::' + msg)

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-24 14:48:27 +02:00
Markus Heiser
ca57c7421b [fix] qwant engine - prevent exception on date/time value is None
Has been reported in [1], error messages::

  Error
       Error: ValueError
       Percentage: 0
       Parameters: ()
       File name: searx/engines/qwant.py:159
       Function: response
       Code: pub_date = datetime.fromtimestamp(item['date'], None)

    Error
        Error: TypeError
        Percentage: 0
        Parameters: ('an integer is required (got type NoneType)',)
        File name: searx/engines/qwant.py:196
        Function: response
       Code: pub_date = datetime.fromtimestamp(item['date'])

Fix timedelta from seconds to milliseconds [1], error message::

    Error
        Error: TypeError
        Percentage: 0
        Parameters: ('unsupported type for timedelta seconds component: NoneType',)
        File name: searx/engines/qwant.py:195
        Function: response
        Code: length = timedelta(seconds=item['duration'])

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

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-24 14:48:14 +02:00
Alexandre Flament
b0a12924a0 [fix] peertube: update _fetch_supported_languages
update the regex to match the changes in peertube source code
fix "make data.languages"
2021-07-23 12:03:16 +02:00
Alexandre Flament
b1100e2b7d [fix] /preferences: remove the empty engine category "social medias" (it is "social media") 2021-07-23 10:43:16 +02:00
Markus Heiser
2964a24b3d [fix] utils/build_env.py and add documentation
modified   docs/admin/engines/settings.rst
  - Fix documentation and add section 'brand'.
  - Add remarks about **buildenv** variables.
  - Add remarks about settings from environment variables $SEARX_DEBUG,
    $SEARX_PORT, $SEARX_BIND_ADDRESS and $SEARX_SECRET

modified   docs/admin/installation-searx.rst & docs/build-templates/searx.rst
   Fix template location /templates/etc/searx/settings.yml

modified   docs/dev/makefile.rst
  Add description of the 'make buildenv' target and describe
  - we have all SearXNG setups are centralized in the settings.yml file
  - why some tasks need a utils/brand.env (aka instance's buildenv)

modified   manage
  Settings file from repository's working tree are used by default and
  ask user if a /etc/searx/settings.yml file exists.

modified   searx/settings.yml
  Add comments about when it is needed to run 'make buildenv'

modified   searx/settings_defaults.py
  Default for server:port is taken from enviroment variable SEARX_PORT.

modified   utils/build_env.py
  - Some defaults in the settings.yml are taken from the environment,
    e.g. SEARX_BIND_ADDRESS (searx.settings_defaults.SHEMA).  When the
    'brand.env' file is created these enviroment variables should be
    unset first.
  - The CONTACT_URL enviroment is not needed in the utils/brand.env

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-21 14:38:54 +02:00
Markus Heiser
6fbf5180bf [mod] drop obsolete searx.brand namespace
The usages of the searx.brand namespace has been removed, the searx.brand
namespace is now longer needed.

The searx.brand namespace was an interim solution which has been added in commit
9e53470b4, see commit message there ...

    This patch is a first 'proof of concept'.  Later we can decide to remove the
    brand namespace entirely or not.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-21 13:38:28 +02:00
Markus Heiser
3f638ed196 [mod] drop usage of the searx.brand namespace (templates & /config)
In the templates and the /config (JSON) the usage of the 'brand.*' name
space is replaced by 'searx.get_setting' function.

- new_issue_url          --> get_setting('brand.new_issue_url')
- brand.GIT_URL          --> get_setting('brand.git_url')
- brand.PUBLIC_INSTANCES --> get_setting('brand.public_instances')
- brand.DOCS_URL         --> get_setting('brand.docs_url')
- brand.ISSUE_URL        --> get_setting('brand.issue_url')
- brand.CONTACT_URL      --> get_setting('general.contact_url', '')

The macro 'new_issue' from searx/templates/*/messages/no_results.html
is now imported with context::

    {% from '__common__/new_issue.html' import new_issue with context %}

To get *public instances URL* from context's 'get_setting()' function::

    get_setting('brand.public_instances','')

Macro's prototype does no longer need the 'new_issue_url' argument and has been
changed to::

    macro new_issue(engine_name, engine_reliability)

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-21 13:38:28 +02:00
Markus Heiser
c9220de690 [mod] drop unused setting option brand:twitter_url
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-21 13:38:28 +02:00
Markus Heiser
2a2b6c4d57 [fix] add missing brand options to the settings SCHEMA
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-21 13:38:28 +02:00
Markus Heiser
3e50e8de3e [mod] drop usage of the searx.brand namespace (python procs)
Added function searx.get_setting(name, default=_unset):
  Returns the value to which ``name`` point.  If there is no such name in the
  settings and the ``default`` is unset, a KeyError exception is raised.

In all the python processes ..

- make docs
- make buildenv
- make install (setup.py)

the usage of the 'brand.*' name space is replaced by 'searx.get_setting'
function.

- brand.SEARX_URL        --> get_setting('server.base_url')
- brand.GIT_URL          --> get_setting('brand.git_url')
- brand.GIT_BRANCH'      --> get_setting('server.base_url')
- brand.ISSUE_URL        --> get_setting('brand.issue_url')
- brand.DOCS_URL         --> get_setting('brand.docs_url')
- brand.PUBLIC_INSTANCES --> get_setting('brand.public_instances')
- brand.CONTACT_URL      --> get_setting('general.contact_url', '')
- brand.WIKI_URL         --> get_setting('brand.wiki_url')
- brand.TWITTER_URL      --> get_setting('brand.twitter_url', '')

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-18 15:55:42 +02:00
Alexandre Flament
f523fd3ea7
Merge pull request #211 from MarcAbonce/onions_v3_fix_searxng
Update onion engines to v3
2021-07-16 17:25:37 +02:00
Alexandre Flament
d47b8e36cf
Merge pull request #207 from return42/mongodb
[enh] add mongodb offline engine
2021-07-16 16:15:01 +02:00
Alexandre Flament
0d65a81b1c [mod] qwant engine: fix typos / minor change
minor modification of commit 628b5703f3
(no functionnal change)
2021-07-16 15:32:12 +02:00
Marc Abonce Seguin
1b05ea6a6b update onion engines to v3
remove not_evil which has been down for a while now:
https://old.reddit.com/r/onions/search/?q=not+evil&restrict_sr=on&t=year
2021-07-16 01:36:34 -07:00
Markus Heiser
0a9cd08bf1 [enh] add mongodb offline engine
Cherry-Pick: https://github.com/searx/searx/commit/198aad43
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-15 21:35:33 +02:00
Markus Heiser
628b5703f3 [mod] improve video results of the qwant engine
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-15 20:10:37 +02:00
Alexandre Flament
f376b4ed3e
Merge pull request #205 from unixfox/patch-2
Add missing parameter for mobile UI search
2021-07-15 17:19:12 +02:00
Émilien Devos
6c9f276571
Add missing parameter for mobile UI search 2021-07-15 13:00:32 +00:00
Markus Heiser
420e3caba3 [mod] enable Qwant engines (web, news, images, video) by default
Qwant is a fast and reliable search engine and AFAIK there is no CAPTCHA.  Let
us enable Qwant engines by default.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-14 09:47:32 +02:00
Markus Heiser
ef6e1bd6b9 [fix] Qwant engines - implement API v3 and add 'quant videos'
The implementation uses the Qwant API (https://api.qwant.com/v3). The API is
undocumented but can be reverse engineered by reading the network log of
https://www.qwant.com/ queries.

This implementation is used by different qwant engines in the settings.yml::

  - name: qwant
    categories: general
    ...
  - name: qwant news
    categories: news
    ...
  - name: qwant images
    categories: images
    ...
  - name: qwant videos
    categories: videos
    ...

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-14 09:47:32 +02:00
Markus Heiser
2767046065 [fix] drop engine dogpile
The engine was added in commit a4b07460 but now it shows new issues [1].

In the 90'th of the last century, dogpile had its own WEB index, but nowadays it
is a meta-search engine [2]

  Powered by technology, Dogpile returns all the best results from leading
  search engines including Google and Yahoo!

Using dogpile as an engine in SearXNG needs more investigation, a XPath solution
like we have is not enough.   It is questionable whether it still makes sense to
investigate more into a meta-search engine with a ReCAPTCHA in front.

With this patch the dogpile engine is removed

[1] https://github.com/searxng/searxng/issues/202
[2] https://www.dogpile.com/support/aboutus

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-13 14:42:09 +02:00
Markus Heiser
513c73a309 [drop] engine torrentz: torrentz2.eu and torrentz2.is are offline
[1] https://torrentfreak.com/torrentz2-eu-domain-suspended-by-registry-on-public-prosecutors-order-200628/

Suggested-by: @rasos https://github.com/searx/searx/issues/1875#issuecomment-877755872
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-11 13:24:33 +02:00
Émilien Devos
d9d9bd720d
Fix google images
Proposed fix in https://github.com/searx/searx/pull/2115#issuecomment-876716010
2021-07-10 14:09:29 +00:00
Allen
3b2e0a93b7 [enh] add gpodder.net (JSON)
Engine just for Podcasts.  An API which returns Podcasts and their Info like:
website, author etc.

Upstream query example: https://gpodder.net/search.json?q=linux
2021-07-03 22:30:20 +02:00
Markus Heiser
d5eedf1b61 [yamllint] fix some warning issues reported by yamllint
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-03 21:55:36 +02:00
Allen
9648d71ad8 [enh] add woxikon.de synonyme (Xpath)
Added synonyme.woxikon.de using the xpath engine.  Adds a site which returns
word synonyms although just in German.

Depending on the query not all synonyms are shown because of not the best xpath
selection.  But should do the job just fine.

Upstream example query: https://synonyme.woxikon.de/synonyme/test.php
2021-07-03 21:51:26 +02:00
Markus Heiser
bb98a07b50
Merge pull request #196 from return42/fix-brave
[fix] brave engine: shows descriptions with their correct URLs
2021-07-03 19:44:48 +00:00
Markus Heiser
9d97b2e854 [fix] brave engine: shows descriptions with their correct URLs
BTW add about section to the YAML configuration

It now shows descriptions with their correct URLs when there are videos in the
search results, pulling content_xpath from snippet-description instead of
snippet-content.

Suggested-by: @eagle-dogtooth https://github.com/searx/searx/issues/2857#issuecomment-869119968
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-03 20:57:55 +02:00
Markus Heiser
7e8d1f9935
Merge pull request #178 from return42/whaleslide.com
[enh] Add WhaleSlide engine (JSON)
2021-07-03 16:22:47 +00:00
Markus Heiser
24f2376c11 [pylint] prepare for pylint v2.9.3 / fix some (new) pylint issues
Upgrade from pylint v2.8.3 to 2.9.3 raise some new issues::

  searx/search/checker/__main__.py:37:26: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
  searx/search/checker/__main__.py:38:26: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
  searx/search/processors/__init__.py:20:0: R0402: Use 'from searx import engines' instead (consider-using-from-import)
  searx/preferences.py:182:19: C0207: Use data.split('-', maxsplit=1)[0] instead (use-maxsplit-arg)
  searx/preferences.py:506:15: R1733: Unnecessary dictionary index lookup, use 'user_setting' instead (unnecessary-dict-index-lookup)
  searx/webapp.py:436:0: C0206: Consider iterating with .items() (consider-using-dict-items)
  searx/webapp.py:950:4: C0206: Consider iterating with .items() (consider-using-dict-items)

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-03 17:54:08 +02:00
Alexandre Flament
961dd287a1
Merge pull request #185 from searxng/update_data_update_external_bangs.py
Update searx.data - update_external_bangs.py
2021-07-01 18:43:18 +02:00
Alexandre Flament
508195a850
Merge pull request #186 from searxng/update_data_update_wikidata_units.py
Update searx.data - update_wikidata_units.py
2021-07-01 18:41:54 +02:00
Alexandre Flament
89a27f4f96
Merge pull request #187 from searxng/update_data_update_ahmia_blacklist.py
Update searx.data - update_ahmia_blacklist.py
2021-07-01 18:41:43 +02:00
dalf
973d507410 Update searx.data - update_ahmia_blacklist.py 2021-07-01 06:22:48 +00:00
dalf
f6a8a5d017 Update searx.data - update_firefox_version.py 2021-07-01 06:22:48 +00:00
dalf
77a432cc95 Update searx.data - update_wikidata_units.py 2021-07-01 06:22:43 +00:00
dalf
726ad776a3 Update searx.data - update_external_bangs.py 2021-07-01 06:22:24 +00:00
Alexandre Flament
30e4a2a224
Merge pull request #174 from searxng/static_script
[mod] add make targets to manage the build files in the /searx/static directory
2021-06-28 10:53:32 +02:00
Alexandre Flament
d29094579b [build] /static 2021-06-28 10:39:10 +02:00
Markus Heiser
76a066d4a3 [mod] themes: remove banner generated by grunt
The banner is useless and responsible for unwanted diff.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-28 10:38:44 +02:00
Alexandre Flament
7308709b8b
Merge pull request #179 from return42/brave
[enh] add Brave-Search engine (XPath)
2021-06-28 09:23:25 +02:00
Markus Heiser
6787e5a36b [fix] decoding of saved preferences in the URL
To compress saved preferences in the URL was introduced in 5f758b2d3 and
slightly fixed in 8f4401462.  But the main fail was not fixed; The decompress
function returns a binary string and this binary should first be decoded to a
string before it is passed to urllib.parse_qs.

BTW: revert the hot-fix from 5973491

Related-to: https://github.com/searxng/searxng/issues/166
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-26 17:14:13 +02:00
Markus Heiser
e0365d987b [enh] add Brave-Search engine (XPath)
Add https://search.brave.com which was requested by @kaonashi696 [1].
This patch was suggested by @eagle-dogtooth [2].

[1] https://github.com/searx/searx/issues/2857
[2] https://github.com/searx/searx/issues/2857#issuecomment-867199241

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-26 15:54:45 +02:00
Allen
e2094cb226 [enh] Add WhaleSlide engine (JSON)
Add WhaleSlide engine [1] / merged from [2]

[1] https://whaleslide.com
[2] https://github.com/searx/searx/pull/2861
2021-06-26 15:28:44 +02:00
Émilien Devos
63ebe00554
Set use_mobile_ui to false for Google engine 2021-06-26 09:58:35 +00:00
Markus Heiser
a3f58a3a3d [emacs] .dir-locals.el: add setup for js-mode
- move jshint option from gruntfile to .jshintrc
- remove trailing-whitespace from gruntfile and
- add jshint esversion: 6
- .dir-locals.el add locals for js-mode to use JSHint from the simple theme

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-24 13:27:21 +02:00
Markus Heiser
f73a00dcee [stylelint] disable role 'no-descending-specificity'
This patch disables role 'no-descending-specificity'.  IMO it is better to have
this rule active (see below [1]), but it is hard to rewrite the less files to
pass this rule, so for the first I chose to disable this rule.

---

Source order is important in CSS, and when two selectors have the same
specificity, the one that occurs last will take priority. However, the situation
is different when one of the selectors has a higher specificity. In that case,
source order does not matter: the selector with higher specificity will win out
even if it comes first.

The clashes of these two mechanisms for prioritization, source order and
specificity, can cause some confusion when reading stylesheets. If a selector
with higher specificity comes before the selector it overrides, we have to think
harder to understand it, because it violates the source order
expectation. Stylesheets are most legible when overriding selectors always come
after the selectors they override. That way both mechanisms, source order and
specificity, work together nicely.

This rule enforces that practice as best it can, reporting fewer errors than it
should. It cannot catch every actual overriding selector, but it can catch
certain common mistakes.

[1] https://stylelint.io/user-guide/rules/list/no-descending-specificity/

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-24 13:27:21 +02:00
Markus Heiser
0b7d03c694 [stylelint] simple theme: fix some errors reported by stylelint
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-24 13:27:21 +02:00
Markus Heiser
14b09c15c4 [fix] simple theme: use stylint to fix common lint errors
This fix was autogenerated by::

     npx stylelint -f unix --fix 'searx/static/themes/simple/src/less/**/*.less'

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-24 13:27:21 +02:00
Markus Heiser
dfc5c3bc15 [mod] add stylelint process to target themes.simple
Before build, do lint the LESS files using stylelint [1].  The configuration
'stylelint-config-standard' [2] is added to the root of the simple theme [3].

[1] https://stylelint.io/
[2] https://github.com/stylelint/stylelint-config-standard
[3] https://stylelint.io/user-guide/configure

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-24 13:27:21 +02:00
Alexandre Flament
2530576f24
Merge pull request #157 from searxng/mod_static_build
static build: move generated files to searx/static/themes/*/src/generated
2021-06-22 10:36:19 +02:00
Alexandre Flament
04492b76de [themes] ignore packages-lock.json 2021-06-22 08:17:06 +02:00
Alexandre Flament
2bc9b00cd7 Static build 2021-06-22 08:15:17 +02:00
Alexandre Flament
dca3bcca9e [mod] simple theme: include fonts
"npm run webfont" to build the fonts directory.
It requires fontforge and ttfautohint distro packages.

partial revert of commit 7137d2893f
2021-06-22 08:15:17 +02:00
Alexandre Flament
d20f6a1f19 [mod] make themes.all update pygments*.less
Add a searx/static/themes/*/src/generated empty folder
2021-06-22 08:15:11 +02:00
Markus Heiser
5973491701 [fix] UnicodeEncodeError for preferences ULR
Closes: https://github.com/searxng/searxng/issues/166

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-22 01:35:54 +02:00
Markus Heiser
0ef6aa5126 [docs] add documentation from the sources of the google engines
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-21 18:25:52 +02:00