From 341eb1df8dac1db57be13be010c418d54ca43e22 Mon Sep 17 00:00:00 2001 From: kvch Date: Thu, 29 Sep 2022 21:02:26 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=2057e7e?= =?UTF-8?q?3bbf6da3c94f3f4e6f98edbb30b281d03a9=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _images/prefernces-private.png | Bin 0 -> 75817 bytes _sources/admin/command-engine.rst.txt | 129 ++++++++++++ _sources/admin/engines.rst.txt | 57 ++++++ _sources/admin/index.rst.txt | 4 + _sources/admin/indexer-engines.rst.txt | 89 +++++++++ _sources/admin/no-sql-engines.rst.txt | 170 ++++++++++++++++ _sources/admin/private-engines.rst.txt | 44 ++++ admin/command-engine.html | 225 +++++++++++++++++++++ admin/engines.html | 61 ++++++ admin/engines/recoll.html | 6 +- admin/index.html | 24 +++ admin/indexer-engines.html | 196 ++++++++++++++++++ admin/no-sql-engines.html | 265 +++++++++++++++++++++++++ admin/plugins.html | 8 +- admin/private-engines.html | 142 +++++++++++++ dev/reST.html | 72 ++++++- index.html | 4 + objects.inv | Bin 3030 -> 3095 bytes searchindex.js | 2 +- utils/filtron.sh.html | 8 +- utils/lxc.sh.html | 2 +- utils/morty.sh.html | 8 +- utils/searx.sh.html | 4 +- 23 files changed, 1494 insertions(+), 26 deletions(-) create mode 100644 _images/prefernces-private.png create mode 100644 _sources/admin/command-engine.rst.txt create mode 100644 _sources/admin/indexer-engines.rst.txt create mode 100644 _sources/admin/no-sql-engines.rst.txt create mode 100644 _sources/admin/private-engines.rst.txt create mode 100644 admin/command-engine.html create mode 100644 admin/indexer-engines.html create mode 100644 admin/no-sql-engines.html create mode 100644 admin/private-engines.html diff --git a/_images/prefernces-private.png b/_images/prefernces-private.png new file mode 100644 index 0000000000000000000000000000000000000000..6ff69ca8ae8c5fd325790ef8b418e0cd485692dc GIT binary patch literal 75817 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 literal 0 HcmV?d00001 diff --git a/_sources/admin/command-engine.rst.txt b/_sources/admin/command-engine.rst.txt new file mode 100644 index 00000000..c1b43948 --- /dev/null +++ b/_sources/admin/command-engine.rst.txt @@ -0,0 +1,129 @@ +===================================== +Run shell commands from your instance +===================================== + +Command line engines are custom engines that run commands in the shell of the +host. In this article you can learn how to create a command engine and how to +customize the result display. + +The command +=========== + +When specifyng commands, you must make sure the commands are available on the +searx host. Searx will not install anything for you. Also, make sure that the +``searx`` user on your host is allowed to run the selected command and has +access to the required files. + +Access control +============== + +Be careful when creating command engines if you are running a public +instance. Do not expose any sensitive information. You can restrict access by +configuring a list of access tokens under tokens in your ``settings.yml``. + +Available settings +================== + +* ``command``: A comma separated list of the elements of the command. A special + token ``{{QUERY}}`` tells searx where to put the search terms of the + user. Example: ``['ls', '-l', '-h', '{{QUERY}}']`` +* ``query_type``: The expected type of user search terms. Possible values: + ``path`` and ``enum``. ``path`` checks if the uesr provided path is inside the + working directory. If not the query is not executed. ``enum`` is a list of + allowed search terms. If the user submits something which is not included in + the list, the query returns an error. +* ``delimiter``: A dict containing a delimiter char and the "titles" of each + element in keys. +* ``parse_regex``: A dict containing the regular expressions for each result + key. +* ``query_enum``: A list containing allowed search terms if ``query_type`` is + set to ``enum``. +* ``working_dir``: The directory where the command has to be executed. Default: + ``.`` +* ``result_separator``: The character that separates results. Default: ``\n`` + +Customize the result template +============================= + +There is a default result template for displaying key-value pairs coming from +command engines. If you want something more tailored to your result types, you +can design your own template. + +Searx relies on `Jinja2 `_ for +templating. If you are familiar with Jinja, you will not have any issues +creating templates. You can access the result attributes with ``{{ +result.attribute_name }}``. + +In the example below the result has two attributes: ``header`` and ``content``. +To customize their diplay, you need the following template (you must define +these classes yourself): + +.. code:: html + +
+
+ {{ result.header }} +
+
+ {{ result.content }} +
+
+ +Then put your template under ``searx/templates/{theme-name}/result_templates`` +named ``your-template-name.html``. You can select your custom template with the +option ``result_template``. + +.. code:: yaml + + - name: your engine name + engine: command + result_template: your-template-name.html + +Examples +======== + +Find files by name +------------------ + +The first example is to find files on your searx host. It uses the command +`find` available on most Linux distributions. It expects a path type query. The +path in the search request must be inside the ``working_dir``. + +The results are displayed with the default `key-value.html` template. A result +is displayed in a single row table with the key "line". + +.. code:: yaml + + - name : find + engine : command + command : ['find', '.', '-name', '{{QUERY}}'] + query_type : path + shortcut : fnd + tokens : [] + disabled : True + delimiter : + chars : ' ' + keys : ['line'] + + +Find files by contents +----------------------- + +In the second example, we define an engine that searches in the contents of the +files under the ``working_dir``. The search type is not defined, so the user can +input any string they want. To restrict the input, you can set the ``query_type`` +to ``enum`` and only allow a set of search terms to protect +yourself. Alternatively, make the engine private, so no one malevolent accesses +the engine. + +.. code:: yaml + + - name : regex search in files + engine : command + command : ['grep', '{{QUERY}}'] + shortcut : gr + tokens : [] + disabled : True + delimiter : + chars : ' ' + keys : ['line'] diff --git a/_sources/admin/engines.rst.txt b/_sources/admin/engines.rst.txt index 3ad20630..36b96ae3 100644 --- a/_sources/admin/engines.rst.txt +++ b/_sources/admin/engines.rst.txt @@ -86,3 +86,60 @@ Show errors **DE** {% endfor %} + .. flat-table:: Additional engines (commented out in settings.yml) + :header-rows: 1 + :stub-columns: 2 + + * - Name + - Base URL + - Host + - Port + - Paging + + * - elasticsearch + - localhost:9200 + - + - + - False + + * - meilicsearch + - localhost:7700 + - + - + - True + + * - mongodb + - + - 127.0.0.1 + - 21017 + - True + + * - mysql_server + - + - 127.0.0.1 + - 3306 + - True + + * - postgresql + - + - 127.0.0.1 + - 5432 + - True + + * - redis_server + - + - 127.0.0.1 + - 6379 + - False + + * - solr + - localhost:8983 + - + - + - True + + * - sqlite + - + - + - + - True diff --git a/_sources/admin/index.rst.txt b/_sources/admin/index.rst.txt index c708c4ff..660ed5fe 100644 --- a/_sources/admin/index.rst.txt +++ b/_sources/admin/index.rst.txt @@ -19,5 +19,9 @@ Administrator documentation filtron morty engines + private-engines + command-engine + indexer-engines + no-sql-engines plugins buildhosts diff --git a/_sources/admin/indexer-engines.rst.txt b/_sources/admin/indexer-engines.rst.txt new file mode 100644 index 00000000..fcb814d4 --- /dev/null +++ b/_sources/admin/indexer-engines.rst.txt @@ -0,0 +1,89 @@ +================== +Search in indexers +================== + +Searx supports three popular indexer search engines: + +* Elasticsearch +* Meilisearch +* Solr + +Elasticsearch +============= + +Make sure that the Elasticsearch user has access to the index you are querying. +If you are not using TLS during your connection, set ``enable_http`` to ``True``. + +.. code:: yaml + + - name : elasticsearch + shortcut : es + engine : elasticsearch + base_url : http://localhost:9200 + username : elastic + password : changeme + index : my-index + query_type : match + enable_http : True + +Available settings +------------------ + +* ``base_url``: URL of Elasticsearch instance. By default it is set to ``http://localhost:9200``. +* ``index``: Name of the index to query. Required. +* ``query_type``: Elasticsearch query method to use. Available: ``match``, + ``simple_query_string``, ``term``, ``terms``, ``custom``. +* ``custom_query_json``: If you selected ``custom`` for ``query_type``, you must + provide the JSON payload in this option. +* ``username``: Username in Elasticsearch +* ``password``: Password for the Elasticsearch user + +Meilisearch +=========== + +If you are not using TLS during connection, set ``enable_http`` to ``True``. + +.. code:: yaml + + - name : meilisearch + engine : meilisearch + shortcut: mes + base_url : http://localhost:7700 + index : my-index + enable_http: True + +Available settings +------------------ + +* ``base_url``: URL of the Meilisearch instance. By default it is set to http://localhost:7700 +* ``index``: Name of the index to query. Required. +* ``auth_key``: Key required for authentication. +* ``facet_filters``: List of facets to search in. + +Solr +==== + +If you are not using TLS during connection, set ``enable_http`` to ``True``. + +.. code:: yaml + + - name : solr + engine : solr + shortcut : slr + base_url : http://localhost:8983 + collection : my-collection + sort : asc + enable_http : True + +Available settings +------------------ + +* ``base_url``: URL of the Meilisearch instance. By default it is set to http://localhost:8983 +* ``collection``: Name of the collection to query. Required. +* ``sort``: Sorting of the results. Available: ``asc``, ``desc``. +* ``rows``: Maximum number of results from a query. Default value: 10. +* ``field_list``: List of fields returned from the query. +* ``default_fields``: Default fields to query. +* ``query_fields``: List of fields with a boost factor. The bigger the boost + factor of a field, the more important the field is in the query. Example: + ``qf="field1^2.3 field2"`` diff --git a/_sources/admin/no-sql-engines.rst.txt b/_sources/admin/no-sql-engines.rst.txt new file mode 100644 index 00000000..5da19df5 --- /dev/null +++ b/_sources/admin/no-sql-engines.rst.txt @@ -0,0 +1,170 @@ +=========================== +Query SQL and NoSQL servers +=========================== + +SQL +=== + +SQL servers are traditional databases with predefined data schema. Furthermore, +modern versions also support BLOB data. + +You can search in the following servers: + +* `PostgreSQL`_ +* `MySQL`_ +* `SQLite`_ + +The configuration of the new database engines are similar. You must put a valid +SELECT SQL query in ``query_str``. At the moment you can only bind at most +one parameter in your query. + +Do not include LIMIT or OFFSET in your SQL query as the engines +rely on these keywords during paging. + +PostgreSQL +---------- + +Required PyPi package: ``psychopg2`` + +You can find an example configuration below: + +.. code:: yaml + + - name : postgresql + engine : postgresql + database : my_database + username : searx + password : password + query_str : 'SELECT * from my_table WHERE my_column = %(query)s' + shortcut : psql + + +Available options +~~~~~~~~~~~~~~~~~ +* ``host``: IP address of the host running PostgreSQL. By default it is ``127.0.0.1``. +* ``port``: Port number PostgreSQL is listening on. By default it is ``5432``. +* ``database``: Name of the database you are connecting to. +* ``username``: Name of the user connecting to the database. +* ``password``: Password of the database user. +* ``query_str``: Query string to run. Keywords like ``LIMIT`` and ``OFFSET`` are not allowed. Required. +* ``limit``: Number of returned results per page. By default it is 10. + +MySQL +----- + +Required PyPi package: ``mysql-connector-python`` + +This is an example configuration for quering a MySQL server: + +.. code:: yaml + + - name : mysql + engine : mysql_server + database : my_database + username : searx + password : password + limit : 5 + query_str : 'SELECT * from my_table WHERE my_column=%(query)s' + shortcut : mysql + + +Available options +~~~~~~~~~~~~~~~~~ +* ``host``: IP address of the host running MySQL. By default it is ``127.0.0.1``. +* ``port``: Port number MySQL is listening on. By default it is ``3306``. +* ``database``: Name of the database you are connecting to. +* ``auth_plugin``: Authentication plugin to use. By default it is ``caching_sha2_password``. +* ``username``: Name of the user connecting to the database. +* ``password``: Password of the database user. +* ``query_str``: Query string to run. Keywords like ``LIMIT`` and ``OFFSET`` are not allowed. Required. +* ``limit``: Number of returned results per page. By default it is 10. + +SQLite +------ + +You can read from your database ``my_database`` using this example configuration: + +.. code:: yaml + + - name : sqlite + engine : sqlite + shortcut: sq + database : my_database + query_str : 'SELECT * FROM my_table WHERE my_column=:query' + + +Available options +~~~~~~~~~~~~~~~~~ +* ``database``: Name of the database you are connecting to. +* ``query_str``: Query string to run. Keywords like ``LIMIT`` and ``OFFSET`` are not allowed. Required. +* ``limit``: Number of returned results per page. By default it is 10. + +NoSQL +===== + +NoSQL data stores are used for storing arbitrary data without first defining their +structure. To query the supported servers, you must install their drivers using PyPi. + +You can search in the following servers: + +* `Redis`_ +* `MongoDB`_ + +Redis +----- + +Reqired PyPi package: ``redis`` + +Example configuration: + +.. code:: yaml + + - name : mystore + engine : redis_server + exact_match_only : True + host : 127.0.0.1 + port : 6379 + password : secret-password + db : 0 + shortcut : rds + enable_http : True + +Available options +~~~~~~~~~~~~~~~~~ + +* ``host``: IP address of the host running Redis. By default it is ``127.0.0.1``. +* ``port``: Port number Redis is listening on. By default it is ``6379``. +* ``password``: Password if required by Redis. +* ``db``: Number of the database you are connecting to. +* ``exact_match_only``: Enable if you need exact matching. By default it is ``True``. + + +MongoDB +------- + +Required PyPi package: ``pymongo`` + +Below is an example configuration for using a MongoDB collection: + +.. code:: yaml + + - name : mymongo + engine : mongodb + shortcut : icm + host : '127.0.0.1' + port : 27017 + database : personal + collection : income + key : month + enable_http: True + + +Available options +~~~~~~~~~~~~~~~~~ + +* ``host``: IP address of the host running MongoDB. By default it is ``127.0.0.1``. +* ``port``: Port number MongoDB is listening on. By default it is ``27017``. +* ``password``: Password if required by Redis. +* ``database``: Name of the database you are connecting to. +* ``collection``: Name of the collection you want to search in. +* ``exact_match_only``: Enable if you need exact matching. By default it is ``True``. diff --git a/_sources/admin/private-engines.rst.txt b/_sources/admin/private-engines.rst.txt new file mode 100644 index 00000000..36636143 --- /dev/null +++ b/_sources/admin/private-engines.rst.txt @@ -0,0 +1,44 @@ +============================= +How to create private engines +============================= + +If you are running your public searx instance, you might want to restrict access +to some engines. Maybe you are afraid of bots might abusing the engine. Or the +engine might return private results you do not want to share with strangers. + +Server side configuration +========================= + +You can make any engine private by setting a list of tokens in your settings.yml +file. In the following example, we set two different tokens that provide access +to the engine. + +.. code:: yaml + + - name: my-private-google + engine: google + shortcut: pgo + tokens: ['my-secret-token-1', 'my-secret-token-2'] + + +To access the private engine, you must distribute the tokens to your searx +users. It is up to you how you let them know what the access token is you +created. + +Client side configuration +========================= + +As a searx instance user, you can add any number of access tokens on the +Preferences page. You have to set a comma separated lists of strings in "Engine +tokens" input, then save your new preferences. + +.. image:: prefernces-private.png + :width: 600px + :align: center + :alt: location of token textarea + +Once the Preferences page is loaded again, you can see the information of the +private engines you got access to. If you cannot see the expected engines in the +engines list, double check your token. If there is no issue with the token, +contact your instance administrator. + diff --git a/admin/command-engine.html b/admin/command-engine.html new file mode 100644 index 00000000..abf41fd2 --- /dev/null +++ b/admin/command-engine.html @@ -0,0 +1,225 @@ + + + + + + + + + Run shell commands from your instance — Searx Documentation (Searx-1.1.0.tex) + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Run shell commands from your instance

