Commit Graph

3130 Commits (2cc6301c98caf561dda77c7929c3f5f455a69312)

Author SHA1 Message Date
Alexandre Flament b405646749
Merge pull request #2451 from mrwormo/invidious-engine
[Fix] Invidious Engine
4 years ago
Alexandre Flament a4dcfa025c [enh] engines: add about variable
move meta information from comment to the about variable
so the preferences, the documentation can show these information
4 years ago
mrwormo 2dff3887f0 [fix] Invidious engine by enabling requests by randomly picking amongst working instances 4 years ago
Alexandre Flament 912c7e975c [fix] checker: don't run the checker when uwsgi is not properly configured
Before this commit, even with the scheduler disabled, the checker was running
at least once for each uwsgi worker.
4 years ago
Alexandre Flament 7f0c508598 [fix] checker: fix typo unknown instead of unknow 4 years ago
Alexandre Flament a0c8b413a6 [mod] searx.shared: minor tweaks
searx.shared.shared_abstract.SharedDict inherit from abc.ABC
searx.shared.shared_uwsgi.schedule can schedule multiple functions without issue
4 years ago
Alexandre Flament 87bafbc32b [mod] checker: add status and timestamp to the result
for each engine: replace status by success
4 years ago
Alexandre Flament f3e1bd308f [mod] checker: minor adjustements on the default tests
the query "time" is convinient because most of the search engine will return some results,
but some engines in the general category will return documentation about the HTML tags <time> or <input type="time">
4 years ago
Alexandre Flament 45bfab77d0 |mod] checker: improve searx-checker command line
* output is unbuffered
* verbose mode describe more precisly the errrors
4 years ago
Alexandre Flament 3a9f513521 [enh] checker: background check
See settings.yml for the options
SIGUSR1 signal starts the checker.
The result is available at /stats/checker
4 years ago
Alexandre Flament 6e2872f436 [enh] add searx.shared
shared dictionary between the workers (UWSGI or werkzeug)
scheduler: run a task once every x seconds (UWSGI or werkzeug)
4 years ago
Markus Heiser 9c581466e1 [fix] do not colorize output on dumb terminals
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
4 years ago
Alexandre Flament ca0889d488 [enh] checker: wikidata & ddd: add specific tests 4 years ago
Alexandre Flament 16a889dd8f [enh] checker: add rosebud test 4 years ago
Alexandre Flament 8cbc9f2d58 [enh] add checker 4 years ago
Alexandre Flament f7e11fd722
Merge pull request #2459 from dalf/update-python
Update python
4 years ago
Alexandre Flament 9c55d772e9
Merge pull request #2408 from return42/rm-brand-make
[mod] move brand options from Makefile to settings.yml
4 years ago
Alexandre Flament f5c3cb7afa [mod] drop Python 3.5 support 4 years ago
Alexandre Flament 8d0312d014
Merge pull request #2458 from MarcAbonce/hide-links-mobile2
Hide links panel in mobile screens
4 years ago
Marc Abonce Seguin 635c6516a4 hide links panel in mobile screens 4 years ago
Alexandre Flament 424e6abc7e [mod] settings.yml: move brand settings to a dedicated section 4 years ago
Markus Heiser d0338cb504 [fix] add missing brand.CONTACT_URL to /config API endpoint
Suggested-by: @dalf / https://github.com/searx/searx-stats2/issues/59#issuecomment-747961582
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
4 years ago
Markus Heiser 9e53470b4c [mod] get rid of searx/brand.py
Removes module searx/brand.py and creates a namespace at searx.brand.

This patch is a first 'proof of concept'.  Later we can decide to remove the
brand namespace entirely or not.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
4 years ago
Markus Heiser 9485179064 [mod] move brand options from Makefile to settings.yml
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
4 years ago
Alexandre Flament c2646df496
Merge pull request #2454 from MarcAbonce/fix-empty-lang-bang
Fix empty colon in query from selecting Chinese
4 years ago
Marc Abonce Seguin 571ce9ff07 fix empty colon in query from selecting Chinese 4 years ago
Noémi Ványi a6dd1de4a8 Add wiby.me engine
Closes #2339
4 years ago
Markus Heiser b0bb0a3a0f [fix] Library Genesis links shifted by 1 #1998
Fixes: #1998
Suggested-by: @linuxmue
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
4 years ago
Émilien Devos fc6cfc3b58
Remove voat due to its shutdown
Voat shutted down on December 25th, 2020 at 12 noon PST: https://voat.co/host/voat/static/inactive.min.html?ReturnUrl=/
4 years ago
Alexandre Flament 54e69d0367 [upd] update dependencies
minor change in the oscar theme becase the last version of jinja2
respect more carefully the spaces in the templates
4 years ago
Alexandre Flament 568b9465e9 [mod] check secret_key when searx.webapp is imported
Without this commit the module searx checks the secret_key value.

With this commit, make docs, utils/standalone_searx.py,
utils/fetch_firefox_version.py works without SEARX_DEBUG=1

For reference see https://github.com/searx/searx/pull/2386
4 years ago
Alexandre Flament 1956ab4b50
Merge pull request #2412 from dalf/update-buildenv
[fix] update buildenv
4 years ago
Markus Heiser 4de276e364 [upd] make SEARX_DEBUG=1 useragents.update
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
4 years ago
Alexandre Flament db5b060455 [fix] update buildenv
CONTACT_URL is unset in Makefile, but searx/brand.py and
utils/brand.env are not updated.

This commit fixes this issue.
4 years ago
Alexandre Flament 3f8ebf70b1 [fix] pylint: use "raise ... from ..." 4 years ago
Alexandre Flament eb33ae6893 [fix] Python 3.9: use html.unescape instead of HTMLParser.unescape 4 years ago
Alexandre Flament 04447f8c1a
Merge pull request #2398 from dalf/mod-search-query
Mod search query
4 years ago
Alexandre Flament f4983e7415 [mod] remove emojis from source code 4 years ago
Alexandre Flament eda8934f15 [mod] searx.search.EngineRef: remove from_bang parameter
from_bang is True when the user query contains a bang.
In this case the category is also set to 'none'.

from_bang only usage was in searx.webadapter.parse_specific :
if from_bang is True, then the EngineRef category is ignored and force to 'none'.

This commit also removes the searx.webadapter.parse_sepecific function.
4 years ago
Alexandre Flament 995ba2f406 [mod] searx.search.SearchQuery: remove categories parameter
The categories parameter is useless in the constructor:
it is always the categories from the EngineRef.

