Commit Graph

2448 Commits

Author SHA1 Message Date
Adam Tauber 785f0938fd [fix] add link to wikidata entities in infobox - fixes #1097 2020-06-09 01:31:57 +02:00
Adam Tauber d5e146251f [enh] add subscribe link to rss results - closes #468 2020-06-09 01:05:15 +02:00
Adam Tauber f0819e8826 [enh] add engine names to results as classes - closes #670 2020-06-09 00:31:52 +02:00
Adam Tauber c6ca468df2 [fix] wrap long lines in infoboxes - fixes #1652 2020-06-04 23:22:44 +02:00
Markus Heiser d9c1d5192d
Merge branch 'master' into gigablast 2020-06-04 21:20:30 +00:00
Markus Heiser 434e452d54 Merge branch 'master' of https://github.com/asciimoo/searx into csp-oscar-theme 2020-06-04 23:18:22 +02:00
Markus Heiser 1fc0e9ddc5 Merge branch 'master' of https://github.com/asciimoo/searx into filtron 2020-06-04 21:22:53 +02:00
Adam Tauber de1b08a941 [enh] add unique class for each endpoint - closes #1133 2020-06-04 19:21:15 +02:00
Noémi Ványi 640da73a9e make category order configurable using ui.categories_order 2020-06-03 21:33:14 +02:00
Markus Heiser 2b2a882df0
Merge branch 'master' into filtron 2020-06-03 16:33:06 +00:00
Adam Tauber 08fdfc73fb [fix] do not autocomplete for pressing enter when mouse is on the completion list - fixes #340 2020-06-03 15:36:22 +02:00
Adam Tauber 47cddcab8b [mod] reduce the gap between results 2020-06-03 15:04:01 +02:00
Adam Tauber c54a0e81ff [enh] add shortcut column to search engines table in preferences - fixes #230 2020-06-03 13:49:20 +02:00
Adam Tauber bab5efeac9 [enh] update npm dependency versions 2020-06-03 13:44:55 +02:00
Adam Tauber f47e6fc0f8 [enh] build css after less file changes 2020-06-03 13:44:40 +02:00
Adam Tauber ceedab6aed
Merge pull request #983 from ahangarha/patch-1
Update results.less
2020-06-03 13:35:21 +02:00
Markus Heiser b85d845636 Merge branch 'master' of https://github.com/asciimoo/searx into about-opensearch 2020-06-01 09:43:19 +02:00
Markus Heiser 6fc26775e4 Merge branch 'master' of https://github.com/asciimoo/searx into filtron 2020-06-01 09:25:30 +02:00
Markus Heiser a3431d59d3 Merge branch 'master' of https://github.com/asciimoo/searx into csp-oscar-theme 2020-06-01 09:18:51 +02:00
Markus Heiser 74135007eb
Merge branch 'master' into gigablast 2020-06-01 06:23:45 +00:00
Adam Tauber 19e32dc686
Merge pull request #1978 from kvch/fix-rtl-in-oscar
Fix Farsi language in Oscar && adjust tables with RTL
2020-05-31 23:45:14 +02:00
Noémi Ványi a3e15a3df6 Fix Farsi language in Oscar && adjust tables with RTL 2020-05-31 23:44:34 +02:00
Adam Tauber da02e0b8d8
Merge pull request #1979 from kvch/feature-toggle-all-buttons
Add "Allow all" and "Disable all" to engines tab of Oscar preferences
2020-05-31 23:40:49 +02:00
Noémi Ványi d7d89369cb add disable all and allow all engines button to Oscar preferences 2020-05-31 23:39:21 +02:00
Noémi Ványi e3282748d0 add display_error_messages option to engine settings
A new option is added to engines to hide error messages from users. It
is called `display_error_messages` and by default it is set to `True`.
If it is set to `False` error messages do not show up on the UI.

Keep in mind that engines are still suspended if needed regardless of
this setting.

Closes #1828
2020-05-31 19:17:48 +02:00
Markus Heiser ee5d2b319b [fix] gigablast requires a random extra parameter
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-05-29 12:48:58 +02:00
Markus Heiser a18760b322 [fix] revise of the gigablast engine (WIP)
The gigablast API has changed and seems to have some quirks, this is the first
revise.  More work (hacks) are needed.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-05-28 19:24:03 +02:00
Markus Heiser 57c7b90edd [fix] gigablast does no longer support *supported_languages_url*
Since there are zero results, we can remove it:

    $ make engines.languages
    fetch languages ..
    ...
    fetched 0 languages from engine gigablast

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-05-28 15:21:01 +02:00
Markus Heiser de179ecc5b [fix] remove debug print from commit e5305f8
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-05-28 15:17:59 +02:00
Markus Heiser d44b034817
Merge branch 'master' into master 2020-05-28 11:09:15 +00:00
resynth1943 e84cdb66ae Add autofocus to all search inputs 2020-05-27 13:49:00 +01:00
Markus Heiser fcc5af66d8 [fix] disable debug in settings.yml by default
debug was accidentally enabled in commit cbc08fd

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-05-21 15:16:49 +02:00
Sion Kazama 74e6f5d724 Revise outdated URLs 2020-05-19 20:47:35 +08:00
Markus Heiser c9f9e7da52 [build] rebuild of the oscar theme, build from ad208378
the CSS files has been build by:

    $ make themes.oscar

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-05-15 10:23:21 +02:00
Markus Heiser ad208378bb [fix] oscar theme, remove inline style attributes (CSP compliants)
Inline styles are blocked by default with Content Security Policy (CSP).  Move
the rest of inline styles to CSS and correct the HTML template of the oscar
preference page.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-05-15 10:16:49 +02:00
Markus Heiser e7788980ad [fix] about page- 'How to set as the default search engine?'
Searx supports OpenSearch, remove the inline JS from the about page.

