summaryrefslogtreecommitdiff
path: root/docs/admin
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2021-06-03 09:48:50 +0200
committerMarkus Heiser <markus.heiser@darmarit.de>2021-06-04 13:16:34 +0200
commita5610835377470b0ce19d8e40f91e48ce4aae4cc (patch)
treeef055418ffef11a3434d75c08aee36b076cea546 /docs/admin
parent523bddf987b700216784af58408e5c4bba809539 (diff)
downloadsearxng-a5610835377470b0ce19d8e40f91e48ce4aae4cc.tar.gz
searxng-a5610835377470b0ce19d8e40f91e48ce4aae4cc.zip
[docs] move blog article "Command line engines" to admin/engines/
The article "Command line engines" should be in admin's engine documentation (like the recoll engine). Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'docs/admin')
-rw-r--r--docs/admin/engines.rst3
-rw-r--r--docs/admin/engines/command-line-engines.rst64
2 files changed, 66 insertions, 1 deletions
diff --git a/docs/admin/engines.rst b/docs/admin/engines.rst
index 3ad206303..520fda35c 100644
--- a/docs/admin/engines.rst
+++ b/docs/admin/engines.rst
@@ -13,7 +13,8 @@ Special Engine Settings
.. toctree::
:maxdepth: 1
- engines/recoll.rst
+ engines/recoll
+ engines/command-line-engines
.. _engines generic:
diff --git a/docs/admin/engines/command-line-engines.rst b/docs/admin/engines/command-line-engines.rst
new file mode 100644
index 000000000..b4568f7d5
--- /dev/null
+++ b/docs/admin/engines/command-line-engines.rst
@@ -0,0 +1,64 @@
+.. _engine command:
+
+==============================
+Fetch results from commandline
+==============================
+
+Previously, with searx you could search over the Internet on other people's
+computers. Now it is possible to fetch results from your local machine without
+connecting to any networks from the same graphical user interface.
+
+.. _command line engines:
+
+Command line engines
+====================
+
+In :pull-searx:`2128` a new type of engine has been introduced called ``command``.
+This engine lets administrators add engines which run arbitrary shell commands
+and show its output on the web UI of searx.
+
+When creating and enabling a ``command`` engine on a public searx instance,
+you must be careful to avoid leaking private data. The easiest solution
+is to add tokens to the engine. Thus, only those who have the appropriate token
+can retrieve results from the it.
+
+The engine base is flexible. Only your imagination can limit the power of this engine. (And
+maybe security concerns.) The following options are available:
+
+* ``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}}']``
+* ``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_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.
+* ``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``
+
+
+The example engine below can be used to find files with a specific name in the configured
+working directory.
+
+.. code:: yaml
+
+ - name: find
+ engine: command
+ command: ['find', '.', '-name', '{{QUERY}}']
+ query_type: path
+ shortcut: fnd
+ delimiter:
+ chars: ' '
+ keys: ['line']
+
+
+Next steps
+==========
+
+In the next milestone, support for local search engines and indexers (e.g. Elasticsearch)
+are going to be added. This way, you will be able to query your own databases/indexers.
+
+Acknowledgement
+===============
+
+This development was sponsored by `Search and Discovery Fund`_ of `NLnet Foundation`_ .
+
+.. _Search and Discovery Fund: https://nlnet.nl/discovery
+.. _NLnet Foundation: https://nlnet.nl/