Commit Graph

2489 Commits

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