summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-04-23[enh] implement all build task in a bash script (manage)Markus Heiser
note: in further patches script 'manage' will replace 'manage.sh' pyenv.* : assert : build virtualenv if not exists intsall : developer install of searx into virtualenv unintsall : uninstall developer installation cmd ... : run command ... in virtualenv OK : test if virtualenv is OK pypi.upload: Upload python packages to PyPi (to test use pypi.upload.test) pybuild : Build python packages at ./${PYDIST} pyclean : delete virtualenv and intermediate py files test.* : pylint : lint PYLINT_FILES, searx/engines, searx & tests pep8 : pycodestyle (pep8) for all files except PYLINT_FILES unit : run unit tests coverage : run unit tests with coverage robot : run robot test clean : clean intermediate test stuff node.* : env : download & install npm dependencies locally clean : drop npm installations buildenv : rebuild ./utils/brand.env data.* : all : update searx/languages.py and ./data/* languages : update searx/data/engines_languages.json & searx/languages.py useragents: update searx/data/useragents.json with the most recent versions of Firefox. themes.* : all : build all themes oscar : build oscar theme simple : build simple theme bootstrap : less compile bootstrap.min.css CSS babel.compile : pybabel compile ./searx/translations docs.* : html : build HTML documentation gh-pages : deploy on gh-pages branch autobuild : autobuild HTML documentation while editing prebuild : build reST include files (./${DOCS_BUILD}/includes) clean : clean documentation build docker.build [push] : build (and push) docker image gecko.driver : download & install geckodriver if not already installed (required for robot_tests) Signed-off-by: Markus Heiser <markus@darmarit.de>
2021-04-23[fix] do not spit out error messages for utils/lxc.sh --helpMarkus Heiser
Error:: $ utils/lxc.sh --help ERROR: missing command lxc ... This breaks also docs build:: $ make docs ... WARNING: Unexpected return code 42 from command '../utils/lxc.sh --help' ... Signed-off-by: Markus Heiser <markus@darmarit.de>
2021-04-23[enh] utils/lib.sh - commands to build Sphinx-doc & deploy gh-pagesMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-23[enh] utils/lib.sh - commands pyenv, pyenv.drop pyenv.(un)installMarkus Heiser
Implement a boilerplate to manage performance optimized virtualenv builds. Shell scripts can use (e.g.) 'pyenv.cmd' to execute command in the virtualenv without having to worry about whether and how the environment is provided. :: pyenv.cmd which python ..../local/py3/bin/python pyenv.cmd which pip ..../local/py3/bin/pip If pyenv.cmd released multiple times the installation will only rebuild if the function 'pyenv.OK' fails. Function 'pyenv.OK' make some test to validate that the virtualenv exists and works as expected. The check also fails if requirements listed requirements-dev.txt and requirements.txt has been edited. Among these tests 'pyenv.OK' calls 'pyenv.check' which implements a python script that validate the python installation. Here is an example how a 'pyenv.check' implementation could look like:: pyenv.check() { cat <<EOF import yaml print('import yaml --> OK') EOF } Signed-off-by: Markus Heiser <markus@darmarit.de>
2021-04-23[fix] utils/searx.sh - Double quote to prevent globbingMarkus Heiser
Fix issues reported by `make test.sh` Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-22More brandingAlexandre Flament
2021-04-22More brandingAlexandre Flament
2021-04-22Merge pull request #17 from searxng/searxngAlexandre Flament
searxng brand
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-22Merge pull request #14 from return42/add-articAlexandre Flament
[enh] add engine using API from "The Art Institute of Chicago"
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-22Merge pull request #13 from return42/fix-morty-docAlexandre Flament
[fix] Fix typo in morty installation instruction
2021-04-22Merge pull request #11 from return42/add-doiAlexandre Flament
[enh] add DOI resolver from sci-hub / replace default DOI
2021-04-22[fix] Fix typo in morty installation instructionZackptg5
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-22Merge pull request #9 from return42/drop-https-rewriteAlexandre Flament
[drop] plugin HTTPS rewrite - rule base is to old (update is to big)
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-16Merge pull request #2764 from mikamp116/patch-1Noémi Ványi
Fix bug for 'FileNotFoundError' in 'standalone_searx.py'
2021-04-16Merge pull request #2763 from return42/add-bandcampNoémi Ványi
Add Bandcamp search engine
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-13Update standalone_searx.pyMikayel Mardanyan Petrosyan
Fix bug for 'FileNotFoundError: [Errno 2] No such file or directory: 'utils/standalone_searx.py' ' in example to run standalone_searx.py from python
2021-04-12Merge pull request #1 from metasearch-lab/httpx_networksAlexandre Flament
Httpx networks
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-11Merge pull request #2744 from ColonisationCaptain/patch-1Noémi Ványi
Correct typo/grammatical mistake in documentation
2021-04-10[enh] replace requests by httpxAlexandre Flament
2021-04-10[fix] test: avoid HTTP requestsAlexandre Flament
patch engine initialization to skip HTTP request (engine_init function in searx.engines.initialize_engines)