Commit Graph

2868 Commits

Author SHA1 Message Date
Alexandre Flament
1c9e7cef50 [remove] remove searchcode_doc and twitter
* twitter: the API has changed. the engine needs to rewritten.
* searchcode_doc: the API about documentation doesn't exist anymore.
2020-12-09 13:14:31 +01:00
Alexandre Flament
fa73f10f11 [mod) genious: return valid results even if contents are empty 2020-12-09 13:01:34 +01:00
Alexandre Flament
42a194898b
Merge pull request #2360 from dalf/update-libgen
[mod] libgen: update the URL to http://libgen.rs/
2020-12-08 20:33:53 +01:00
Alexandre Flament
a77d8c8227
Merge pull request #2359 from dalf/update-duden
[mod] duden engine
2020-12-08 20:33:38 +01:00
Alexandre Flament
bd4869ecd0
Merge pull request #2366 from dalf/remove-seedpeer
[remove] seedpeer engine
2020-12-08 20:33:23 +01:00
Alexandre Flament
56c64d6b64 [remove] seedpeer engine
the website is offline.
2020-12-07 21:02:29 +01:00
Alexandre Flament
c1a9732268
Merge pull request #2364 from dalf/fix-youtube-noapi
[fix] youtube_noapi engine
2020-12-07 20:26:00 +01:00
Alexandre Flament
13d3004703
Merge pull request #2365 from dalf/fix-soundcloud
[fix] soundclound: accept result without content
2020-12-07 20:25:17 +01:00
Alexandre Flament
62073c0e1d
Merge pull request #2361 from dalf/fix-1x
[fix] 1x engine
2020-12-07 20:24:47 +01:00
Alexandre Flament
923bc02c17
Merge pull request #2363 from dalf/fix-wikipedia-minor
[fix] wikipedia: minor fix: return no result instead of crash in some very few cases.
2020-12-07 18:33:37 +01:00
Alexandre Flament
deb1bde20d [fix] soundclound: accept result without content 2020-12-07 17:45:36 +01:00
Alexandre Flament
34df0f7910 [fix] youtube_noapi engine 2020-12-07 17:44:31 +01:00
Alexandre Flament
58d51e082d [fix] wikipedia: minor fix: return no result instead of crash in some very few cases.
In few cases, the JSON results doesn't contains the key 'type'.
2020-12-07 17:42:05 +01:00
Alexandre Flament
4ec810749b [fix] 1x engine 2020-12-07 15:46:00 +01:00
Alexandre Flament
1e781863fa [fix] command engine: SearchQuery.query is str not bytes
see c225db45c8
2020-12-07 10:43:42 +01:00
Alexandre Flament
9bf594cbcf [mod] duden engine
* add params['soft_max_redirects'] = 1  (when there is spelling suggestion)
* avoid try..except
* use eval_xpath_* functions
2020-12-07 10:31:11 +01:00
Alexandre Flament
b3032cf953 [mod] libgen: update the URL to http://libgen.rs/
https://libgen.is actually redirect to http://libgen.rs/