close: https://github.com/asciimoo/searx/issues/1949
close: https://github.com/asciimoo/searx/issues/1616

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-05-12 14:17:47 +02:00
Markus Heiser 1fdd8cd3c0 Merge branch 'master' of https://github.com/asciimoo/searx into filtron 2020-04-22 14:24:59 +02:00
Émilien Devos 7a50522a82
Update default user agents 2020-04-21 20:50:16 +00:00
Markus Heiser 9302d1fc17
Merge branch 'master' into master 2020-04-20 12:44:50 +00:00
Markus Heiser 4b4e95f2c3 Merge branch 'master' of https://github.com/asciimoo/searx into filtron 2020-04-19 12:03:14 +02:00
Noémi Ványi bce3830b8d [fix] translate engine errors to Occitan when configured 2020-04-17 23:39:48 +02:00
Noémi Ványi ba7c8d7b96 [fix] remove usage of request context where not available 2020-04-17 23:39:48 +02:00
Noémi Ványi fcb44c6542
Merge branch 'master' into fix_startpage_ValueError_on_spanish_datetime 2020-04-15 23:33:16 +02:00
HLFH 3a26093c46
Remove discontinued faroo engine 2020-04-15 16:46:15 +01:00
Markus Heiser f2ca12b54f Merge branch 'master' of https://github.com/asciimoo/searx into filtron 2020-04-13 13:01:07 +02:00
Noémi Ványi 7878176bb0
Merge branch 'master' into wikimedia-projects 2020-04-12 21:35:37 +02:00
Splinter Suidman 83fa88cbec
fix: Change Wikiversity and Wikivoyage shortcuts to wv and wy.
Suggested by @Venca24 <https://github.com/asciimoo/searx/pull/1914#issuecomment-610194209>.
2020-04-07 11:05:35 +02:00
Splinter Suidman 87fba9c12d
fix: Remove unnecessary query parameter for Wikimedia projects. 2020-04-06 15:59:00 +02:00
Splinter Suidman c37544e6be
fix: Spelling of Wiktionary. 2020-04-06 12:31:32 +02:00
Splinter Suidman 2b453cb226
fix: Change Wikinews category to news. 2020-04-06 12:31:00 +02:00
Splinter Suidman 536eb2b8dd
Add Wikimedia projects.
A list of the added projects:
- Wikibooks
- Wikinews
- Wikiquote
- Wikisource
- Wiktionary
- Wikiversity
- Wikivoyage
2020-04-05 19:27:44 +02:00
Venca24 5cb9d9e56a [add] rubygems engine 2020-04-03 17:31:59 +02:00
Markus Heiser 81b9848eb9 Merge branch 'master' of https://github.com/asciimoo/searx into filtron 2020-03-31 18:29:00 +02:00
Dalf 4bb35e7ef5 [fix] template: fix typo in about.html 2020-03-31 16:52:52 +02:00
Markus Heiser 0742c2504d build environment: add GIT_BRANCH variable
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-29 16:28:17 +02:00
Markus Heiser 65b22be1f4 Merge PR #1900 of https://github.com/asciimoo/searx into filtron
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-29 13:03:27 +02:00
Markus Heiser 6846402d73 .gitignore: make package-lock.json visible
Even if we do not versioning them right now.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-26 15:35:32 +01:00
Markus Heiser 9717521981 Minor improvements of the HTML *about* page
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-26 13:45:37 +01:00
Markus Heiser 809e6f7933 make project: re-build generic files of the searx project
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-26 13:35:17 +01:00
Markus Heiser 5d087ee466 Rewrite of the HTL *about* page
The *about* page should only address higher-level issues that are important to
each user.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-26 13:09:29 +01:00
Markus Heiser 3486613a19 brands: hardcode ISSUE_URL and some links on the about-page
A *brand* of searx is a fork which might have its own design and some special
functions which might bee reasonable in a special context.

In this sense, the fork might have its own documentation but not its own issue
tracker.  The *upstream* of a brand is always https://github.com/asciimoo from
where the brand-fork pulls the master branch regularly.  A fork which has its
own issue tracker is a spin-off and out of the scope of the searx project
itself.  The conclusion is:

- hard code ISSUE_URL (in the Makefile)
- always refer to DOCS_URL
- links in the about page refer to the *upstream* (searx project)
  except DOCS_URL