+

Command line engines are custom engines that run commands in the shell of the +host. In this article you can learn how to create a command engine and how to +customize the result display.

+
+

The command

+

When specifyng commands, you must make sure the commands are available on the +searx host. Searx will not install anything for you. Also, make sure that the +searx user on your host is allowed to run the selected command and has +access to the required files.

+
+
+

Access control

+

Be careful when creating command engines if you are running a public +instance. Do not expose any sensitive information. You can restrict access by +configuring a list of access tokens under tokens in your settings.yml.

+
+
+

Available settings

+
    +
  • command: A comma separated list of the elements of the command. A special +token {{QUERY}} tells searx where to put the search terms of the +user. Example: ['ls', '-l', '-h', '{{QUERY}}']

  • +
  • query_type: The expected type of user search terms. Possible values: +path and enum. path checks if the uesr provided path is inside the +working directory. If not the query is not executed. enum is a list of +allowed search terms. If the user submits something which is not included in +the list, the query returns an error.

  • +
  • delimiter: A dict containing a delimiter char and the “titles” of each +element in keys.

  • +
  • parse_regex: A dict containing the regular expressions for each result +key.

  • +
  • query_enum: A list containing allowed search terms if query_type is +set to enum.

  • +
  • working_dir: The directory where the command has to be executed. Default: +.

  • +
  • result_separator: The character that separates results. Default: \n

  • +
