summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-08-01manage script: remove unused reference to utils/brand.env and .config.shAlexandre Flament
2021-08-01[fix] documentation - remove brand.git_url & brand.git_branchMarkus Heiser
In commit 4b43775c9 the brand.git_url & brand.git_branch has been removed, with this patch these settings are removed from the documentation. docs/admin/engines/settings.rst - Remove brand.git_url & brand.git_branch docs/dev/makefile.rst - Remove brand.git_url & brand.git_branch modified docs/dev/lxcdev.rst - Remove brand.git_url & brand.git_branch - fix searXNG to SearXNG Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-31dependabot.yml: check npm packagesAlexandre Flament
2021-07-30Merge pull request #229 from dalf/version-from-gitAlexandre Flament
version based on git
2021-07-30Merge pull request #233 from searxng/dependabot/pip/master/sphinx-4.1.2Markus Heiser
Bump sphinx from 4.1.1 to 4.1.2
2021-07-30Merge pull request #232 from searxng/dependabot/pip/master/pylint-2.9.6Markus Heiser
Bump pylint from 2.9.5 to 2.9.6
2021-07-30[mod] searx.sh - improve some messages prompted while installationMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-30[fix] searx.sh - get_installed_version_variables()Markus Heiser
Fix the quotation marks in the command line to run python -m searx.version Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-30[fix] buildenv: first unset environment / then import searx packageMarkus Heiser
The first import of names from the searx package implies loading the settings.yml. Before this is done, the enviroment variables must be unset to not overwrite the values from the settings.yml Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-30version based on the git repositoryAlexandre Flament
This commit remove the need to update the brand for GIT_URL and GIT_BRANCH: there are read from the git repository. It is possible to call python -m searx.version freeze to freeze the current version. Useful when the code is installed outside git (distro package, docker, etc...)
2021-07-30Bump sphinx from 4.1.1 to 4.1.2dependabot[bot]
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.1.1 to 4.1.2. - [Release notes](https://github.com/sphinx-doc/sphinx/releases) - [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES) - [Commits](https://github.com/sphinx-doc/sphinx/compare/v4.1.1...v4.1.2) --- updated-dependencies: - dependency-name: sphinx dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
2021-07-30Bump pylint from 2.9.5 to 2.9.6dependabot[bot]
Bumps [pylint](https://github.com/PyCQA/pylint) from 2.9.5 to 2.9.6. - [Release notes](https://github.com/PyCQA/pylint/releases) - [Changelog](https://github.com/PyCQA/pylint/blob/main/ChangeLog) - [Commits](https://github.com/PyCQA/pylint/compare/v2.9.5...v2.9.6) --- updated-dependencies: - dependency-name: pylint dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
2021-07-28Merge pull request #230 from dalf/remove-zh-hant-twAlexandre Flament
Remove zh_Hant_TW translation
2021-07-27Remove zh_Hant_TW translationAlexandre Flament
See https://github.com/searxng/searxng/issues/195#issuecomment-887518808
2021-07-27Merge pull request #226 from return42/hardeningAlexandre Flament
[mod] hardening SearXNG instances by default (formats)
2021-07-27Revert "[brand] !!DO NOT MERGE!! this patch uses branch fix-searx.sh @return42"Alexandre Flament
This reverts commit e946c3462c2b44fb154d0b6595f4f42605a326e5.
2021-07-27Merge pull request #216 from return42/fix-searx.shMarkus Heiser
normalize environment of installation tasks (shell) with YAML settings
2021-07-27Merge pull request #225 from return42/docs-nosqlMarkus Heiser
[docs] document NoSLQ engines MongoDB and redis
2021-07-27Merge pull request #227 from return42/fix-seznamMarkus Heiser
[fix] Seznam engine - some XPath selectors has been changed
2021-07-27[fix] Seznam engine - some XPath selectors has been changedSamuel Dudik
Merged from https://github.com/dudik/searx/commit/5a4207759 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-25[mod] hardening SearXNG instances by default (formats)Markus Heiser
Deny formats has been implemented in 6ed4616d. To harden SearXNG instances by default, other formats than HTML should be denied. Most of JSON, RSS and CSV requests are bots [1]:: Bots are the only users of this feature on a public instance, and they abuse it too much that the engines rate limit pretty quickly the IP address of the instance. [1] https://github.com/searxng/searxng/issues/95 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-25[mod] use tests/unit/settings/test_settings.yml in unit testsMarkus Heiser
In unit tests settings from searx/settings.yml and the user settings from: unit/settings/test_settings.yml are used. In the latter, settings can be activated that are needed in the unit test but should not activated by default in production. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-25[docs] document NoSLQ engines MongoDB and redisNoémi Ványi
Slightly modified merge of commit [3b192e638] [3b192e638] https://github.com/searx/searx/commit/3b192e638 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-25Merge pull request #221 from dalf/fix-peertube_fetch_supported_languagesAlexandre Flament
[fix] peertube: update _fetch_supported_languages
2021-07-25Merge pull request #223 from return42/fix-qwantAlexandre Flament
[fix] qwant engine - hardening the engine
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[fix] ./utils/filtron.sh - FILTRON_TARGET from YAML settingsMarkus Heiser
The filtron target is the SearXNG installation and the default of FILTRON_TARGET is taken from the YAML configuration ('server.port' & 'server.bind_address'). Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-24[fix] test.robot - do not use environment from ./utils/brand.envMarkus Heiser
Some defaults in the settings.yml are taken from the environment. By example; The manage scripts sources the ./utils/brand.env and sets SEARX_PORT environment. This enviroment *wins over* any settings in a YAML file. Whe we run a:: make test.robot The searx/settings_robot.yml is used, in this file the server settings are:: server: port: 11111 bind_address: 127.0.0.1 To get in use of the 'port: 11111' we have to unset the SEARX_PORT environment which was sourced before. The function buildenv.unset_env() can be called in all use cases where the enviroment from ./utils/brand.env is not wanted. ATM it unset the enviroment variables:: unset GIT_URL unset GIT_BRANCH unset SEARX_URL unset SEARX_PORT unset SEARX_BIND_ADDRESS 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[mod] utils/searx.sh - add command 'inspect settings'Markus Heiser
Inspect YAML setting <key> from SearXNG instance (${SEARX_SRC}):: utils/searx.sh inspect settings server.base_url utils/lib_install.sh should not log on stdout which is used for the output of function prompt_installation_setting(). Turned build_msg (stdout) into info_msg (stderr). 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-23Merge pull request #220 from dalf/fix-category-orderMarkus Heiser
[fix] /preferences: remove the empty engine category "social medias"(it is "social media")
2021-07-23[fix] /preferences: remove the empty engine category "social medias" (it is ↵Alexandre Flament
"social media")
2021-07-23Merge pull request #218 from searxng/dependabot/pip/master/twine-3.4.2Markus Heiser
Bump twine from 3.4.1 to 3.4.2
2021-07-23Merge pull request #219 from searxng/dependabot/pip/master/pylint-2.9.5Markus Heiser
Bump pylint from 2.9.3 to 2.9.5
2021-07-23Bump pylint from 2.9.3 to 2.9.5dependabot[bot]
Bumps [pylint](https://github.com/PyCQA/pylint) from 2.9.3 to 2.9.5. - [Release notes](https://github.com/PyCQA/pylint/releases) - [Changelog](https://github.com/PyCQA/pylint/blob/main/ChangeLog) - [Commits](https://github.com/PyCQA/pylint/compare/v2.9.3...v2.9.5) --- updated-dependencies: - dependency-name: pylint dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
2021-07-23Bump twine from 3.4.1 to 3.4.2dependabot[bot]
Bumps [twine](https://github.com/pypa/twine) from 3.4.1 to 3.4.2. - [Release notes](https://github.com/pypa/twine/releases) - [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst) - [Commits](https://github.com/pypa/twine/compare/3.4.1...3.4.2) --- updated-dependencies: - dependency-name: twine dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
2021-07-21[brand] searx.sh & morty.sh - renamed 'searx' into 'SearXNG'Markus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-21[mod] utils/.searx.sh: add commands: install [dot-config|init-src]Markus Heiser
This patch implements two new commands: install dot-config : - copy ./config.sh to ${SEARX_SRC} - implemented in new function install_DOT_CONFIG install init-src: - sync files (SEARX_SRC_INIT_FILES) with ${SEARX_SRC} - implemented in new function init_SEARX_SRC() new functions: verify_continue_install() and prompt_installation_status() These functions are used in installation procedures to get the status of the installation procedure. The status is based on the existing function: usage: install_searx_get_state Prompts a string indicating the status of the installation procedure missing-searx-clone: There is no clone at ${SEARX_SRC} missing-searx-pyenv: There is no pyenv in ${SEARX_PYENV} installer-modified: There are files modified locally in the installer (clone), see ${SEARX_SRC_INIT_FILES} description. python-installed: Scripts can be executed in instance's environment - user: ${SERVICE_USER} - pyenv: ${SEARX_PYENV} Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-21[mod] normalize .config.sh with settings.ymlMarkus Heiser
In commit 94851790 we have centralized all SearXNG setups in the settings.yml file: 94851790 [mod] move brand options from Makefile to settings.yml This step has not yet been completed for the installation procedures! Since all SearXNG setups are done in the settings.yml these environment variables needs to be removed from the ./conf.sh file. Scripts and other tasks running outside of an instance got the needed values from the ./utils/brand.env file. By example: ATM the environment variables of the ./config.sh file are in conflict with them from settings.yml: - PUBLIC_URL --> {server:base_url} - SEARX_INTERNAL_HTTP --> {server:bind_address}.{server:port} - GIT_BRANCH --> {brand:GIT_URL} These environment variable of a SearXNG instance and additional - SEARX_SETTINGS_TEMPLATE has been remove from the '.config.sh' file. With this patch, the main focus of ./conf.sh resists on environment variables needed for the installation of morty, filtron software. modified .config.sh: - removed no longer supported variables (see above) - add comment about: SearXNG setup in settings.yml modified utils/searx.sh: - SEARX_INTERNAL_HTTP no longer take from .config.sh - SEARX_SETTINGS_PATH /etc/searx/settings.yml - SEARX_SETTINGS_TEMPLATE obsolete modified utils/lib_install.sh: Initialize environment variables SEARX_PYENV, SEARX_SETTINGS_PATH and PUBLIC_URL. modified: utils/morty.sh Add missing hint about SEARX_SETTINGS_PATH and move PUBLIC_URL to utils/lib_install.sh modified: utils/morty.sh Move PUBLIC_URL to utils/lib_install.sh Renamed utils/templates/etc/searx/use_default_settings.yml -> settings.yml - removed option which can't be modified after installation - add some comments with examples Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
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] load .config.sh from installation (utils/lib_install.sh)Markus Heiser
**new** utils/lib_install.sh: Used to initialize installation procedures - Modified source_dot_config function that - loads .config.sh from an existing installation (at SEARX_SRC). - initialize **SEARX_SRC_INIT_FILES** - functions like: - install_log_searx_instance() - install_searx_get_state() **modified** utils/searx.sh - obsolete environment SEARX_INSTANCE_NAME has been replaced by string 'SearXNG'. **modified** utils/filtron.sh, utils/morty.sh, utils/searx.sh - source utils/lib_install.sh - normalize logging of environment variables using new function install_log_searx_instance() **modified** utils/lib.sh - fix marginal typos **Installation scripts** The utils/lib_install.sh is sourced by the installations scripts: - utils/searx.sh - utils/morty.sh - utils/filtron.sh If '${SEARX_SRC}/.config.sh' exists, the modified source_dot_config() function loads this configuration (instead of './.config.sh'). **SEARX_SRC_INIT_FILES** Array of file names to sync into a installation at $SEARX_SRC. The file names are relative to the $REPO_ROOT. Set by function init_SEARX_SRC_INIT_FILES(). Most often theses are files like: - .config.sh - searx/settings.yml - utils/brand.env - ... Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-21Merge pull request #213 from return42/drop-brandAlexandre Flament
[mod] drop searx.brand namespace
2021-07-21[mod] make pyenv.OK() less verbose when pyenv is OKMarkus Heiser
Prompt the verbose messages ... PYENV [check] import yaml --> OK PYENV OK only when environment $VERBOSE is active. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-21[mod] ./manage docker.buildx make variables localMarkus Heiser
The environment variables .. - SEARX_GIT_VERSION - VERSION_GITCOMMIT - SEARX_PYTHON_VERSION - GITHUB_USER - SEARX_IMAGE_NAME - BUILD are local to the docker.buildx() function, other variables like GIT_URL are comming from the utils/brand.env file (rebuild by: make buildenv). 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>