The categories becomes a property.
4 years ago
Alexandre Flament 14c7cc0e11 [mod] Makefile: make CONTACT_URL optional 4 years ago
BBaoVanC 19fce74443
Add link to contact instance maintainer to footer of each page (#2391) 4 years ago
Alexandre Flament 5c6a5407a0 [fix] fix of PR #2225 4 years ago
Alexandre Flament 02fc4147ce [mod] dictzone, translated, currency_convert: use engine_type online_curency and online_dictionnary 4 years ago
Alexandre Flament 7ec8bc3ea7 [mod] split searx.search into different processors
see searx.search.processors.abstract.EngineProcessor

First the method searx call the get_params method.

If the return value is not None, then the searx call the method search.
4 years ago
Alexandre Flament c0cc01e936 [mod] searx.search: search_multiple_requests is a method of Search class 4 years ago
Alexandre Flament 3b87efb3db [mod] move seax/search.py to searx/search/__init__.py 4 years ago
Alexandre Flament 9bc1856e2b [mod] themes: remove legacy, courgette and pix-art themes 4 years ago
Alexandre Flament 88660fde90
Merge pull request #2396 from lucky13820/patch-1
Fix the StartPage result title is showing the url
4 years ago
lucky13820 fea8958e99
Fix the StartPage result title is showing the url
Fix the issue 2395 where StartPage result title is showing the url. https://github.com/searx/searx/issues/2395
4 years ago
Markus Heiser 9db7d6357b [themes] add hyperlink to searx instances list in error message
closes: #2383

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
4 years ago
Alexandre Flament 39ac81478c prepare release 0.18.0 4 years ago
Alexandre Flament 292b73a3fc
Merge pull request #2385 from joshu9h/patch-1
[Fix] Startpage
4 years ago
Alexandre Flament 36600118fb
Merge pull request #2372 from dalf/remove-broken-engines
[remove] remove searchcode_doc and twitter
4 years ago
joshu9h 8260435c8b
[Fix] Startpage 4 years ago
Alexandre Flament 3c4a9c1188
Merge pull request #2358 from dalf/fix-command
[fix] command engine: SearchQuery.query is str not bytes
4 years ago
Alexandre Flament d703119d3a [enh] add raise_for_httperror
check HTTP response:
* detect some comme CAPTCHA challenge (no solving). In this case the engine is suspended for long a time.
* otherwise raise HTTPError as before

the check is done in poolrequests.py (was before in search.py).

update qwant, wikipedia, wikidata to use raise_for_httperror instead of raise_for_status
4 years ago
Alexandre Flament 033f39bff7
Merge pull request #2376 from dalf/fix-mojeek
Fix mojeek
4 years ago
Alexandre Flament 6bc6d5e9fd
Merge pull request #2371 from dalf/mod-genius
[mod) genious: return valid results even if contents are empty
4 years ago
Alexandre Flament 0ba74cd812 [mod] results: don't crash when an engine don't have a category
According to
820b468bfe/searx/engines/__init__.py (L87-L88)

an engine can have no category at all.

Without this commit, searx raise an exception in searx/results.py

Note: in this case, the engine is not shown in the preferences.
4 years ago
Alexandre Flament d41cafd5f3 [fix] xpath, mojeek: fix commit 58d72f2692
before commit 58d72f2, category was not set in xpath.py,
so searx/engines/__init__py was setting the category to ['general']

the commit 58d72f2 set the category to [] which is not replaced by searx/engines/__init__.py
consequence: the mojeek engine is hidden in the preferences.

this commit revert the xpath.py change.

close #2368
4 years ago
Noémi Ványi 3a63dfbdd7 display if an engine does not support https
Closes #302
4 years ago
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.
4 years ago
Alexandre Flament fa73f10f11 [mod) genious: return valid results even if contents are empty 4 years ago
Alexandre Flament 42a194898b
Merge pull request #2360 from dalf/update-libgen
[mod] libgen: update the URL to http://libgen.rs/
4 years ago
Alexandre Flament a77d8c8227
Merge pull request #2359 from dalf/update-duden
[mod] duden engine
4 years ago
Alexandre Flament bd4869ecd0
Merge pull request #2366 from dalf/remove-seedpeer
[remove] seedpeer engine
4 years ago
Alexandre Flament 56c64d6b64 [remove] seedpeer engine
the website is offline.
4 years ago
Alexandre Flament c1a9732268
Merge pull request #2364 from dalf/fix-youtube-noapi
[fix] youtube_noapi engine
4 years ago
Alexandre Flament 13d3004703
Merge pull request #2365 from dalf/fix-soundcloud
[fix] soundclound: accept result without content
4 years ago
Alexandre Flament 62073c0e1d
Merge pull request #2361 from dalf/fix-1x
[fix] 1x engine
4 years ago
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.
4 years ago
Alexandre Flament deb1bde20d [fix] soundclound: accept result without content 4 years ago
Alexandre Flament 34df0f7910 [fix] youtube_noapi engine 4 years ago
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'.
4 years ago
Alexandre Flament 4ec810749b [fix] 1x engine 4 years ago
Alexandre Flament 1e781863fa [fix] command engine: SearchQuery.query is str not bytes
see c225db45c8
4 years ago
Alexandre Flament 9bf594cbcf [mod] duden engine
* add params['soft_max_redirects'] = 1  (when there is spelling suggestion)
* avoid try..except
* use eval_xpath_* functions
4 years ago
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/
4 years ago
Alexandre Flament a458451d20
Merge pull request #2356 from dalf/fix-ddd
[fix] duckduckgo_definitions: fix relative image URL
4 years ago
Alexandre Flament 925bb561a2
Merge pull request #2352 from dalf/no_http
Remove HTTP connections as much as possible
4 years ago
Alexandre Flament 28cc644f0a [fix] duckduckgo_definitions: fix relative image URL
ddg returns relative URL to https://duckduckgo.com/
4 years ago
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
4 years ago
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.
4 years ago
Alexandre Flament bef2f2efa8 [fix] wikidata: fix crash when the item has no description at all and at least one URL. 4 years ago
Alexandre Flament 244e812f37 [fix] remove searx/engines/filecrop.py (dead code) 4 years ago
Alexandre Flament 0226ae69d3 [fix] dbpedia autocomplete (and use HTTPS) 4 years ago
Alexandre Flament fa909c7c02 [mod] stackoverflow & yandex: detect CAPTCHA response 4 years ago
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
4 years ago
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
4 years ago
Alexandre Flament ad72803ed9 [mod] xpath, 1337x, acgsou, apkmirror, archlinux, arxiv: use eval_xpath_* functions 4 years ago
Alexandre Flament de887c6347 [mod] bing_news: use eval_xpath_getindex
remove unused function searx.utils.list_get
4 years ago
Alexandre Flament 1d0c368746 [enh] record details exception per engine
add an new API /stats/errors
4 years ago
Alexandre Flament 6b5a578822
Merge pull request #2285 from return42/fix-digg
bugfix & refactor digg engine
4 years ago
mrwormo 2b153db74c Disable Invidious engine by default 4 years ago
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>
4 years ago
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>
4 years ago
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>
4 years ago
Alexandre Flament b00d108673 [mod] pylint: numerous minor code fixes 4 years ago
Alexandre Flament 9ed3ee2beb [mod] wikidata: WDGeoAttribute class: doesn't change the method signature of get_str 4 years ago
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
4 years ago
Alexandre Flament a1e6bc4cee
Merge pull request #2291 from dalf/settings2
[enh] user settings can relied on the default settings
4 years ago
Alexandre Flament f1e016e9ea [mod] oscar theme: added option into gruntfile.js for generate sourceMap
Credits go to @mrwormo  (see PR #2308 )
4 years ago
GazoilKerozen 1b700738eb
[fix] fix the reset button in the oscar theme (#2306)
Rely on javascript instead of type="clear"

Close #2009
4 years ago
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
4 years ago
Alexandre Flament b4b81a5e1a [enh] settings.yml: add use_default_settings option (2nd version) 4 years ago
M. Efe Çetin d1f527c3af
Photon API Link Update
Via https://photon.komoot.io/
4 years ago
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
4 years ago
Alexandre Flament 6ada5bac60
Merge pull request #2327 from renyhp/master
Add preference for displaying advanced settings
4 years ago
renyhp 0323606691 Remove unused lines 4 years ago
renyhp 844ae0b310 Fix syntax error 4 years ago
renyhp 4979b4f9d9 Another patch 4 years ago
renyhp 22489c4b5f Patch advanced search preferences 4 years ago
renyhp b00f77059c Add preference for displaying advanced settings 4 years ago
Alexandre Flament 3786920df9 [enh] Add multiple outgoing proxies
credits go to @bauruine see https://github.com/searx/searx/pull/1958
4 years ago
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
4 years ago
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>
4 years ago
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
4 years ago
Alexandre Flament c3d9b17c2a
Merge pull request #2292 from kvch/elasticsearch-engine
New engine: Elasticsearch
4 years ago
Alexandre Flament 102c08838b
Merge pull request #2289 from dalf/pylint
[mod] pylint: add extension-pkg-whitelist=lxml.etree
4 years ago
Alexandre Flament 46b454277f
Merge pull request #2309 from dalf/mod_search_repr
[mod] searx.search: EngineRef, SearchQuery: add __repr__ and __eq__ methods
4 years ago
Alexandre Flament ebed1461bc
Merge pull request #2300 from dalf/fix-webapp-index
[fix] fix of / and /search
4 years ago
Noémi Ványi 43e697681e New engine: Elasticsearch 4 years ago
Alexandre Flament 8fc74d0d7b [mod] searx.search: EngineRef, SearchQuery: add __repr__ and __eq__ methods 4 years ago
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.
4 years ago
Adam Tauber 063260d090 [enh] add default http headers - closes #715 4 years ago
Adam Tauber 1b42d42695
Merge pull request #2290 from dalf/fix-misc
Various bug fixes
4 years ago
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
4 years ago
Alexandre Flament e28b56e262 [fix] webadapter: fix locked categories 4 years ago
Alexandre Flament eed43783f9 [fix] comamnd engine: fix import 4 years ago
Alexandre Flament a08df82574 [fix] scanr_structure engine: fix import 4 years ago
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.
4 years ago
Alexandre Flament 95bd6033fa [mod] wikidata engine: use one SPARQL request instead of 2 HTTP requests. 4 years ago
Alexandre Flament ca593728af [mod] duckduckgo_definitions: display only user friendly attributes / URL
various bug fixes
4 years ago
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 )
4 years ago
Alexandre Flament 23f4203dfb [fix] simple theme: infobox: remove useless entity information 4 years ago
Alexandre Flament ed6696e6bf [mod] add external_urls.json and wikidata_units.json 4 years ago
Alexandre Flament 5e7060053c [mod] ahmia_filter.py: minor changes
- use result['parsed_url']
- load ahmia_blacklist.txt in searx.datae
4 years ago
Adam Tauber db703a0283
Merge pull request #565 from MarcAbonce/onions
New category: Onions
4 years ago
Adam Tauber 2aef38c3b9 [fix] resolve query_parts regression 4 years ago
Marc Abonce Seguin 32957cdf49 add Ahmia filter plugin for onion results 4 years ago
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.
4 years ago
Noémi Ványi 33e139cae6 Let admins lock user preferences 4 years ago
Nicholas Kegler 8e15d3e4c1 Open Semantic Search Engine 4 years ago
Adam Tauber aa3c18dda9 [enh] allow searx query parts anywhere in the query - closes #831 4 years ago
Venca24 2b93e70a26 [fix] code style 4 years ago
Venca24 1cbcf2ccb6 [mod] adapt hash plugin to current version of searx 4 years ago
Venca24 40c552c11e [fix] hash plugin 4 years ago
Venca24 69e5a58058 [fix] code style 4 years ago
Venca24 1ea9438f5d [fix] hash plugin 4 years ago
Venca24 c9593c8ffd [enh] add plugin converting strings into hash digests 4 years ago
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.
4 years ago
Noémi Ványi e158eeee4b Propagate error messages from YouTube API 4 years ago
Adam Tauber 835d16cbb1
Merge pull request #2255 from kvch/yacy-improvements
Add yacy improvements: HTTP digest auth, category checking
4 years ago
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 !
4 years ago
Noémi Ványi 72c7fd25fe Add yacy improvements: HTTP digest auth, category checking 4 years ago
Adam Tauber a05c660e30 [enh] add ability to set enabled plugins from settings - closes #1613 #778 4 years ago
Noémi Ványi ce000a9fef Fix XPATH of lobste.rs engine && add timeout 4 years ago
Adam Tauber da8b227044 [fix] use base_url everywhere if it is defined in settings.yml 4 years ago
Noémi Ványi f0278d41fc add ebay enginte to shopping category 4 years ago
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.
4 years ago
Alexandre Flament e30dc2f0ba
Merge pull request #2247 from dalf/fix-opensearch
[fix] opensearch.xml URL contains method and autocomplete parameters
4 years ago
Alexandre Flament 474d56c77f
Merge pull request #2248 from dalf/fix-webadapter
[fix] various fixes of searx.webadapter
4 years ago
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)
4 years ago
Alexandre Flament 8659212f5a [fix] drop Python 2: use collections.abc.Iterable instead of collections.Iterable 4 years ago
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
4 years ago
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
4 years ago
Alexandre Flament 584760cf54
Merge pull request #2237 from dalf/mod-engines-init
Mod engines init
4 years ago
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
4 years ago
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
4 years ago
Alexandre Flament e2cd9b65bb
Merge pull request #2239 from dalf/mod-preferences
[mod] preferences.py: check language setting with a regex instead of match_language
4 years ago
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
4 years ago
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
4 years ago
Alexandre Flament c1d10bde02 [mod] searx/utils.py: add docstring 4 years ago
Alexandre Flament 2006eb4680 [mod] move extract_text, extract_url to searx.utils 4 years ago
Alexandre Flament 507896c115 [mod] preferences.py: check language setting with a regex instead of match_language 4 years ago
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>
4 years ago
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
4 years ago
Qt Resynth 246b8cd1a4
[fix] about.html: fix small inconsistencies in about page (#2219) 4 years ago
Alexandre Flament f204e4903d [fix] migration from github.com/asciimoo/searx to github.com/searx/searx : fix URLs 4 years ago
Adam Tauber 8d47142f35
Merge pull request #2189 from dalf/architecture-clean-up
Architecture clean up
4 years ago
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.
4 years ago
Alexandre Flament f2f3300bde [mod] more typing 4 years ago
Alexandre Flament 485a502b88 [mod] add typing and __slots__ 4 years ago
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
4 years ago
Alexandre Flament d5b5e48f04 [mod] searx/webadapter.py: each web parameter has a dedicated function (parse_pageno, page_lang,....). 4 years ago
Alexandre Flament 691d12726b [mod] check the engine tokens in searx/webadapter.py instead of searx/search.py 4 years ago
Alexandre Flament eecfff2689 [mod] check time_range parameter in searx/webadapter.py 4 years ago
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.
4 years ago
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
4 years ago
Qt Resynth 21dbc7e852 "Egde" → "Edge" 4 years ago
Alexandre Flament e8df5d3f7f [mod] searx.search: change function declaration: online then offline then utility functions. 4 years ago
Alexandre Flament 50e717c452 [mod] searx.search: remove unused global variable number_of_searches 4 years ago
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
4 years ago
Alexandre Flament c4067a9d02 [mod] searx.search.Search: split the search method into different methods 4 years ago
Alexandre Flament ad0758e52a [mod] add searx/webutils.py
contains utility functions and classes used only by webapp.py
4 years ago
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.
4 years ago
Alexandre Flament 2fd582d457 [fix] /autocompleter: return HTTP 400 when q is empty as intent.
Fix commit c225db45c8
4 years ago
Marc Abonce Seguin ecf5899153 fetch google's search langs rather than ui langs 4 years ago
Marc Abonce Seguin c86504b47a fix utils/fetch_languages to work with new languages 4 years ago
Marc Abonce Seguin 41800835f9 fetch supported languages for startpage engine 4 years ago
Marc Abonce Seguin ea9d979cc3 add language names in qwant's fetch languages function 4 years ago
Alexandre Flament 375cbd12b3
Merge pull request #2205 from dalf/fix-simple-theme-autocomplete
[fix] simple theme: fix autocomplete
4 years ago
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
4 years ago
Alexandre Flament 6deb85072a [fix] searx.utils.HTMLTextExtractor: invalid HTML don't raise an Exception
Close #2188
4 years ago
Alexandre Flament df12ed6e55 [mod] searx.RawTextQuery: the constructor call parse_query 4 years ago
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
4 years ago
Dalf c225db45c8 Drop Python 2 (4/n): SearchQuery.query is a str instead of bytes 4 years ago
Dalf 7888377743 Drop Python 2 (3/n): objects 4 years ago
Dalf 78df10fb55 Drop Python 2 (2/n): templates 4 years ago
Dalf 1022228d95 Drop Python 2 (1/n): remove unicode string and url_utils 4 years ago
Marc Abonce Seguin 7e82817925 wait for img to load before hiding infobox toggle 4 years ago
Marc Abonce Seguin ab20ca182c use Wikipedia's REST v1 API 4 years ago
Alexandre Flament d0f9778c2a
[mod] results.py: code clean up (#2140) 4 years ago
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.
4 years ago
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.
4 years ago
Scott Wallace 8bcba31e31 Add key to settings.yml for opening result links in a new tab
Closes #1552
Closes #444
4 years ago
Adam Tauber 4a913247b2 [enh] add option to configure proxies per engine - closes #1827 4 years ago
Alexandre Flament b329058c1a Revert "[enh] test: load each engine to check for syntax errors"
This reverts commit 4fb3ed2c63.
4 years ago
Singustromo 315cdfee09
Added metager-search (#2139)
* Added metager-search
4 years ago
Adam Tauber 6f9aa0e258
Merge pull request #2160 from dalf/test_load_engine
[enh] test: load each engine to check for syntax errors
4 years ago
Adam Tauber 6ded6e7a9a [fix] skip uncomplete image results - closes #1496 4 years ago
Dalf 4fb3ed2c63 [enh] test: load each engine to check for syntax errors 4 years ago
Marc Abonce Seguin a2430154b9
fix selects in preferences so they look consistent (#2150) 4 years ago
Marc Abonce Seguin 0d8970c8f2
only return one url per "type" in Wikidata (#2151)
i.e. only one official website, one Twitter, etc.
4 years ago
Adam Tauber 079783e993 [fix] pylint 4 years ago
Adam Tauber 30d16e7ee6 [fix] use base_url for prefix of sharing 'currenly saved preferences' - fixes #1249 by @matejc 4 years ago
Adam Tauber 6278538890 [fix] add search language and time range filter to suggestions - fixes #1314 4 years ago
Émilien Devos a5e6423c39
[fix] opensearch on chromium for android (#2132) 4 years ago
Émilien Devos 27d74826f1
[enh] add yggtorrent engine (#2135) 4 years ago
Emilien Devos c15a91a534 [fix] piratebay engine date and pep8 indentation 4 years ago
Emilien Devos 52d78d8418 [fix] piratebay engine 4 years ago
Adam Tauber 77103c7874
Merge pull request #2116 from mikeri/invidiousres
Include author and video length in Invidious results
4 years ago
Adam Tauber e6d002a730
Merge pull request #2130 from msafadieh/master
Make default query submission method configurable
4 years ago
Marc Abonce Seguin 0601f2bb48 add toggle to resize infobox 4 years ago
Marc Abonce Seguin 57bad502a6 add visually-hidden css class to pointhi style 4 years ago
Marc Abonce Seguin 74270a3fc2 add class for infobox's official url 4 years ago
Marc Abonce Seguin 001eb047cd set max-height on infobox's images 4 years ago
Marc Abonce Seguin c9c39b3e79 add engine's name in infobox's header 4 years ago
Marc Abonce Seguin 574e99c4de reduce space between title and url in infobox header 4 years ago
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.
4 years ago
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.
4 years ago
Vlad f678388dbc
Fix google images 'get image' button bug from issue #2103 (#2115)
Closes #2103
4 years ago
Michael Ilsaas a1ce141c99
add peertube engine (#2109) 4 years ago
Vlad c3af520c33 Fix search error with query 'random sha256' 4 years ago
Michael Ilsaas 2ed8ad7691 include length in invidious results 4 years ago
Michael Ilsaas 0305fe0dd5 include author in invidious results 4 years ago
Noémi Ványi 935321226b
Merge branch 'master' into patch-1 4 years ago
Vlad d83ee1e413 Add clearfix to fix issue 2110 4 years ago
asht 3b8bd0770b
Change isAlive() to is_alive() as isAlive() is unsupported in newer Python versions 4 years ago
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"
4 years ago
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>
4 years ago
Noémi Ványi 74013c212a Revert "[enh] new plugin to open results on new browser tabs"
This reverts commit ab6a7601cb.

Closes #2037
4 years ago
Noémi Ványi 157fa1adb3 add Gitea engine
Closes #1448
Closes #1447
4 years ago
TheEvilSkeleton 925be22d8f
Replaced dash with em in searx description (#1973)
Very small change, but it looks better
4 years ago
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
4 years ago
Adam Tauber 93ac4db312 [enh] copy atime_ns and mtime_ns of external plugin resources 4 years ago
Adam Tauber 164e4725f3 [mod] add dedicated directory to external plugins with gitignore file 4 years ago
Adam Tauber 3f60bb470a [fix] correct imported modules 4 years ago
Adam Tauber dff879d07d [fix] resolve minor review issues 4 years ago
Adam Tauber e45a269ecb [mod] create static directory for each external plugin 4 years ago
Adam Tauber 81e9c75534 [fix] pep8 4 years ago
Adam Tauber 7b93d11d84 [fix] add plugin sha sum check to be able to copy updated resources 4 years ago
Adam Tauber 1f2dc6c647 [enh] add external plugin support 4 years ago
Marc Abonce Seguin 77b9faa8df fix Wikipedia's paragraph extraction 4 years ago
Michael Ilsaas 98cb6b6701 Update torrentz2 URL from .eu to .is 4 years ago
xywei 1d4657b714
Fix relative urls that do not start with '/' 4 years ago
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().
4 years ago
Dalf b339b8b6d6 [mod] bangs.json: remove the favicons
fix #2076
4 years ago
Gaspard d'Hautefeuille 4e346e741a
fix python 3 support 4 years ago
Dalf 718715180d [mod] external_bang.py: always read bangs.json with a UTF-8 file. 4 years ago
Adam Tauber 8199ab50f9 [enh] release v0.17.0 4 years ago
Adam Tauber b7d2597f2e [enh] update translations 4 years ago
Adam Tauber e693bccaf4 [mod] drop py2 support 4 years ago
Adam Tauber 52eba0c721 [fix] pep8 4 years ago
Markus Heiser 16f8ec894a [fix] revise google images engine
this commit is picked from #1985
4 years ago
Markus Heiser 410c2f903d [fix] revise google engine
this commit is picked from #1985
4 years ago
Adam Tauber 3227695b0b [fix] indicate visually active tab programmatically on the page Preferences - #350 4 years ago
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
4 years ago
Noémi Ványi 223114c575 [fix] refine contrast ratios of texts and borders - #350 4 years ago
Markus Heiser f14a7add31 Merge branch 'master' of https://github.com/asciimoo/searx into csp-oscar-theme 4 years ago
Markus Heiser 8d318ee142
Merge branch 'master' into gigablast 4 years ago
Sophie Tauchert 71db7b1238
Fix YaCy text results returned as images 4 years ago
Markus Heiser 02017bc624
Merge branch 'master' into duckduckgo_correction 4 years ago
Adam Tauber c7b75fc818 [fix] rewrite overflow:none as none is an invalid property - $350 4 years ago
Adam Tauber b51d4ec041 [fix] add aria labels to result links - #350 4 years ago
Noémi Ványi 93cbd85b8a
Merge branch 'master' into duckduckgo_correction 4 years ago
Noémi Ványi 02c6710564 Make Oscar theme scalable 4 years ago
Markus Heiser 5f201dea7d
Merge branch 'master' into about-opensearch 4 years ago
Markus Heiser 5fac6cffa2
Merge branch 'master' into gigablast 4 years ago
Markus Heiser 5293e58032 [fix] yahoo engine - changed content_xpath
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
4 years ago
Adam Tauber 969b4340fd [fix] add label/info to Time range search and Language - #350 4 years ago
Adam Tauber cc164abdfc [fix] make "Advanced settings" openable and usable with keyboard - #350 4 years ago
Adam Tauber ec48447361 [fix] change lang attribute of the html to match the current locale - #350 4 years ago
Adam Tauber 6ab569f558 [fix] connect selects and inputs programmatically on the preferences page - #350 4 years ago
Adam Tauber fce2d49651 [fix] use scope attribute to describe properties in the engine preferences table 4 years ago
Adam Tauber 5ca5286912 [fix] indicate too high max time by e.g. icon not only by colour 4 years ago
Adam Tauber d418b593bb [fix] do not use h1 element for the logo 4 years ago
Adam Tauber 01ee3a6edd [fix] remove redundant alt texts from images in Videos, Social Media and Music results - #350 4 years ago
Markus Heiser fc370faa5b
Merge branch 'master' into gigablast 4 years ago
Markus Heiser a059c59cea
Merge branch 'master' into about-opensearch 4 years ago
Markus Heiser 34264f0b0a
Merge branch 'master' into proxify-dataurl 4 years ago
Adam Tauber a984afd6a3 [enh] make checkboxes in preferences accessible using keyboard - #350 4 years ago
Adam Tauber 2ff6214a4d [fix] remove alt text which doesnt add extra info - #350 4 years ago
Adam Tauber cc84566e0a [enh] add visually hidden but accessible css class - #350 4 years ago
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.
4 years ago
Markus Heiser 4eab5cf854
Merge branch 'master' into gigablast 4 years ago
Markus Heiser 1db37a0cc3
Merge branch 'master' into about-opensearch 4 years ago
Markus Heiser ca1c3bd15d
Merge branch 'master' into csp-oscar-theme 4 years ago
Noémi Ványi 4ec2fab583 Consider HTTP request when running search categories on select is enabled
Closes #1138
4 years ago
Adam Tauber 08c13daf85 [enh] update opensearch.xml to match major search engines opensearch.xml 4 years ago
Markus Heiser cc721b5d86 Merge branch 'master' of https://github.com/asciimoo/searx into csp-oscar-theme 4 years ago
Markus Heiser 59739a44db
Merge branch 'master' into about-opensearch 4 years ago
Markus Heiser 223430ff30
Merge branch 'master' into gigablast 4 years ago
Markus Heiser dda4a46f8e
Merge branch 'master' into filtron 4 years ago
Adam Tauber 0dc5bdb6ef [fix] add missing template file 4 years ago
Adam Tauber 32f7877235 [fix] resolve flickr_noapi encoding issues 4 years ago
Adam Tauber 4ca0d8cb0f [enh] add translatable strings to javascript - closes #461 4 years ago
Gordon Quad 385e9b5c9e add correction support for duckduckgo 4 years ago
Markus Heiser e088b95e74 Merge branch 'master' of https://github.com/asciimoo/searx into csp-oscar-theme 4 years ago
Markus Heiser 4496ad1218
Merge branch 'master' into filtron 4 years ago
Markus Heiser cc82303b62
Merge branch 'master' into about-opensearch 4 years ago
Markus Heiser ee0da61cbb
Merge branch 'master' into gigablast 4 years ago
Adam Tauber aa7c043ff4 [fix] resolve pep8 errors 4 years ago
Adam Tauber 43f7b84a59 [fix] do not stretch images - fixes #1262 4 years ago
Adam Tauber 29960aa1d9 [enh] add official site link to the top of the infobox - closes #1644 4 years ago
Adam Tauber 6c06286251 [enh] add length and author details to youtube videos
closes #775
4 years ago
Adam Tauber 2c6531b233 [enh] add routing directions to osm search - closes #254 4 years ago
Markus Heiser 2b1f73ad49
Merge branch 'master' into about-opensearch 4 years ago
Markus Heiser d065b9e4fb
Merge branch 'master' into csp-oscar-theme 4 years ago
Markus Heiser 3d6a7302a2 Merge branch 'master' of https://github.com/asciimoo/searx into gigablast 4 years ago
Markus Heiser 28181ba34f Merge branch 'master' of https://github.com/asciimoo/searx into filtron 4 years ago
Adam Tauber 785f0938fd [fix] add link to wikidata entities in infobox - fixes #1097 4 years ago
Adam Tauber d5e146251f [enh] add subscribe link to rss results - closes #468 4 years ago
Adam Tauber f0819e8826 [enh] add engine names to results as classes - closes #670 4 years ago
Adam Tauber c6ca468df2 [fix] wrap long lines in infoboxes - fixes #1652 4 years ago
Markus Heiser d9c1d5192d
Merge branch 'master' into gigablast 4 years ago
Markus Heiser 434e452d54 Merge branch 'master' of https://github.com/asciimoo/searx into csp-oscar-theme 4 years ago
Markus Heiser 1fc0e9ddc5 Merge branch 'master' of https://github.com/asciimoo/searx into filtron 4 years ago
Adam Tauber de1b08a941 [enh] add unique class for each endpoint - closes #1133 4 years ago
Noémi Ványi 640da73a9e make category order configurable using ui.categories_order 4 years ago
Markus Heiser 2b2a882df0
Merge branch 'master' into filtron 4 years ago
Adam Tauber 08fdfc73fb [fix] do not autocomplete for pressing enter when mouse is on the completion list - fixes #340 4 years ago
Adam Tauber 47cddcab8b [mod] reduce the gap between results 4 years ago
Adam Tauber c54a0e81ff [enh] add shortcut column to search engines table in preferences - fixes #230 4 years ago
Adam Tauber bab5efeac9 [enh] update npm dependency versions 4 years ago
Adam Tauber f47e6fc0f8 [enh] build css after less file changes 4 years ago
Adam Tauber ceedab6aed
Merge pull request #983 from ahangarha/patch-1
Update results.less
4 years ago
Markus Heiser b85d845636 Merge branch 'master' of https://github.com/asciimoo/searx into about-opensearch 4 years ago
Markus Heiser 6fc26775e4 Merge branch 'master' of https://github.com/asciimoo/searx into filtron 4 years ago
Markus Heiser a3431d59d3 Merge branch 'master' of https://github.com/asciimoo/searx into csp-oscar-theme 4 years ago
Markus Heiser 74135007eb
Merge branch 'master' into gigablast 4 years ago
Adam Tauber 19e32dc686
Merge pull request #1978 from kvch/fix-rtl-in-oscar
Fix Farsi language in Oscar && adjust tables with RTL
4 years ago
Noémi Ványi a3e15a3df6 Fix Farsi language in Oscar && adjust tables with RTL 4 years ago
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
4 years ago
Noémi Ványi d7d89369cb add disable all and allow all engines button to Oscar preferences 4 years ago
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
4 years ago
Markus Heiser ee5d2b319b [fix] gigablast requires a random extra parameter
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
4 years ago
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>
4 years ago
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>
4 years ago
Markus Heiser de179ecc5b [fix] remove debug print from commit e5305f8
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
4 years ago
Markus Heiser d44b034817
Merge branch 'master' into master 4 years ago
resynth1943 e84cdb66ae Add autofocus to all search inputs 4 years ago
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>
4 years ago
Sion Kazama 74e6f5d724 Revise outdated URLs 4 years ago
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>
5 years ago
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>
5 years ago
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>
5 years ago
Markus Heiser 1fdd8cd3c0 Merge branch 'master' of https://github.com/asciimoo/searx into filtron 5 years ago
Émilien Devos 7a50522a82
Update default user agents 5 years ago
Markus Heiser 9302d1fc17
Merge branch 'master' into master 5 years ago
Markus Heiser 4b4e95f2c3 Merge branch 'master' of https://github.com/asciimoo/searx into filtron 5 years ago
Noémi Ványi bce3830b8d [fix] translate engine errors to Occitan when configured 5 years ago
Noémi Ványi ba7c8d7b96 [fix] remove usage of request context where not available 5 years ago
Noémi Ványi fcb44c6542
Merge branch 'master' into fix_startpage_ValueError_on_spanish_datetime 5 years ago
HLFH 3a26093c46
Remove discontinued faroo engine 5 years ago
Markus Heiser f2ca12b54f Merge branch 'master' of https://github.com/asciimoo/searx into filtron 5 years ago
Noémi Ványi 7878176bb0
Merge branch 'master' into wikimedia-projects 5 years ago
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>.
5 years ago
Splinter Suidman 87fba9c12d
fix: Remove unnecessary query parameter for Wikimedia projects. 5 years ago
Splinter Suidman c37544e6be
fix: Spelling of Wiktionary. 5 years ago
Splinter Suidman 2b453cb226
fix: Change Wikinews category to news. 5 years ago
Splinter Suidman 536eb2b8dd
Add Wikimedia projects.
A list of the added projects:
- Wikibooks
- Wikinews
- Wikiquote
- Wikisource
- Wiktionary
- Wikiversity
- Wikivoyage
5 years ago
Venca24 5cb9d9e56a [add] rubygems engine 5 years ago
Markus Heiser 81b9848eb9 Merge branch 'master' of https://github.com/asciimoo/searx into filtron 5 years ago
Dalf 4bb35e7ef5 [fix] template: fix typo in about.html 5 years ago
Markus Heiser 0742c2504d build environment: add GIT_BRANCH variable
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
Markus Heiser 65b22be1f4 Merge PR #1900 of https://github.com/asciimoo/searx into filtron
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
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>
5 years ago
Markus Heiser 9717521981 Minor improvements of the HTML *about* page
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
Markus Heiser 809e6f7933 make project: re-build generic files of the searx project
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
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>
5 years ago
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>
5 years ago
Markus Heiser 3381471933 brands: add ISSUE_URL
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
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>
5 years ago
Markus Heiser ace7d30aed webapp.py: partial code review (no functional change)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
Markus Heiser d471ec86dd Makefile: add target node.env - download & install npm dependencies
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
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>
5 years ago
Markus Heiser aaf22baad2 make project: re-build generic files of the searx project
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
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>
5 years ago
Markus Heiser 95bed4910a Merge branch 'master' of https://github.com/asciimoo/searx into filtron 5 years ago
Adam Tauber 9a2f26d915 [enh] submit search on suggestion select - closes #807 5 years ago
Adam Tauber 65cae85735 [fix] load new page with infinite scroll if there is no scrollbar - fixes #759 5 years ago
Adam Tauber 2621c24cc7 [enh] add clear search button to oscar theme - fixes #454 5 years ago
Markus Heiser baddb8d3eb Merge branch 'master' of https://github.com/asciimoo/searx into filtron 5 years ago
Adam Tauber 822aee94a2 [fix] remove debug print 5 years ago
Adam Tauber baca55c94e [fix] handle weights in accept language parsing - fixes w3ms en;q=1.0 5 years ago
Markus Heiser 26b85659c0 Merge branch 'master' of https://github.com/asciimoo/searx into filtron 5 years ago
Adam Tauber 58a630308a [fix] convert query to string to produce valid filename for csv output 5 years ago
Adam Tauber 018b681841 [fix] add answers, suggestions, corrections to csv output
fixes #1888
5 years ago
Adam Tauber 9bc24080bf [fix] add answers, suggestions, corrections to rss output
fixes #1888
5 years ago
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')
5 years ago
Markus Heiser cbc08fdc26 docs: describe uwsgi setup of all suported distributions
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
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>
5 years ago
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>
5 years ago
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>
5 years ago
Markus Heiser e0c99d9dcb bugfix: fetch_supported_languages bing, -news, -videos, -images
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
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>
5 years ago
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>
5 years ago
Markus Heiser 8685d1b7d8
Merge branch 'master' into fix-prefs 5 years ago
Markus Heiser aa95a0d70b searx/testing.py: fixed pep8 error
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
Marc Abonce Seguin 51e78211de monkey patch babel get_translations to support Occitan 5 years ago
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>
5 years ago
Markus Heiser 4a94b4cca6 searx/testing.py: pylint & SPDX tag (no functional change)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
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>
5 years ago
Markus Heiser 179be12732 preferences.py: pylint, SPDX tag & docstrings (no functional change)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
Markus Heiser b7105da2af Add missing autocomplete backends to settings.yml comment
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
Markus Heiser 78c5216d76
Merge branch 'master' into autocomplete_swisscows 5 years ago
Markus Heiser 98322ac15c
Merge branch 'master' into engine-etools 5 years ago
Marc Abonce Seguin c0006cadf7 fix default locale and language issues 5 years ago
Adam Tauber 6df4172887 [fix] allow settin custom locale from settins.yml 5 years ago
piplongrun b136480546
Add Swisscows autocomplete option 5 years ago
Dalf 88f9ac58f4 [mod] move public instance list to https://searx.space 5 years ago
piplongrun e1b60106b7
Add etools engine to the list 5 years ago
piplongrun f0684a5bb5
Add eTools engine 5 years ago
Markus Heiser 7c79eb9b1b Merge commit 'refs/pull/1621/head' of https://github.com/asciimoo/searx
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
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.
5 years ago
Nicolas Gelot b8b13372c8 Fix deprecated werkzeug import
Close: #1830
Signed-off-by: Nicolas Gelot <nicolas.gelot@e.email>
5 years ago
Adam Tauber 6060ab85f8 [enh] version v0.16.0 5 years ago
Adam Tauber b6a2aff94a [enh] update translations 5 years ago
Adam Tauber 8e3bd3fcbd [mod] add py2 deprecation warning to webapp 5 years ago
Markus Heiser e64ff38217
Merge branch 'master' into fix-infinite-scroll 5 years ago
frankdelange db9d7d47bd Fix double-encode error (fixes #1799) 5 years ago
Markus Heiser 1d86d0054f
Merge branch 'master' into bug/oscar-theme 5 years ago
Adam Tauber 17b6faa4c3 [fix] pep8 5 years ago
Adam Tauber ad5bb994b1 [fix] add py3 compatibility 5 years ago
Adam Tauber 1e6253ce16 [fix] handle empty response 5 years ago
Adam Tauber 86a378bd01 [fix] handle missing thumbnail 5 years ago
Adam Tauber 2dc2e1e8f9 [fix] skip invalid encoded attributes 5 years ago
Adam Tauber 2292e6e130 [fix] handle missing result size 5 years ago
Adam Tauber a1b85571a2 [fix] tmp suspend insecure engines 5 years ago
Markus Heiser 36e72a4619
Merge branch 'master' into fix-engine-spotify 5 years ago
Markus Heiser 38dad2e8e3
Merge branch 'master' into ne/fix-infinite_scroll-with-vim_bindings 5 years ago
Markus Heiser fb668e2075
Merge branch 'master' into libgen 5 years ago
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
5 years ago
Markus Heiser 70f7142824
Merge branch 'master' into bug/oscar-theme 5 years ago
Vipul f407dd8ef4
Switch to https for some domains 5 years ago
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
5 years ago
Marc Abonce Seguin 495ae59b31 hide suggestions box if empty
This bug happens only in python3
because map returns an iterator.
5 years ago
Marc Abonce Seguin 5706c12fba remove empty parenthesis in wikipedia's summary
They're usually IPA pronunciations which are removed
by the API.
5 years ago
Marc Abonce Seguin c18048e045 exclude disambiguation pages from wikipedia infobox 5 years ago
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
5 years ago
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
5 years ago
Adam Tauber 34ad3d6b34 [enh] display error message if gigablast extra param expired 5 years ago
Adam Tauber fc457569f7 [fix] pep8 5 years ago
Adam Tauber 00512e36c1 [fix] handle empty response from wikipedia engine - closes #1114 5 years ago
Adam Tauber f8713512be [fix] convert byte query to string in osm engine - fixes #1220 5 years ago
Adam Tauber e5305f886c [fix] fetch extra search param of gigablast - fixes #1293 5 years ago
Adam Tauber 8850036ded [fix] add explicit useragent header to requests - closes #1459 5 years ago
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.
5 years ago
Adam Tauber 3f93fe04d8
Merge pull request #1752 from MarcAbonce/user-agents-update
User agents update
5 years ago
Dalf 0e7b6c9a03 [mod] infinite scroll: XHR requests are sent with the header "Accept: text/html".
Fix https://github.com/searx/searx-docker/issues/16
5 years ago
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>
5 years ago
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>
5 years ago
Markus Heiser 57c6fa6e63 theme: oscar - fix auto-submit on language seletion
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
Markus Heiser 2a5c39e33c theme: oscar - tidy up trailing whitespaces and tab usage
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
Markus Heiser 9988cdcbc5 Merge branch 'master' of https://github.com/asciimoo/searx into dos2unix
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
Dalf f34ac58752 [mod] tidy oscar HTML output 5 years ago
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>
5 years ago
Marc Abonce Seguin ccaf6ca02c [fix] update xpaths for new google results page 5 years ago
Adam Tauber 731e34299d
Merge pull request #1744 from dalf/optimizations
[mod] speed optimization
5 years ago
Adam Tauber 574cb25a16
Merge pull request #1758 from return42/ddd-fix
[fix] duckduckgo_definitions
5 years ago
Markus Heiser 30ad0c666d duckduckgo_definitions: remove the debug message
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
5 years ago
Adam Tauber 20da8f2cbf
Merge pull request #1754 from MarcAbonce/seedpeer
Add Seedpeer again
5 years ago
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>
5 years ago
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>
5 years ago
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>
5 years ago
Adam Tauber 8721be2f7d
Merge pull request #1682 from Venca24/devel_mojeek
[fix] mojeek engine
5 years ago
Adam Tauber 789d71350d
Merge pull request #1745 from lorddavidiii/python3.8-fix
Fix python 3.8 compatibility
5 years ago
Adam Tauber 05033ea8d8
Merge pull request #1689 from MarcAbonce/images_fixes
[fix] Google Images
5 years ago
Marc Abonce Seguin 9299355570 add seedpeer again 5 years ago
Marc Abonce Seguin d0d91fa331 update user agents 5 years ago
Marc Abonce Seguin 94ca30de1b add a shortcut for utils/fetch_firefox_version.py in manage.sh 5 years ago
Emilien Devos 8f51430f5c [fix] Force Google old UI with a new user agent 5 years ago
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
5 years ago
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
5 years ago
Mathieu Brunot e9d90d06a9
Merge branch 'master' into feature/accessibility 5 years ago
Noémi Ványi bf24b39fce
Merge branch 'master' into corrections_fix 5 years ago
Marc Abonce Seguin dede46a2d5 fix out of range error in tracker remover plugin 5 years ago
Marc Abonce Seguin b0f89ed477 [fix] preserve bangs in corrections 5 years ago
Mathieu Brunot a51b2b6c20
Merge branch 'master' into feature/accessibility 5 years ago
Noémi Ványi 5796dc60c9 fix pep 8 check 5 years ago
Noémi Ványi a6f20caf32 add initial support for offline engines && command engine 5 years ago
Adam Tauber 3c34e0c3a7 [mod] remove cloudflare protected digbt from engines list 5 years ago
Adam Tauber 7d8fd4b95e [fix] pep8 5 years ago
Adam Tauber bbe4442a86 [fix] update gigablast engine 5 years ago
Adam Tauber 1057e42cfd [fix] update digg engine 5 years ago
Adam Tauber 72459b246b [fix] convert bytes type to string in language detection (fixes dictzone) 5 years ago
Adam Tauber 7177c9e12f [fix] update devianart engine 5 years ago
Adam Tauber 6ca1622378 [fix] update 1x engine 5 years ago
Adam Tauber c98a2df36d [fix] enable paging support for arxiv engine 5 years ago
Adam Tauber ed1c1bdb04 [fix] pep8 5 years ago
Adam Tauber 27ed31c7a2 [fix] add message to SearxParameterException - fixes #1722 5 years ago
Adam Tauber 28c75c187f [fix] update query params sanitization - closes #722 5 years ago
Adam Tauber 07a0a50e0d [fix] update voat xpaths - closes #1581 5 years ago
Adam Tauber 77a70fe541 [fix] update startpage engine - closes #1601 5 years ago
Adam Tauber 3d0c22c58d [fix] normalize time range parameter 5 years ago
Adam Tauber 94ea9d6622 [fix] duckduckgo paging - closes #1677 5 years ago
mathieu.brunot 4d17d453bf
Add aria labels for oscar buttons
Signed-off-by: mathieu.brunot <mathieu.brunot@monogramm.io>
5 years ago
Marc Abonce Seguin bb4d223770 [fix] google images 5 years ago
Venca24 07d0250241 [fix] mojeek engine 5 years ago
Dalf 6fbba63c83 oscar and simple themes: no inline script (allow A+ Content-Security-Policy) 5 years ago
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.
5 years ago
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.
5 years ago
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"
5 years ago
Dalf 9a378ca8c6 [fix] etymonline, voat engines 5 years ago
Dalf fcc9587ee9 [fix] fdroid engine 5 years ago
Dalf fbf6b689dd [fix] dictzone engine 5 years ago
Dalf 9ff5001816 [fix] arxiv engine 5 years ago
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
5 years ago
Dalf ba80a0ba38 [fix] fix paging for the oscar theme after PR #1640 5 years ago
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
5 years ago
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).
5 years ago
cy8aer 4dc792e1e2 [enh] add invidious engine. (#1657)
closes #1372
5 years ago
0xhtml b2e1ee8d35 Fix some more errors with none/wrong credentials 5 years ago
0xhtml 275b37cc7c Fix error if the user hasn't set api credentials 5 years ago
0xhtml ae3eeedb14 Require Spotify API credentials in settings 5 years ago
0xhtml c329ea135e Fix spotify engine 5 years ago
Dalf 0c032c8429 [fix] youtube_noapi engine: fix the title 5 years ago
Dalf 8b7ac56669 [fix] google_videos engine: some results don't a thumbnail 5 years ago
Dalf d44677e226 [fix] dailymotion engine: remove HTML tags from the description 5 years ago
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)
5 years ago
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.
5 years ago
Marc Abonce Seguin 59b1370824 [fix] small fixes in preferences view's text 5 years ago
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)
5 years ago
Dalf 70a01e5f02 [fix] don't merge image results if the img_src is different 5 years ago
Dalf 23611897ec [fix] make sure then engine name is lower case
Minor fix: "%s engine initialized" display the right engine name
5 years ago
Dalf 8645ef717e [fix] settings.yml: make sure all engine names are lower case 5 years ago
Dalf 7d8000d965 [fix] "!wp !wp test" send only one request to wikipedia.
Note that "!general !wp test" is not fixed because the category for "!wp" is "none".
5 years ago
Dalf 2fab23ab9a [fix] fix the debug message "starting webserver on ip:port"
was "port:ip"
5 years ago
Marc Abonce Seguin e1bb0e33f2 [fix] escape perecent signs in translation file (#1528) 5 years ago
Frank de Lange 11fc9913e9 [enh] bing_images: use data from embedded JSON to improve results (e.g. real page title) (#1568)
use data from embedded JSON to improve results (e.g. real page title), add image format and source info (see PR #1567), improve paging logic (it now works)
5 years ago
Alexandre Flament f34b5cedb1
[fix] fixes google play engines (#1651)
update commit 87baa74a86
5 years ago
Jonas Zohren cac8e7c6b8 [enh] add npm search engine (#1510) 5 years ago
volth eb182df132 [mod] restore btdigg engine as btdig.com (#1515) 5 years ago
rachmadani haryono 3b1122c5fa [fix] fix duden engine (#1594) 5 years ago
Venca24 87baa74a86 [fix] fixes google play engines and adds thumbnails to their results (#1612)
fix google play apps, google play apps, google play music engines

xpath engine: thumbnail_xpath can define an optional thumbnail
5 years ago
Dalf da0ce5880f [fix] fix soundcloud engine, speed up searx start time 5 years ago
Dalf 7e201cbf65 [mod] use cache in _match_language function to speed up searx start time significantly 5 years ago
Alexandre Flament 554a21e1d0
[enh] Add Server-Timing header (#1637)
Server Timing specification: https://www.w3.org/TR/server-timing/

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

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

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

It also fixes an error on my browser that scrolling never hits the defined number. When I debugged it I hit `.scrolltop` of 1092.5 and the `doc.height - win.height` of 1093, so the condition was never true.
5 years ago
rachmadani haryono 45eb2688d0
Merge branch 'master' into feature/fix-config 5 years ago
Emilien Devos cbd1ebdce8 [fix] Force Google old UI (#1597) 5 years ago
rachmadani haryono ac357b12e3
Merge branch 'master' into feature/fix-config 5 years ago
Frank de Lange 4b7332286a Use string formatter to create source and img_format labels (#1566)
google_images :  use JSON embedded in HTML (engine expected pure JSON)
5 years ago
Dalf ffe0972f91 Remove some engines : subtitleseeker, seedpeer, swisscows
http://www.subtitleseeker.com and http://www.seedpeer.eu don't exist anymore.
https://swisscows.ch/ has change : the engine needs to be updated
5 years ago
rachmadani haryono 7a127b4547
Merge branch 'master' into feature/fix-config 5 years ago
Venca24 c66a019478 [fix] seznam engine 6 years ago
rachmadaniHaryono 535fff109f fix: dev: python3 dict keys jsonify 6 years ago
Alexandre Flament 9012ad498c
Merge branch 'master' into patch-1 6 years ago
Alexandre Flament df2b9a76f7
Merge branch 'master' into ne/fix-google-image-search 6 years ago
Nick Espig 1c6ab79b9f
Fix google image search
- Because there is not full image url in the dom, we replace "image_url" with the same url as the "url" (url of source).
  See example HTML https://gist.github.com/Nachtalb/2dea8a4d2c723c49226ad9645838121f
- Remove unused import
- Fix google image search title
- Keep google image safe value up to date
6 years ago
Marc Abonce Seguin 3e1c2153f7 [fix] duckduckgo images requests 6 years ago
b_b 4ca7e68841
use instance_name for page title
related to #1025
6 years ago
Alexandre Flament 3e9ce2638a
Merge branch 'master' into patch-1 6 years ago
Alexandre Flament e868650df7
Merge branch 'master' into youtube_fix 6 years ago
Elias Ojala cef77f0d51
Merge branch 'master' into patch-1 6 years ago
Marc Abonce Seguin aaa0524cec [fix] stop engine from sending duplicated requests 6 years ago
Marc Abonce Seguin f2d49a6971 [fix] get youtube results from js object
Results are not appearing in the html document anymore,
instead they are found inside an object embedded in a script.
6 years ago
Elias Ojala 8039a577a8
Use HTTPS for crossref 6 years ago
Noémi Ványi 2478c5395d update pyyaml 6 years ago
Noémi Ványi 6cadbf9269
Merge branch 'master' into devel_google_scholar 6 years ago
Jonas Zohren f7bdd827c4 [enh] adds apkmirror search engine 6 years ago