Commit Graph

3269 Commits

Author SHA1 Message Date
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