+
+
+

Customize the result template

+

There is a default result template for displaying key-value pairs coming from +command engines. If you want something more tailored to your result types, you +can design your own template.

+

Searx relies on Jinja2 for +templating. If you are familiar with Jinja, you will not have any issues +creating templates. You can access the result attributes with {{ +result.attribute_name }}.

+

In the example below the result has two attributes: header and content. +To customize their diplay, you need the following template (you must define +these classes yourself):

+
<div class="result">
+    <div class="result-header">
+        {{ result.header }}
+    </div>
+    <div class="result-content">
+        {{ result.content }}
+    </div>
+</div>
+
+
+

Then put your template under searx/templates/{theme-name}/result_templates +named your-template-name.html. You can select your custom template with the +option result_template.

+
- name: your engine name
+  engine: command
+  result_template: your-template-name.html
+
+
+
+
+

Examples

+
+

Find files by name

+

The first example is to find files on your searx host. It uses the command +find available on most Linux distributions. It expects a path type query. The +path in the search request must be inside the working_dir.

+

The results are displayed with the default key-value.html template. A result +is displayed in a single row table with the key “line”.

+
- name : find
+  engine : command
+  command : ['find', '.', '-name', '{{QUERY}}']
+  query_type : path
+  shortcut : fnd
+  tokens : []
+  disabled : True
+  delimiter :
+      chars : ' '
+      keys : ['line']
+
+
+
+
+

