Commit graph

2247 commits

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