summaryrefslogtreecommitdiff
path: root/searx
AgeCommit message (Collapse)Author
2021-04-22searxng brandAlexandre Flament
2021-04-22Merge pull request #15 from return42/add-springerAlexandre Flament
Add a search engine for Springer Nature
2021-04-22[enh] themes - add result.metadata to result sub headerMarkus Heiser
Signed-off-by: Markus Heiser <markus@darmarit.de>
2021-04-22[enh] Add Springer Nature enginePierre Chevalier
Springer Nature is a global publisher dedicated to providing service to research community [1] with official API [2]. To test this PR, first get your API key following this page: https://dev.springernature.com/signup In searx/engines/springer.py at line 24, add this API key. I left my own key, commented out in the line aboce. Feel free to use it, if needed. [1] https://www.springernature.com/ [2] https://dev.springernature.com/
2021-04-22[enh] add engine using API from "The Art Institute of Chicago"habsinn
2021-04-22Merge pull request #10 from return42/fix-youtubeAlexandre Flament
[fix] youtube - send CONSENT Cookie to not be redirected
2021-04-22[enh] add DOI resolver from sci-hub / replace default DOIMarkus Heiser
The new sci-hub URLs are comming from @aurora-vasiliev [1]. [1] https://github.com/searx/searx/pull/2706 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-22[fix] youtube - send CONSENT Cookie to not be redirectedMarkus Heiser
In the EU there exists a "General Data Protection Regulation" [1] aka GDPR (BTW: very user friendly!) which requires consent to tracking. To get the consent from the user, youtube requests are redirected to confirm and get a CONSENT Cookie from https://consent.youtube.com This patch adds a CONSENT Cookie to the youtube request to avoid redirection. [1] https://en.wikipedia.org/wiki/General_Data_Protection_Regulation Signed-off-by: Markus Heiser <markus.heiser@darmarit.de> Reported-by: https://github.com/searx/searx/issues/2774
2021-04-22[drop] plugin HTTPS rewrite - rule base is to old (update is to big)Markus Heiser
The usefulness of the _HTTPS rewrite_ plugin is questionable: - the 36 rule files have not been updated since 2015 [1] - actual there are 23760 rule files in the https-everywhere repo [2] For the first, we can remove this plugin. For a complete new implementation, it might be good to know that there is a project "https-everywhere : Privacy for Pythons" [3] related: https://github.com/return42/searx-next/issues/8 [1] https://github.com/return42/searx-next/tree/d187a1d/searx/plugins/https_rules [2] https://github.com/EFForg/https-everywhere/tree/master/src/chrome/content/rules [3] https://github.com/jayvdb/https-everywhere-py Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-22Merge pull request #7 from searxng/metricsAlexandre Flament
Metrics
2021-04-21fix issues from reviewAlexandre Flament
2021-04-21[fix] searxng fix: sjp engineAlexandre Flament
2021-04-21[mod] oscar: /preferences , engines tab: report engine timesAlexandre Flament
* display the median time instead of the average. * add a "Reliability" column (sum up the metrics and the checker results). * the "selected language", "SafeSearch", "Time range" values are displayed as "broken" when the checker tests fail.
2021-04-21[mod] metrics: add secondary parameterAlexandre Flament
Some error won't stop the engine: * additional HTTP redirects for example * some invalid results secondary=True allows to flag these errors as not important.
2021-04-21[enh] rewrite and enhance metricsAlexandre Flament
2021-04-21[mod] refactoring: processorsAlexandre Flament
Report to the user suspended engines. searx.search.processor.abstract: * manages suspend time (per network). * reports suspended time to the ResultContainer (method extend_container_if_suspended) * adds the results to the ResultContainer (method extend_container) * handles exceptions (method handle_exception)
2021-04-21Merge remote-tracking branch 'return42/fix-preference-save'Alexandre Flament
2021-04-21Merge remote-tracking branch 'return42/fix-url-bar-suggestion'Alexandre Flament
2021-04-19Merge remote-tracking branch 'dalf/oscar-images'Alexandre Flament
2021-04-19Merge remote-tracking branch 'searx/master'Alexandre Flament
2021-04-16Merge pull request #2736 from plague-doctor/sjpNoémi Ványi
Add new engine: SJP - Słownik języka polskiego
2021-04-16Merge pull request #2759 from ypid/fix/typoNoémi Ványi
Fix grammar mistake in debug log output
2021-04-16Code refactoring.Plague Doctor
2021-04-15[mod] oscar's "default" template should make use of result.thumbnailMarkus Heiser
Some engine do have set result.img_src, other return a result.thumbnail. If result.img_src is unset and a result.thumbnail is given, show it to the UI. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-15[fix] xpath expressions to grap all items from bandcamp's responseMarkus Heiser
I also found some items missing a thumbnail and I used text_extract for content and title, to remove unneeded whitespaces. BTW: added bandcamp's favicon Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-15[feat] add bandcamp engineKyle Anthony Williams
2021-04-12[httpx] replace searx.poolrequests by searx.networkAlexandre Flament
settings.yml: * outgoing.networks: * can contains network definition * propertiers: enable_http, verify, http2, max_connections, max_keepalive_connections, keepalive_expiry, local_addresses, support_ipv4, support_ipv6, proxies, max_redirects, retries * retries: 0 by default, number of times searx retries to send the HTTP request (using different IP & proxy each time) * local_addresses can be "192.168.0.1/24" (it supports IPv6) * support_ipv4 & support_ipv6: both True by default see https://github.com/searx/searx/pull/1034 * each engine can define a "network" section: * either a full network description * either reference an existing network * all HTTP requests of engine use the same HTTP configuration (it was not the case before, see proxy configuration in master)
2021-04-12[fix] https-scheme missing in preferences-pageMarkus Heiser
This patch is an addition to PR #2656 which removed all usage of `base_url` from the templates, except one was forgotten in the cookie URL of the preferences. closes: 2740 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-12[fix] redirect when saving preferencesMarkus Heiser
Erroneously commit 87e4c4762 droped the 302 redirect. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-11Fix grammar mistake in debug log outputRobin Schneider
2021-04-10[enh] replace requests by httpxAlexandre Flament
2021-04-09Fix conflictsPlague Doctor
2021-04-08Merge pull request #2735 from plague-doctor/wordnikNoémi Ványi
Add new engine: Wordnik.com
2021-04-08Add new engine: SJPPlague Doctor
2021-04-08Add new engine: Wordnik.comPlague Doctor
2021-04-07[fix] fix PR 2656Alexandre Flament
SCRIPT_NAME remove trailing slash to avoid infinite redirect
2021-04-06Add Meilisearch engineNoémi Ványi
Website: https://www.meilisearch.com/
2021-04-05Merge pull request #2728 from return42/fix-loaderNoémi Ványi
[fix] settings_loader.py - use update_dict only for mapping types
2021-04-06Remove hubsbpot tracking URL params3nprob
More information here: https://knowledge.hubspot.com/settings/how-do-i-create-a-tracking-url https://knowledge.hubspot.com/ads/ad-tracking-in-hubspot https://knowledge.hubspot.com/ctas/calls-to-action-frequently-asked-questions https://meta.stackexchange.com/questions/263392/what-are-these-very-long-parameters-in-so-careers-feedback-always-welcome-url
2021-04-05[fix] settings_loader.py - use update_dict only for mapping typesMarkus Heiser
I can't set `default_doi_resolver` in `settings.yml` if I'm using `use_default_settings`. Searx seems to try to interpret all settings at root level in `settings.yml` as dict, which is correct except for `default_doi_resolver` which is at root level and a string:: File "/usr/lib/python3.9/site-packages/searx/settings_loader.py", line 125, in load_settings update_settings(default_settings, user_settings) File "/usr/lib/python3.9/site-packages/searx/settings_loader.py", line 61, in update_settings update_dict(default_settings[k], v) File "/usr/lib/python3.9/site-packages/searx/settings_loader.py", line 48, in update_dict for k, v in user_dict.items(): AttributeError: 'str' object has no attribute 'items' Signed-off-by: Markus Heiser <markus@darmarit.de> Suggested-by: @0xhtml https://github.com/searx/searx/issues/2722#issuecomment-813391659
2021-04-05Merge pull request #2656 from return42/fix-url_forAlexandre Flament
[fix] url_for(..., _external=True) in templates
2021-04-05[fix] url_for(..., _external=True) in templatesMarkus Heiser
The `url_for` function in the template context is not the one from Flask, it is the one from `webapp`. The `webapp.url_for_theme` is different from its namesake of Flask and has it quirks, when called with argument `_external=True`. The `webapp.url_for_theme` can't handle absolute URLs since it pokes a leading '/', here is the snippet of the old code:: url = url_for(endpoint, **values) if settings['server']['base_url']: if url.startswith('/'): url = url[1:] url = urljoin(settings['server']['base_url'], url) Next drawback of (Flask's) `_external=True` is, that it will not return the HTTP scheme when searx (the Flask app) listens on http and is proxied by a https server. To get the right scheme `HTTP_X_SCHEME` is needed by Flask (werkzeug). Since this is not provided in every environment (e.g. behind Apache mod_wsgi or the HTTP header is not fully set for some other reasons) it is recommended to get *script_name*, *server* and *scheme* from the configured `base_url`. If `base_url` is specified, then these values from are given preference over any Flask's generics. BTW this patch normalize to use `url_for` in the `opensearch.xml` and drop the need of `host` and `urljoin` in template's context. Signed-off-by: Markus Heiser <markus@darmarit.de>
2021-04-05[enh] oscar: image thumbnail layoutAlexandre Flament
Adjust thumbnail sizes to fill the container width
2021-04-04Merge pull request #2718 from return42/fix-publishedDateNoémi Ványi
[fix] publishedDate: don't try to get date from empty string or None
2021-04-04[fix] default_doi_resolver in preferencesMarkus Heiser
Instead of a hard-coded `oadoi.org` default, use the default value from `settings.yml`. Fix an issue in the themes: The replacement 'current_doi_resolver' contains the doi_resolver_url, not the name of the DOI resolver. Compare return value of:: searx.plugins.oa_doi_rewrite.get_doi_resolver(...) Fix a typo in `get_doi_resolver(..)`: suggested by @kvch: *L32 should set doi_resolver not doi_resolvers* Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-04[fix] publishedDate: don't try to get date from empty string or NoneMarkus Heiser
Signed-off-by: Markus Heiser <markus@darmarit.de>
2021-04-03Merge pull request #2712 from searx/update_data_update_firefox_version.pyNoémi Ványi
Update searx.data - update_firefox_version.py
2021-04-03Merge pull request #2710 from searx/update_data_update_ahmia_blacklist.pyNoémi Ványi
Update searx.data - update_ahmia_blacklist.py
2021-04-03Merge pull request #2709 from searx/update_data_update_currencies.pyNoémi Ványi
Update searx.data - update_currencies.py
2021-04-03Merge pull request #2711 from searx/update_data_update_wikidata_units.pyNoémi Ványi
Update searx.data - update_wikidata_units.py