Find files by contents

+

In the second example, we define an engine that searches in the contents of the +files under the working_dir. The search type is not defined, so the user can +input any string they want. To restrict the input, you can set the query_type +to enum and only allow a set of search terms to protect +yourself. Alternatively, make the engine private, so no one malevolent accesses +the engine.

+
- name : regex search in files
+  engine : command
+  command : ['grep', '{{QUERY}}']
+  shortcut : gr
+  tokens : []
+  disabled : True
+  delimiter :
+      chars : ' '
+      keys : ['line']
+
+
+
+
+
+ + +
+
+
+
+ + +
+
+ + + + + + \ No newline at end of file diff --git a/admin/engines.html b/admin/engines.html index 4126799a..525028d7 100644 --- a/admin/engines.html +++ b/admin/engines.html @@ -2114,6 +2114,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Additional engines (commented out in settings.yml)

Name

Base URL

Host

Port

Paging

elasticsearch

localhost:9200

False

meilicsearch

localhost:7700

True

mongodb

127.0.0.1

21017

True

mysql_server

127.0.0.1

3306

True

postgresql

127.0.0.1

5432

True

redis_server

127.0.0.1

6379

False

solr

localhost:8983

True

sqlite

True

diff --git a/admin/engines/recoll.html b/admin/engines/recoll.html index a405c0c4..427ea7e1 100644 --- a/admin/engines/recoll.html +++ b/admin/engines/recoll.html @@ -17,7 +17,7 @@ - +