- "fork me on github" ribbons refer to the *upstream*

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-26 10:58:25 +01:00
Markus Heiser 3381471933 brands: add ISSUE_URL
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-25 17:48:34 +01:00
Markus Heiser 4d64828237 webapp.py: expose the brand variable in the /config URL.
E.g. helpful for searx-stats2

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-25 17:28:32 +01:00
Markus Heiser ace7d30aed webapp.py: partial code review (no functional change)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-25 17:12:02 +01:00
Markus Heiser d471ec86dd Makefile: add target node.env - download & install npm dependencies
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-25 16:38:52 +01:00
Markus Heiser 757ebb5d9f [fix] brands: add variables from build env to grunt process
We have some variables in the build environment which are also needed in the
grunt process when building themes.  Theses variables are relavant if one
creates a fork with its own branding.  We treat these variables under the term
'brands'.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-25 14:09:47 +01:00
Markus Heiser aaf22baad2 make project: re-build generic files of the searx project
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-25 12:14:21 +01:00
Markus Heiser 04c687403e [fix] brands: add variables from build env to jinja templating
We have some variables in the build environment which are also needed in the
templating process.  Theses variables are relavant if one creates a fork with
its own branding.  We treat these variables under the term 'brands'.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-25 11:49:33 +01:00
Markus Heiser 95bed4910a Merge branch 'master' of https://github.com/asciimoo/searx into filtron 2020-03-23 14:46:25 +01:00
Adam Tauber 9a2f26d915 [enh] submit search on suggestion select - closes #807 2020-03-23 14:01:33 +01:00
Adam Tauber 65cae85735 [fix] load new page with infinite scroll if there is no scrollbar - fixes #759 2020-03-23 13:05:19 +01:00
Adam Tauber 2621c24cc7 [enh] add clear search button to oscar theme - fixes #454 2020-03-23 12:41:02 +01:00
Markus Heiser baddb8d3eb Merge branch 'master' of https://github.com/asciimoo/searx into filtron 2020-03-21 18:46:26 +01:00
Adam Tauber 822aee94a2 [fix] remove debug print 2020-03-16 00:22:38 +01:00
Adam Tauber baca55c94e [fix] handle weights in accept language parsing - fixes w3ms en;q=1.0 2020-03-16 00:22:15 +01:00
Markus Heiser 26b85659c0 Merge branch 'master' of https://github.com/asciimoo/searx into filtron 2020-03-15 09:19:26 +01:00
Adam Tauber 58a630308a [fix] convert query to string to produce valid filename for csv output 2020-03-13 00:57:01 +01:00
Adam Tauber 018b681841 [fix] add answers, suggestions, corrections to csv output
fixes #1888
2020-03-13 00:50:19 +01:00
Adam Tauber 9bc24080bf [fix] add answers, suggestions, corrections to rss output
fixes #1888
2020-03-13 00:43:05 +01:00
Spühler Stefan 4f90fb6a92 [Fix] Startpage ValueError on Spanish date format
datetime.parser.parse() does not know the Spanish date format which
leads to a ValueError. Fixes #1870

Traceback (most recent call last):
  File "/usr/local/searx/searx/search.py", line 160, in search_one_http_request_safe
    search_results = search_one_http_request(engine, query, request_params)
  File "/usr/local/searx/searx/search.py", line 97, in search_one_http_request
    return engine.response(response)
  File "/usr/local/searx/searx/engines/startpage.py", line 102, in response
    published_date = parser.parse(date_string, dayfirst=True)
  File "/usr/local/searx/searx-ve/lib/python3.6/site-packages/dateutil/parser/_parser.py", line 1358, in parse
    return DEFAULTPARSER.parse(timestr, **kwargs)
  File "/usr/local/searx/searx-ve/lib/python3.6/site-packages/dateutil/parser/_parser.py", line 649, in parse
    raise ValueError("Unknown string format:", timestr)
