summaryrefslogtreecommitdiff
path: root/searx
AgeCommit message (Collapse)Author
2021-07-24[brand] !!DO NOT MERGE!! this patch uses branch fix-searx.sh @return42Markus Heiser
Do not merge this patch in master branch of SearXNG! This branch exists only for testing the feature branch fix-searx.sh @return42. This patch changes the buildenv to:: GIT_URL='https://github.com/return42/searxng' GIT_BRANCH='fix-searx.sh' SEARX_PORT='7777' SEARX_BIND_ADDRESS='127.0.0.12' To test installation procedure, clone feature branch (fix-searx.sh):: $ cd ~/Downloads $ git clone --branch fix-searx.sh https://github.com/return42/searxng searxng $ cd searxng $ ./utils/searx.sh install all ... Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-24[mod] reduce enviroment variables in shell scripts to what is neededMarkus Heiser
Not all settings from the 'brand:' section of the YAML files are needed in the shell scripts. This patch reduce the variables in ./utils/brand.env to what is needed. The following ('brand:' settings) can be removed from this file: - ISSUE_URL - DOCS_URL - PUBLIC_INSTANCES - WIKI_URL Tasks running outside of an *installed instance*, need the following settings from the YAML configuration: - GIT_URL <--> brand.git_url - GIT_BRANCH <--> brand.git_branch - SEARX_URL <--> server.base_url (aka PUBLIC_URL) - SEARX_PORT <--> server.port - SEARX_BIND_ADDRESS <--> server.bind_address Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-24[fix] qwant engine - prevent API locale exception on lang 'all'Markus Heiser
Has been reported in [1], error message:: Error Error: searx.exceptions.SearxEngineAPIException Percentage: 0 Parameters: ('API error::locale must be a string,locale must be one of the following values: en_gb, en_ie, en_us, en_ca, en_in, en_my, en_au, en_nz, cy_gb, gd_gb, de_de, de_ch, de_at, fr_fr, br_fr, fr_be, fr_ch, fr_ca, fr_ad, fc_ca, ec_ca, co_fr, es_es, es_ar, es_cl, es_co, es_mx, es_pe, es_ad, ca_es, ca_ad, ca_fr, eu_es, eu_fr, it_it, it_ch, pt_br, pt_pt, pt_ad, nl_be, nl_nl, pl_pl, zh_hk, zh_cn, fi_fi, bg_bg, et_ee, hu_hu, da_dk, nb_no, sv_se, ko_kr, th_th, cs_cz, ro_ro, el_gr',) File name: searx/engines/qwant.py:114 Function: response Code: raise SearxEngineAPIException('API error::' + msg) [1] https://github.com/searxng/searxng/issues/222 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-24[fix] qwant engine - prevent exception on date/time value is NoneMarkus Heiser
Has been reported in [1], error messages:: Error Error: ValueError Percentage: 0 Parameters: () File name: searx/engines/qwant.py:159 Function: response Code: pub_date = datetime.fromtimestamp(item['date'], None) Error Error: TypeError Percentage: 0 Parameters: ('an integer is required (got type NoneType)',) File name: searx/engines/qwant.py:196 Function: response Code: pub_date = datetime.fromtimestamp(item['date']) Fix timedelta from seconds to milliseconds [1], error message:: Error Error: TypeError Percentage: 0 Parameters: ('unsupported type for timedelta seconds component: NoneType',) File name: searx/engines/qwant.py:195 Function: response Code: length = timedelta(seconds=item['duration']) [1] https://github.com/searxng/searxng/issues/222 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-23[fix] peertube: update _fetch_supported_languagesAlexandre Flament
update the regex to match the changes in peertube source code fix "make data.languages"
2021-07-23[fix] /preferences: remove the empty engine category "social medias" (it is ↵Alexandre Flament
"social media")
2021-07-21[fix] utils/build_env.py and add documentationMarkus Heiser
modified docs/admin/engines/settings.rst - Fix documentation and add section 'brand'. - Add remarks about **buildenv** variables. - Add remarks about settings from environment variables $SEARX_DEBUG, $SEARX_PORT, $SEARX_BIND_ADDRESS and $SEARX_SECRET modified docs/admin/installation-searx.rst & docs/build-templates/searx.rst Fix template location /templates/etc/searx/settings.yml modified docs/dev/makefile.rst Add description of the 'make buildenv' target and describe - we have all SearXNG setups are centralized in the settings.yml file - why some tasks need a utils/brand.env (aka instance's buildenv) modified manage Settings file from repository's working tree are used by default and ask user if a /etc/searx/settings.yml file exists. modified searx/settings.yml Add comments about when it is needed to run 'make buildenv' modified searx/settings_defaults.py Default for server:port is taken from enviroment variable SEARX_PORT. modified utils/build_env.py - Some defaults in the settings.yml are taken from the environment, e.g. SEARX_BIND_ADDRESS (searx.settings_defaults.SHEMA). When the 'brand.env' file is created these enviroment variables should be unset first. - The CONTACT_URL enviroment is not needed in the utils/brand.env Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-21[mod] drop obsolete searx.brand namespaceMarkus Heiser
The usages of the searx.brand namespace has been removed, the searx.brand namespace is now longer needed. The searx.brand namespace was an interim solution which has been added in commit 9e53470b4, see commit message there ... 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>
2021-07-21[mod] drop usage of the searx.brand namespace (templates & /config)Markus Heiser
In the templates and the /config (JSON) the usage of the 'brand.*' name space is replaced by 'searx.get_setting' function. - new_issue_url --> get_setting('brand.new_issue_url') - brand.GIT_URL --> get_setting('brand.git_url') - brand.PUBLIC_INSTANCES --> get_setting('brand.public_instances') - brand.DOCS_URL --> get_setting('brand.docs_url') - brand.ISSUE_URL --> get_setting('brand.issue_url') - brand.CONTACT_URL --> get_setting('general.contact_url', '') The macro 'new_issue' from searx/templates/*/messages/no_results.html is now imported with context:: {% from '__common__/new_issue.html' import new_issue with context %} To get *public instances URL* from context's 'get_setting()' function:: get_setting('brand.public_instances','') Macro's prototype does no longer need the 'new_issue_url' argument and has been changed to:: macro new_issue(engine_name, engine_reliability) Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-21[mod] drop unused setting option brand:twitter_urlMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-21[fix] add missing brand options to the settings SCHEMAMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-18[mod] drop usage of the searx.brand namespace (python procs)Markus Heiser
Added function searx.get_setting(name, default=_unset): Returns the value to which ``name`` point. If there is no such name in the settings and the ``default`` is unset, a KeyError exception is raised. In all the python processes .. - make docs - make buildenv - make install (setup.py) the usage of the 'brand.*' name space is replaced by 'searx.get_setting' function. - brand.SEARX_URL --> get_setting('server.base_url') - brand.GIT_URL --> get_setting('brand.git_url') - brand.GIT_BRANCH' --> get_setting('server.base_url') - brand.ISSUE_URL --> get_setting('brand.issue_url') - brand.DOCS_URL --> get_setting('brand.docs_url') - brand.PUBLIC_INSTANCES --> get_setting('brand.public_instances') - brand.CONTACT_URL --> get_setting('general.contact_url', '') - brand.WIKI_URL --> get_setting('brand.wiki_url') - brand.TWITTER_URL --> get_setting('brand.twitter_url', '') Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-16Merge pull request #211 from MarcAbonce/onions_v3_fix_searxngAlexandre Flament
Update onion engines to v3
2021-07-16Merge pull request #207 from return42/mongodbAlexandre Flament
[enh] add mongodb offline engine
2021-07-16[mod] qwant engine: fix typos / minor changeAlexandre Flament
minor modification of commit 628b5703f3aeeed117772696f83efb344d6f337e (no functionnal change)
2021-07-16update onion engines to v3Marc Abonce Seguin
remove not_evil which has been down for a while now: https://old.reddit.com/r/onions/search/?q=not+evil&restrict_sr=on&t=year
2021-07-15[enh] add mongodb offline engineMarkus Heiser
Cherry-Pick: https://github.com/searx/searx/commit/198aad43 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-15[mod] improve video results of the qwant engineMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-15Merge pull request #205 from unixfox/patch-2Alexandre Flament
Add missing parameter for mobile UI search
2021-07-15Add missing parameter for mobile UI searchÉmilien Devos
2021-07-14[mod] enable Qwant engines (web, news, images, video) by defaultMarkus Heiser
Qwant is a fast and reliable search engine and AFAIK there is no CAPTCHA. Let us enable Qwant engines by default. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-14[fix] Qwant engines - implement API v3 and add 'quant videos'Markus Heiser
The implementation uses the Qwant API (https://api.qwant.com/v3). The API is undocumented but can be reverse engineered by reading the network log of https://www.qwant.com/ queries. This implementation is used by different qwant engines in the settings.yml:: - name: qwant categories: general ... - name: qwant news categories: news ... - name: qwant images categories: images ... - name: qwant videos categories: videos ... Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-13[fix] drop engine dogpileMarkus Heiser
The engine was added in commit a4b07460 but now it shows new issues [1]. In the 90'th of the last century, dogpile had its own WEB index, but nowadays it is a meta-search engine [2] Powered by technology, Dogpile returns all the best results from leading search engines including Google and Yahoo! Using dogpile as an engine in SearXNG needs more investigation, a XPath solution like we have is not enough. It is questionable whether it still makes sense to investigate more into a meta-search engine with a ReCAPTCHA in front. With this patch the dogpile engine is removed [1] https://github.com/searxng/searxng/issues/202 [2] https://www.dogpile.com/support/aboutus Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-11[drop] engine torrentz: torrentz2.eu and torrentz2.is are offlineMarkus Heiser
[1] https://torrentfreak.com/torrentz2-eu-domain-suspended-by-registry-on-public-prosecutors-order-200628/ Suggested-by: @rasos https://github.com/searx/searx/issues/1875#issuecomment-877755872 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-10Fix google imagesÉmilien Devos
Proposed fix in https://github.com/searx/searx/pull/2115#issuecomment-876716010
2021-07-03[enh] add gpodder.net (JSON)Allen
Engine just for Podcasts. An API which returns Podcasts and their Info like: website, author etc. Upstream query example: https://gpodder.net/search.json?q=linux
2021-07-03[yamllint] fix some warning issues reported by yamllintMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-03[enh] add woxikon.de synonyme (Xpath)Allen
Added synonyme.woxikon.de using the xpath engine. Adds a site which returns word synonyms although just in German. Depending on the query not all synonyms are shown because of not the best xpath selection. But should do the job just fine. Upstream example query: https://synonyme.woxikon.de/synonyme/test.php
2021-07-03Merge pull request #196 from return42/fix-braveMarkus Heiser
[fix] brave engine: shows descriptions with their correct URLs
2021-07-03[fix] brave engine: shows descriptions with their correct URLsMarkus Heiser
BTW add about section to the YAML configuration It now shows descriptions with their correct URLs when there are videos in the search results, pulling content_xpath from snippet-description instead of snippet-content. Suggested-by: @eagle-dogtooth https://github.com/searx/searx/issues/2857#issuecomment-869119968 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-03Merge pull request #178 from return42/whaleslide.comMarkus Heiser
[enh] Add WhaleSlide engine (JSON)
2021-07-03[pylint] prepare for pylint v2.9.3 / fix some (new) pylint issuesMarkus Heiser
Upgrade from pylint v2.8.3 to 2.9.3 raise some new issues:: searx/search/checker/__main__.py:37:26: R1732: Consider using 'with' for resource-allocating operations (consider-using-with) searx/search/checker/__main__.py:38:26: R1732: Consider using 'with' for resource-allocating operations (consider-using-with) searx/search/processors/__init__.py:20:0: R0402: Use 'from searx import engines' instead (consider-using-from-import) searx/preferences.py:182:19: C0207: Use data.split('-', maxsplit=1)[0] instead (use-maxsplit-arg) searx/preferences.py:506:15: R1733: Unnecessary dictionary index lookup, use 'user_setting' instead (unnecessary-dict-index-lookup) searx/webapp.py:436:0: C0206: Consider iterating with .items() (consider-using-dict-items) searx/webapp.py:950:4: C0206: Consider iterating with .items() (consider-using-dict-items) Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-01Merge pull request #185 from searxng/update_data_update_external_bangs.pyAlexandre Flament
Update searx.data - update_external_bangs.py
2021-07-01Merge pull request #186 from searxng/update_data_update_wikidata_units.pyAlexandre Flament
Update searx.data - update_wikidata_units.py
2021-07-01Merge pull request #187 from searxng/update_data_update_ahmia_blacklist.pyAlexandre Flament
Update searx.data - update_ahmia_blacklist.py
2021-07-01Update searx.data - update_ahmia_blacklist.pydalf
2021-07-01Update searx.data - update_firefox_version.pydalf
2021-07-01Update searx.data - update_wikidata_units.pydalf
2021-07-01Update searx.data - update_external_bangs.pydalf
2021-06-28Merge pull request #174 from searxng/static_scriptAlexandre Flament
[mod] add make targets to manage the build files in the /searx/static directory
2021-06-28[build] /staticAlexandre Flament
2021-06-28[mod] themes: remove banner generated by gruntMarkus Heiser
The banner is useless and responsible for unwanted diff. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-28Merge pull request #179 from return42/braveAlexandre Flament
[enh] add Brave-Search engine (XPath)
2021-06-26[fix] decoding of saved preferences in the URLMarkus Heiser
To compress saved preferences in the URL was introduced in 5f758b2d3 and slightly fixed in 8f4401462. But the main fail was not fixed; The decompress function returns a binary string and this binary should first be decoded to a string before it is passed to urllib.parse_qs. BTW: revert the hot-fix from 5973491 Related-to: https://github.com/searxng/searxng/issues/166 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-26[enh] add Brave-Search engine (XPath)Markus Heiser
Add https://search.brave.com which was requested by @kaonashi696 [1]. This patch was suggested by @eagle-dogtooth [2]. [1] https://github.com/searx/searx/issues/2857 [2] https://github.com/searx/searx/issues/2857#issuecomment-867199241 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-26[enh] Add WhaleSlide engine (JSON)Allen
Add WhaleSlide engine [1] / merged from [2] [1] https://whaleslide.com [2] https://github.com/searx/searx/pull/2861
2021-06-26Set use_mobile_ui to false for Google engineÉmilien Devos
2021-06-24[emacs] .dir-locals.el: add setup for js-modeMarkus Heiser
- move jshint option from gruntfile to .jshintrc - remove trailing-whitespace from gruntfile and - add jshint esversion: 6 - .dir-locals.el add locals for js-mode to use JSHint from the simple theme Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-24[stylelint] disable role 'no-descending-specificity'Markus Heiser
This patch disables role 'no-descending-specificity'. IMO it is better to have this rule active (see below [1]), but it is hard to rewrite the less files to pass this rule, so for the first I chose to disable this rule. --- Source order is important in CSS, and when two selectors have the same specificity, the one that occurs last will take priority. However, the situation is different when one of the selectors has a higher specificity. In that case, source order does not matter: the selector with higher specificity will win out even if it comes first. The clashes of these two mechanisms for prioritization, source order and specificity, can cause some confusion when reading stylesheets. If a selector with higher specificity comes before the selector it overrides, we have to think harder to understand it, because it violates the source order expectation. Stylesheets are most legible when overriding selectors always come after the selectors they override. That way both mechanisms, source order and specificity, work together nicely. This rule enforces that practice as best it can, reporting fewer errors than it should. It cannot catch every actual overriding selector, but it can catch certain common mistakes. [1] https://stylelint.io/user-guide/rules/list/no-descending-specificity/ Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-24[stylelint] simple theme: fix some errors reported by stylelintMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>