forked from zaclys/searxng
Merge pull request #318 from return42/fix-doc-brand
[brand] docs - normalize project name to SearXNG
This commit is contained in:
commit
aba3566fbd
|
@ -83,7 +83,7 @@ Embed search bar
|
||||||
================
|
================
|
||||||
|
|
||||||
The search bar can be embedded into websites. Just paste the example into the
|
The search bar can be embedded into websites. Just paste the example into the
|
||||||
HTML of the site. URL of the searx instance and values are customizable.
|
HTML of the site. URL of the SearXNG instance and values are customizable.
|
||||||
|
|
||||||
.. code:: html
|
.. code:: html
|
||||||
|
|
||||||
|
|
|
@ -14,10 +14,10 @@ Architecture
|
||||||
- Searx: :ref:`installation basic`
|
- Searx: :ref:`installation basic`
|
||||||
|
|
||||||
Herein you will find some hints and suggestions about typical architectures of
|
Herein you will find some hints and suggestions about typical architectures of
|
||||||
searx infrastructures.
|
SearXNG infrastructures.
|
||||||
|
|
||||||
We start with a contribution from :pull-searx:`@dalf <1776#issuecomment-567917320>`.
|
We start with a contribution from :pull-searx:`@dalf <1776#issuecomment-567917320>`.
|
||||||
It shows a *reference* setup for public searx instances which can build up and
|
It shows a *reference* setup for public SearXNG instances which can build up and
|
||||||
maintained by the scripts from our :ref:`toolboxing`.
|
maintained by the scripts from our :ref:`toolboxing`.
|
||||||
|
|
||||||
.. _arch public:
|
.. _arch public:
|
||||||
|
@ -25,4 +25,4 @@ maintained by the scripts from our :ref:`toolboxing`.
|
||||||
.. kernel-figure:: arch_public.dot
|
.. kernel-figure:: arch_public.dot
|
||||||
:alt: arch_public.dot
|
:alt: arch_public.dot
|
||||||
|
|
||||||
Reference architecture of a public searx setup.
|
Reference architecture of a public SearXNG setup.
|
||||||
|
|
|
@ -42,7 +42,7 @@ Extra Dependencies
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
For using :ref:`engine redis_server` or :ref:`engine mongodb` you need to
|
For using :ref:`engine redis_server` or :ref:`engine mongodb` you need to
|
||||||
install additional packages in Python's Virtual Environment of your SearxNG
|
install additional packages in Python's Virtual Environment of your SearXNG
|
||||||
instance. To switch into the environment (:ref:`searx-src`) you can use
|
instance. To switch into the environment (:ref:`searx-src`) you can use
|
||||||
:ref:`searx.sh`::
|
:ref:`searx.sh`::
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ The initial ``settings.yml`` we be load from these locations:
|
||||||
1. the full path specified in the ``SEARX_SETTINGS_PATH`` environment variable.
|
1. the full path specified in the ``SEARX_SETTINGS_PATH`` environment variable.
|
||||||
2. ``/etc/searx/settings.yml``
|
2. ``/etc/searx/settings.yml``
|
||||||
|
|
||||||
If these files don't exist (or are empty or can't be read), searx uses the
|
If these files don't exist (or are empty or can't be read), SearXNG uses the
|
||||||
:origin:`searx/settings.yml` file. Read :ref:`settings use_default_settings` to
|
:origin:`searx/settings.yml` file. Read :ref:`settings use_default_settings` to
|
||||||
see how you can simplify your *user defined* ``settings.yml``.
|
see how you can simplify your *user defined* ``settings.yml``.
|
||||||
|
|
||||||
|
@ -71,11 +71,11 @@ Global Settings
|
||||||
|
|
||||||
general:
|
general:
|
||||||
debug: false # Debug mode, only for development
|
debug: false # Debug mode, only for development
|
||||||
instance_name: "searxng" # displayed name
|
instance_name: "SearXNG" # displayed name
|
||||||
contact_url: false # mailto:contact@example.com
|
contact_url: false # mailto:contact@example.com
|
||||||
|
|
||||||
``debug`` : ``$SEARX_DEBUG``
|
``debug`` : ``$SEARX_DEBUG``
|
||||||
Allow a more detailed log if you run searx directly. Display *detailed* error
|
Allow a more detailed log if you run SearXNG directly. Display *detailed* error
|
||||||
messages in the browser too, so this must be deactivated in production.
|
messages in the browser too, so this must be deactivated in production.
|
||||||
|
|
||||||
``contact_url``:
|
``contact_url``:
|
||||||
|
@ -110,29 +110,29 @@ Global Settings
|
||||||
rebuild instance's environment :ref:`utils/brand.env <make buildenv>`.
|
rebuild instance's environment :ref:`utils/brand.env <make buildenv>`.
|
||||||
|
|
||||||
``base_url`` : :ref:`buildenv SEARX_URL <make buildenv>`
|
``base_url`` : :ref:`buildenv SEARX_URL <make buildenv>`
|
||||||
The base URL where searx is deployed. Used to create correct inbound links.
|
The base URL where SearXNG is deployed. Used to create correct inbound links.
|
||||||
If you change the value, don't forget to rebuild instance's environment
|
If you change the value, don't forget to rebuild instance's environment
|
||||||
(:ref:`utils/brand.env <make buildenv>`)
|
(:ref:`utils/brand.env <make buildenv>`)
|
||||||
|
|
||||||
``port`` & ``bind_address``: :ref:`buildenv SEARX_PORT & SEARX_BIND_ADDRESS <make buildenv>`
|
``port`` & ``bind_address``: :ref:`buildenv SEARX_PORT & SEARX_BIND_ADDRESS <make buildenv>`
|
||||||
Port number and *bind address* of the searx web application if you run it
|
Port number and *bind address* of the SearXNG web application if you run it
|
||||||
directly using ``python searx/webapp.py``. Doesn't apply to searx running on
|
directly using ``python searx/webapp.py``. Doesn't apply to SearXNG running on
|
||||||
Apache or Nginx.
|
Apache or Nginx.
|
||||||
|
|
||||||
``secret_key`` : ``$SEARX_SECRET``
|
``secret_key`` : ``$SEARX_SECRET``
|
||||||
Used for cryptography purpose.
|
Used for cryptography purpose.
|
||||||
|
|
||||||
``image_proxy`` :
|
``image_proxy`` :
|
||||||
Allow your instance of searx of being able to proxy images. Uses memory space.
|
Allow your instance of SearXNG of being able to proxy images. Uses memory space.
|
||||||
|
|
||||||
``default_locale`` :
|
``default_locale`` :
|
||||||
Searx interface language. If blank, the locale is detected by using the
|
SearXNG interface language. If blank, the locale is detected by using the
|
||||||
browser language. If it doesn't work, or you are deploying a language
|
browser language. If it doesn't work, or you are deploying a language
|
||||||
specific instance of searx, a locale can be defined using an ISO language
|
specific instance of searx, a locale can be defined using an ISO language
|
||||||
code, like ``fr``, ``en``, ``de``.
|
code, like ``fr``, ``en``, ``de``.
|
||||||
|
|
||||||
``default_theme`` :
|
``default_theme`` :
|
||||||
Name of the theme you want to use by default on your searx instance.
|
Name of the theme you want to use by default on your SearXNG instance.
|
||||||
|
|
||||||
.. _HTTP headers: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers
|
.. _HTTP headers: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers
|
||||||
|
|
||||||
|
@ -171,11 +171,11 @@ Communication with search engines.
|
||||||
``request_timeout`` :
|
``request_timeout`` :
|
||||||
Global timeout of the requests made to others engines in seconds. A bigger
|
Global timeout of the requests made to others engines in seconds. A bigger
|
||||||
timeout will allow to wait for answers from slow engines, but in consequence
|
timeout will allow to wait for answers from slow engines, but in consequence
|
||||||
will slow searx reactivity (the result page may take the time specified in the
|
will slow SearXNG reactivity (the result page may take the time specified in the
|
||||||
timeout to load). Can be override by :ref:`settings engine`
|
timeout to load). Can be override by :ref:`settings engine`
|
||||||
|
|
||||||
``useragent_suffix`` :
|
``useragent_suffix`` :
|
||||||
Suffix to the user-agent searx uses to send requests to others engines. If an
|
Suffix to the user-agent SearXNG uses to send requests to others engines. If an
|
||||||
engine wish to block you, a contact info here may be useful to avoid that.
|
engine wish to block you, a contact info here may be useful to avoid that.
|
||||||
|
|
||||||
``keepalive_expiry``:
|
``keepalive_expiry``:
|
||||||
|
@ -201,7 +201,7 @@ Communication with search engines.
|
||||||
* ``[ 192.168.0.1, fe80::/126 ]``
|
* ``[ 192.168.0.1, fe80::/126 ]``
|
||||||
|
|
||||||
``retries`` :
|
``retries`` :
|
||||||
Number of retry in case of an HTTP error. On each retry, searx uses an
|
Number of retry in case of an HTTP error. On each retry, SearXNG uses an
|
||||||
different proxy and source ip.
|
different proxy and source ip.
|
||||||
|
|
||||||
``retry_on_http_error`` :
|
``retry_on_http_error`` :
|
||||||
|
@ -271,7 +271,7 @@ engine is shown. Most of the options have a default value or even are optional.
|
||||||
- socks5h://user:password@proxy4:1080
|
- socks5h://user:password@proxy4:1080
|
||||||
|
|
||||||
``name`` :
|
``name`` :
|
||||||
Name that will be used across searx to define this engine. In settings, on
|
Name that will be used across SearXNG to define this engine. In settings, on
|
||||||
the result page...
|
the result page...
|
||||||
|
|
||||||
``engine`` :
|
``engine`` :
|
||||||
|
@ -361,7 +361,7 @@ and can relied on the default configuration :origin:`searx/settings.yml` using:
|
||||||
``engines:``
|
``engines:``
|
||||||
With ``use_default_settings: true``, each settings can be override in a
|
With ``use_default_settings: true``, each settings can be override in a
|
||||||
similar way, the ``engines`` section is merged according to the engine
|
similar way, the ``engines`` section is merged according to the engine
|
||||||
``name``. In this example, searx will load all the engine and the arch linux
|
``name``. In this example, SearXNG will load all the engine and the arch linux
|
||||||
wiki engine has a :ref:`token <private engines>`:
|
wiki engine has a :ref:`token <private engines>`:
|
||||||
|
|
||||||
.. code-block:: yaml
|
.. code-block:: yaml
|
||||||
|
@ -375,7 +375,7 @@ and can relied on the default configuration :origin:`searx/settings.yml` using:
|
||||||
|
|
||||||
``engines:`` / ``remove:``
|
``engines:`` / ``remove:``
|
||||||
It is possible to remove some engines from the default settings. The following
|
It is possible to remove some engines from the default settings. The following
|
||||||
example is similar to the above one, but searx doesn't load the the google
|
example is similar to the above one, but SearXNG doesn't load the the google
|
||||||
engine:
|
engine:
|
||||||
|
|
||||||
.. code-block:: yaml
|
.. code-block:: yaml
|
||||||
|
@ -392,7 +392,7 @@ and can relied on the default configuration :origin:`searx/settings.yml` using:
|
||||||
|
|
||||||
``engines:`` / ``keep_only:``
|
``engines:`` / ``keep_only:``
|
||||||
As an alternative, it is possible to specify the engines to keep. In the
|
As an alternative, it is possible to specify the engines to keep. In the
|
||||||
following example, searx has only two engines:
|
following example, SearXNG has only two engines:
|
||||||
|
|
||||||
.. code-block:: yaml
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ SQL Engines
|
||||||
- `PostgreSQL <https://www.postgresql.org>`_
|
- `PostgreSQL <https://www.postgresql.org>`_
|
||||||
- `MySQL <https://www.mysql.com>`_
|
- `MySQL <https://www.mysql.com>`_
|
||||||
|
|
||||||
With the *SQL engines* you can bind SQL databases into SearxNG. The following
|
With the *SQL engines* you can bind SQL databases into SearXNG. The following
|
||||||
Relational Database Management System (RDBMS) are supported:
|
Relational Database Management System (RDBMS) are supported:
|
||||||
|
|
||||||
- :ref:`engine sqlite`
|
- :ref:`engine sqlite`
|
||||||
|
@ -98,7 +98,7 @@ Extra Dependencies
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
For using :ref:`engine postgresql` or :ref:`engine mysql_server` you need to
|
For using :ref:`engine postgresql` or :ref:`engine mysql_server` you need to
|
||||||
install additional packages in Python's Virtual Environment of your SearxNG
|
install additional packages in Python's Virtual Environment of your SearXNG
|
||||||
instance. To switch into the environment (:ref:`searx-src`) you can use
|
instance. To switch into the environment (:ref:`searx-src`) you can use
|
||||||
:ref:`searx.sh`::
|
:ref:`searx.sh`::
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ How to protect an instance
|
||||||
|
|
||||||
.. _filtron: https://github.com/asciimoo/filtron
|
.. _filtron: https://github.com/asciimoo/filtron
|
||||||
|
|
||||||
Searx depends on external search services. To avoid the abuse of these services
|
SearXNG depends on external search services. To avoid the abuse of these services
|
||||||
it is advised to limit the number of requests processed by searx.
|
it is advised to limit the number of requests processed by searx.
|
||||||
|
|
||||||
An application firewall, filtron_ solves exactly this problem. Filtron is just
|
An application firewall, filtron_ solves exactly this problem. Filtron is just
|
||||||
|
@ -187,5 +187,5 @@ Use it along with ``nginx`` with the following example configuration.
|
||||||
|
|
||||||
|
|
||||||
Requests are coming from port 4004 going through filtron and then forwarded to
|
Requests are coming from port 4004 going through filtron and then forwarded to
|
||||||
port 8888 where a searx is being run. For a complete setup see: :ref:`nginx
|
port 8888 where a SearXNG is being run. For a complete setup see: :ref:`nginx
|
||||||
searx site`.
|
searx site`.
|
||||||
|
|
|
@ -170,13 +170,13 @@ Apache Reverse Proxy
|
||||||
|
|
||||||
.. sidebar:: public to the internet?
|
.. sidebar:: public to the internet?
|
||||||
|
|
||||||
If your searx instance is public, stop here and first install :ref:`filtron
|
If your SearXNG instance is public, stop here and first install :ref:`filtron
|
||||||
reverse proxy <filtron.sh>` and :ref:`result proxy morty <morty.sh>`, see
|
reverse proxy <filtron.sh>` and :ref:`result proxy morty <morty.sh>`, see
|
||||||
:ref:`installation scripts`. If already done, follow setup: *searx via
|
:ref:`installation scripts`. If already done, follow setup: *SearXNG via
|
||||||
filtron plus morty*.
|
filtron plus morty*.
|
||||||
|
|
||||||
To setup a Apache revers proxy you have to enable the *headers* and *proxy*
|
To setup a Apache revers proxy you have to enable the *headers* and *proxy*
|
||||||
modules and create a `Location`_ configuration for the searx site. In most
|
modules and create a `Location`_ configuration for the SearXNG site. In most
|
||||||
distributions you have to un-comment the lines in the main configuration file,
|
distributions you have to un-comment the lines in the main configuration file,
|
||||||
except in :ref:`The Debian Layout`.
|
except in :ref:`The Debian Layout`.
|
||||||
|
|
||||||
|
@ -234,7 +234,7 @@ proxied host.
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
|
|
||||||
.. group-tab:: searx via filtron plus morty
|
.. group-tab:: SearXNG via filtron plus morty
|
||||||
|
|
||||||
Use this setup, if your instance is public to the internet, compare
|
Use this setup, if your instance is public to the internet, compare
|
||||||
figure: :ref:`architecture <arch public>` and :ref:`installation scripts`.
|
figure: :ref:`architecture <arch public>` and :ref:`installation scripts`.
|
||||||
|
|
|
@ -98,7 +98,7 @@ stoped. To get rid of a container use ``container rm``:
|
||||||
|
|
||||||
.. sidebar:: Warning
|
.. sidebar:: Warning
|
||||||
|
|
||||||
This might remove all docker items, not only those from searxng.
|
This might remove all docker items, not only those from SearXNG.
|
||||||
|
|
||||||
If you won't use docker anymore and want to get rid of all conatiners & images
|
If you won't use docker anymore and want to get rid of all conatiners & images
|
||||||
use the following *prune* command:
|
use the following *prune* command:
|
||||||
|
|
|
@ -128,17 +128,17 @@ depends on the linux distribution:
|
||||||
|
|
||||||
.. _nginx searx site:
|
.. _nginx searx site:
|
||||||
|
|
||||||
A nginx searx site
|
A nginx SearXNG site
|
||||||
==================
|
====================
|
||||||
|
|
||||||
.. sidebar:: public to the internet?
|
.. sidebar:: public to the internet?
|
||||||
|
|
||||||
If your searx instance is public, stop here and first install :ref:`filtron
|
If your SearXNG instance is public, stop here and first install :ref:`filtron
|
||||||
reverse proxy <filtron.sh>` and :ref:`result proxy morty <morty.sh>`, see
|
reverse proxy <filtron.sh>` and :ref:`result proxy morty <morty.sh>`, see
|
||||||
:ref:`installation scripts`. If already done, follow setup: *searx via
|
:ref:`installation scripts`. If already done, follow setup: *SearXNG via
|
||||||
filtron plus morty*.
|
filtron plus morty*.
|
||||||
|
|
||||||
Now you have to create a configuration for the searx site. If nginx_ is new to
|
Now you have to create a configuration for the SearXNG site. If nginx_ is new to
|
||||||
you, the `nginx beginners guide`_ is a good starting point and the `Getting
|
you, the `nginx beginners guide`_ is a good starting point and the `Getting
|
||||||
Started wiki`_ is always a good resource *to keep in the pocket*.
|
Started wiki`_ is always a good resource *to keep in the pocket*.
|
||||||
|
|
||||||
|
@ -167,7 +167,7 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
|
|
||||||
.. group-tab:: searx via filtron plus morty
|
.. group-tab:: SearXNG via filtron plus morty
|
||||||
|
|
||||||
Use this setup, if your instance is public to the internet, compare
|
Use this setup, if your instance is public to the internet, compare
|
||||||
figure: :ref:`architecture <arch public>` and :ref:`installation scripts`.
|
figure: :ref:`architecture <arch public>` and :ref:`installation scripts`.
|
||||||
|
@ -292,7 +292,7 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
|
||||||
|
|
||||||
Be warned, with these setups, your instance isn't :ref:`protected <searx
|
Be warned, with these setups, your instance isn't :ref:`protected <searx
|
||||||
filtron>`. The examples are just here to demonstrate how to export the
|
filtron>`. The examples are just here to demonstrate how to export the
|
||||||
searx application from a subdirectory URL ``https://example.org/searx/``.
|
SearXNG application from a subdirectory URL ``https://example.org/searx/``.
|
||||||
|
|
||||||
.. code:: nginx
|
.. code:: nginx
|
||||||
|
|
||||||
|
@ -313,7 +313,7 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
|
||||||
alias /usr/local/searx/searx-src/searx/static/;
|
alias /usr/local/searx/searx-src/searx/static/;
|
||||||
}
|
}
|
||||||
|
|
||||||
The ``X-Script-Name /searx`` is needed by the searx implementation to
|
The ``X-Script-Name /searx`` is needed by the SearXNG implementation to
|
||||||
calculate relative URLs correct. The next example shows a uWSGI
|
calculate relative URLs correct. The next example shows a uWSGI
|
||||||
configuration. Since there are no HTTP headers in a (u)WSGI protocol, the
|
configuration. Since there are no HTTP headers in a (u)WSGI protocol, the
|
||||||
value is shipped via the SCRIPT_NAME_ in the WSGI environment.
|
value is shipped via the SCRIPT_NAME_ in the WSGI environment.
|
||||||
|
@ -332,7 +332,7 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
|
||||||
alias /usr/local/searx/searx-src/searx/;
|
alias /usr/local/searx/searx-src/searx/;
|
||||||
}
|
}
|
||||||
|
|
||||||
For searx to work correctly the ``base_url`` must be set in the
|
For SearXNG to work correctly the ``base_url`` must be set in the
|
||||||
:origin:`searx/settings.yml`.
|
:origin:`searx/settings.yml`.
|
||||||
|
|
||||||
.. code:: yaml
|
.. code:: yaml
|
||||||
|
|
|
@ -36,8 +36,8 @@ Create user
|
||||||
|
|
||||||
.. _searx-src:
|
.. _searx-src:
|
||||||
|
|
||||||
install searx & dependencies
|
Install SearXNG & dependencies
|
||||||
============================
|
==============================
|
||||||
|
|
||||||
Start a interactive shell from new created user and clone searx:
|
Start a interactive shell from new created user and clone searx:
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ In the same shell create *virtualenv*:
|
||||||
:start-after: START create virtualenv
|
:start-after: START create virtualenv
|
||||||
:end-before: END create virtualenv
|
:end-before: END create virtualenv
|
||||||
|
|
||||||
To install searx's dependencies, exit the searx *bash* session you opened above
|
To install searx's dependencies, exit the SearXNG *bash* session you opened above
|
||||||
and restart a new. Before install, first check if your *virtualenv* was sourced
|
and restart a new. Before install, first check if your *virtualenv* was sourced
|
||||||
from the login (*~/.profile*):
|
from the login (*~/.profile*):
|
||||||
|
|
||||||
|
@ -106,8 +106,8 @@ For a *minimal setup*, configure like shown below – replace ``searx@$(uname
|
||||||
Check
|
Check
|
||||||
=====
|
=====
|
||||||
|
|
||||||
To check your searx setup, optional enable debugging and start the *webapp*.
|
To check your SearXNG setup, optional enable debugging and start the *webapp*.
|
||||||
Searx looks at the exported environment ``$SEARX_SETTINGS_PATH`` for a
|
SearXNG looks at the exported environment ``$SEARX_SETTINGS_PATH`` for a
|
||||||
configuration file.
|
configuration file.
|
||||||
|
|
||||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||||
|
@ -115,6 +115,6 @@ configuration file.
|
||||||
:end-before: END check searx installation
|
:end-before: END check searx installation
|
||||||
|
|
||||||
If everything works fine, hit ``[CTRL-C]`` to stop the *webapp* and disable the
|
If everything works fine, hit ``[CTRL-C]`` to stop the *webapp* and disable the
|
||||||
debug option in ``settings.yml``. You can now exit searx user bash (enter exit
|
debug option in ``settings.yml``. You can now exit SearXNG user bash (enter exit
|
||||||
command twice). At this point searx is not demonized; uwsgi allows this.
|
command twice). At this point SearXNG is not demonized; uwsgi allows this.
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ recommend two methods
|
||||||
unit template --> /usr/lib/systemd/system/uwsgi@.service
|
unit template --> /usr/lib/systemd/system/uwsgi@.service
|
||||||
uwsgi ini files --> /etc/uwsgi/searx.ini
|
uwsgi ini files --> /etc/uwsgi/searx.ini
|
||||||
|
|
||||||
The searx app can be maintained as know from common systemd units::
|
The SearXNG app can be maintained as know from common systemd units::
|
||||||
|
|
||||||
systemctl enable uwsgi@searx
|
systemctl enable uwsgi@searx
|
||||||
systemctl start uwsgi@searx
|
systemctl start uwsgi@searx
|
||||||
|
@ -57,7 +57,7 @@ The `uWSGI Emperor`_ mode which fits for maintaining a large range of uwsgi apps
|
||||||
instance is started, reload or stopped. Take Fedora and a searx.ini as
|
instance is started, reload or stopped. Take Fedora and a searx.ini as
|
||||||
example::
|
example::
|
||||||
|
|
||||||
to start a new searx instance create --> /etc/uwsgi.d/searx.ini
|
to start a new SearXNG instance create --> /etc/uwsgi.d/searx.ini
|
||||||
to reload the instance edit timestamp --> touch /etc/uwsgi.d/searx.ini
|
to reload the instance edit timestamp --> touch /etc/uwsgi.d/searx.ini
|
||||||
to stop instance remove ini --> rm /etc/uwsgi.d/searx.ini
|
to stop instance remove ini --> rm /etc/uwsgi.d/searx.ini
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ Installation
|
||||||
- :ref:`installation basic`
|
- :ref:`installation basic`
|
||||||
|
|
||||||
The :ref:`installation basic` is good enough for intranet usage and it is a
|
The :ref:`installation basic` is good enough for intranet usage and it is a
|
||||||
excellent illustration of *how a searx instance is build up*. If you place your
|
excellent illustration of *how a SearXNG instance is build up*. If you place your
|
||||||
instance public to the internet you should really consider to install a
|
instance public to the internet you should really consider to install a
|
||||||
:ref:`filtron reverse proxy <filtron.sh>` and for privacy a :ref:`result proxy
|
:ref:`filtron reverse proxy <filtron.sh>` and for privacy a :ref:`result proxy
|
||||||
<morty.sh>` is mandatory.
|
<morty.sh>` is mandatory.
|
||||||
|
@ -51,9 +51,9 @@ the case if you clone into a folder below ``/root``.
|
||||||
- :ref:`update searx`
|
- :ref:`update searx`
|
||||||
- :ref:`inspect searx`
|
- :ref:`inspect searx`
|
||||||
|
|
||||||
**Install** :ref:`searx service <searx.sh>`
|
**Install** :ref:`SearXNG service <searx.sh>`
|
||||||
|
|
||||||
This installs searx as described in :ref:`installation basic`.
|
This installs SearXNG as described in :ref:`installation basic`.
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
|
@ -80,8 +80,8 @@ If all services are running fine, you can add it to your HTTP server:
|
||||||
|
|
||||||
**Install** :ref:`external plugins <dev plugin>`
|
**Install** :ref:`external plugins <dev plugin>`
|
||||||
|
|
||||||
Use searx's ``shell`` to install external plugins. In the example below we
|
Use SearXNG's ``shell`` to install external plugins. In the example below we
|
||||||
install the searx plugins from **The Green Web Foundation** `[ref]
|
install the SearXNG plugins from **The Green Web Foundation** `[ref]
|
||||||
<https://www.thegreenwebfoundation.org/news/searching-the-green-web-with-searx/>`__:
|
<https://www.thegreenwebfoundation.org/news/searching-the-green-web-with-searx/>`__:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
|
@ -12,7 +12,7 @@ How to setup result proxy
|
||||||
.. _morty: https://github.com/asciimoo/morty
|
.. _morty: https://github.com/asciimoo/morty
|
||||||
.. _morty's README: https://github.com/asciimoo/morty
|
.. _morty's README: https://github.com/asciimoo/morty
|
||||||
|
|
||||||
By default searx can only act as an image proxy for result images, but it is
|
By default SearXNG can only act as an image proxy for result images, but it is
|
||||||
possible to proxify all the result URLs with an external service, morty_.
|
possible to proxify all the result URLs with an external service, morty_.
|
||||||
|
|
||||||
To use this feature, morty has to be installed and activated in searx's
|
To use this feature, morty has to be installed and activated in searx's
|
||||||
|
@ -29,7 +29,7 @@ Note that the example above (``http://127.0.0.1:3000``) is only for single-user
|
||||||
instances without a HTTP proxy. If your morty service is public, the url is the
|
instances without a HTTP proxy. If your morty service is public, the url is the
|
||||||
address of the reverse proxy (e.g ``https://example.org/morty``).
|
address of the reverse proxy (e.g ``https://example.org/morty``).
|
||||||
|
|
||||||
For more information about *result proxy* have a look at *"searx via filtron
|
For more information about *result proxy* have a look at *"SearXNG via filtron
|
||||||
plus morty"* in the :ref:`nginx <nginx searx via filtron plus morty>` and
|
plus morty"* in the :ref:`nginx <nginx searx via filtron plus morty>` and
|
||||||
:ref:`apache <apache searx via filtron plus morty>` sections.
|
:ref:`apache <apache searx via filtron plus morty>` sections.
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ How to update
|
||||||
How to update depends on the :ref:`installation` method. If you have used the
|
How to update depends on the :ref:`installation` method. If you have used the
|
||||||
:ref:`installation scripts`, use ``update`` command from the scripts.
|
:ref:`installation scripts`, use ``update`` command from the scripts.
|
||||||
|
|
||||||
**Update** :ref:`searx service <searx.sh>`
|
**Update** :ref:`SearXNG service <searx.sh>`
|
||||||
|
|
||||||
.. code:: sh
|
.. code:: sh
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ How to inspect & debug
|
||||||
How to debug depends on the :ref:`installation` method. If you have used the
|
How to debug depends on the :ref:`installation` method. If you have used the
|
||||||
:ref:`installation scripts`, use ``inspect`` command from the scripts.
|
:ref:`installation scripts`, use ``inspect`` command from the scripts.
|
||||||
|
|
||||||
**Inspect** :ref:`searx service <searx.sh>`
|
**Inspect** :ref:`SearXNG service <searx.sh>`
|
||||||
|
|
||||||
.. code:: sh
|
.. code:: sh
|
||||||
|
|
||||||
|
|
|
@ -118,7 +118,7 @@ ${fedora_build}
|
||||||
pip install -U wheel
|
pip install -U wheel
|
||||||
pip install -U pyyaml
|
pip install -U pyyaml
|
||||||
|
|
||||||
# jump to searx's working tree and install searx into virtualenv
|
# jump to searx's working tree and install SearXNG into virtualenv
|
||||||
(${SERVICE_USER})$ cd \"$SEARX_SRC\"
|
(${SERVICE_USER})$ cd \"$SEARX_SRC\"
|
||||||
(${SERVICE_USER})$ pip install -e .
|
(${SERVICE_USER})$ pip install -e .
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ copyright = '2021 SearXNG team, 2015-2021 Adam Tauber, Noémi Ványi'
|
||||||
author = '2021 SearXNG team, 2015-2021 Adam Tauber'
|
author = '2021 SearXNG team, 2015-2021 Adam Tauber'
|
||||||
release, version = VERSION_STRING, VERSION_STRING
|
release, version = VERSION_STRING, VERSION_STRING
|
||||||
|
|
||||||
SEARX_URL = get_setting('server.base_url') or 'https://example.org/searx'
|
SEARX_URL = get_setting('server.base_url') or 'https://example.org/searxng'
|
||||||
ISSUE_URL = get_setting('brand.issue_url')
|
ISSUE_URL = get_setting('brand.issue_url')
|
||||||
DOCS_URL = get_setting('brand.docs_url')
|
DOCS_URL = get_setting('brand.docs_url')
|
||||||
PUBLIC_INSTANCES = get_setting('brand.public_instances')
|
PUBLIC_INSTANCES = get_setting('brand.public_instances')
|
||||||
|
@ -132,7 +132,7 @@ html_sidebars = {
|
||||||
singlehtml_sidebars = {"index": ["project.html", "localtoc.html"]}
|
singlehtml_sidebars = {"index": ["project.html", "localtoc.html"]}
|
||||||
html_static_path = ["static"]
|
html_static_path = ["static"]
|
||||||
html_logo = "static/img/searx_logo_small.png"
|
html_logo = "static/img/searx_logo_small.png"
|
||||||
html_title = "Searx Documentation ({})".format(VERSION_STRING)
|
html_title = "SearXNG Documentation ({})".format(VERSION_STRING)
|
||||||
html_show_sourcelink = False
|
html_show_sourcelink = False
|
||||||
|
|
||||||
# LaTeX ----------------------------------------------------------------
|
# LaTeX ----------------------------------------------------------------
|
||||||
|
|
|
@ -12,21 +12,21 @@ How to contribute
|
||||||
Prime directives: Privacy, Hackability
|
Prime directives: Privacy, Hackability
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
Searx has two prime directives, **privacy-by-design and hackability** . The
|
SearXNG has two prime directives, **privacy-by-design and hackability** . The
|
||||||
hackability comes in three levels:
|
hackability comes in three levels:
|
||||||
|
|
||||||
- support of search engines
|
- support of search engines
|
||||||
- plugins to alter search behaviour
|
- plugins to alter search behaviour
|
||||||
- hacking searx itself
|
- hacking SearXNG itself
|
||||||
|
|
||||||
Note the lack of "world domination" among the directives. Searx has no
|
Note the lack of "world domination" among the directives. SearXNG has no
|
||||||
intention of wide mass-adoption, rounded corners, etc. The prime directive
|
intention of wide mass-adoption, rounded corners, etc. The prime directive
|
||||||
"privacy" deserves a separate chapter, as it's quite uncommon unfortunately.
|
"privacy" deserves a separate chapter, as it's quite uncommon unfortunately.
|
||||||
|
|
||||||
Privacy-by-design
|
Privacy-by-design
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
Searx was born out of the need for a **privacy-respecting** search tool which
|
SearXNG was born out of the need for a **privacy-respecting** search tool which
|
||||||
can be extended easily to maximize both, its search and its privacy protecting
|
can be extended easily to maximize both, its search and its privacy protecting
|
||||||
capabilities.
|
capabilities.
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ Submitting a bugreport to the vendor of the tool that misbehaves might be a good
|
||||||
feedback to reconsider the disrespect to its customers (e.g. ``GET`` vs ``POST``
|
feedback to reconsider the disrespect to its customers (e.g. ``GET`` vs ``POST``
|
||||||
requests in various browsers).
|
requests in various browsers).
|
||||||
|
|
||||||
Remember the other prime directive of searx is to be hackable, so if the above
|
Remember the other prime directive of SearXNG is to be hackable, so if the above
|
||||||
privacy concerns do not fancy you, simply fork it.
|
privacy concerns do not fancy you, simply fork it.
|
||||||
|
|
||||||
*Happy hacking.*
|
*Happy hacking.*
|
||||||
|
@ -99,7 +99,7 @@ In order to submit a patch, please follow the steps below:
|
||||||
|
|
||||||
- Create a pull request.
|
- Create a pull request.
|
||||||
|
|
||||||
For more help on getting started with searx development, see :ref:`devquickstart`.
|
For more help on getting started with SearXNG development, see :ref:`devquickstart`.
|
||||||
|
|
||||||
|
|
||||||
Translation
|
Translation
|
||||||
|
|
|
@ -15,11 +15,11 @@ Engine Overview
|
||||||
:depth: 3
|
:depth: 3
|
||||||
:backlinks: entry
|
:backlinks: entry
|
||||||
|
|
||||||
searx is a metasearch-engine_, so it uses different search engines to provide
|
SearXNG is a metasearch-engine_, so it uses different search engines to provide
|
||||||
better results.
|
better results.
|
||||||
|
|
||||||
Because there is no general search API which could be used for every search
|
Because there is no general search API which could be used for every search
|
||||||
engine, an adapter has to be built between searx and the external search
|
engine, an adapter has to be built between SearXNG and the external search
|
||||||
engines. Adapters are stored under the folder :origin:`searx/engines`.
|
engines. Adapters are stored under the folder :origin:`searx/engines`.
|
||||||
|
|
||||||
.. _general engine configuration:
|
.. _general engine configuration:
|
||||||
|
@ -27,7 +27,7 @@ engines. Adapters are stored under the folder :origin:`searx/engines`.
|
||||||
General Engine Configuration
|
General Engine Configuration
|
||||||
============================
|
============================
|
||||||
|
|
||||||
It is required to tell searx the type of results the engine provides. The
|
It is required to tell SearXNG the type of results the engine provides. The
|
||||||
arguments can be set in the engine file or in the settings file (normally
|
arguments can be set in the engine file or in the settings file (normally
|
||||||
``settings.yml``). The arguments in the settings file override the ones in the
|
``settings.yml``). The arguments in the settings file override the ones in the
|
||||||
engine file.
|
engine file.
|
||||||
|
@ -88,7 +88,7 @@ Overrides
|
||||||
A few of the options have default values in the namespace of engine's python
|
A few of the options have default values in the namespace of engine's python
|
||||||
modul, but are often overwritten by the settings. If ``None`` is assigned to an
|
modul, but are often overwritten by the settings. If ``None`` is assigned to an
|
||||||
option in the engine file, it has to be redefined in the settings, otherwise
|
option in the engine file, it has to be redefined in the settings, otherwise
|
||||||
searx will not start with that engine (global names with a leading underline can
|
SearXNG will not start with that engine (global names with a leading underline can
|
||||||
be ``None``).
|
be ``None``).
|
||||||
|
|
||||||
Here is an very simple example of the global names in the namespace of engine's
|
Here is an very simple example of the global names in the namespace of engine's
|
||||||
|
|
|
@ -52,7 +52,7 @@ software:
|
||||||
and the script :ref:`lxc.sh`, with we can scale our installation, maintenance or
|
and the script :ref:`lxc.sh`, with we can scale our installation, maintenance or
|
||||||
even development tasks over a stack of isolated containers / what we call the:
|
even development tasks over a stack of isolated containers / what we call the:
|
||||||
|
|
||||||
**SearxNG LXC suite**
|
**SearXNG LXC suite**
|
||||||
|
|
||||||
.. hint::
|
.. hint::
|
||||||
|
|
||||||
|
@ -211,7 +211,7 @@ To debug services from filtron and morty analogous use:
|
||||||
$ ./utils/filtron.sh inspect service
|
$ ./utils/filtron.sh inspect service
|
||||||
$ ./utils/morty.sh inspect service
|
$ ./utils/morty.sh inspect service
|
||||||
|
|
||||||
Another point we have to notice is that each service (:ref:`searx <searx.sh>`,
|
Another point we have to notice is that each service (:ref:`SearXNG <searx.sh>`,
|
||||||
:ref:`filtron <filtron.sh>` and :ref:`morty <morty.sh>`) runs under dedicated
|
:ref:`filtron <filtron.sh>` and :ref:`morty <morty.sh>`) runs under dedicated
|
||||||
system user account with the same name (compare :ref:`create searx user`). To
|
system user account with the same name (compare :ref:`create searx user`). To
|
||||||
get a shell from theses accounts, simply call one of the scripts:
|
get a shell from theses accounts, simply call one of the scripts:
|
||||||
|
@ -266,7 +266,7 @@ suite. For this, we have to keep an eye on the :ref:`installation basic`:
|
||||||
- virtualenv in: ``/usr/local/searx/searx-pyenv``
|
- virtualenv in: ``/usr/local/searx/searx-pyenv``
|
||||||
- SearXNG software in: ``/usr/local/searx/searx-src``
|
- SearXNG software in: ``/usr/local/searx/searx-src``
|
||||||
|
|
||||||
With the use of the :ref:`searx.sh` the searx service was installed as
|
With the use of the :ref:`searx.sh` the SearXNG service was installed as
|
||||||
:ref:`uWSGI application <searx uwsgi>`. To maintain this service, we can use
|
:ref:`uWSGI application <searx uwsgi>`. To maintain this service, we can use
|
||||||
``systemctl`` (compare :ref:`service architectures on distributions <uwsgi
|
``systemctl`` (compare :ref:`service architectures on distributions <uwsgi
|
||||||
configuration>`).
|
configuration>`).
|
||||||
|
@ -280,7 +280,7 @@ configuration>`).
|
||||||
$ sudo -H ./utils/lxc.sh cmd searx-archlinux \
|
$ sudo -H ./utils/lxc.sh cmd searx-archlinux \
|
||||||
systemctl stop uwsgi@searx
|
systemctl stop uwsgi@searx
|
||||||
|
|
||||||
With the command above, we stopped the searx uWSGI-App in the archlinux
|
With the command above, we stopped the SearXNG uWSGI-App in the archlinux
|
||||||
container.
|
container.
|
||||||
|
|
||||||
The uWSGI-App for the archlinux dsitros is configured in
|
The uWSGI-App for the archlinux dsitros is configured in
|
||||||
|
@ -316,7 +316,7 @@ of the container:
|
||||||
ln -s /share/searx/ /usr/local/searx/searx-src
|
ln -s /share/searx/ /usr/local/searx/searx-src
|
||||||
|
|
||||||
Now we can develop as usual in the working tree of our desktop system. Every
|
Now we can develop as usual in the working tree of our desktop system. Every
|
||||||
time the software was changed, you have to restart the searx service (in the
|
time the software was changed, you have to restart the SearXNG service (in the
|
||||||
conatiner):
|
conatiner):
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
|
|
|
@ -38,7 +38,7 @@ Python Environment (``make install``)
|
||||||
|
|
||||||
We do no longer need to build up the virtualenv manually. Jump into your git
|
We do no longer need to build up the virtualenv manually. Jump into your git
|
||||||
working tree and release a ``make install`` to get a virtualenv with a
|
working tree and release a ``make install`` to get a virtualenv with a
|
||||||
*developer install* of searx (:origin:`setup.py`). ::
|
*developer install* of SearXNG (:origin:`setup.py`). ::
|
||||||
|
|
||||||
$ cd ~/searx-clone
|
$ cd ~/searx-clone
|
||||||
$ make install
|
$ make install
|
||||||
|
@ -193,7 +193,7 @@ commit.
|
||||||
.. _Pylint: https://www.pylint.org/
|
.. _Pylint: https://www.pylint.org/
|
||||||
|
|
||||||
Pylint_ is known as one of the best source-code, bug and quality checker for the
|
Pylint_ is known as one of the best source-code, bug and quality checker for the
|
||||||
Python programming language. The pylint profile we use at searx project is
|
Python programming language. The pylint profile used in the SearXNG project is
|
||||||
found in project's root folder :origin:`.pylintrc`.
|
found in project's root folder :origin:`.pylintrc`.
|
||||||
|
|
||||||
.. _make search.checker:
|
.. _make search.checker:
|
||||||
|
|
|
@ -11,7 +11,7 @@ Offline Engines
|
||||||
- :ref:`engine command`
|
- :ref:`engine command`
|
||||||
- :origin:`Redis <searx/engines/redis_server.py>`
|
- :origin:`Redis <searx/engines/redis_server.py>`
|
||||||
|
|
||||||
To extend the functionality of SearxNG, offline engines are going to be
|
To extend the functionality of SearXNG, offline engines are going to be
|
||||||
introduced. An offline engine is an engine which does not need Internet
|
introduced. An offline engine is an engine which does not need Internet
|
||||||
connection to perform a search and does not use HTTP to communicate.
|
connection to perform a search and does not use HTTP to communicate.
|
||||||
|
|
||||||
|
@ -47,14 +47,14 @@ Engine representation in ``/config``
|
||||||
Extra Dependencies
|
Extra Dependencies
|
||||||
==================
|
==================
|
||||||
|
|
||||||
If an offline engine depends on an external tool, SearxNG does not install it by
|
If an offline engine depends on an external tool, SearXNG does not install it by
|
||||||
default. When an administrator configures such engine and starts the instance,
|
default. When an administrator configures such engine and starts the instance,
|
||||||
the process returns an error with the list of missing dependencies. Also,
|
the process returns an error with the list of missing dependencies. Also,
|
||||||
required dependencies will be added to the comment/description of the engine, so
|
required dependencies will be added to the comment/description of the engine, so
|
||||||
admins can install packages in advance.
|
admins can install packages in advance.
|
||||||
|
|
||||||
If there is a need to install additional packages in *Python's Virtual
|
If there is a need to install additional packages in *Python's Virtual
|
||||||
Environment* of your SearxNG instance you need to switch into the environment
|
Environment* of your SearXNG instance you need to switch into the environment
|
||||||
(:ref:`searx-src`) first, for this you can use :ref:`searx.sh`::
|
(:ref:`searx-src`) first, for this you can use :ref:`searx.sh`::
|
||||||
|
|
||||||
$ sudo utils/searx.sh shell
|
$ sudo utils/searx.sh shell
|
||||||
|
@ -66,7 +66,7 @@ Private engines (Security)
|
||||||
|
|
||||||
To limit the access to offline engines, if an instance is available publicly,
|
To limit the access to offline engines, if an instance is available publicly,
|
||||||
administrators can set token(s) for each of the :ref:`private engines`. If a
|
administrators can set token(s) for each of the :ref:`private engines`. If a
|
||||||
query contains a valid token, then SearxNG performs the requested private
|
query contains a valid token, then SearXNG performs the requested private
|
||||||
search. If not, requests from an offline engines return errors.
|
search. If not, requests from an offline engines return errors.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ Development Quickstart
|
||||||
|
|
||||||
.. _npm: https://www.npmjs.com/
|
.. _npm: https://www.npmjs.com/
|
||||||
|
|
||||||
Searx loves developers, just clone and start hacking. All the rest is done for
|
SearXNG loves developers, just clone and start hacking. All the rest is done for
|
||||||
you simply by using :ref:`make <makefile>`.
|
you simply by using :ref:`make <makefile>`.
|
||||||
|
|
||||||
.. code:: sh
|
.. code:: sh
|
||||||
|
|
|
@ -6,10 +6,10 @@ reST primer
|
||||||
|
|
||||||
.. sidebar:: KISS_ and readability_
|
.. sidebar:: KISS_ and readability_
|
||||||
|
|
||||||
Instead of defining more and more roles, we at searx encourage our
|
Instead of defining more and more roles, we at SearXNG encourage our
|
||||||
contributors to follow principles like KISS_ and readability_.
|
contributors to follow principles like KISS_ and readability_.
|
||||||
|
|
||||||
We at searx are using reStructuredText (aka reST_) markup for all kind of
|
We at SearXNG are using reStructuredText (aka reST_) markup for all kind of
|
||||||
documentation, with the builders from the Sphinx_ project a HTML output is
|
documentation, with the builders from the Sphinx_ project a HTML output is
|
||||||
generated and deployed at :docs:`github.io <.>`. For build prerequisites read
|
generated and deployed at :docs:`github.io <.>`. For build prerequisites read
|
||||||
:ref:`docs build`.
|
:ref:`docs build`.
|
||||||
|
@ -78,7 +78,7 @@ User's POV: :origin:`docs/user`
|
||||||
|
|
||||||
Admin's POV: :origin:`docs/admin`
|
Admin's POV: :origin:`docs/admin`
|
||||||
A typical Admin knows about setting up services on a linux system, but he does
|
A typical Admin knows about setting up services on a linux system, but he does
|
||||||
not know all the pros and cons of a searx setup.
|
not know all the pros and cons of a SearXNG setup.
|
||||||
|
|
||||||
Developer's POV: :origin:`docs/dev`
|
Developer's POV: :origin:`docs/dev`
|
||||||
Depending on the readability_ of code, a typical developer is able to read and
|
Depending on the readability_ of code, a typical developer is able to read and
|
||||||
|
@ -900,7 +900,7 @@ primer>`.
|
||||||
|
|
||||||
.. sidebar:: KISS_ and readability_
|
.. sidebar:: KISS_ and readability_
|
||||||
|
|
||||||
Instead of defining more and more roles, we at searx encourage our
|
Instead of defining more and more roles, we at SearXNG encourage our
|
||||||
contributors to follow principles like KISS_ and readability_.
|
contributors to follow principles like KISS_ and readability_.
|
||||||
|
|
||||||
Generic admonition
|
Generic admonition
|
||||||
|
@ -1280,7 +1280,7 @@ Templating
|
||||||
|
|
||||||
Templating is suitable for documentation which is created generic at the build
|
Templating is suitable for documentation which is created generic at the build
|
||||||
time. The sphinx-jinja_ extension evaluates jinja_ templates in the :ref:`make
|
time. The sphinx-jinja_ extension evaluates jinja_ templates in the :ref:`make
|
||||||
install` (with searx modules installed). We use this e.g. to build chapter:
|
install` (with SearXNG modules installed). We use this e.g. to build chapter:
|
||||||
:ref:`configured engines`. Below the jinja directive from the
|
:ref:`configured engines`. Below the jinja directive from the
|
||||||
:origin:`docs/admin/engines.rst` is shown:
|
:origin:`docs/admin/engines.rst` is shown:
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ Parameters
|
||||||
|
|
||||||
``q`` : required
|
``q`` : required
|
||||||
The search query. This string is passed to external search services. Thus,
|
The search query. This string is passed to external search services. Thus,
|
||||||
searx supports syntax of each search service. For example, ``site:github.com
|
SearXNG supports syntax of each search service. For example, ``site:github.com
|
||||||
searx`` is a valid query for Google. However, if simply the query above is
|
searx`` is a valid query for Google. However, if simply the query above is
|
||||||
passed to any search engine which does not filter its results based on this
|
passed to any search engine which does not filter its results based on this
|
||||||
syntax, you might not get the results you wanted.
|
syntax, you might not get the results you wanted.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
==================
|
==================
|
||||||
Welcome to searxng
|
Welcome to SearXNG
|
||||||
==================
|
==================
|
||||||
|
|
||||||
*Search without being tracked.*
|
*Search without being tracked.*
|
||||||
|
@ -8,12 +8,12 @@ Welcome to searxng
|
||||||
|
|
||||||
This is not searx, but searxng.
|
This is not searx, but searxng.
|
||||||
|
|
||||||
Searxng is a free internet metasearch engine which aggregates results from more
|
SearXNG is a free internet metasearch engine which aggregates results from more
|
||||||
than 70 search services. Users are neither tracked nor profiled. Additionally,
|
than 70 search services. Users are neither tracked nor profiled. Additionally,
|
||||||
searxng can be used over Tor for online anonymity.
|
SearXNG can be used over Tor for online anonymity.
|
||||||
|
|
||||||
Get started with searxng by using one of the Searx-instances_. If you don't trust
|
Get started with SearXNG by using one of the instances listed at searx.space_.
|
||||||
anyone, you can set up your own, see :ref:`installation`.
|
If you don't trust anyone, you can set up your own, see :ref:`installation`.
|
||||||
|
|
||||||
.. sidebar:: Features
|
.. sidebar:: Features
|
||||||
|
|
||||||
|
@ -36,4 +36,4 @@ anyone, you can set up your own, see :ref:`installation`.
|
||||||
utils/index
|
utils/index
|
||||||
src/index
|
src/index
|
||||||
|
|
||||||
.. _Searx-instances: https://searx.space
|
.. _searx.space: https://searx.space
|
||||||
|
|
|
@ -4,22 +4,22 @@ Why use a private instance?
|
||||||
|
|
||||||
*"Is it worth to run my own instance?"*
|
*"Is it worth to run my own instance?"*
|
||||||
|
|
||||||
\.\. is a common question among searx users. Before answering this question,
|
\.\. is a common question among SearXNG users. Before answering this question,
|
||||||
see what options a searx user has.
|
see what options a SearXNG user has.
|
||||||
|
|
||||||
Public instances are open to everyone who has access to its URL. Usually, these
|
Public instances are open to everyone who has access to its URL. Usually, these
|
||||||
are operated by unknown parties (from the users' point of view). Private
|
are operated by unknown parties (from the users' point of view). Private
|
||||||
instances can be used by a select group of people. It is for example a searx of
|
instances can be used by a select group of people. It is for example a SearXNG of
|
||||||
group of friends or a company which can be accessed through VPN. Also it can be
|
group of friends or a company which can be accessed through VPN. Also it can be
|
||||||
single user one which runs on the user's laptop.
|
single user one which runs on the user's laptop.
|
||||||
|
|
||||||
To gain more insight on how these instances work let's dive into how searx
|
To gain more insight on how these instances work let's dive into how SearXNG
|
||||||
protects its users.
|
protects its users.
|
||||||
|
|
||||||
How does searx protect privacy?
|
How does SearXNG protect privacy?
|
||||||
===============================
|
=================================
|
||||||
|
|
||||||
Searx protects the privacy of its users in multiple ways regardless of the type
|
SearXNG protects the privacy of its users in multiple ways regardless of the type
|
||||||
of the instance (private, public). Removal of private data from search requests
|
of the instance (private, public). Removal of private data from search requests
|
||||||
comes in three forms:
|
comes in three forms:
|
||||||
|
|
||||||
|
@ -31,11 +31,11 @@ comes in three forms:
|
||||||
Removing private data means not sending cookies to external search engines and
|
Removing private data means not sending cookies to external search engines and
|
||||||
generating a random browser profile for every request. Thus, it does not matter
|
generating a random browser profile for every request. Thus, it does not matter
|
||||||
if a public or private instance handles the request, because it is anonymized in
|
if a public or private instance handles the request, because it is anonymized in
|
||||||
both cases. IP addresses will be the IP of the instance. But searx can be
|
both cases. IP addresses will be the IP of the instance. But SearXNG can be
|
||||||
configured to use proxy or Tor. `Result proxy
|
configured to use proxy or Tor. `Result proxy
|
||||||
<https://github.com/asciimoo/morty>`__ is supported, too.
|
<https://github.com/asciimoo/morty>`__ is supported, too.
|
||||||
|
|
||||||
Searx does not serve ads or tracking content unlike most search services. So
|
SearXNG does not serve ads or tracking content unlike most search services. So
|
||||||
private data is not forwarded to third parties who might monetize it. Besides
|
private data is not forwarded to third parties who might monetize it. Besides
|
||||||
protecting users from search services, both referring page and search query are
|
protecting users from search services, both referring page and search query are
|
||||||
hidden from visited result pages.
|
hidden from visited result pages.
|
||||||
|
@ -61,7 +61,7 @@ control: the source code, logging settings and private data. Unknown instance
|
||||||
administrators do not have to be trusted.
|
administrators do not have to be trusted.
|
||||||
|
|
||||||
Furthermore, as the default settings of their instance is editable, there is no
|
Furthermore, as the default settings of their instance is editable, there is no
|
||||||
need to use cookies to tailor searx to their needs. So preferences will not be
|
need to use cookies to tailor SearXNG to their needs. So preferences will not be
|
||||||
reset to defaults when clearing browser cookies. As settings are stored on
|
reset to defaults when clearing browser cookies. As settings are stored on
|
||||||
their computer, it will not be accessible to others as long as their computer is
|
their computer, it will not be accessible to others as long as their computer is
|
||||||
not compromised.
|
not compromised.
|
||||||
|
@ -70,10 +70,10 @@ Conclusion
|
||||||
==========
|
==========
|
||||||
|
|
||||||
Always use an instance which is operated by people you trust. The privacy
|
Always use an instance which is operated by people you trust. The privacy
|
||||||
features of searx are available to users no matter what kind of instance they
|
features of SearXNG are available to users no matter what kind of instance they
|
||||||
use.
|
use.
|
||||||
|
|
||||||
If someone is on the go or just wants to try searx for the first time public
|
If someone is on the go or just wants to try SearXNG for the first time public
|
||||||
instances are the best choices. Additionally, public instance are making a
|
instances are the best choices. Additionally, public instance are making a
|
||||||
world a better place, because those who cannot or do not want to run an
|
world a better place, because those who cannot or do not want to run an
|
||||||
instance, have access to a privacy respecting search service.
|
instance, have access to a privacy respecting search service.
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
Search syntax
|
Search syntax
|
||||||
=============
|
=============
|
||||||
|
|
||||||
Searx allows you to modify the default categories, engines and search language
|
SearXNG allows you to modify the default categories, engines and search language
|
||||||
via the search query.
|
via the search query.
|
||||||
|
|
||||||
Prefix ``!``
|
Prefix ``!``
|
||||||
|
@ -44,11 +44,11 @@ Custom language in wikipedia:
|
||||||
Multilingual Search
|
Multilingual Search
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Searx does not support true multilingual search.
|
SearXNG does not support true multilingual search.
|
||||||
You have to use the language prefix in your search query when searching in a different language.
|
You have to use the language prefix in your search query when searching in a different language.
|
||||||
|
|
||||||
But there is a workaround:
|
But there is a workaround:
|
||||||
By adding a new search engine with a different language, Searx will search in your default and other language.
|
By adding a new search engine with a different language, SearXNG will search in your default and other language.
|
||||||
|
|
||||||
Example configuration in settings.yml for a German and English speaker:
|
Example configuration in settings.yml for a German and English speaker:
|
||||||
.. code-block:: yaml
|
.. code-block:: yaml
|
||||||
|
|
|
@ -35,7 +35,7 @@ Scripts to maintain services often dispose of common commands and environments.
|
||||||
``FORCE_TIMEOUT`` : environment
|
``FORCE_TIMEOUT`` : environment
|
||||||
Sets timeout for interactive prompts. If you want to run a script in batch
|
Sets timeout for interactive prompts. If you want to run a script in batch
|
||||||
job, with defaults choices, set ``FORCE_TIMEOUT=0``. By example; to install a
|
job, with defaults choices, set ``FORCE_TIMEOUT=0``. By example; to install a
|
||||||
reverse proxy for filtron on all containers of the :ref:`searx suite
|
reverse proxy for filtron on all containers of the :ref:`SearXNG suite
|
||||||
<lxc-searx.env>` use ::
|
<lxc-searx.env>` use ::
|
||||||
|
|
||||||
sudo -H ./utils/lxc.sh cmd -- FORCE_TIMEOUT=0 ./utils/filtron.sh apache install
|
sudo -H ./utils/lxc.sh cmd -- FORCE_TIMEOUT=0 ./utils/filtron.sh apache install
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
- `LXD@github`_
|
- `LXD@github`_
|
||||||
|
|
||||||
With the use of *Linux Containers* (LXC_) we can scale our tasks over a stack of
|
With the use of *Linux Containers* (LXC_) we can scale our tasks over a stack of
|
||||||
containers, what we call the: *lxc suite*. The *searx suite*
|
containers, what we call the: *lxc suite*. The *SearXNG suite*
|
||||||
(:origin:`lxc-searx.env <utils/lxc-searx.env>`) is loaded by default, every time
|
(:origin:`lxc-searx.env <utils/lxc-searx.env>`) is loaded by default, every time
|
||||||
you start the ``lxc.sh`` script (*you do not need to care about*).
|
you start the ``lxc.sh`` script (*you do not need to care about*).
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ once::
|
||||||
$ snap install lxd
|
$ snap install lxd
|
||||||
$ lxd init --auto
|
$ lxd init --auto
|
||||||
|
|
||||||
To make use of the containers from the *searx suite*, you have to build the
|
To make use of the containers from the *SearXNG suite*, you have to build the
|
||||||
:ref:`LXC suite containers <lxc.sh help>` initial. But be warned, **this might
|
:ref:`LXC suite containers <lxc.sh help>` initial. But be warned, **this might
|
||||||
take some time**::
|
take some time**::
|
||||||
|
|
||||||
|
@ -120,12 +120,12 @@ Reboot your system and check the iptables rules::
|
||||||
Install suite
|
Install suite
|
||||||
=============
|
=============
|
||||||
|
|
||||||
To install the complete :ref:`searx suite (includes searx, morty & filtron)
|
To install the complete :ref:`SearXNG suite (includes searx, morty & filtron)
|
||||||
<lxc-searx.env>` into all LXC_ use::
|
<lxc-searx.env>` into all LXC_ use::
|
||||||
|
|
||||||
$ sudo -H ./utils/lxc.sh install suite
|
$ sudo -H ./utils/lxc.sh install suite
|
||||||
|
|
||||||
The command above installs a searx suite (see :ref:`installation scripts`). To
|
The command above installs a SearXNG suite (see :ref:`installation scripts`). To
|
||||||
get the IP (URL) of the filtron service in the containers use ``show suite``
|
get the IP (URL) of the filtron service in the containers use ``show suite``
|
||||||
command. To test instances from containers just open the URLs in your
|
command. To test instances from containers just open the URLs in your
|
||||||
WEB-Browser::
|
WEB-Browser::
|
||||||
|
@ -156,10 +156,10 @@ Makefile target ``test`` in the archlinux_ container::
|
||||||
sudo -H ./utils/lxc.sh cmd searx-archlinux make test
|
sudo -H ./utils/lxc.sh cmd searx-archlinux make test
|
||||||
|
|
||||||
|
|
||||||
Setup searx buildhost
|
Setup SearXNG buildhost
|
||||||
=====================
|
=======================
|
||||||
|
|
||||||
You can **install the searx buildhost environment** into one or all containers.
|
You can **install the SearXNG buildhost environment** into one or all containers.
|
||||||
The installation procedure to set up a :ref:`build host<buildhosts>` takes its
|
The installation procedure to set up a :ref:`build host<buildhosts>` takes its
|
||||||
time. Installation in all containers will take more time (time for another cup
|
time. Installation in all containers will take more time (time for another cup
|
||||||
of coffee).::
|
of coffee).::
|
||||||
|
@ -191,8 +191,8 @@ The ``--help`` output of the script is largely self-explanatory:
|
||||||
|
|
||||||
.. _lxc-searx.env:
|
.. _lxc-searx.env:
|
||||||
|
|
||||||
searx suite
|
SearXNG suite
|
||||||
===========
|
=============
|
||||||
|
|
||||||
.. literalinclude:: ../../utils/lxc-searx.env
|
.. literalinclude:: ../../utils/lxc-searx.env
|
||||||
:language: bash
|
:language: bash
|
||||||
|
|
|
@ -37,7 +37,7 @@ into this user account:
|
||||||
|
|
||||||
.. hint::
|
.. hint::
|
||||||
|
|
||||||
To add morty to your searx instance read chapter :ref:`searx morty`.
|
To add morty to your SearXNG instance read chapter :ref:`searx morty`.
|
||||||
|
|
||||||
Create user
|
Create user
|
||||||
===========
|
===========
|
||||||
|
|
|
@ -12,13 +12,13 @@
|
||||||
- :ref:`installation nginx`
|
- :ref:`installation nginx`
|
||||||
- :ref:`installation apache`
|
- :ref:`installation apache`
|
||||||
|
|
||||||
To simplify installation and maintenance of a searx instance you can use the
|
To simplify installation and maintenance of a SearXNG instance you can use the
|
||||||
script :origin:`utils/searx.sh`.
|
script :origin:`utils/searx.sh`.
|
||||||
|
|
||||||
Install
|
Install
|
||||||
=======
|
=======
|
||||||
|
|
||||||
In most cases you will install searx simply by running the command:
|
In most cases you will install SearXNG simply by running the command:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
general:
|
general:
|
||||||
debug: false # Debug mode, only for development
|
debug: false # Debug mode, only for development
|
||||||
instance_name: "searxng" # displayed name
|
instance_name: "SearXNG" # displayed name
|
||||||
contact_url: false # mailto:contact@example.com
|
contact_url: false # mailto:contact@example.com
|
||||||
|
|
||||||
brand:
|
brand:
|
||||||
|
|
|
@ -99,7 +99,7 @@ class ViewsTestCase(SearxTestCase):
|
||||||
def test_search_empty_html(self):
|
def test_search_empty_html(self):
|
||||||
result = self.app.post('/search', data={'q': ''})
|
result = self.app.post('/search', data={'q': ''})
|
||||||
self.assertEqual(result.status_code, 200)
|
self.assertEqual(result.status_code, 200)
|
||||||
self.assertIn(b'<span class="instance pull-left"><a href="/">searxng</a></span>', result.data)
|
self.assertIn(b'<span class="instance pull-left"><a href="/">SearXNG</a></span>', result.data)
|
||||||
|
|
||||||
def test_search_empty_json(self):
|
def test_search_empty_json(self):
|
||||||
result = self.app.post('/search', data={'q': '', 'format': 'json'})
|
result = self.app.post('/search', data={'q': '', 'format': 'json'})
|
||||||
|
|
Loading…
Reference in New Issue