ValueError: ('Unknown string format:', '24 Ene 2013')
2020-03-09 09:31:20 +01:00
Markus Heiser cbc08fdc26 docs: describe uwsgi setup of all suported distributions
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-04 19:56:40 +01:00
Markus Heiser ad7a6e6e10 bugfix(!biv) : bing-video do not like "older" User-Agents
When selecting other languages than 'en', bing-video did not handle the language
correct and gave very bad results.  Since User-Agent is normaly rotated in
searx, the behavior of a !biv search was unpredictable and paging was broken.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-01 17:28:59 +01:00
Markus Heiser 1c853f9573 bing_news: parital rollback of c89c05bc
The bing_news bug (discussed in #1838) was caused by wrong language tags, which
was fixed e0c99d9d / no need to change the bing_news search string.

closes: https://github.com/asciimoo/searx/issues/1838

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-01 11:07:59 +01:00
Markus Heiser 79412828cd update languages: engines_languages.json languages.py
build by Makefile target:

    make project

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-01 08:06:51 +01:00
Markus Heiser e0c99d9dcb bugfix: fetch_supported_languages bing, -news, -videos, -images
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-01 08:01:36 +01:00
Markus Heiser 40843fe95a searx/data/engines_languages.json: sort json file (no content change)
To get meaningfull diffs, the json file has to be sorted.  Before applying any
further content patch, the json file needs a inital sort (without changing any
content).

Sorted by::

  import sys, json

  with open('engines_languages.json') as f:
      j = json.load(f)

  with open('engines_languages.json', 'w') as f:
      json.dump(j, f, indent=2, sort_keys=True)

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-01 07:56:46 +01:00
Markus Heiser c89c05bceb bugfix: google-news and bing-news has changed the language parameter
closes: https://github.com/asciimoo/searx/issues/1838

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-25 18:44:28 +01:00
Markus Heiser 8685d1b7d8
Merge branch 'master' into fix-prefs 2020-02-24 08:16:42 +01:00
Markus Heiser aa95a0d70b searx/testing.py: fixed pep8 error
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-24 07:55:14 +01:00
Marc Abonce Seguin 51e78211de monkey patch babel get_translations to support Occitan 2020-02-23 21:46:26 -07:00
Markus Heiser 81f106e5de searx/testing.py: bugfix process model (do not use Flask's debug mode)
Don't enable Flask's debug mode, the debugger from Flask will cause a wired
process model, where the server never dies.  Further read:

- debug mode: https://flask.palletsprojects.com/quickstart/#debug-mode
- Flask.run(..): https://flask.palletsprojects.com/api/#flask.Flask.run

closes: https://github.com/asciimoo/searx/issues/1862

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-23 23:03:05 +01:00
Markus Heiser 4a94b4cca6 searx/testing.py: pylint & SPDX tag (no functional change)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-23 22:51:07 +01:00
Markus Heiser 1cae4fa88d preferences.py: implement defaults if unset
Implemnts defaults for:

- search.default_lang, search.autocomplete, search.safe_search,
- ui.default_theme, ui.default_locale
- server.image_proxy

This fixes also:

  https://github.com/asciimoo/searx/pull/1860#issuecomment-590082955

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-23 20:56:05 +01:00
Markus Heiser 179be12732 preferences.py: pylint, SPDX tag & docstrings (no functional change)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-23 20:52:00 +01:00
Markus Heiser b7105da2af Add missing autocomplete backends to settings.yml comment
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-23 15:41:08 +01:00
Markus Heiser 78c5216d76
Merge branch 'master' into autocomplete_swisscows 2020-02-23 14:24:42 +00:00
Markus Heiser 98322ac15c
Merge branch 'master' into engine-etools 2020-02-23 11:47:49 +00:00
Marc Abonce Seguin c0006cadf7 fix default locale and language issues 2020-02-23 02:03:42 -07:00
Adam Tauber 6df4172887 [fix] allow settin custom locale from settins.yml 2020-02-18 00:56:27 +01:00
piplongrun b136480546
Add Swisscows autocomplete option 2020-02-14 19:19:24 +01:00
Dalf 88f9ac58f4 [mod] move public instance list to https://searx.space 2020-02-14 13:48:44 +01:00
piplongrun e1b60106b7
Add etools engine to the list 2020-02-12 23:59:18 +01:00
piplongrun f0684a5bb5
Add eTools engine 2020-02-12 23:58:50 +01:00
Markus Heiser 7c79eb9b1b Merge commit 'refs/pull/1621/head' of https://github.com/asciimoo/searx
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-08 15:08:33 +01:00
Noémi Ványi 99435381a8 [enh] introduce private engines
This PR adds a new setting to engines named `tokens`.
It expects a list of tokens which lets searx validate
if the request should be accepted or not.
2020-02-08 11:47:39 +01:00
Nicolas Gelot b8b13372c8 Fix deprecated werkzeug import
Close: #1830
Signed-off-by: Nicolas Gelot <nicolas.gelot@e.email>
2020-02-06 22:49:35 +01:00
Adam Tauber 6060ab85f8 [enh] version v0.16.0 2020-01-30 13:39:06 +01:00
Adam Tauber b6a2aff94a [enh] update translations 2020-01-30 11:16:15 +01:00
Adam Tauber 8e3bd3fcbd [mod] add py2 deprecation warning to webapp 2020-01-28 15:52:50 +01:00
Markus Heiser e64ff38217
Merge branch 'master' into fix-infinite-scroll 2020-01-28 10:59:03 +00:00
frankdelange db9d7d47bd Fix double-encode error (fixes #1799) 2020-01-07 21:41:43 +01:00
Markus Heiser 1d86d0054f
Merge branch 'master' into bug/oscar-theme 2020-01-06 08:05:29 +00:00
Adam Tauber 17b6faa4c3 [fix] pep8 2020-01-02 22:38:12 +01:00
Adam Tauber ad5bb994b1 [fix] add py3 compatibility 2020-01-02 22:30:18 +01:00
Adam Tauber 1e6253ce16 [fix] handle empty response 2020-01-02 22:29:55 +01:00
Adam Tauber 86a378bd01 [fix] handle missing thumbnail 2020-01-02 22:29:28 +01:00
Adam Tauber 2dc2e1e8f9 [fix] skip invalid encoded attributes 2020-01-02 22:29:10 +01:00
Adam Tauber 2292e6e130 [fix] handle missing result size 2020-01-02 22:28:47 +01:00
Adam Tauber a1b85571a2 [fix] tmp suspend insecure engines 2020-01-02 22:28:18 +01:00
Markus Heiser 36e72a4619
Merge branch 'master' into fix-engine-spotify 2019-12-29 09:47:06 +01:00
Markus Heiser 38dad2e8e3
Merge branch 'master' into ne/fix-infinite_scroll-with-vim_bindings 2019-12-24 15:42:05 +01:00
Markus Heiser fb668e2075
Merge branch 'master' into libgen 2019-12-24 13:33:07 +01:00
Vipul 8bea927bb0 [Fix] oscar: no HTML escaping prior to output
When results are fetched from any programming related documentation site
(like git-scm.com, docs.python.org etc), content in Info box is shown as
raw HTML code.

This change addresses the issue by using "safe" filter feature provided by
Django. See,
  - https://docs.djangoproject.com/en/3.0/ref/templates/builtins/#safe
  - Searx issue tracker (issue #1649), for more information.

Resolves: #1649
2019-12-24 15:11:48 +05:30
Markus Heiser 70f7142824
Merge branch 'master' into bug/oscar-theme 2019-12-23 18:47:23 +01:00
Vipul f407dd8ef4
Switch to https for some domains 2019-12-22 13:39:00 +00:00
Vipul ee6781d777
[Fix] Libgen engine
Libgen has switched to new domain (i.e https://libgen.is) with TLS
support and older domain (i.e. http://libgen.io) is no longer
accessible. See, https://en.wikipedia.org/wiki/Library_Genesis, for more
information.

Resolves: #1693
2019-12-22 13:04:46 +00:00
Marc Abonce Seguin 495ae59b31 hide suggestions box if empty
This bug happens only in python3
because map returns an iterator.
2019-12-21 22:47:08 -06:00
Marc Abonce Seguin 5706c12fba remove empty parenthesis in wikipedia's summary
They're usually IPA pronunciations which are removed
by the API.
2019-12-21 22:47:08 -06:00
Marc Abonce Seguin c18048e045 exclude disambiguation pages from wikipedia infobox 2019-12-21 22:47:08 -06:00
Vipul 6a5aae6530
[Fix] oscar: no HTML escaping prior to output
When results are fetched from any programming related documentation site
(like git-scm.com, docs.python.org etc), content in Info box is shown as
raw HTML code.

This change addresses the issue by using "safe" filter feature provided by
Django. See,
  - https://docs.djangoproject.com/en/3.0/ref/templates/builtins/#safe
  - Searx issue tracker (issue #1649), for more information.

Resolves: #1649
2019-12-22 02:27:45 +00:00
Vipul 36ca2dcc56
[Fix] oscar: move info box at top of the page
In low width devices like mobile, tablet etc, info box is present at
bottom of the page.

This change addresses the issue by rearranging column grids for low
width devices and move side bar at top of the page. See
  - https://getbootstrap.com/docs/3.3/css/#grid-column-ordering.
  - and Searx issue tracker (issue#1777), for more information.

Effect: Along with Info, Suggestion and Link boxes also move to top of
the page.

Resolves: #1777
2019-12-22 02:27:42 +00:00
Adam Tauber 34ad3d6b34 [enh] display error message if gigablast extra param expired 2019-12-21 21:25:50 +01:00
Adam Tauber fc457569f7 [fix] pep8 2019-12-21 21:13:43 +01:00
Adam Tauber 00512e36c1 [fix] handle empty response from wikipedia engine - closes #1114 2019-12-21 21:01:08 +01:00
Adam Tauber f8713512be [fix] convert byte query to string in osm engine - fixes #1220 2019-12-21 20:56:38 +01:00
Adam Tauber e5305f886c [fix] fetch extra search param of gigablast - fixes #1293 2019-12-21 20:51:30 +01:00
Adam Tauber 8850036ded [fix] add explicit useragent header to requests - closes #1459 2019-12-21 20:25:39 +01:00
Nick Espig 0ae86cd168
Fix not jumping to results loaded by infinite scroll
Infinite scroll adds a `hr` tag to split up the sections loaded by it.
The vim bindings `j` and `k`, which jump to the next and previous result
respectively, search for a **direct** sibling with the class `result`.
With the `hr` between results a direct sibling cannot be found. To fix
this we remove the restriction of it having to be a direct sibling.
2019-12-16 19:31:29 +01:00
Adam Tauber 3f93fe04d8
Merge pull request #1752 from MarcAbonce/user-agents-update
User agents update
2019-12-11 15:45:02 +00:00
Dalf 0e7b6c9a03 [mod] infinite scroll: XHR requests are sent with the header "Accept: text/html".
Fix https://github.com/searx/searx-docker/issues/16
2019-12-11 14:34:25 +01:00
Markus Heiser a3b5f3230c theme: oscar - remove dust (comes from PR #1671 implementation)
was inadvertently included in the commit [1]

[1] f34ac58752 (diff-0243d1c24e9981002156cc87cc10bd53R103)

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2019-12-10 18:33:36 +01:00
Markus Heiser f373169c84 theme: oscar - add accesskey to input tags
l - language field
s - search field
t - time range field

The way to activate the accesskey depends on the browser and its platform [1]

[1] https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/accesskey

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2019-12-10 18:20:51 +01:00
Markus Heiser 57c6fa6e63 theme: oscar - fix auto-submit on language seletion
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2019-12-10 18:16:45 +01:00
Markus Heiser 2a5c39e33c theme: oscar - tidy up trailing whitespaces and tab usage
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2019-12-10 18:10:33 +01:00
Markus Heiser 9988cdcbc5 Merge branch 'master' of https://github.com/asciimoo/searx into dos2unix
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2019-12-10 17:35:23 +01:00
Dalf f34ac58752 [mod] tidy oscar HTML output 2019-12-10 10:58:30 +01:00
Markus Heiser 56b7e05721 themes: remove CR from newlines
Adding a CR in  some files and in others not,  is  a good starting point for a
DOS+Unix mess we all have already seen in many projects.

Patch fixes all files matching (even those comming from grunt's build)::

   find ./searx -exec file {} \; | grep CR

BTW: Same with mixing TAB and SPACE indent styles in one and the same file.  So
if sources are tuched here in this patch, its also fixed.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2019-12-08 15:33:46 +01:00
Marc Abonce Seguin ccaf6ca02c [fix] update xpaths for new google results page 2019-12-07 16:37:24 -07:00
Adam Tauber 731e34299d
Merge pull request #1744 from dalf/optimizations
[mod] speed optimization
2019-12-02 13:39:58 +00:00
Adam Tauber 574cb25a16
Merge pull request #1758 from return42/ddd-fix
[fix] duckduckgo_definitions
2019-12-02 13:38:54 +00:00
Markus Heiser 30ad0c666d duckduckgo_definitions: remove the debug message
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2019-12-02 14:26:11 +01:00
Adam Tauber 20da8f2cbf
Merge pull request #1754 from MarcAbonce/seedpeer
Add Seedpeer again
2019-12-02 13:09:09 +00:00
Markus Heiser b6d9f5aa71 [fix] duckduckgo_definition issues reported by 'manage.sh test'
Fix this error while travis build::

  /home/travis/build/asciimoo/searx/searx/engines/duckduckgo_definitions.py:21:44: E225 missing whitespace around operator

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2019-11-29 19:59:35 +01:00
Markus Heiser 4998e9ec85 [fix] duckduckgo_definitions - where 'AnswerType' is 'calc'
Do not try to get text when 'AnswerType' is 'calc'.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2019-11-29 19:20:14 +01:00
Markus Heiser 2aa95c16e3 [fix] soundcloud: URLs of JS sources has been moved
The client_id is found under (new) URL:

  https://a-v2.sndcdn.com/assets/49-a0c01933-3.js

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2019-11-29 15:05:36 +01:00
Adam Tauber 8721be2f7d
Merge pull request #1682 from Venca24/devel_mojeek
[fix] mojeek engine
2019-11-28 19:33:08 +00:00
Adam Tauber 789d71350d
Merge pull request #1745 from lorddavidiii/python3.8-fix
Fix python 3.8 compatibility
2019-11-28 19:31:59 +00:00
Adam Tauber 05033ea8d8
Merge pull request #1689 from MarcAbonce/images_fixes
[fix] Google Images
2019-11-26 13:20:19 +00:00
Marc Abonce Seguin 9299355570 add seedpeer again 2019-11-24 22:01:44 -07:00
Marc Abonce Seguin d0d91fa331 update user agents 2019-11-23 19:27:49 -07:00
Marc Abonce Seguin 94ca30de1b add a shortcut for utils/fetch_firefox_version.py in manage.sh 2019-11-23 19:26:48 -07:00
Emilien Devos 8f51430f5c [fix] Force Google old UI with a new user agent 2019-11-22 23:01:41 +01:00
lorddavidiii 5e5ff0cbf8 webapp.py: use html.escape if cgi.escape is not available
- cgi.escape was removed in python 3.8
- also use html.escape in framalibre.py
2019-11-16 21:58:25 +01:00
Dalf 85b3723345 [mod] speed optimization
compile XPath only once
avoid redundant call to urlparse
get_locale(webapp.py): avoid useless call to request.accept_languages.best_match
2019-11-15 09:33:15 +01:00
Mathieu Brunot e9d90d06a9
Merge branch 'master' into feature/accessibility 2019-10-29 23:53:08 +01:00
Noémi Ványi bf24b39fce
Merge branch 'master' into corrections_fix 2019-10-24 10:39:26 +02:00
Marc Abonce Seguin dede46a2d5 fix out of range error in tracker remover plugin 2019-10-22 23:17:00 -07:00
Marc Abonce Seguin b0f89ed477 [fix] preserve bangs in corrections 2019-10-22 21:41:50 -07:00
Mathieu Brunot a51b2b6c20
Merge branch 'master' into feature/accessibility 2019-10-16 19:30:02 +02:00
Noémi Ványi 5796dc60c9 fix pep 8 check 2019-10-16 15:52:48 +02:00
Noémi Ványi a6f20caf32 add initial support for offline engines && command engine 2019-10-16 15:52:48 +02:00
Adam Tauber 3c34e0c3a7 [mod] remove cloudflare protected digbt from engines list 2019-10-16 15:35:12 +02:00
Adam Tauber 7d8fd4b95e [fix] pep8 2019-10-16 15:32:03 +02:00
Adam Tauber bbe4442a86 [fix] update gigablast engine 2019-10-16 15:27:37 +02:00
Adam Tauber 1057e42cfd [fix] update digg engine 2019-10-16 15:11:42 +02:00
Adam Tauber 72459b246b [fix] convert bytes type to string in language detection (fixes dictzone) 2019-10-16 14:52:57 +02:00
Adam Tauber 7177c9e12f [fix] update devianart engine 2019-10-16 14:42:31 +02:00
Adam Tauber 6ca1622378 [fix] update 1x engine 2019-10-16 13:27:05 +02:00
Adam Tauber c98a2df36d [fix] enable paging support for arxiv engine 2019-10-16 13:12:17 +02:00
Adam Tauber ed1c1bdb04 [fix] pep8 2019-10-14 15:09:39 +02:00
Adam Tauber 27ed31c7a2 [fix] add message to SearxParameterException - fixes #1722 2019-10-14 15:06:25 +02:00
Adam Tauber 28c75c187f [fix] update query params sanitization - closes #722 2019-10-14 14:58:20 +02:00
Adam Tauber 07a0a50e0d [fix] update voat xpaths - closes #1581 2019-10-14 14:25:49 +02:00
Adam Tauber 77a70fe541 [fix] update startpage engine - closes #1601 2019-10-14 14:18:41 +02:00
Adam Tauber 3d0c22c58d [fix] normalize time range parameter 2019-10-14 14:18:02 +02:00
Adam Tauber 94ea9d6622 [fix] duckduckgo paging - closes #1677 2019-10-14 13:52:15 +02:00
mathieu.brunot 4d17d453bf
Add aria labels for oscar buttons
Signed-off-by: mathieu.brunot <mathieu.brunot@monogramm.io>
2019-10-14 01:36:11 +02:00
Marc Abonce Seguin bb4d223770 [fix] google images 2019-08-26 21:54:01 -07:00
Venca24 07d0250241 [fix] mojeek engine 2019-08-20 16:10:25 +02:00
Dalf 6fbba63c83 oscar and simple themes: no inline script (allow A+ Content-Security-Policy) 2019-08-06 12:14:11 +02:00
Frank de Lange e4e8e6da4c Add image format and source information to display (#1567)
Add image format and source information to display - needs changes to engines to actually display something. 

Displays result.source (website from which the image was taken) and result.img_format (image type and size).

Result is styled with result-format and result-source classes. See PR #1566 for an example of an engine which has the necessary changes.

Strip <span class="highlight">...</span> in the oscar image template.
2019-08-06 09:31:24 +02:00
Léo Bourrel 88261e111c Fix bing engine results count (#1387)
This PR fixes the result count from bing which was throwing an (hidden) error and add a validation to avoid reading more results than avalaible.

For example :
If there is 100 results from some search and we try to get results from 120 to 130, Bing will send back the results from 0 to 10 and no error. If we compare results count with the first parameter of the request we can avoid this "invalid" results.
2019-08-05 16:15:40 +02:00
Dalf 1cee2c1796 [fix] bing engine
before this commit, sometimes there are no results
use a generic user-agent instead of one with the OS "Windows NT 6.3; WOW64"
2019-08-05 15:46:40 +02:00
Dalf 9a378ca8c6 [fix] etymonline, voat engines 2019-08-05 15:44:22 +02:00
Dalf fcc9587ee9 [fix] fdroid engine 2019-08-05 15:44:02 +02:00
Dalf fbf6b689dd [fix] dictzone engine 2019-08-05 15:43:21 +02:00
Dalf 9ff5001816 [fix] arxiv engine 2019-08-05 15:43:01 +02:00
Alexandre Flament 333e54943d
[fix] fix monkey patch in test_webapp.py (#1667)
at the end of test_webapp.py, the monkey patch of searx.search.Search was not revert which lead to side effects on other tests
close #1663
2019-08-03 13:23:36 +02:00
Dalf ba80a0ba38 [fix] fix paging for the oscar theme after PR #1640 2019-08-02 20:04:37 +02:00
Alexandre Flament 72029d27de
[enh] Add timeout limit per request (#1640)
The new url parameter "timeout_limit" set timeout limit defined in second.
Example "timeout_limit=1.5" means the timeout limit is 1.5 seconds.

In addition, the query can start with <[number] to set the timeout limit.

For number between 0 and 99, the unit is the second :
Example: "<30 searx" means the timeout limit is 3 seconds

For number above 100, the unit is the millisecond:
Example: "<850 searx" means the timeout is 850 milliseconds.

In addition, there is a new optional setting: outgoing.max_request_timeout.
If not set, the user timeout can't go above searx configuration (as before: the max timeout of selected engine for a query).

If the value is set, the user can set a timeout between 0 and max_request_timeout using
<[number] or timeout_limit query parameter.

Related to #1077
Updated version of PR #1413 from @isj-privacore
2019-08-02 13:50:51 +02:00
Alexandre Flament 2179079a91
[fix] fix flickr_noapi decoding (#1655)
Characters that were not ASCII were incorrectly decoded.
Add an helper function: searx.utils.ecma_unescape (Python implementation of unescape Javascript function).
2019-08-02 13:37:13 +02:00
cy8aer 4dc792e1e2 [enh] add invidious engine. (#1657)
closes #1372
2019-08-02 13:25:25 +02:00
0xhtml b2e1ee8d35 Fix some more errors with none/wrong credentials 2019-07-31 21:09:02 +02:00
0xhtml 275b37cc7c Fix error if the user hasn't set api credentials 2019-07-31 21:01:24 +02:00
0xhtml ae3eeedb14 Require Spotify API credentials in settings 2019-07-31 20:51:01 +02:00
0xhtml c329ea135e Fix spotify engine 2019-07-31 20:44:41 +02:00
Dalf 0c032c8429 [fix] youtube_noapi engine: fix the title 2019-07-31 08:39:40 +02:00
Dalf 8b7ac56669 [fix] google_videos engine: some results don't a thumbnail 2019-07-31 08:38:45 +02:00
Dalf d44677e226 [fix] dailymotion engine: remove HTML tags from the description 2019-07-31 08:37:51 +02:00
Dalf 6e0285b2db [fix] wikidata engine: faster processing, remove one HTTP redirection.
* Search URL is https://www.wikidata.org/w/index.php?{query}&ns0=1 (with ns0=1 at the end to avoid an HTTP redirection)
* url_detail: remove the disabletidy=1 deprecated parameter
* Add eval_xpath function: compile once for all xpath.
* Add get_id_cache: retrieve all HTML with an id, avoid the slow to procress dynamic xpath '//div[@id="{propertyid}"]'.replace('{propertyid}')
* Create an etree.HTMLParser() instead of using the global one (see #1575)
2019-07-29 07:39:39 +02:00
Frank de Lange cbc5e13275 [enh] flickr_noapi: use complete JSON data block, add 'content', 'img_format', 'source', etc. (#1571)
Fetch complete JSON data block, use legend to extract images. 
Unquote urlencoded strings.
Add image description as 'content'. 
Add 'img_format' and 'source' data (needs PR #1567 to enable this data to be displayed). 
Show images which lack ownerid instead of discarding them.
2019-07-28 10:42:00 +02:00
Marc Abonce Seguin 59b1370824 [fix] small fixes in preferences view's text 2019-07-27 22:53:46 -07:00
Frank de Lange 204a2cbbf0 [fix] bing_videos (#1579)
use JSON where possible, compose 'content' using all available data, use correct 'url' (direct to source instead of redirect through bing)
2019-07-27 17:49:30 +02:00
Dalf 70a01e5f02 [fix] don't merge image results if the img_src is different 2019-07-27 08:52:30 +02:00
Dalf 23611897ec [fix] make sure then engine name is lower case
Minor fix: "%s engine initialized" display the right engine name
2019-07-27 08:52:30 +02:00
Dalf 8645ef717e [fix] settings.yml: make sure all engine names are lower case 2019-07-27 08:52:30 +02:00
Dalf 7d8000d965 [fix] "!wp !wp test" send only one request to wikipedia.
Note that "!general !wp test" is not fixed because the category for "!wp" is "none".
2019-07-27 08:52:30 +02:00
Dalf 2fab23ab9a [fix] fix the debug message "starting webserver on ip:port"
was "port:ip"
2019-07-27 08:52:30 +02:00
Marc Abonce Seguin e1bb0e33f2 [fix] escape perecent signs in translation file (#1528) 2019-07-27 09:01:02 +02:00
Frank de Lange 11fc9913e9 [enh] bing_images: use data from embedded JSON to improve results (e.g. real page title) (#1568)
use data from embedded JSON to improve results (e.g. real page title), add image format and source info (see PR #1567), improve paging logic (it now works)
2019-07-27 08:22:02 +02:00
Alexandre Flament f34b5cedb1
[fix] fixes google play engines (#1651)
update commit 87baa74a86
2019-07-25 09:31:47 +02:00
Jonas Zohren cac8e7c6b8 [enh] add npm search engine (#1510) 2019-07-25 08:54:26 +02:00
volth eb182df132 [mod] restore btdigg engine as btdig.com (#1515) 2019-07-25 08:40:48 +02:00
rachmadani haryono 3b1122c5fa [fix] fix duden engine (#1594) 2019-07-25 08:17:45 +02:00
Venca24 87baa74a86 [fix] fixes google play engines and adds thumbnails to their results (#1612)
fix google play apps, google play apps, google play music engines

xpath engine: thumbnail_xpath can define an optional thumbnail
2019-07-25 07:46:41 +02:00
Dalf da0ce5880f [fix] fix soundcloud engine, speed up searx start time 2019-07-19 08:59:11 +02:00
Dalf 7e201cbf65 [mod] use cache in _match_language function to speed up searx start time significantly 2019-07-19 08:58:08 +02:00
Alexandre Flament 554a21e1d0
[enh] Add Server-Timing header (#1637)
Server Timing specification: https://www.w3.org/TR/server-timing/

In the browser Dev Tools, focus on the main request, there are the responses per engine in the Timing tab.
2019-07-17 10:38:45 +02:00
Alexandre Flament cfcbc3a5c3
[mod] settings.yml: update comments about the morty key. (#1639)
Fix #1310
Since commit af77ec35d9bd28facdab645a3d57ae340d2b501c Morty accepts base64 encoded key.
2019-07-17 10:29:28 +02:00
rachmadani haryono ec88fb8a0f [fix] secret_key can be bytes instead of a string (#1602)
Fix #1600
In settings.yml, the secret_key can be written as string or as base64 encoded data using !!binary notation.
2019-07-17 10:09:09 +02:00
rachmadani haryono 8f44014627 [fix] preference query parameter decoding (#1599)
Fix issue #1598
2019-07-17 09:42:40 +02:00
Dalf c7220b40ea Suggestions: use RawTextQuery to make the suggestions URLs. Update all themes accordingly. 2019-07-17 09:05:29 +02:00
Alexandre Flament 4d38b8bef7
Merge branch 'master' into bang_fixes 2019-07-16 11:03:52 +02:00
Marc Abonce Seguin a3368c07a7 [enh] Add Interlingua locale (requires requirements update) 2019-07-15 13:38:51 -05:00
Dalf 45702b77ca embedded iframe (youtube, dailymotion, vimeo): use https 2019-07-13 15:49:59 +02:00
Dalf 609ac5795a .travis.yml: robot tests: remove the xvfb dependency 2019-07-13 15:49:59 +02:00
Alexandre Flament 3b8b862d8c
Merge branch 'master' into bang_fixes 2019-07-06 18:48:03 +02:00
Alexandre Flament 3faaf34e25
Fix ./manage.sh robot_tests (#1633)
doi_resolvers / default_doi_resolver were missing in the settings_robots.yml file, so the test server was not able to start (crash). Since the output wasn't displayed, it was not obvious why the Selenium couldn't connect to searx.
2019-07-06 18:47:35 +02:00
Marc Abonce Seguin 6626f01365 [fix] preserve bangs in suggestions and corrections 2019-07-01 19:52:34 -05:00
Marc Abonce Seguin 40272b0044 [fix] never pass bangs to autocomplete suggestions 2019-07-01 17:16:02 -05:00
Noémi Ványi 6c75052874
Merge branch 'master' into ne/improve-infinite-scroll 2019-06-30 13:45:09 +02:00
Noémi Ványi 1e30f19800
Merge branch 'master' into feature/fix-config 2019-06-24 23:10:22 +02:00
Nicolas Gelot 373a66be30 Fix locale and search language
Locale and search language was always defined with english value.

This patch inits the locale on `pre_request` in order to define the
default value of locale and language preferences.

Plus the `best_match` function provided by flask babel library did not
work as expected. So the function `match_language` provided
by searx is used to detect that the language from Accepted-Language
header can be used in searx project.
2019-06-17 23:19:15 +02:00
Nicolas Gelot a818d3241d Remove get local from request.args
args parameters are merged in form in pre_request, so
this patch removes that useless operation.
2019-06-17 23:13:04 +02:00
Nicolas Gelot db1dfa4a28 Add addr setup via SEARX_BIND_ADDRESS 2019-06-17 22:42:56 +02:00
Nick Espig 06979fa082
Load next page shortly before hitting the bottom
This improves the user experience by loading in the next entries shortly before him getting to the bottom. It makes the scrolling more smooth without a break in between.

It also fixes an error on my browser that scrolling never hits the defined number. When I debugged it I hit `.scrolltop` of 1092.5 and the `doc.height - win.height` of 1093, so the condition was never true.
2019-06-04 18:22:02 +02:00
rachmadani haryono 45eb2688d0
Merge branch 'master' into feature/fix-config 2019-05-29 19:17:28 +08:00
Emilien Devos cbd1ebdce8 [fix] Force Google old UI (#1597) 2019-05-29 10:05:57 +09:00
rachmadani haryono ac357b12e3
Merge branch 'master' into feature/fix-config 2019-05-28 19:16:58 +08:00
Frank de Lange 4b7332286a Use string formatter to create source and img_format labels (#1566)
google_images :  use JSON embedded in HTML (engine expected pure JSON)
2019-05-28 12:33:31 +09:00