It seems there is no HTTPS version:
* https://www.wikidata.org/wiki/Q22017206
* https://librarygenesis.net/
2020-12-07 10:19:34 +01:00
Alexandre Flament
a458451d20
Merge pull request #2356 from dalf/fix-ddd
[fix] duckduckgo_definitions: fix relative image URL
2020-12-07 10:16:53 +01:00
Alexandre Flament
925bb561a2
Merge pull request #2352 from dalf/no_http
Remove HTTP connections as much as possible
2020-12-06 10:18:49 +01:00
Alexandre Flament
28cc644f0a [fix] duckduckgo_definitions: fix relative image URL
ddg returns relative URL to https://duckduckgo.com/
2020-12-06 10:14:09 +01:00
Alexandre Flament
cdceec1cbb
Merge pull request #2354 from dalf/fix-wikipedia
[fix] wikipedia engine: don't raise an error when the query is not found
2020-12-04 20:42:45 +01:00
Alexandre Flament
f0054d67f1 [fix] wikipedia engine: don't raise an error when the query is not found
Add a new parameter "raise_for_status", set by default to True.
When True, any HTTP status code >= 300 raise an exception ( #2332 )
When False, the engine can manage the HTTP status code by itself.
2020-12-04 20:04:39 +01:00
Alexandre Flament
bef2f2efa8 [fix] wikidata: fix crash when the item has no description at all and at least one URL. 2020-12-04 17:17:20 +01:00
Alexandre Flament
244e812f37 [fix] remove searx/engines/filecrop.py (dead code) 2020-12-04 16:48:15 +01:00
Alexandre Flament
0226ae69d3 [fix] dbpedia autocomplete (and use HTTPS) 2020-12-04 16:47:43 +01:00
Alexandre Flament
fa909c7c02 [mod] stackoverflow & yandex: detect CAPTCHA response 2020-12-03 13:23:19 +01:00
Alexandre Flament
d0d7a3e1c2 [fix] settings_loader: don't crash when a key exists only in the user settings
typical use case: result_proxy can be defined in the user settings,
but are not defined the default settings.yml
2020-12-03 11:35:12 +01:00
Alexandre Flament
64cccae99e [mod] various engines: use eval_xpath* functions and searx.exceptions.*
Engine list: ahmia, duckduckgo_images, elasticsearch, google, google_images, google_videos, youtube_api
2020-12-03 10:22:48 +01:00
Alexandre Flament
ad72803ed9 [mod] xpath, 1337x, acgsou, apkmirror, archlinux, arxiv: use eval_xpath_* functions 2020-12-03 10:22:48 +01:00
Alexandre Flament
de887c6347 [mod] bing_news: use eval_xpath_getindex
remove unused function searx.utils.list_get
2020-12-03 10:22:48 +01:00
Alexandre Flament
1d0c368746 [enh] record details exception per engine
add an new API /stats/errors
2020-12-03 10:22:48 +01:00
Alexandre Flament
6b5a578822
Merge pull request #2285 from return42/fix-digg
bugfix & refactor digg engine
2020-12-03 10:20:40 +01:00
mrwormo
2b153db74c Disable Invidious engine by default 2020-12-02 21:56:11 +01:00
Markus Heiser
bef185723a [refactor] digg - improve results and clean up source code
- strip html tags and superfluous quotation marks from content
- remove not needed cookie from request
- remove superfluous imports

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-12-02 21:54:27 +01:00
Markus Heiser
6b0a896f01 [mod] digg - pylint searx/engines/digg.py
Eliminate redundant file names which are tested by test.pylint and ignored by
test.pep8

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-12-02 20:59:30 +01:00
Markus Heiser
173b744ef0 [fix] digg - the ISO time stamp of published date has been changed
Error pattern::

    Engines cannot retrieve results:
    digg (unexpected crash time data '2020-10-16T14:09:55Z' does not match format '%Y-%m-%d %H:%M:%S')

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-12-02 20:40:12 +01:00
Alexandre Flament
b00d108673 [mod] pylint: numerous minor code fixes 2020-12-01 15:21:19 +01:00
Alexandre Flament
9ed3ee2beb [mod] wikidata: WDGeoAttribute class: doesn't change the method signature of get_str 2020-12-01 15:21:17 +01:00
Alexandre Flament
3cfef61123 [fix] /stats: report error percentage instead of error count
This bug exists since the PR https://github.com/searx/searx/pull/751
2020-12-01 15:07:09 +01:00
Alexandre Flament
a1e6bc4cee
Merge pull request #2291 from dalf/settings2
[enh] user settings can relied on the default settings
2020-12-01 14:57:12 +01:00
Alexandre Flament
f1e016e9ea [mod] oscar theme: added option into gruntfile.js for generate sourceMap
Credits go to @mrwormo  (see PR #2308 )
2020-12-01 10:07:01 +01:00
GazoilKerozen
1b700738eb
[fix] fix the reset button in the oscar theme (#2306)
Rely on javascript instead of type="clear"

Close #2009
2020-11-30 16:30:21 +01:00
Noémi Ványi
4a36a3044d
Add recoll engine (#2325)
recoll is a local search engine based on Xapian:
http://www.lesbonscomptes.com/recoll/

By itself recoll does not offer web or API access,
this can be achieved using recoll-webui:
https://framagit.org/medoc92/recollwebui.git

This engine uses a custom 'files' result template

set `base_url` to the location where recoll-webui can be reached
set `dl_prefix` to a location where the file hierarchy as indexed by recoll can be reached
set `search_dir` to the part of the indexed file hierarchy to be searched, use an empty string to search the entire search domain
2020-11-30 08:35:15 +01:00
Alexandre Flament
b4b81a5e1a [enh] settings.yml: add use_default_settings option (2nd version) 2020-11-27 19:40:04 +01:00
M. Efe Çetin
d1f527c3af
Photon API Link Update
Via https://photon.komoot.io/
2020-11-27 10:22:28 +03:00
Alexandre Flament
1cfe7f2a75 [enh] settings.yml: add use_default_settings option
This change is backward compatible with the existing configurations.

If a settings.yml loaded from an user defined location (SEARX_SETTINGS_PATH or /etc/searx/settings.yml),
then this settings can relied on the default settings.yml with this option:
user_default_settings:True
2020-11-26 18:27:27 +01:00
Alexandre Flament
6ada5bac60
Merge pull request #2327 from renyhp/master
Add preference for displaying advanced settings
2020-11-26 17:37:43 +01:00
renyhp
0323606691 Remove unused lines 2020-11-26 17:26:19 +01:00
renyhp
844ae0b310 Fix syntax error 2020-11-26 16:27:46 +01:00
renyhp
4979b4f9d9 Another patch 2020-11-26 15:34:53 +01:00
renyhp
22489c4b5f Patch advanced search preferences 2020-11-23 19:13:29 +01:00
renyhp
b00f77059c Add preference for displaying advanced settings 2020-11-22 18:16:43 +01:00
Alexandre Flament
3786920df9 [enh] Add multiple outgoing proxies
credits go to @bauruine see https://github.com/searx/searx/pull/1958
2020-11-20 15:29:21 +01:00
Noémi Ványi
80a8bc5ad9 Fix type of unresponsive_engines
Previously __get_translated_errors
returned a list. But unresponsive_engines
is a set.

Closes #2305
2020-11-17 23:22:45 +01:00
Markus Heiser
c71d214b0c [refactor] deviantart - improve results and clean up source code
Devian's request and response forms has been changed.

- fixed title
- fixed time_range_dict to 'popular-*-***'
- use image from <noscript> if exists
- drop obsolete "http to https, remove domain sharding"
- use query URL https://www.deviantart.com/search/deviations?page=5&q=foo
- add searx/engines/deviantart.py to pylint check (test.pylint)

Error pattern::

    There DEBUG:searx:result: invalid title: {'url': 'https://www.deviantart.com/  ...

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-11-14 17:09:56 +01:00
Alexandre Flament
3038052c79 [mod] remove unused import
use
from searx.engines.duckduckgo import _fetch_supported_languages, supported_languages_url  # NOQA
so it is possible to easily remove all unused import using autoflake:
autoflake --in-place --recursive --remove-all-unused-imports searx tests
2020-11-14 14:11:02 +01:00
Alexandre Flament
c3d9b17c2a
Merge pull request #2292 from kvch/elasticsearch-engine
New engine: Elasticsearch
2020-11-14 13:25:08 +01:00
Alexandre Flament
102c08838b
Merge pull request #2289 from dalf/pylint
[mod] pylint: add extension-pkg-whitelist=lxml.etree
2020-11-14 13:24:31 +01:00
Alexandre Flament
46b454277f
Merge pull request #2309 from dalf/mod_search_repr
[mod] searx.search: EngineRef, SearchQuery: add __repr__ and __eq__ methods
2020-11-14 13:23:44 +01:00
Alexandre Flament
ebed1461bc
Merge pull request #2300 from dalf/fix-webapp-index
[fix] fix of / and /search
2020-11-14 13:23:03 +01:00
Noémi Ványi
43e697681e New engine: Elasticsearch 2020-11-10 19:53:38 +01:00
Alexandre Flament
8fc74d0d7b [mod] searx.search: EngineRef, SearchQuery: add __repr__ and __eq__ methods 2020-11-10 10:45:40 +01:00
Alexandre Flament
b3a3ccf2db [fix] fix of / and /search
* URL / : the index page displayed the selected or the default category.
* URL / : when the q parameter is set using the URL, the redirect includes the URL query.
* URL /search : an empty query doesn't raise an exception.
2020-11-06 12:11:52 +01:00
Adam Tauber
063260d090 [enh] add default http headers - closes #715 2020-11-05 16:14:23 +01:00
Adam Tauber
1b42d42695
Merge pull request #2290 from dalf/fix-misc
Various bug fixes
2020-11-03 15:12:25 +01:00
Alexandre Flament
58d72f2692 [mod] pylint: minor code change to allow pylint globally
This commit is only a step, it doesn't fix all the issues reported by pylint
2020-11-03 11:35:53 +01:00
Alexandre Flament
e28b56e262 [fix] webadapter: fix locked categories 2020-11-03 10:55:49 +01:00
Alexandre Flament
eed43783f9 [fix] comamnd engine: fix import 2020-11-03 10:55:08 +01:00
Alexandre Flament
a08df82574 [fix] scanr_structure engine: fix import 2020-11-03 10:54:02 +01:00
Marc Abonce Seguin
8d71420b45 [mod] separate index and search routes
This makes it easier to separately handle search and index requests
from a web server or from a reverse proxy.

If a request to index contains a query, a permanent redirect HTTP response
is returned. This should give some level of backwards compatibility
for users that have set a searx instance in their browser's search bar.
2020-11-02 20:04:03 -07:00
Alexandre Flament
95bd6033fa [mod] wikidata engine: use one SPARQL request instead of 2 HTTP requests. 2020-10-28 08:09:25 +01:00
Alexandre Flament
ca593728af [mod] duckduckgo_definitions: display only user friendly attributes / URL
various bug fixes
2020-10-28 08:09:25 +01:00
Alexandre Flament
382fded665 [mod] result.py: merge infobox URL and attributes when the same label or the same entity
entity are wikidata entity (like "Q42" for "Douglas Adams", see https://www.wikidata.org/wiki/Q42 )
2020-10-28 08:09:25 +01:00
Alexandre Flament
23f4203dfb [fix] simple theme: infobox: remove useless entity information 2020-10-28 08:09:25 +01:00
Alexandre Flament
ed6696e6bf [mod] add external_urls.json and wikidata_units.json 2020-10-28 08:09:25 +01:00
Alexandre Flament
5e7060053c [mod] ahmia_filter.py: minor changes
- use result['parsed_url']
- load ahmia_blacklist.txt in searx.datae
2020-10-27 20:00:04 +01:00
Adam Tauber
db703a0283
Merge pull request #565 from MarcAbonce/onions
New category: Onions
2020-10-26 14:20:58 +01:00
Adam Tauber
2aef38c3b9 [fix] resolve query_parts regression 2020-10-26 14:15:59 +01:00
Marc Abonce Seguin
32957cdf49 add Ahmia filter plugin for onion results 2020-10-25 17:59:43 -07:00
a01200356
c3daa08537 [enh] Add onions category with Ahmia, Not Evil and Torch
Xpath engine and results template changed to account for the fact that
archive.org doesn't cache .onions, though some onion engines migth have
their own cache.

Disabled by default. Can be enabled by setting the SOCKS proxies to
wherever Tor is listening and setting using_tor_proxy as True.

Requires Tor and updating packages.

To avoid manually adding the timeout on each engine, you can set
extra_proxy_timeout to account for Tor's (or whatever proxy used) extra
time.
2020-10-25 17:59:05 -07:00
Noémi Ványi
33e139cae6 Let admins lock user preferences 2020-10-25 18:06:18 +01:00
Nicholas Kegler
8e15d3e4c1 Open Semantic Search Engine 2020-10-25 17:50:00 +01:00
Adam Tauber
aa3c18dda9 [enh] allow searx query parts anywhere in the query - closes #831 2020-10-25 17:40:36 +01:00
Venca24
2b93e70a26 [fix] code style 2020-10-24 09:20:55 +02:00
Venca24
1cbcf2ccb6 [mod] adapt hash plugin to current version of searx 2020-10-23 21:35:13 +02:00
Venca24
40c552c11e [fix] hash plugin 2020-10-23 21:26:42 +02:00
Venca24
69e5a58058 [fix] code style 2020-10-23 21:26:42 +02:00
Venca24
1ea9438f5d [fix] hash plugin 2020-10-23 21:25:10 +02:00
Venca24
c9593c8ffd [enh] add plugin converting strings into hash digests 2020-10-23 21:25:10 +02:00
Noémi Ványi
116f7a6daa Force admins to set secret_key if debug mode is disabled
This commit also enables debug mode for unit tests.
2020-10-09 18:31:42 +02:00
Noémi Ványi
e158eeee4b Propagate error messages from YouTube API 2020-10-09 17:34:26 +02:00
Adam Tauber
835d16cbb1
Merge pull request #2255 from kvch/yacy-improvements
Add yacy improvements: HTTP digest auth, category checking
2020-10-09 16:34:42 +02:00
Alexandre Flament
cfd21bc475 [fix] fix duckduckgo engine
- remove paging support: a "vqd" parameter is required between each request. This parameter is uniq for each request
- update the URL (no redirect), use the POST method
- language support: works if there is no more than request per minute, otherwise it is ignored !
2020-10-09 16:00:42 +02:00
Noémi Ványi
72c7fd25fe Add yacy improvements: HTTP digest auth, category checking 2020-10-09 15:06:05 +02:00
Adam Tauber
a05c660e30 [enh] add ability to set enabled plugins from settings - closes #1613 #778 2020-10-09 14:12:31 +02:00
Noémi Ványi
ce000a9fef Fix XPATH of lobste.rs engine && add timeout 2020-10-09 12:56:37 +02:00
Adam Tauber
da8b227044 [fix] use base_url everywhere if it is defined in settings.yml 2020-10-08 14:19:09 +02:00
Noémi Ványi
f0278d41fc add ebay enginte to shopping category 2020-10-08 13:20:55 +02:00
Alexandre Flament
a9dc54bebc [mod] Add searx.data module
Instead of loading the data/*.json in different location,
load these files in the new searx.data module.
2020-10-07 10:29:34 +02:00
Alexandre Flament
e30dc2f0ba
Merge pull request #2247 from dalf/fix-opensearch
[fix] opensearch.xml URL contains method and autocomplete parameters
2020-10-07 10:14:57 +02:00
Alexandre Flament
474d56c77f
Merge pull request #2248 from dalf/fix-webadapter
[fix] various fixes of searx.webadapter
2020-10-07 10:12:10 +02:00
Alexandre Flament
d5950079cf [fix] fix searx.webadapter
* Fix "?q=test&engines=wikipedia": fix exception
* Fix "?q=test&engines=wikipedia&categories=images": now the engines from images category are included.
* Fix parse_timeout: make sure a value is always returned
* Various typing fixes (searx.webadapter, searx.search.SearchQuery)
2020-10-06 15:23:19 +02:00
Alexandre Flament
8659212f5a [fix] drop Python 2: use collections.abc.Iterable instead of collections.Iterable 2020-10-06 09:43:24 +02:00
Alexandre Flament
15013e64d8 [fix] drop Python 2: use importlib instead of imp.load_source
imp.load_source is not documented in Python 3
see documentation : https://docs.python.org/3/library/importlib.html#importing-a-source-file-directly

partial fix of https://github.com/searx/searx/issues/1674
2020-10-06 09:42:11 +02:00
Alexandre Flament
bfdad7bc0f [fix] opensearch.xml URL contains method and autocomplete parameters
When the user add searx as a search engine, the browser loads the /opensearch.xml URL without the cookies.
Without the query parameters, the user preferences are ignored (method and autocomplete).

In addition, opensearch.xml is modified to support automatic updates,
see https://developer.mozilla.org/en-US/docs/Web/OpenSearch
2020-10-06 00:54:37 +02:00
Alexandre Flament
584760cf54
Merge pull request #2237 from dalf/mod-engines-init
Mod engines init
2020-10-05 11:20:46 +02:00
Alexandre Flament
6c39917c4d [mod] webapp.py: update engines initialization condition
Always call initialize engines except on the first run of werkzeug with the reload feature.

the reload feature is activated when:
* searx_debug is True (SEARX_DEBUG environment variable or settings.yml)
* FLASK_APP=searx/webapp.py FLASK_ENV=development flask run (see https://flask.palletsprojects.com/en/1.1.x/cli/ )

Fix SEARX_DEBUG=0 make docs
docs/admin/engines.rst : engines are initialized
See https://github.com/searx/searx/issues/2204#issuecomment-701373438
2020-10-05 11:13:32 +02:00
Alexandre Flament
b728cb610b
Merge pull request #2241 from dalf/move-extract-text-and-url
Move the extract_text  and extract_url functions to searx.utils
2020-10-04 09:06:20 +02:00
Alexandre Flament
e2cd9b65bb
Merge pull request #2239 from dalf/mod-preferences
[mod] preferences.py: check language setting with a regex instead of match_language
2020-10-04 09:05:14 +02:00
Finn
53c8d945b4
[enh] Add SepiaSearch engine (#2227)
supported_languages values: see https://framagit.org/framasoft/peertube/search-index/-/blob/master/client/src/views/Search.vue#L618-641
2020-10-03 13:00:10 +02:00
Alexandre Flament
8f914a28fa [mod] searx.utils.normalize_url: remove Yahoo hack
* The hack for Yahoo URLs is not necessary anymore. (see searx.engines.yahoo.parse_url)
* move the URL normalization in extract_url to normalize_url
2020-10-03 10:02:50 +02:00
Alexandre Flament
c1d10bde02 [mod] searx/utils.py: add docstring 2020-10-02 18:17:01 +02:00
Alexandre Flament
2006eb4680 [mod] move extract_text, extract_url to searx.utils 2020-10-02 18:13:56 +02:00
Alexandre Flament
507896c115 [mod] preferences.py: check language setting with a regex instead of match_language 2020-10-01 11:29:31 +02:00
Markus Heiser
8162d7aff4 [fix] google engine - div classes has been renamed in HTML reult
Since 1. October 2020 google has changed the 'class' attribute of the HTML
result page.

Fix the xpath expressions and ignore <div class="g" ../> sections which do not
match to title's xpath expression.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-10-01 09:44:29 +02:00
Alexandre Flament
9740618227
Merge pull request #2226 from dalf/fix-searx-migration
[fix] migration from github.com/asciimoo/searx to github.com/searx/searx : fix URLs
2020-09-29 12:35:11 +02:00
Qt Resynth
246b8cd1a4
[fix] about.html: fix small inconsistencies in about page (#2219) 2020-09-28 16:56:25 +02:00
Alexandre Flament
f204e4903d [fix] migration from github.com/asciimoo/searx to github.com/searx/searx : fix URLs 2020-09-28 16:44:14 +02:00
Adam Tauber
8d47142f35
Merge pull request #2189 from dalf/architecture-clean-up
Architecture clean up
2020-09-28 14:56:23 +02:00
Alexandre Flament
93f7f7eee2 [mod] upgrade requests to version 2.24.0. use ssl instead of pyopenssl.
requests 2.24.0 uses the ssl module except if it doesn't support SNI, in this case searx fallbacks to pyopenssl.
searx logs a critical message and exit if the ssl modules doesn't support SNI and pyOpenSSL is not installed.
searx logs a critical message and exit if the ssl version is older than 1.0.2.
in requirements.txt, pyopenssl is still required to install searx as a fallback.
2020-09-26 19:30:27 +02:00
Alexandre Flament
f2f3300bde [mod] more typing 2020-09-24 16:26:00 +02:00
Alexandre Flament
485a502b88 [mod] add typing and __slots__ 2020-09-22 19:05:05 +02:00
Alexandre Flament
678699beaf [mod] searx/webadapter.py: add get_selected_categories share common code with get_search_query_from_webapp
Update searx/webapp.py to use get_selected_categories
Close #2142
2020-09-22 18:59:51 +02:00
Alexandre Flament
d5b5e48f04 [mod] searx/webadapter.py: each web parameter has a dedicated function (parse_pageno, page_lang,....). 2020-09-22 18:59:51 +02:00
Alexandre Flament
691d12726b [mod] check the engine tokens in searx/webadapter.py instead of searx/search.py 2020-09-22 18:59:51 +02:00
Alexandre Flament
eecfff2689 [mod] check time_range parameter in searx/webadapter.py 2020-09-22 18:59:51 +02:00
Alexandre Flament
2929495112 [mod] add searx.search.EngineRef
was previously a Dict with two or three keys: name, category, from_bang
make clear that this is a engine reference (see tests/unit/test_search.py for example)
all variables using this class are renamed accordingly.
2020-09-22 18:59:51 +02:00
Alexandre Flament
2dbc0de0cd [mod] add searx/webadapter.py
* move searx.search.get_search_query_from_webapp to searx.webadapter
* move searx.query.SearchQuery to searx.search
2020-09-22 18:59:51 +02:00
Qt Resynth
21dbc7e852 "Egde" → "Edge" 2020-09-22 17:44:32 +02:00
Alexandre Flament
e8df5d3f7f [mod] searx.search: change function declaration: online then offline then utility functions. 2020-09-22 12:36:26 +02:00
Alexandre Flament
50e717c452 [mod] searx.search: remove unused global variable number_of_searches 2020-09-22 12:36:26 +02:00
Alexandre Flament
edd8dccd07 [mod] searx.query.RawTextQuery: getSearchQuery and changeSearchQuery rename to getQuery and changeQuery
getSearchQuery is confusing, the method returns a str not a SearchQuery object
2020-09-22 12:36:26 +02:00
Alexandre Flament
c4067a9d02 [mod] searx.search.Search: split the search method into different methods 2020-09-22 12:14:46 +02:00
Alexandre Flament
ad0758e52a [mod] add searx/webutils.py
contains utility functions and classes used only by webapp.py
2020-09-22 11:57:06 +02:00
Alexandre Flament
f9664037a6 [mod] refactor searx.webapp.get_locale
* Log each call to get_locale: display the URL, the locale and the source (browser, preferences, form).
* Rename _get_browser_language to _get_browser_or_settings_language to match the actual code.
2020-09-22 11:49:15 +02:00
Alexandre Flament
2fd582d457 [fix] /autocompleter: return HTTP 400 when q is empty as intent.
Fix commit c225db45c8
2020-09-22 11:38:37 +02:00
Marc Abonce Seguin
ecf5899153 fetch google's search langs rather than ui langs 2020-09-22 11:37:44 +02:00
Marc Abonce Seguin
c86504b47a fix utils/fetch_languages to work with new languages 2020-09-22 11:37:44 +02:00
Marc Abonce Seguin
41800835f9 fetch supported languages for startpage engine 2020-09-22 11:37:44 +02:00
Marc Abonce Seguin
ea9d979cc3 add language names in qwant's fetch languages function 2020-09-22 11:37:44 +02:00
Alexandre Flament
375cbd12b3
Merge pull request #2205 from dalf/fix-simple-theme-autocomplete
[fix] simple theme: fix autocomplete
2020-09-19 16:02:01 +02:00
Alexandre Flament
c23401e9fa [fix] simple theme: fix autocomplete
AJAX requests send the X-Requested-With HTTP header,
so searx.webapp.autocompleter returns the results with the expected data format.

Related to #2127
Close #2203
2020-09-19 10:13:05 +02:00
Alexandre Flament
6deb85072a [fix] searx.utils.HTMLTextExtractor: invalid HTML don't raise an Exception
Close #2188
2020-09-13 10:28:11 +02:00
Alexandre Flament
df12ed6e55 [mod] searx.RawTextQuery: the constructor call parse_query 2020-09-12 15:25:58 +02:00
Alexandre Flament
bdac99d4f0 Drop Python 2 (5/n): searx.utils.is_valid_lang, input parameter is a str instead of bytes
Fix bug in translated.py and dictzone.py
2020-09-10 10:49:42 +02:00
Dalf
c225db45c8 Drop Python 2 (4/n): SearchQuery.query is a str instead of bytes 2020-09-10 10:49:42 +02:00
Dalf
7888377743 Drop Python 2 (3/n): objects 2020-09-10 10:39:04 +02:00
Dalf
78df10fb55 Drop Python 2 (2/n): templates 2020-09-10 10:39:04 +02:00
Dalf
1022228d95 Drop Python 2 (1/n): remove unicode string and url_utils 2020-09-10 10:39:04 +02:00
Marc Abonce Seguin
7e82817925 wait for img to load before hiding infobox toggle 2020-09-10 09:54:30 +02:00
Marc Abonce Seguin
ab20ca182c use Wikipedia's REST v1 API 2020-09-10 09:54:30 +02:00
Alexandre Flament
d0f9778c2a
[mod] results.py: code clean up (#2140) 2020-09-08 10:09:11 +02:00
Noémi Ványi
f0ca1c3483
[enh] Add command line engines: git grep, find, etc. (#2128)
A new "base" engine called command is introduced. It is the foundation for all command line engines for now.
You can use this engine to create your own command line engine.

Add some engines (commented out to make sure no one enables anything accidentally):
* git grep: This engine lets you grep in the searx repo.
* locate: If locate is installed and initialized, you can search on the FS.
* find: You can find files with a specific name from where you started searx.
* pattern search in files: This engine utilizes the command fgrep.
* regex search in files: This engine runs `grep` to find a file based on its contents.
2020-09-08 09:51:53 +02:00
Alexandre Flament
3397382754
[enh] stop searx when an engine raise an SyntaxError exception (#2177)
and some other exceptions:
* KeyboardInterrupt
* SystemExit
* RuntimeError
* SystemError
* ImportError: an engine with an unmet dependency will stop everything.
2020-09-07 15:39:26 +02:00
Scott Wallace
8bcba31e31 Add key to settings.yml for opening result links in a new tab
Closes #1552
Closes #444
2020-09-01 18:10:24 +01:00
Adam Tauber
4a913247b2 [enh] add option to configure proxies per engine - closes #1827 2020-09-01 15:59:22 +02:00
Alexandre Flament
b329058c1a Revert "[enh] test: load each engine to check for syntax errors"
This reverts commit 4fb3ed2c63.
2020-08-31 19:00:06 +02:00
Singustromo
315cdfee09
Added metager-search (#2139)
* Added metager-search
2020-08-31 18:42:51 +02:00
Adam Tauber
6f9aa0e258
Merge pull request #2160 from dalf/test_load_engine
[enh] test: load each engine to check for syntax errors
2020-08-31 14:29:52 +02:00
Adam Tauber
6ded6e7a9a [fix] skip uncomplete image results - closes #1496 2020-08-31 14:07:45 +02:00
Dalf
4fb3ed2c63 [enh] test: load each engine to check for syntax errors 2020-08-28 12:12:32 +02:00
Marc Abonce Seguin
a2430154b9
fix selects in preferences so they look consistent (#2150) 2020-08-27 21:55:47 +02:00
Marc Abonce Seguin
0d8970c8f2
only return one url per "type" in Wikidata (#2151)
i.e. only one official website, one Twitter, etc.
2020-08-27 21:44:48 +02:00
Adam Tauber
079783e993 [fix] pylint 2020-08-27 14:38:39 +02:00
Adam Tauber
30d16e7ee6 [fix] use base_url for prefix of sharing 'currenly saved preferences' - fixes #1249 by @matejc 2020-08-27 14:29:38 +02:00
Adam Tauber
6278538890 [fix] add search language and time range filter to suggestions - fixes #1314 2020-08-27 14:26:38 +02:00
Émilien Devos
a5e6423c39
[fix] opensearch on chromium for android (#2132) 2020-08-18 18:29:58 +02:00
Émilien Devos
27d74826f1
[enh] add yggtorrent engine (#2135) 2020-08-18 18:02:41 +02:00
Emilien Devos
c15a91a534 [fix] piratebay engine date and pep8 indentation 2020-08-10 23:44:53 +02:00
Emilien Devos
52d78d8418 [fix] piratebay engine 2020-08-10 20:26:59 +02:00
Adam Tauber
77103c7874
Merge pull request #2116 from mikeri/invidiousres
Include author and video length in Invidious results
2020-08-10 12:49:17 +02:00
Adam Tauber
e6d002a730
Merge pull request #2130 from msafadieh/master
Make default query submission method configurable
2020-08-10 12:15:45 +02:00
Marc Abonce Seguin
0601f2bb48 add toggle to resize infobox 2020-08-10 00:12:45 -07:00
Marc Abonce Seguin
57bad502a6 add visually-hidden css class to pointhi style 2020-08-09 20:44:26 -07:00
Marc Abonce Seguin
74270a3fc2 add class for infobox's official url 2020-08-09 20:44:26 -07:00
Marc Abonce Seguin
001eb047cd set max-height on infobox's images 2020-08-09 20:44:26 -07:00
Marc Abonce Seguin
c9c39b3e79 add engine's name in infobox's header 2020-08-09 15:42:55 -07:00
Marc Abonce Seguin
574e99c4de reduce space between title and url in infobox header 2020-08-09 15:42:55 -07:00
Mohamad Safadieh
8dff74dd1b
Make default query submission method configurable
Sending queries through POST, while better for privacy, breaks functionality
with certain extensions (e.g. Firefox containers). Since Firefox does
not send cookies when requesting `/opensearch.xml`, users cannot easily
switch to GET on the client side unless they make a custom search
engine. This commit allows admins to modify the default method on their
side so they can set it to GET if needed.
2020-08-09 17:04:47 -04:00
Mohamad Safadieh
1ea35605d1
Use query params for browser autocomplete
Sending query params over GET seems to be the only way to be able to
enable autocomplete in the browser. This commit adds the necessary URL
formatting to opensearch.xml. In order to identify queries coming from
the URL bar (rather than an AJAX request), which requires a different
JSON format and MIME type, the request headers are checked for
"X-Requested-With: XMLHttpRequest" which is added by jQuery request.
2020-08-09 07:59:49 -04:00
Vlad
f678388dbc
Fix google images 'get image' button bug from issue #2103 (#2115)
Closes #2103
2020-08-08 19:35:22 +02:00
Michael Ilsaas
a1ce141c99
add peertube engine (#2109) 2020-08-08 19:22:53 +02:00
Vlad
c3af520c33 Fix search error with query 'random sha256' 2020-08-04 15:47:41 +03:00
Michael Ilsaas
2ed8ad7691 include length in invidious results 2020-08-02 13:31:04 +02:00
Michael Ilsaas
0305fe0dd5 include author in invidious results 2020-08-02 13:30:38 +02:00
Noémi Ványi
935321226b
Merge branch 'master' into patch-1 2020-08-01 21:52:19 +02:00
Vlad
d83ee1e413 Add clearfix to fix issue 2110 2020-07-31 20:08:45 +03:00
asht
3b8bd0770b
Change isAlive() to is_alive() as isAlive() is unsupported in newer Python versions 2020-07-31 00:28:54 +03:00
Adam Tauber
d75f98c764
Merge pull request #2106 from kvch/revert-open-result-on-new-tab-plugin
Revert "[enh] new plugin to open results on new browser tabs"
2020-07-30 21:25:42 +02:00
Lynda Lopez
b06fc31942
DOI improvements: enable HTTPS, update URL of doai.io (#1718)
- enabling HTTPS for sci-hub.tw by default
- making sci-hub the default DOI resolver as it has the largest collection of scientific articles.
- replaced doai.io with dissem.in, as it redirects to this new domain.

Co-authored-by: Aurora of Earth <auroraofearth@ya.ru>
2020-07-29 22:31:48 +02:00
Noémi Ványi
74013c212a Revert "[enh] new plugin to open results on new browser tabs"
This reverts commit ab6a7601cb.

Closes #2037
2020-07-29 22:10:16 +02:00
Noémi Ványi
157fa1adb3 add Gitea engine
Closes #1448
Closes #1447
2020-07-28 22:37:37 +02:00
TheEvilSkeleton
925be22d8f
Replaced dash with em in searx description (#1973)
Very small change, but it looks better
2020-07-28 21:54:35 +02:00
Venca24
d3bc171a15
[add] naver engine
It adds new search engine for users from the South Korea (and therefore it is disabled by default). Closes #1553
2020-07-28 21:42:48 +02:00
Adam Tauber
93ac4db312 [enh] copy atime_ns and mtime_ns of external plugin resources 2020-07-28 13:57:57 +02:00
Adam Tauber
164e4725f3 [mod] add dedicated directory to external plugins with gitignore file 2020-07-28 13:10:40 +02:00
Adam Tauber
3f60bb470a [fix] correct imported modules 2020-07-28 13:10:40 +02:00
Adam Tauber
dff879d07d [fix] resolve minor review issues 2020-07-28 13:10:40 +02:00
Adam Tauber
e45a269ecb [mod] create static directory for each external plugin 2020-07-28 13:10:40 +02:00
Adam Tauber
81e9c75534 [fix] pep8 2020-07-28 13:10:40 +02:00
Adam Tauber
7b93d11d84 [fix] add plugin sha sum check to be able to copy updated resources 2020-07-28 13:10:40 +02:00
Adam Tauber
1f2dc6c647 [enh] add external plugin support 2020-07-28 13:10:40 +02:00
Marc Abonce Seguin
77b9faa8df fix Wikipedia's paragraph extraction 2020-07-26 23:53:40 -07:00
Michael Ilsaas
98cb6b6701 Update torrentz2 URL from .eu to .is 2020-07-26 15:56:54 +02:00
xywei
1d4657b714
Fix relative urls that do not start with '/' 2020-07-23 11:12:19 -05:00
Lukáš Kucharczyk
74e4e5e507
Allow localization of "Self Informations"
Allows the string "Self Informations" in the plugin of the same name to be localized by wrapping it with gettext().
2020-07-16 15:26:01 +02:00
Dalf
b339b8b6d6 [mod] bangs.json: remove the favicons
fix #2076
2020-07-15 09:15:26 +02:00
Gaspard d'Hautefeuille
4e346e741a
fix python 3 support 2020-07-12 23:43:24 +01:00
Dalf
718715180d [mod] external_bang.py: always read bangs.json with a UTF-8 file. 2020-07-11 12:23:08 +02:00
Adam Tauber
8199ab50f9 [enh] release v0.17.0 2020-07-09 17:31:28 +02:00
Adam Tauber
b7d2597f2e [enh] update translations 2020-07-09 15:15:52 +02:00
Adam Tauber
e693bccaf4 [mod] drop py2 support 2020-07-09 15:04:00 +02:00
Adam Tauber
52eba0c721 [fix] pep8 2020-07-08 00:46:03 +02:00
Markus Heiser
16f8ec894a [fix] revise google images engine
this commit is picked from #1985
2020-07-07 21:59:15 +02:00
Markus Heiser
410c2f903d [fix] revise google engine
this commit is picked from #1985
2020-07-07 21:50:59 +02:00
Adam Tauber
3227695b0b [fix] indicate visually active tab programmatically on the page Preferences - #350 2020-07-06 13:07:45 +02:00
Lukas van den Berk
4829a76aae
Created new plugin type custom_results. Added new plugin bang_redirect (#2027)
* Made first attempt at the bangs redirects plugin.

* It redirects. But in a messy way via javascript.

* First version with custom plugin

* Added a help page and a operator to see all the bangs available.

* Changed to .format because of support

* Changed to .format because of support

* Removed : in params

* Fixed path to json file and changed bang operator

* Changed bang operator back to &

* Made first attempt at the bangs redirects plugin.

* It redirects. But in a messy way via javascript.

* First version with custom plugin

* Added a help page and a operator to see all the bangs available.

* Changed to .format because of support

* Changed to .format because of support

* Removed : in params

* Fixed path to json file and changed bang operator

* Changed bang operator back to &

* Refactored getting search query. Also changed bang operator to ! and is now working.

* Removed prints

* Removed temporary bangs_redirect.js file. Updated plugin documentation

* Added unit test for the bangs plugin

* Fixed a unit test and added 2 more for bangs plugin

* Changed back to default settings.yml

* Added myself to AUTHORS.rst

* Refacored working of custom plugin.

* Refactored _get_bangs_data from list to dict to improve search speed.

* Decoupled bangs plugin from webserver with redirect_url

* Refactored bangs unit tests

* Fixed unit test bangs. Removed dubbel parsing in bangs.py

* Removed a dumb print statement

* Refactored bangs plugin to core engine.

* Removed bangs plugin.

* Refactored external bangs unit tests from plugin to core.

* Removed custom_results/bangs documentation from plugins.rst

* Added newline in settings.yml so the PR stays clean.

* Changed searx/plugins/__init__.py back to the old file

* Removed newline search.py

* Refactored get_external_bang_operator from utils to external_bang.py

* Removed unnecessary import form test_plugins.py

* Removed _parseExternalBang and _isExternalBang from query.py

* Removed get_external_bang_operator since it was not necessary

* Simplified external_bang.py

* Simplified external_bang.py

* Moved external_bangs unit tests to test_webapp.py. Fixed return in search with external_bang

* Refactored query parsing to unicode to support python2

* Refactored query parsing to unicode to support python2

* Refactored bangs plugin to core engine.

* Refactored search parameter to search_query in external_bang.py
2020-07-03 13:25:04 +00:00
Noémi Ványi
223114c575 [fix] refine contrast ratios of texts and borders - #350 2020-07-02 16:24:58 +02:00
Markus Heiser
f14a7add31 Merge branch 'master' of https://github.com/asciimoo/searx into csp-oscar-theme 2020-06-30 15:37:39 +02:00
Markus Heiser
8d318ee142
Merge branch 'master' into gigablast 2020-06-29 16:09:59 +00:00
Sophie Tauchert
71db7b1238
Fix YaCy text results returned as images 2020-06-29 14:48:56 +02:00
Markus Heiser
02017bc624
Merge branch 'master' into duckduckgo_correction 2020-06-29 06:47:06 +00:00
Adam Tauber
c7b75fc818 [fix] rewrite overflow:none as none is an invalid property - $350 2020-06-28 20:44:33 +02:00
Adam Tauber
b51d4ec041 [fix] add aria labels to result links - #350 2020-06-28 20:41:42 +02:00
Noémi Ványi
93cbd85b8a
Merge branch 'master' into duckduckgo_correction 2020-06-28 20:28:12 +02:00
Noémi Ványi
02c6710564 Make Oscar theme scalable 2020-06-27 16:41:26 +02:00
Markus Heiser
5f201dea7d
Merge branch 'master' into about-opensearch 2020-06-26 08:33:37 +00:00
Markus Heiser
5fac6cffa2
Merge branch 'master' into gigablast 2020-06-26 08:09:33 +00:00
Markus Heiser
5293e58032 [fix] yahoo engine - changed content_xpath
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-06-25 21:45:42 +02:00
Adam Tauber
969b4340fd [fix] add label/info to Time range search and Language - #350 2020-06-25 19:50:26 +02:00
Adam Tauber
cc164abdfc [fix] make "Advanced settings" openable and usable with keyboard - #350 2020-06-25 19:50:26 +02:00
Adam Tauber
ec48447361 [fix] change lang attribute of the html to match the current locale - #350 2020-06-25 19:50:26 +02:00
Adam Tauber
6ab569f558 [fix] connect selects and inputs programmatically on the preferences page - #350 2020-06-25 19:50:26 +02:00
Adam Tauber
fce2d49651 [fix] use scope attribute to describe properties in the engine preferences table 2020-06-25 19:50:26 +02:00
Adam Tauber
5ca5286912 [fix] indicate too high max time by e.g. icon not only by colour 2020-06-25 19:50:26 +02:00
Adam Tauber
d418b593bb [fix] do not use h1 element for the logo 2020-06-25 19:50:26 +02:00
Adam Tauber
01ee3a6edd [fix] remove redundant alt texts from images in Videos, Social Media and Music results - #350 2020-06-25 19:50:26 +02:00
Markus Heiser
fc370faa5b
Merge branch 'master' into gigablast 2020-06-25 05:42:28 +00:00
Markus Heiser
a059c59cea
Merge branch 'master' into about-opensearch 2020-06-25 05:42:11 +00:00
Markus Heiser
34264f0b0a
Merge branch 'master' into proxify-dataurl 2020-06-24 17:07:05 +00:00
Adam Tauber
a984afd6a3 [enh] make checkboxes in preferences accessible using keyboard - #350 2020-06-23 21:45:57 +02:00
Adam Tauber
2ff6214a4d [fix] remove alt text which doesnt add extra info - #350 2020-06-23 21:45:57 +02:00
Adam Tauber
cc84566e0a [enh] add visually hidden but accessible css class - #350 2020-06-23 21:45:57 +02:00
Dalf
4c7b787004 [mod] don't try to proxify data URL.
Previously only image/jpeg was not proxied.
This commit don't proxify all MIME types starting with "image/".

This is a quick fix for the PR #1985 : the google_image engine can returns some data URL.
2020-06-22 13:57:33 +02:00
Markus Heiser
4eab5cf854
Merge branch 'master' into gigablast 2020-06-19 04:51:48 +00:00
Markus Heiser
1db37a0cc3
Merge branch 'master' into about-opensearch 2020-06-19 04:51:29 +00:00
Markus Heiser
ca1c3bd15d
Merge branch 'master' into csp-oscar-theme 2020-06-19 04:51:02 +00:00
Noémi Ványi
4ec2fab583 Consider HTTP request when running search categories on select is enabled
Closes #1138
2020-06-18 23:06:09 +02:00
Adam Tauber
08c13daf85 [enh] update opensearch.xml to match major search engines opensearch.xml 2020-06-18 19:38:13 +02:00
Markus Heiser
cc721b5d86 Merge branch 'master' of https://github.com/asciimoo/searx into csp-oscar-theme 2020-06-16 10:17:03 +02:00
Markus Heiser
59739a44db
Merge branch 'master' into about-opensearch 2020-06-16 07:37:06 +00:00
Markus Heiser
223430ff30
Merge branch 'master' into gigablast 2020-06-16 07:36:44 +00:00
Markus Heiser
dda4a46f8e
Merge branch 'master' into filtron 2020-06-16 05:56:12 +00:00
Adam Tauber
0dc5bdb6ef [fix] add missing template file 2020-06-15 20:11:12 +02:00
Adam Tauber
32f7877235 [fix] resolve flickr_noapi encoding issues 2020-06-15 19:15:24 +02:00
Adam Tauber
4ca0d8cb0f [enh] add translatable strings to javascript - closes #461 2020-06-15 18:31:14 +02:00
Gordon Quad
385e9b5c9e add correction support for duckduckgo 2020-06-13 22:43:10 +01:00
Markus Heiser
e088b95e74 Merge branch 'master' of https://github.com/asciimoo/searx into csp-oscar-theme 2020-06-10 07:25:44 +02:00
Markus Heiser
4496ad1218
Merge branch 'master' into filtron 2020-06-10 04:55:41 +00:00
Markus Heiser
cc82303b62
Merge branch 'master' into about-opensearch 2020-06-10 04:55:04 +00:00
Markus Heiser
ee0da61cbb
Merge branch 'master' into gigablast 2020-06-10 04:54:57 +00:00
Adam Tauber
aa7c043ff4 [fix] resolve pep8 errors 2020-06-10 00:34:57 +02:00
Adam Tauber
43f7b84a59 [fix] do not stretch images - fixes #1262 2020-06-10 00:30:39 +02:00
Adam Tauber
29960aa1d9 [enh] add official site link to the top of the infobox - closes #1644 2020-06-09 23:49:13 +02:00
Adam Tauber
6c06286251 [enh] add length and author details to youtube videos
closes #775
2020-06-09 20:31:51 +02:00
Adam Tauber
2c6531b233 [enh] add routing directions to osm search - closes #254 2020-06-09 17:18:44 +02:00
Markus Heiser
2b1f73ad49
Merge branch 'master' into about-opensearch 2020-06-09 08:29:48 +00:00
Markus Heiser
d065b9e4fb
Merge branch 'master' into csp-oscar-theme 2020-06-09 08:28:53 +00:00
Markus Heiser
3d6a7302a2 Merge branch 'master' of https://github.com/asciimoo/searx into gigablast 2020-06-09 10:27:10 +02:00
Markus Heiser
28181ba34f Merge branch 'master' of https://github.com/asciimoo/searx into filtron 2020-06-09 10:20:20 +02:00
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