Commit graph

2184 commits

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