1
0
mirror of https://github.com/searx/searx synced 2025-02-21 14:20:49 +01:00

Deploying to gh-pages from @ 52e08ed777f005679f1ace632cbcf8147d54535f 🚀

This commit is contained in:
kvch 2021-04-08 17:47:22 +00:00
parent 37d9813444
commit dc623f2ccc
46 changed files with 571 additions and 583 deletions

View File

@ -47,14 +47,14 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="administration-api">
<div class="section" id="administration-api">
<span id="adminapi"></span><h1>Administration API<a class="headerlink" href="#administration-api" title="Permalink to this headline"></a></h1>
<section id="get-configuration-data">
<div class="section" id="get-configuration-data">
<h2>Get configuration data<a class="headerlink" href="#get-configuration-data" title="Permalink to this headline"></a></h2>
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="nf">GET</span> <span class="nn">/config</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span>
</pre></div>
</div>
<section id="sample-response">
<div class="section" id="sample-response">
<h3>Sample response<a class="headerlink" href="#sample-response" title="Permalink to this headline"></a></h3>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
<span class="nt">&quot;autocomplete&quot;</span><span class="p">:</span> <span class="s2">&quot;&quot;</span><span class="p">,</span>
@ -119,9 +119,9 @@
<span class="p">}</span>
</pre></div>
</div>
</section>
</section>
<section id="embed-search-bar">
</div>
</div>
<div class="section" id="embed-search-bar">
<h2>Embed search bar<a class="headerlink" href="#embed-search-bar" title="Permalink to this headline"></a></h2>
<p>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.</p>
@ -134,8 +134,8 @@ HTML of the site. URL of the searx instance and values are customizable.</p>
<span class="p">&lt;/</span><span class="nt">form</span><span class="p">&gt;</span>
</pre></div>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,9 +47,9 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="architecture">
<div class="section" id="architecture">
<span id="id1"></span><h1>Architecture<a class="headerlink" href="#architecture" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Further reading</p>
<ul class="simple">
<li><p>Reverse Proxy: <a class="reference internal" href="installation-apache.html#apache-searx-site"><span class="std std-ref">Apache</span></a> &amp; <a class="reference internal" href="installation-nginx.html#nginx-searx-site"><span class="std std-ref">nginx</span></a></p></li>
@ -58,18 +58,16 @@
<li><p>uWSGI: <a class="reference internal" href="installation-uwsgi.html#searx-uwsgi"><span class="std std-ref">uwsgi</span></a></p></li>
<li><p>Searx: <a class="reference internal" href="installation-searx.html#installation-basic"><span class="std std-ref">Step by step installation</span></a></p></li>
</ul>
</aside>
</div>
<p>Herein you will find some hints and suggestions about typical architectures of
searx infrastructures.</p>
<p>We start with a contribution from <a class="reference external" href="https://github.com/searx/searx/pull/1776#issuecomment-567917320">&#64;dalf</a>.
It shows a <em>reference</em> setup for public searx instances which can build up and
maintained by the scripts from our <a class="reference internal" href="../utils/index.html#toolboxing"><span class="std std-ref">Tooling box utils for administrators</span></a>.</p>
<figure class="align-default" id="id2">
<img alt="arch_public.dot" src="../_images/arch_public.svg" /><figcaption>
<p><span class="caption-number">Fig. 1 </span><span class="caption-text">Reference architecture of a public searx setup.</span><a class="headerlink" href="#id2" title="Permalink to this image"></a></p>
</figcaption>
</figure>
</section>
<div class="figure align-default" id="id2">
<img alt="arch_public.dot" src="../_images/arch_public.svg" /><p class="caption"><span class="caption-number">Fig. 1 </span><span class="caption-text">Reference architecture of a public searx setup.</span><a class="headerlink" href="#id2" title="Permalink to this image"></a></p>
</div>
</div>
<div class="clearer"></div>

View File

@ -48,13 +48,13 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="buildhosts">
<div class="section" id="buildhosts">
<span id="id1"></span><h1>Buildhosts<a class="headerlink" href="#buildhosts" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">This article needs some work</p>
<p>If you have any contribution send us your <a class="reference external" href="https://github.com/searx/searx/pull/../pulls">PR</a>, see
<a class="reference internal" href="../dev/contribution_guide.html#how-to-contribute"><span class="std std-ref">How to contribute</span></a>.</p>
</aside>
</div>
<div class="contents local topic" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
@ -112,9 +112,9 @@ on build hosts (see <a class="reference internal" href="../utils/searx.sh.html#s
</pre></div>
</div>
</div></div>
<section id="build-docs">
<div class="section" id="build-docs">
<span id="docs-build"></span><h2><a class="toc-backref" href="#id2">Build docs</a><a class="headerlink" href="#build-docs" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Sphinx build needs</p>
<ul class="simple">
<li><p><a class="reference external" href="https://www.imagemagick.org">ImageMagick</a></p></li>
@ -122,7 +122,7 @@ on build hosts (see <a class="reference internal" href="../utils/searx.sh.html#s
<li><p><a class="reference external" href="https://tug.org/xetex/">XeTeX</a></p></li>
<li><p><a class="reference external" href="https://dvisvgm.de/">dvisvgm</a></p></li>
</ul>
</aside>
</div>
<p>Most of the sphinx requirements are installed from <a class="reference external" href="https://github.com/searx/searx/blob/master/setup.py">git://setup.py</a> and the
docs can be build from scratch with <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">docs</span></code>. For better math and image
processing additional packages are needed. The <a class="reference external" href="https://tug.org/xetex/">XeTeX</a> needed not only for PDF
@ -172,8 +172,8 @@ output.</p>
</pre></div>
</div>
</div></div>
</section>
<section id="lint-shell-scripts">
</div>
<div class="section" id="lint-shell-scripts">
<span id="sh-lint"></span><h2><a class="toc-backref" href="#id3">Lint shell scripts</a><a class="headerlink" href="#lint-shell-scripts" title="Permalink to this headline"></a></h2>
<p>To lint shell scripts, we use <a class="reference external" href="https://github.com/koalaman/shellcheck">ShellCheck</a> - A shell script static analysis tool.</p>
<div class="sphinx-tabs docutils container">
@ -187,8 +187,8 @@ output.</p>
</pre></div>
</div>
</div></div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,24 +47,24 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="engines">
<div class="section" id="engines">
<h1>Engines<a class="headerlink" href="#engines" title="Permalink to this headline"></a></h1>
<section id="special-engine-settings">
<div class="section" id="special-engine-settings">
<h2>Special Engine Settings<a class="headerlink" href="#special-engine-settings" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Further reading ..</p>
<ul class="simple">
<li><p><a class="reference internal" href="settings.html#settings-engine"><span class="std std-ref">Engine settings</span></a></p></li>
<li><p><a class="reference internal" href="../dev/engine_overview.html#engine-settings"><span class="std std-ref">settings.yml</span></a> &amp; <a class="reference internal" href="../dev/engine_overview.html#engine-file"><span class="std std-ref">engine file</span></a></p></li>
</ul>
</aside>
</div>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="engines/recoll.html">Recoll</a></li>
</ul>
</div>
</section>
<section id="general-engine-settings">
</div>
<div class="section" id="general-engine-settings">
<span id="engines-generic"></span><h2>General Engine Settings<a class="headerlink" href="#general-engine-settings" title="Permalink to this headline"></a></h2>
<p>Explanation of the <a class="reference internal" href="../dev/engine_overview.html#general-engine-configuration"><span class="std std-ref">general engine configuration</span></a> shown in the table
<a class="reference internal" href="#configured-engines"><span class="std std-ref">Engines configured at built time (defaults)</span></a>.</p>
@ -1732,8 +1732,8 @@
</tr>
</tbody>
</table>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -48,18 +48,18 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="recoll">
<div class="section" id="recoll">
<span id="engine-recoll"></span><h1>Recoll<a class="headerlink" href="#recoll" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">info</p>
<ul class="simple">
<li><p><a class="reference external" href="https://www.lesbonscomptes.com/recoll/">Recoll</a></p></li>
<li><p><a class="reference external" href="https://framagit.org/medoc92/recollwebui.git">recoll-webui</a></p></li>
</ul>
</aside>
</div>
<p><a class="reference external" href="https://www.lesbonscomptes.com/recoll/">Recoll</a> is a desktop full-text search tool based on Xapian. By itself <a class="reference external" href="https://www.lesbonscomptes.com/recoll/">Recoll</a>
does not offer web or API access, this can be achieved using <a class="reference external" href="https://framagit.org/medoc92/recollwebui.git">recoll-webui</a></p>
<section id="configuration">
<div class="section" id="configuration">
<h2>Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline"></a></h2>
<p>You must configure the following settings:</p>
<dl class="simple">
@ -73,8 +73,8 @@ does not offer web or API access, this can be achieved using <a class="reference
searched.</p>
</dd>
</dl>
</section>
<section id="example">
</div>
<div class="section" id="example">
<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline"></a></h2>
<p>Scenario:</p>
<ol class="arabic simple">
@ -88,8 +88,8 @@ searched.</p>
<span class="nt">search_dir</span><span class="p">:</span> <span class="s">&#39;&#39;</span>
</pre></div>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,15 +47,15 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="how-to-protect-an-instance">
<div class="section" id="how-to-protect-an-instance">
<span id="searx-filtron"></span><h1>How to protect an instance<a class="headerlink" href="#how-to-protect-an-instance" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">further reading</p>
<ul class="simple">
<li><p><a class="reference internal" href="../utils/filtron.sh.html#filtron-sh"><span class="std std-ref">utils/filtron.sh</span></a></p></li>
<li><p><a class="reference internal" href="installation-nginx.html#nginx-searx-site"><span class="std std-ref">A nginx searx site</span></a></p></li>
</ul>
</aside>
</div>
<div class="contents local topic" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
@ -69,21 +69,21 @@ it is advised to limit the number of requests processed by searx.</p>
<p>An application firewall, <a class="reference external" href="https://github.com/asciimoo/filtron">filtron</a> solves exactly this problem. Filtron is just
a middleware between your web server (nginx, apache, …) and searx, we describe
such infratructures in chapter: <a class="reference internal" href="architecture.html#architecture"><span class="std std-ref">Architecture</span></a>.</p>
<section id="filtron-go">
<div class="section" id="filtron-go">
<h2><a class="toc-backref" href="#id2">filtron &amp; go</a><a class="headerlink" href="#filtron-go" title="Permalink to this headline"></a></h2>
<p>Filtron needs <a class="reference external" href="https://golang.org/">Go</a> installed. If <a class="reference external" href="https://golang.org/">Go</a> is preinstalled, <a class="reference external" href="https://github.com/asciimoo/filtron">filtron</a> is simply
installed by <code class="docutils literal notranslate"><span class="pre">go</span> <span class="pre">get</span></code> package management (see <a class="reference external" href="https://github.com/asciimoo/filtron/blob/master/README.md">filtron README</a>). If you use
filtron as middleware, a more isolated setup is recommended. To simplify such
an installation and the maintenance of, use our script <a class="reference internal" href="../utils/filtron.sh.html#filtron-sh"><span class="std std-ref">utils/filtron.sh</span></a>.</p>
</section>
<section id="sample-configuration-of-filtron">
</div>
<div class="section" id="sample-configuration-of-filtron">
<span id="id1"></span><h2><a class="toc-backref" href="#id3">Sample configuration of filtron</a><a class="headerlink" href="#sample-configuration-of-filtron" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Tooling box</p>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/searx/searx/blob/master/utils/templates/etc/filtron/rules.json">/etc/filtron/rules.json</a></p></li>
</ul>
</aside>
</div>
<p>An example configuration can be find below. This configuration limits the access
of:</p>
<ul class="simple">
@ -180,17 +180,17 @@ of:</p>
<span class="p">]</span>
</pre></div>
</div>
</section>
<section id="route-request-through-filtron">
</div>
<div class="section" id="route-request-through-filtron">
<span id="filtron-route-request"></span><h2><a class="toc-backref" href="#id4">Route request through filtron</a><a class="headerlink" href="#route-request-through-filtron" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">further reading</p>
<ul class="simple">
<li><p><a class="reference internal" href="../utils/filtron.sh.html#filtron-sh-overview"><span class="std std-ref">Overview</span></a></p></li>
<li><p><a class="reference internal" href="installation-nginx.html#installation-nginx"><span class="std std-ref">Install with nginx</span></a></p></li>
<li><p><a class="reference internal" href="installation-apache.html#installation-apache"><span class="std std-ref">Install with apache</span></a></p></li>
</ul>
</aside>
</div>
<p>Filtron can be started using the following command:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ filtron -rules rules.json
</pre></div>
@ -218,8 +218,8 @@ of:</p>
</div>
<p>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: <a class="reference internal" href="installation-nginx.html#nginx-searx-site"><span class="std std-ref">A nginx searx site</span></a>.</p>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -46,10 +46,10 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="administrator-documentation">
<div class="section" id="administrator-documentation">
<h1>Administrator documentation<a class="headerlink" href="#administrator-documentation" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
<p><span class="caption-text">Contents</span></p>
<p class="caption"><span class="caption-text">Contents</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="installation.html#installation-scripts">Installation scripts</a></li>
@ -123,7 +123,7 @@
</li>
</ul>
</div>
</section>
</div>
<div class="clearer"></div>

View File

@ -48,9 +48,9 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="install-with-apache">
<div class="section" id="install-with-apache">
<span id="installation-apache"></span><h1>Install with apache<a class="headerlink" href="#install-with-apache" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">further read</p>
<ul class="simple">
<li><p><a class="reference external" href="https://wiki.archlinux.org/index.php/Apache_HTTP_Server">Apache Arch Linux</a></p></li>
@ -58,7 +58,7 @@
<li><p><a class="reference external" href="https://docs.fedoraproject.org/en-US/quick-docs/getting-started-with-apache-http-server/index.html">Apache Fedora</a></p></li>
<li><p><a class="reference external" href="https://httpd.apache.org/docs/trunk/mod/directives.html">Apache directives</a></p></li>
</ul>
</aside>
</div>
<div class="contents local topic" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
@ -80,7 +80,7 @@
</pre></div>
</div>
<hr class="docutils" />
<section id="the-apache-http-server">
<div class="section" id="the-apache-http-server">
<h2><a class="toc-backref" href="#id2">The apache HTTP server</a><a class="headerlink" href="#the-apache-http-server" title="Permalink to this headline"></a></h2>
<p>If <a class="reference external" href="https://httpd.apache.org/">Apache</a> is not installed, install it now. If <a class="reference external" href="https://httpd.apache.org/">apache</a> is new to you, the
<a class="reference external" href="https://httpd.apache.org/docs/current/en/getting-started.html">Getting Started</a>, <a class="reference external" href="https://httpd.apache.org/docs/current/en/configuring.html">Configuration Files</a> and <a class="reference external" href="https://httpd.apache.org/docs/current/en/mod/directive-dict.html">Terms Used to Describe
@ -152,16 +152,16 @@ welcome page</em> is shown, the configuration is located at:</p>
</pre></div>
</div>
</div></div>
</section>
<section id="apache-reverse-proxy">
</div>
<div class="section" id="apache-reverse-proxy">
<span id="apache-searx-site"></span><h2><a class="toc-backref" href="#id3">Apache Reverse Proxy</a><a class="headerlink" href="#apache-reverse-proxy" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">public to the internet?</p>
<p>If your searx instance is public, stop here and first install <a class="reference internal" href="../utils/filtron.sh.html#filtron-sh"><span class="std std-ref">filtron
reverse proxy</span></a> and <a class="reference internal" href="../utils/morty.sh.html#morty-sh"><span class="std std-ref">result proxy morty</span></a>, see
<a class="reference internal" href="installation.html#installation-scripts"><span class="std std-ref">Installation scripts</span></a>. If already done, follow setup: <em>searx via
filtron plus morty</em>.</p>
</aside>
</div>
<p>To setup a Apache revers proxy you have to enable the <em>headers</em> and <em>proxy</em>
modules and create a <a class="reference external" href="https://httpd.apache.org/docs/trunk/mod/core.html#location">Location</a> configuration for the searx site. In most
distributions you have to un-comment the lines in the main configuration file,
@ -261,8 +261,8 @@ URL</strong> to your <a class="reference external" href="https://github.com/sear
</pre></div>
</div>
</div></div>
</section>
<section id="uwsgi-support">
</div>
<div class="section" id="uwsgi-support">
<h2><a class="toc-backref" href="#id4">uWSGI support</a><a class="headerlink" href="#uwsgi-support" title="Permalink to this headline"></a></h2>
<p>Be warned, with this setup, your instance isnt <a class="reference internal" href="filtron.html#searx-filtron"><span class="std std-ref">protected</span></a>, nevertheless it is good enough for intranet usage. In modern Linux
distributions, the <a class="reference external" href="https://uwsgi-docs.readthedocs.io/en/latest/Apache.html#mod-proxy-uwsgi">mod_proxy_uwsgi</a> is compiled into the <em>normal</em> apache
@ -389,8 +389,8 @@ ANYMORE!</p>
</pre></div>
</div>
</div></div>
</section>
<section id="restart-service">
</div>
<div class="section" id="restart-service">
<span id="restart-apache"></span><h2><a class="toc-backref" href="#id5">Restart service</a><a class="headerlink" href="#restart-service" title="Permalink to this headline"></a></h2>
<div class="sphinx-tabs docutils container">
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-6-VWJ1bnR1IC8gZGViaWFu" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-6-VWJ1bnR1IC8gZGViaWFu" name="VWJ1bnR1IC8gZGViaWFu" role="tab" tabindex="0">Ubuntu / debian</button><button aria-controls="panel-6-QXJjaCBMaW51eA==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-6-QXJjaCBMaW51eA==" name="QXJjaCBMaW51eA==" role="tab" tabindex="-1">Arch Linux</button><button aria-controls="panel-6-RmVkb3JhIC8gUkhFTA==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-6-RmVkb3JhIC8gUkhFTA==" name="RmVkb3JhIC8gUkhFTA==" role="tab" tabindex="-1">Fedora / RHEL</button></div><div aria-labelledby="tab-6-VWJ1bnR1IC8gZGViaWFu" class="sphinx-tabs-panel group-tab" id="panel-6-VWJ1bnR1IC8gZGViaWFu" name="VWJ1bnR1IC8gZGViaWFu" role="tabpanel" tabindex="0"><div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>sudo -H systemctl restart apache2
@ -406,8 +406,8 @@ sudo -H touch /etc/uwsgi.d/searx.ini
</pre></div>
</div>
</div></div>
</section>
<section id="disable-logs">
</div>
<div class="section" id="disable-logs">
<h2><a class="toc-backref" href="#id6">disable logs</a><a class="headerlink" href="#disable-logs" title="Permalink to this headline"></a></h2>
<p>For better privacy you can disable Apache logs. In the examples above activate
one of the lines and <a class="reference internal" href="#restart-apache">restart apache</a>:</p>
@ -418,8 +418,8 @@ one of the lines and <a class="reference internal" href="#restart-apache">restar
<p>The <code class="docutils literal notranslate"><span class="pre">CustomLog</span></code> directive disable logs for the whole (virtual) server, use it
when the URL of the service does not have a path component (<code class="docutils literal notranslate"><span class="pre">/searx</span></code>) / is
located at root (<code class="docutils literal notranslate"><span class="pre">/</span></code>).</p>
</section>
<section id="the-debian-layout">
</div>
<div class="section" id="the-debian-layout">
<span id="id1"></span><h2><a class="toc-backref" href="#id7">The Debian Layout</a><a class="headerlink" href="#the-debian-layout" title="Permalink to this headline"></a></h2>
<p>Be aware that the Debian layout is quite different from the standard Apache
configuration. For details look at the <a class="reference external" href="https://salsa.debian.org/apache-team/apache2/raw/master/debian/apache2.README.Debian">README.Debian</a>
@ -431,8 +431,8 @@ Debian:</p>
<li><p><a class="reference external" href="https://manpages.debian.org/jump?q=a2enconf">a2enconf</a>, <a class="reference external" href="https://manpages.debian.org/jump?q=a2disconf">a2disconf</a>: switch on/off configurations</p></li>
<li><p><a class="reference external" href="https://manpages.debian.org/jump?q=a2ensite">a2ensite</a>, <a class="reference external" href="https://manpages.debian.org/jump?q=a2dissite">a2dissite</a>: switch on/off sites</p></li>
</ul>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,7 +47,7 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="docker-installation">
<div class="section" id="docker-installation">
<span id="installation-docker"></span><h1>Docker installation<a class="headerlink" href="#docker-installation" title="Permalink to this headline"></a></h1>
<div class="contents local topic" id="contents">
<p class="topic-title">Contents</p>
@ -62,7 +62,7 @@
</ul>
</div>
<hr class="docutils" />
<section id="docker-image-searx-searx">
<div class="section" id="docker-image-searx-searx">
<h2><a class="toc-backref" href="#id1">Docker image searx/searx</a><a class="headerlink" href="#docker-image-searx-searx" title="Permalink to this headline"></a></h2>
<p>The docker image is <a class="reference external" href="https://hub.docker.com/r/searx/searx">searx/searx</a> (based on <a class="reference external" href="https://github.com/searx/searx">github.com/searx/searx</a>).</p>
<p>Make sure you have <a class="reference external" href="https://docs.docker.com/get-docker/">installed Docker</a>. For instance, you can deploy a local instance:</p>
@ -74,7 +74,7 @@ docker run --rm -d -v <span class="si">${</span><span class="nv">PWD</span><span
<p>Go to <code class="docutils literal notranslate"><span class="pre">http://localhost:$PORT</span></code>.</p>
<p>Inside <code class="docutils literal notranslate"><span class="pre">${PWD}/searx</span></code>, you will find <code class="docutils literal notranslate"><span class="pre">settings.yml</span></code> and <code class="docutils literal notranslate"><span class="pre">uwsgi.ini</span></code>.
You can modify these files according to your needs and restart the Docker image.</p>
<section id="command-line">
<div class="section" id="command-line">
<h3><a class="toc-backref" href="#id2">Command line</a><a class="headerlink" href="#command-line" title="Permalink to this headline"></a></h3>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>docker run --rm -it searx/searx -h
</pre></div>
@ -100,8 +100,8 @@ Volume:
/etc/searx the docker entry point copies settings.yml and uwsgi.ini in this directory (see the -f command line option)
</pre></div>
</div>
</section>
<section id="build-the-image">
</div>
<div class="section" id="build-the-image">
<h3><a class="toc-backref" href="#id3">Build the image</a><a class="headerlink" href="#build-the-image" title="Permalink to this headline"></a></h3>
<p>Its also possible to build searx from the embedded Dockerfile.</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>git clone https://github.com/searx/searx.git
@ -109,13 +109,13 @@ Volume:
make docker
</pre></div>
</div>
</section>
</section>
<section id="public-instance">
</div>
</div>
<div class="section" id="public-instance">
<h2><a class="toc-backref" href="#id4">Public instance</a><a class="headerlink" href="#public-instance" title="Permalink to this headline"></a></h2>
<p>If you intend to create a public instance using Docker, see <a class="reference external" href="https://github.com/searx/searx-docker">https://github.com/searx/searx-docker</a></p>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -48,9 +48,9 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="install-with-nginx">
<div class="section" id="install-with-nginx">
<span id="installation-nginx"></span><h1>Install with nginx<a class="headerlink" href="#install-with-nginx" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">further reading</p>
<ul class="simple">
<li><p><a class="reference external" href="https://docs.nginx.com/nginx/admin-guide/">nginx</a></p></li>
@ -59,7 +59,7 @@
<li><p><a class="reference external" href="https://www.nginx.com/resources/wiki/start/">Getting Started wiki</a></p></li>
<li><p><a class="reference external" href="https://uwsgi-docs.readthedocs.io/en/latest/Nginx.html">uWSGI support from nginx</a></p></li>
</ul>
</aside>
</div>
<div class="contents local topic" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
@ -78,7 +78,7 @@
</pre></div>
</div>
<hr class="docutils" />
<section id="the-nginx-http-server">
<div class="section" id="the-nginx-http-server">
<h2><a class="toc-backref" href="#id1">The nginx HTTP server</a><a class="headerlink" href="#the-nginx-http-server" title="Permalink to this headline"></a></h2>
<p>If <a class="reference external" href="https://docs.nginx.com/nginx/admin-guide/">nginx</a> is not installed (uwsgi will not work with the package nginx-light),
install it now.</p>
@ -128,16 +128,16 @@ depends on the linux distribution:</p>
</pre></div>
</div>
</div></div>
</section>
<section id="a-nginx-searx-site">
</div>
<div class="section" id="a-nginx-searx-site">
<span id="nginx-searx-site"></span><h2><a class="toc-backref" href="#id2">A nginx searx site</a><a class="headerlink" href="#a-nginx-searx-site" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">public to the internet?</p>
<p>If your searx instance is public, stop here and first install <a class="reference internal" href="../utils/filtron.sh.html#filtron-sh"><span class="std std-ref">filtron
reverse proxy</span></a> and <a class="reference internal" href="../utils/morty.sh.html#morty-sh"><span class="std std-ref">result proxy morty</span></a>, see
<a class="reference internal" href="installation.html#installation-scripts"><span class="std std-ref">Installation scripts</span></a>. If already done, follow setup: <em>searx via
filtron plus morty</em>.</p>
</aside>
</div>
<p>Now you have to create a configuration for the searx site. If <a class="reference external" href="https://docs.nginx.com/nginx/admin-guide/">nginx</a> is new to
you, the <a class="reference external" href="https://nginx.org/en/docs/beginners_guide.html">nginx beginners guide</a> is a good starting point and the <a class="reference external" href="https://www.nginx.com/resources/wiki/start/">Getting
Started wiki</a> is always a good resource <em>to keep in the pocket</em>.</p>
@ -316,8 +316,8 @@ sudo -H touch /etc/uwsgi.d/searx.ini
</pre></div>
</div>
</div></div>
</section>
<section id="disable-logs">
</div>
<div class="section" id="disable-logs">
<h2><a class="toc-backref" href="#id3">Disable logs</a><a class="headerlink" href="#disable-logs" title="Permalink to this headline"></a></h2>
<p>For better privacy you can disable nginx logs in <code class="docutils literal notranslate"><span class="pre">/etc/nginx/nginx.conf</span></code>.</p>
<div class="highlight-nginx notranslate"><div class="highlight"><pre><span></span><span class="k">http</span> <span class="p">{</span>
@ -328,8 +328,8 @@ sudo -H touch /etc/uwsgi.d/searx.ini
<span class="p">}</span>
</pre></div>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -48,7 +48,7 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="step-by-step-installation">
<div class="section" id="step-by-step-installation">
<span id="installation-basic"></span><h1>Step by step installation<a class="headerlink" href="#step-by-step-installation" title="Permalink to this headline"></a></h1>
<div class="contents local topic" id="contents">
<p class="topic-title">Contents</p>
@ -62,7 +62,7 @@
</div>
<p>Step by step installation with virtualenv. For Ubuntu, be sure to have enable
universe repository.</p>
<section id="install-packages">
<div class="section" id="install-packages">
<span id="id1"></span><h2><a class="toc-backref" href="#id2">Install packages</a><a class="headerlink" href="#install-packages" title="Permalink to this headline"></a></h2>
<div class="sphinx-tabs docutils container">
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-0-VWJ1bnR1IC8gZGViaWFu" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-0-VWJ1bnR1IC8gZGViaWFu" name="VWJ1bnR1IC8gZGViaWFu" role="tab" tabindex="0">Ubuntu / debian</button><button aria-controls="panel-0-QXJjaCBMaW51eA==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-0-QXJjaCBMaW51eA==" name="QXJjaCBMaW51eA==" role="tab" tabindex="-1">Arch Linux</button><button aria-controls="panel-0-RmVkb3JhIC8gUkhFTA==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-0-RmVkb3JhIC8gUkhFTA==" name="RmVkb3JhIC8gUkhFTA==" role="tab" tabindex="-1">Fedora / RHEL</button></div><div aria-labelledby="tab-0-VWJ1bnR1IC8gZGViaWFu" class="sphinx-tabs-panel group-tab" id="panel-0-VWJ1bnR1IC8gZGViaWFu" name="VWJ1bnR1IC8gZGViaWFu" role="tabpanel" tabindex="0"><div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H apt-get install -y <span class="se">\</span>
@ -91,8 +91,8 @@ universe repository.</p>
<p class="admonition-title">Hint</p>
<p>This installs also the packages needed by <a class="reference internal" href="installation-uwsgi.html#searx-uwsgi"><span class="std std-ref">uwsgi</span></a></p>
</div>
</section>
<section id="create-user">
</div>
<div class="section" id="create-user">
<span id="create-searx-user"></span><h2><a class="toc-backref" href="#id3">Create user</a><a class="headerlink" href="#create-user" title="Permalink to this headline"></a></h2>
<div class="sphinx-tabs docutils container">
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-1-YmFzaA==" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-1-YmFzaA==" name="YmFzaA==" role="tab" tabindex="0">bash</button></div><div aria-labelledby="tab-1-YmFzaA==" class="sphinx-tabs-panel group-tab" id="panel-1-YmFzaA==" name="YmFzaA==" role="tabpanel" tabindex="0"><div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H useradd --shell /bin/bash --system <span class="se">\</span>
@ -104,8 +104,8 @@ $ sudo -H chown -R <span class="s2">&quot;searx:searx&quot;</span> <span class="
</pre></div>
</div>
</div></div>
</section>
<section id="install-searx-dependencies">
</div>
<div class="section" id="install-searx-dependencies">
<span id="searx-src"></span><h2><a class="toc-backref" href="#id4">install searx &amp; dependencies</a><a class="headerlink" href="#install-searx-dependencies" title="Permalink to this headline"></a></h2>
<p>Start a interactive shell from new created user and clone searx:</p>
<div class="sphinx-tabs docutils container">
@ -148,10 +148,10 @@ pip install -U pyyaml
<p>Open a second terminal for the configuration tasks and left the <code class="docutils literal notranslate"><span class="pre">(searx)$</span></code>
terminal open for the tasks below.</p>
</div>
</section>
<section id="configuration">
</div>
<div class="section" id="configuration">
<span id="use-default-settings-yml"></span><h2><a class="toc-backref" href="#id5">Configuration</a><a class="headerlink" href="#configuration" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title"><code class="docutils literal notranslate"><span class="pre">use_default_settings:</span> <span class="pre">True</span></code></p>
<ul class="simple">
<li><p><a class="reference internal" href="settings.html#settings-global"><span class="std std-ref">Global Settings</span></a></p></li>
@ -159,7 +159,7 @@ terminal open for the tasks below.</p>
<li><p><a class="reference internal" href="settings.html#settings-use-default-settings"><span class="std std-ref">use_default_settings</span></a></p></li>
<li><p><a class="reference external" href="https://github.com/searx/searx/blob/master/utils/templates/etc/searx/use_default_settings.yml">/etc/searx/settings.yml</a></p></li>
</ul>
</aside>
</div>
<p>To create a initial <code class="docutils literal notranslate"><span class="pre">/etc/searx/settings.yml</span></code> you can start with a copy of the
file <a class="reference external" href="https://github.com/searx/searx/blob/master/utils/templates/etc/searx/use_default_settings.yml">git://utils/templates/etc/searx/use_default_settings.yml</a>. This setup
<a class="reference internal" href="settings.html#settings-use-default-settings"><span class="std std-ref">use default settings</span></a> from
@ -1618,8 +1618,8 @@ $ sudo -H sed -i -e <span class="s2">&quot;s/{instance_name}/searx@</span><span
</pre></div>
</div>
</div></div>
</section>
<section id="check">
</div>
<div class="section" id="check">
<h2><a class="toc-backref" href="#id6">Check</a><a class="headerlink" href="#check" title="Permalink to this headline"></a></h2>
<p>To check your searx setup, optional enable debugging and start the <em>webapp</em>.
Searx looks at the exported environment <code class="docutils literal notranslate"><span class="pre">$SEARX_SETTINGS_PATH</span></code> for a
@ -1666,8 +1666,8 @@ HTTP/1.0 200 OK
<p>If everything works fine, hit <code class="docutils literal notranslate"><span class="pre">[CTRL-C]</span></code> to stop the <em>webapp</em> and disable the
debug option in <code class="docutils literal notranslate"><span class="pre">settings.yml</span></code>. You can now exit searx user bash (enter exit
command twice). At this point searx is not demonized; uwsgi allows this.</p>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -48,15 +48,15 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="uwsgi">
<div class="section" id="uwsgi">
<span id="searx-uwsgi"></span><h1>uwsgi<a class="headerlink" href="#uwsgi" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">further reading</p>
<ul class="simple">
<li><p><a class="reference external" href="https://www.freedesktop.org/software/systemd/man/systemd.unit.html">systemd.unit</a></p></li>
<li><p><a class="reference external" href="https://uwsgi-docs.readthedocs.io/en/latest/Emperor.html">uWSGI Emperor</a></p></li>
</ul>
</aside>
</div>
<div class="contents local topic" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
@ -65,7 +65,7 @@
<li><p><a class="reference internal" href="#alltogether" id="id3">Alltogether</a></p></li>
</ul>
</div>
<section id="origin-uwsgi">
<div class="section" id="origin-uwsgi">
<h2><a class="toc-backref" href="#id1">Origin uWSGI</a><a class="headerlink" href="#origin-uwsgi" title="Permalink to this headline"></a></h2>
<p>How uWSGI is implemented by distributors is different. uWSGI itself
recommend two methods</p>
@ -100,8 +100,8 @@ to stop instance remove ini --&gt; rm /etc/uwsgi.d/searx.ini
</pre></div>
</div>
</div></blockquote>
</section>
<section id="distributors">
</div>
<div class="section" id="distributors">
<h2><a class="toc-backref" href="#id2">Distributors</a><a class="headerlink" href="#distributors" title="Permalink to this headline"></a></h2>
<p>The <a class="reference external" href="https://uwsgi-docs.readthedocs.io/en/latest/Emperor.html">uWSGI Emperor</a> mode and <a class="reference external" href="http://0pointer.de/blog/projects/instances.html">systemd unit template</a> is what the distributors
mostly offer their users, even if they differ in the way they implement both
@ -129,8 +129,8 @@ sudo -H service uwsgi stop searx
</pre></div>
</div>
<p>My experience is, that this command is a bit buggy.</p>
</section>
<section id="alltogether">
</div>
<div class="section" id="alltogether">
<span id="uwsgi-configuration"></span><h2><a class="toc-backref" href="#id3">Alltogether</a><a class="headerlink" href="#alltogether" title="Permalink to this headline"></a></h2>
<p>Create the configuration ini-file according to your distribution (see below) and
restart the uwsgi application.</p>
@ -440,8 +440,8 @@ enable-threads <span class="o">=</span> <span class="nb">true</span>
</pre></div>
</div>
</div></div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,7 +47,7 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="installation">
<div class="section" id="installation">
<span id="id1"></span><h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline"></a></h1>
<p><em>Youre spoilt for choice</em>, choose your preferred method of installation.</p>
<ul class="simple">
@ -62,12 +62,12 @@ instance public to the internet you should really consider to install a
<p>Therefore, if you do not have any special preferences, its recommend to use the
<a class="reference internal" href="installation-docker.html#installation-docker"><span class="std std-ref">Docker installation</span></a> or the <a class="reference internal" href="#installation-scripts">Installation scripts</a> from our <a class="reference internal" href="../utils/index.html#toolboxing"><span class="std std-ref">tooling
box</span></a> as described below.</p>
<section id="installation-scripts">
<div class="section" id="installation-scripts">
<span id="id2"></span><h2>Installation scripts<a class="headerlink" href="#installation-scripts" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Update OS first!</p>
<p>To avoid unwanted side effects, update your OS before installing searx.</p>
</aside>
</div>
<p>The following will install a setup as shown in <a class="reference internal" href="architecture.html#architecture"><span class="std std-ref">Architecture</span></a>. First you
need to get a clone. The clone is only needed for the installation procedure
and some maintenance tasks (alternatively you can create your own fork).</p>
@ -105,8 +105,8 @@ $ <span class="nb">cd</span> searx
<em>stash</em> your instances setup, <a class="reference external" href="https://git-scm.com/docs/git-stash">git stash</a> your clones <a class="reference external" href="https://github.com/searx/searx/blob/master/Makefile">git://Makefile</a>
and <a class="reference external" href="https://github.com/searx/searx/blob/master/.config.sh">git://.config.sh</a> file .</p>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,14 +47,14 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="how-to-setup-result-proxy">
<div class="section" id="how-to-setup-result-proxy">
<span id="searx-morty"></span><h1>How to setup result proxy<a class="headerlink" href="#how-to-setup-result-proxy" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">further reading</p>
<ul class="simple">
<li><p><a class="reference internal" href="../utils/morty.sh.html#morty-sh"><span class="std std-ref">utils/morty.sh</span></a></p></li>
</ul>
</aside>
</div>
<p>By default searx can only act as an image proxy for result images, but it is
possible to proxify all the result URLs with an external service, <a class="reference external" href="https://github.com/asciimoo/morty">morty</a>.</p>
<p>To use this feature, morty has to be installed and activated in searxs
@ -77,7 +77,7 @@ plus morty”</em> in the <a class="reference internal" href="installation-nginx
<dt><code class="docutils literal notranslate"><span class="pre">key</span></code></dt><dd><p>Is an optional argument, see <a class="reference external" href="https://github.com/asciimoo/morty">mortys README</a> for more information.</p>
</dd>
</dl>
</section>
</div>
<div class="clearer"></div>

View File

@ -47,14 +47,14 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="plugins-builtin">
<div class="section" id="plugins-builtin">
<span id="plugins-generic"></span><h1>Plugins builtin<a class="headerlink" href="#plugins-builtin" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Further reading ..</p>
<ul class="simple">
<li><p><a class="reference internal" href="../dev/plugins.html#dev-plugin"><span class="std std-ref">Plugins</span></a></p></li>
</ul>
</aside>
</div>
<p>Configuration defaults (at built time):</p>
<dl class="field-list simple">
<dt class="field-odd">DO</dt>
@ -125,7 +125,7 @@
</tr>
</tbody>
</table>
</section>
</div>
<div class="clearer"></div>

View File

@ -47,17 +47,17 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="settings-yml">
<div class="section" id="settings-yml">
<span id="id1"></span><h1><code class="docutils literal notranslate"><span class="pre">settings.yml</span></code><a class="headerlink" href="#settings-yml" title="Permalink to this headline"></a></h1>
<p>This page describe the options possibilities of the <a class="reference external" href="https://github.com/searx/searx/blob/master/searx/settings.yml">git://searx/settings.yml</a>
file.</p>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Further reading ..</p>
<ul class="simple">
<li><p><a class="reference internal" href="installation-searx.html#use-default-settings-yml"><span class="std std-ref">Configuration</span></a></p></li>
<li><p><a class="reference internal" href="../dev/search_api.html#search-api"><span class="std std-ref">Search API</span></a></p></li>
</ul>
</aside>
</div>
<div class="contents local topic" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
@ -74,7 +74,7 @@ file.</p>
<li><p><a class="reference internal" href="#use-default-settings" id="id9">use_default_settings</a></p></li>
</ul>
</div>
<section id="settings-yml-location">
<div class="section" id="settings-yml-location">
<span id="settings-location"></span><h2><a class="toc-backref" href="#id2">settings.yml location</a><a class="headerlink" href="#settings-yml-location" title="Permalink to this headline"></a></h2>
<p>First, searx will try to load settings.yml from these locations:</p>
<ol class="arabic simple">
@ -83,10 +83,10 @@ file.</p>
</ol>
<p>If these files dont exist (or are empty or cant be read), searx uses the
<a class="reference external" href="https://github.com/searx/searx/blob/master/searx/settings.yml">git://searx/settings.yml</a> file.</p>
</section>
<section id="global-settings">
</div>
<div class="section" id="global-settings">
<span id="settings-global"></span><h2><a class="toc-backref" href="#id3">Global Settings</a><a class="headerlink" href="#global-settings" title="Permalink to this headline"></a></h2>
<section id="general">
<div class="section" id="general">
<h3><a class="toc-backref" href="#id4"><code class="docutils literal notranslate"><span class="pre">general:</span></code></a><a class="headerlink" href="#general" title="Permalink to this headline"></a></h3>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">general</span><span class="p">:</span>
<span class="nt">debug </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">False</span> <span class="c1"># Debug mode, only for development</span>
@ -116,8 +116,8 @@ messages in the browser too, so this must be deactivated in production.</p>
<dt><code class="docutils literal notranslate"><span class="pre">twitter_url</span></code>:</dt><dd><p>Link to your tweets (or <code class="docutils literal notranslate"><span class="pre">False</span></code>)</p>
</dd>
</dl>
</section>
<section id="server">
</div>
<div class="section" id="server">
<h3><a class="toc-backref" href="#id5"><code class="docutils literal notranslate"><span class="pre">server:</span></code></a><a class="headerlink" href="#server" title="Permalink to this headline"></a></h3>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">server</span><span class="p">:</span>
<span class="nt">port </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">8888</span>
@ -158,8 +158,8 @@ code, like <code class="docutils literal notranslate"><span class="pre">fr</span
<dt><code class="docutils literal notranslate"><span class="pre">default_http_headers</span></code>:</dt><dd><p>Set additional HTTP headers, see <a class="reference external" href="https://github.com/searx/searx/issues/715">#755</a></p>
</dd>
</dl>
</section>
<section id="outgoing">
</div>
<div class="section" id="outgoing">
<h3><a class="toc-backref" href="#id6"><code class="docutils literal notranslate"><span class="pre">outgoing:</span></code></a><a class="headerlink" href="#outgoing" title="Permalink to this headline"></a></h3>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">outgoing</span><span class="p">:</span> <span class="c1"># communication with search engines</span>
<span class="nt">request_timeout </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">2.0</span> <span class="c1"># default timeout in seconds, can be override by engine</span>
@ -205,8 +205,8 @@ requests to the engines are distributed in a round-robin fashion.</p>
be made. This parameter is ignored when <code class="docutils literal notranslate"><span class="pre">proxies</span></code> is set.</p>
</dd>
</dl>
</section>
<section id="locales">
</div>
<div class="section" id="locales">
<h3><a class="toc-backref" href="#id7"><code class="docutils literal notranslate"><span class="pre">locales:</span></code></a><a class="headerlink" href="#locales" title="Permalink to this headline"></a></h3>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">locales</span><span class="p">:</span>
<span class="nt">en </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">English</span>
@ -227,16 +227,16 @@ be made. This parameter is ignored when <code class="docutils literal notranslat
<dt><code class="docutils literal notranslate"><span class="pre">locales</span></code> :</dt><dd><p>Locales codes and their names. Available translations of searx interface.</p>
</dd>
</dl>
</section>
</section>
<section id="engine-settings">
</div>
</div>
<div class="section" id="engine-settings">
<span id="settings-engine"></span><h2><a class="toc-backref" href="#id8">Engine settings</a><a class="headerlink" href="#engine-settings" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Further reading ..</p>
<ul class="simple">
<li><p><a class="reference internal" href="../dev/engine_overview.html#engines-dev"><span class="std std-ref">Engine overview</span></a></p></li>
</ul>
</aside>
</div>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span> <span class="nt">name </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">bing</span>
<span class="nt">engine </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">bing</span>
<span class="nt">shortcut </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">bi</span>
@ -297,17 +297,17 @@ by using the full ISO code of language and country, like <code class="docutils l
<p>A few more options are possible, but they are pretty specific to some
engines, and so wont be described here.</p>
</div>
</section>
<section id="use-default-settings">
</div>
<div class="section" id="use-default-settings">
<span id="settings-use-default-settings"></span><h2><a class="toc-backref" href="#id9">use_default_settings</a><a class="headerlink" href="#use-default-settings" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title"><code class="docutils literal notranslate"><span class="pre">use_default_settings:</span> <span class="pre">True</span></code></p>
<ul class="simple">
<li><p><a class="reference internal" href="#settings-location"><span class="std std-ref">settings.yml location</span></a></p></li>
<li><p><a class="reference internal" href="installation-searx.html#use-default-settings-yml"><span class="std std-ref">Configuration</span></a></p></li>
<li><p><a class="reference external" href="https://github.com/searx/searx/blob/master/utils/templates/etc/searx/use_default_settings.yml">/etc/searx/settings.yml</a></p></li>
</ul>
</aside>
</div>
<p>The user defined <code class="docutils literal notranslate"><span class="pre">settings.yml</span></code> is loaded from the <a class="reference internal" href="#settings-location"><span class="std std-ref">settings.yml location</span></a>
and can relied on the default configuration <a class="reference external" href="https://github.com/searx/searx/blob/master/searx/settings.yml">git://searx/settings.yml</a> using:</p>
<blockquote>
@ -370,8 +370,8 @@ following example, searx has only two engines:</p>
</div>
</dd>
</dl>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -48,7 +48,7 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="how-to-update">
<div class="section" id="how-to-update">
<span id="update-searx"></span><h1>How to update<a class="headerlink" href="#how-to-update" title="Permalink to this headline"></a></h1>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>sudo -H -u searx -i
<span class="o">(</span>searx<span class="o">)</span>$ git stash
@ -63,7 +63,7 @@
</pre></div>
</div>
</div></div>
</section>
</div>
<div class="clearer"></div>

View File

@ -47,15 +47,15 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="searx-admin-interface">
<div class="section" id="searx-admin-interface">
<h1>Searx admin interface<a class="headerlink" href="#searx-admin-interface" title="Permalink to this headline"></a></h1>
<blockquote>
<div><p>manage your instance from your browser</p>
</div></blockquote>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Installation</p>
<p>Installation guide can be found in the repository of <a class="reference external" href="https://github.com/kvch/searx-admin#searx-admin">searx-admin</a>.</p>
</aside>
</div>
<p>One of the biggest advantages of searx is being extremely customizable. But at
first it can be daunting to newcomers. A barrier of taking advantage of this
feature is our ugly settings file which is sometimes hard to understand and
@ -65,26 +65,24 @@ edit.</p>
instance and manipulating its settings via a web UI. It aims to replace editing
of <code class="docutils literal notranslate"><span class="pre">settings.yml</span></code> for less experienced administrators or people who prefer
graphical admin interfaces.</p>
<figure class="align-default" id="id1">
<div class="figure align-default" id="id1">
<img alt="Screenshot of engine list" src="../_images/searx-admin-engines.png" />
<figcaption>
<p><span class="caption-number">Fig. 6 </span><span class="caption-text">Configuration page of engines</span><a class="headerlink" href="#id1" title="Permalink to this image"></a></p>
</figcaption>
</figure>
<p class="caption"><span class="caption-number">Fig. 6 </span><span class="caption-text">Configuration page of engines</span><a class="headerlink" href="#id1" title="Permalink to this image"></a></p>
</div>
<p>Since <code class="docutils literal notranslate"><span class="pre">searx-admin</span></code> acts as a supervisor for searx, we have decided to
implement it as a standalone tool instead of part of searx. Another reason for
making it a standalone tool is that the codebase and dependencies of searx
should not grow because of a fully optional feature, which does not affect
existing instances.</p>
<section id="acknowledgements">
<div class="section" id="acknowledgements">
<h2>Acknowledgements<a class="headerlink" href="#acknowledgements" title="Permalink to this headline"></a></h2>
<p>This development was sponsored by <a class="reference external" href="https://nlnet.nl/">NLnet Foundation</a>.</p>
<div class="line-block">
<div class="line">Happy hacking.</div>
<div class="line">kvch // 2017.08.22 21:25</div>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,12 +47,12 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="running-shell-commands-to-fetch-results">
<div class="section" id="running-shell-commands-to-fetch-results">
<h1>Running shell commands to fetch results<a class="headerlink" href="#running-shell-commands-to-fetch-results" title="Permalink to this headline"></a></h1>
<p>Previously, with searx you could search over the Internet on other peoples
computers. Now it is possible to fetch results from your local machine without
connecting to any networks from the same graphical user interface.</p>
<section id="command-line-engines">
<div class="section" id="command-line-engines">
<h2>Command line engines<a class="headerlink" href="#command-line-engines" title="Permalink to this headline"></a></h2>
<p>In <a class="reference external" href="https://github.com/searx/searx/pull/2128">PR 2128</a> a new type of engine has been introduced called <code class="docutils literal notranslate"><span class="pre">command</span></code>.
This engine lets administrators add engines which run arbitrary shell commands
@ -84,21 +84,21 @@ working directory.</p>
<span class="nt">keys</span><span class="p">:</span> <span class="p p-Indicator">[</span><span class="s">&#39;line&#39;</span><span class="p p-Indicator">]</span>
</pre></div>
</div>
</section>
<section id="next-steps">
</div>
<div class="section" id="next-steps">
<h2>Next steps<a class="headerlink" href="#next-steps" title="Permalink to this headline"></a></h2>
<p>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.</p>
</section>
<section id="acknowledgement">
</div>
<div class="section" id="acknowledgement">
<h2>Acknowledgement<a class="headerlink" href="#acknowledgement" title="Permalink to this headline"></a></h2>
<p>This development was sponsored by <a class="reference external" href="https://nlnet.nl/discovery">Search and Discovery Fund</a> of <a class="reference external" href="https://nlnet.nl/">NLnet Foundation</a> .</p>
<div class="line-block">
<div class="line">Happy hacking.</div>
<div class="line">kvch // 2020.09.28 21:26</div>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -46,10 +46,10 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="blog">
<div class="section" id="blog">
<h1>Blog<a class="headerlink" href="#blog" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
<p><span class="caption-text">Contents</span></p>
<p class="caption"><span class="caption-text">Contents</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="lxcdev-202006.html">Developing in Linux containers [202006]</a><ul>
<li class="toctree-l2"><a class="reference internal" href="lxcdev-202006.html#motivation">Motivation</a></li>
@ -97,7 +97,7 @@
</li>
</ul>
</div>
</section>
</div>
<div class="clearer"></div>

View File

@ -47,9 +47,9 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="preparation-for-offline-engines">
<div class="section" id="preparation-for-offline-engines">
<h1>Preparation for offline engines<a class="headerlink" href="#preparation-for-offline-engines" title="Permalink to this headline"></a></h1>
<section id="offline-engines">
<div class="section" id="offline-engines">
<h2>Offline engines<a class="headerlink" href="#offline-engines" title="Permalink to this headline"></a></h2>
<p>To extend the functionality of searx, offline engines are going to be
introduced. An offline engine is an engine which does not need Internet
@ -83,8 +83,8 @@ finds the engine file and imports it.</p>
<span class="k">return</span> <span class="n">results</span>
</pre></div>
</div>
</section>
<section id="development-progress">
</div>
<div class="section" id="development-progress">
<h2>Development progress<a class="headerlink" href="#development-progress" title="Permalink to this headline"></a></h2>
<p>First, a proposal has been created as a Github issue. Then it was moved to the
wiki as a design document. You can read it here: <a class="reference external" href="https://github.com/searx/searx/wiki/Offline-engines"> Offline-engines</a>.</p>
@ -96,20 +96,20 @@ current result templates were insufficient to present such results. Thus, a new
template is introduced which is caplable of presenting arbitrary key value pairs
as a table. You can check out the pull request for more details see
<a class="reference external" href="https://github.com/searx/searx/pull/1700">PR 1700</a>.</p>
</section>
<section id="next-steps">
</div>
<div class="section" id="next-steps">
<h2>Next steps<a class="headerlink" href="#next-steps" title="Permalink to this headline"></a></h2>
<p>Today, it is possible to create/run an offline engine. However, it is going to be publicly available for everyone who knows the searx instance. So the next step is to introduce token based access for engines. This way administrators are able to limit the access to private engines.</p>
</section>
<section id="acknowledgement">
</div>
<div class="section" id="acknowledgement">
<h2>Acknowledgement<a class="headerlink" href="#acknowledgement" title="Permalink to this headline"></a></h2>
<p>This development was sponsored by <a class="reference external" href="https://nlnet.nl/discovery">Search and Discovery Fund</a> of <a class="reference external" href="https://nlnet.nl/">NLnet Foundation</a> .</p>
<div class="line-block">
<div class="line">Happy hacking.</div>
<div class="line">kvch // 2019.10.21 17:03</div>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -48,14 +48,14 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="developing-in-linux-containers-202006">
<div class="section" id="developing-in-linux-containers-202006">
<span id="blog-lxcdev-202006"></span><h1>Developing in Linux containers [202006]<a class="headerlink" href="#developing-in-linux-containers-202006" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Audience</p>
<p>This blog post is written for experienced admins and developers / readers
should have a serious meaning about: <em>distributed</em>, <em>merge</em> and <em>linux
container</em>.</p>
</aside>
</div>
<div class="contents local topic" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
@ -69,7 +69,7 @@ container</em>.</p>
<p>In PR <a class="reference external" href="https://github.com/searx/searx/pull/1803">#1803</a> we added a lot of scripts to Searxs boilerplate. In this blog
post I will show you, how you can make use of them in <em>distributed and
heterogeneous development cycles</em> (TL;DR; jump to the <a class="reference internal" href="#blog-lxcdev-202006-abstract"><span class="std std-ref">Abstract</span></a>).</p>
<section id="motivation">
<div class="section" id="motivation">
<h2><a class="toc-backref" href="#id1">Motivation</a><a class="headerlink" href="#motivation" title="Permalink to this headline"></a></h2>
<p>Normally in our development cycle, we edit the sources and run some test and/or
builds by using <code class="docutils literal notranslate"><span class="pre">make</span></code> before we commit. This cycle is simple and perfect but
@ -96,8 +96,8 @@ software:</p>
<p>and the script <a class="reference internal" href="../utils/lxc.sh.html#lxc-sh"><span class="std std-ref">utils/lxc.sh</span></a>, with we can scale our installation, maintenance or
even development tasks over a stack of containers, what we call: <em>Searxs lxc
suite</em>.</p>
</section>
<section id="gentlemen-start-your-engines">
</div>
<div class="section" id="gentlemen-start-your-engines">
<h2><a class="toc-backref" href="#id2">Gentlemen, start your engines!</a><a class="headerlink" href="#gentlemen-start-your-engines" title="Permalink to this headline"></a></h2>
<p>Before you can start with containers, you need to install and initiate <a class="reference external" href="https://linuxcontainers.org/lxd/introduction/">LXD</a>
once:</p>
@ -127,10 +127,10 @@ $ sudo -H ./utils/lxc.sh build searx-archlinux
</pre></div>
</div>
</div></div>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">The <code class="docutils literal notranslate"><span class="pre">searx-archlinux</span></code> container</p>
<p>is the base of all our exercises here.</p>
</aside>
</div>
<p>In this container we install all services <a class="reference internal" href="../utils/lxc.sh.html#lxc-sh-install-suite"><span class="std std-ref">including searx, morty &amp; filtron</span></a> in once:</p>
<div class="sphinx-tabs docutils container">
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-3-ZGVza3RvcA==" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-3-ZGVza3RvcA==" name="ZGVza3RvcA==" role="tab" tabindex="0">desktop</button></div><div aria-labelledby="tab-3-ZGVza3RvcA==" class="sphinx-tabs-panel group-tab" id="panel-3-ZGVza3RvcA==" name="ZGVza3RvcA==" role="tabpanel" tabindex="0"><div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H ./utils/lxc.sh install suite searx-archlinux
@ -156,20 +156,20 @@ INFO: got <span class="m">200</span> from http://10.174.184.156/morty/
</pre></div>
</div>
</div></div>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Fully functional searx suite</p>
<p>From here on you have a fully functional searx suite running with bot blocker
(filtron) and Web content sanitizer (content proxy morty) needed for a
<em>privacy protecting</em> search engine.</p>
</aside>
</div>
<p>On your system, the IP of your <code class="docutils literal notranslate"><span class="pre">searx-archlinux</span></code> container differs from
<a class="reference external" href="http://10.174.184.156/searx">http://10.174.184.156/searx</a>, just open the URL reported in your installation
protocol in your WEB browser from the desktop to test the instance from outside
of the container.</p>
<p>In such a searx suite admins can maintain and access the debug log of the
different services quite easy.</p>
</section>
<section id="in-containers-work-as-usual">
</div>
<div class="section" id="in-containers-work-as-usual">
<span id="working-in-containers"></span><h2><a class="toc-backref" href="#id3">In containers, work as usual</a><a class="headerlink" href="#in-containers-work-as-usual" title="Permalink to this headline"></a></h2>
<p>Usually you open a root-bash using <code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">-H</span> <span class="pre">bash</span></code>. In case of LXC containers
open the root-bash in the container using <code class="docutils literal notranslate"><span class="pre">./utils/lxc.sh</span> <span class="pre">cmd</span>
@ -232,8 +232,8 @@ user <code class="docutils literal notranslate"><span class="pre">searx</span></
</pre></div>
</div>
</div></div>
</section>
<section id="wrap-production-into-developer-suite">
</div>
<div class="section" id="wrap-production-into-developer-suite">
<h2><a class="toc-backref" href="#id4">Wrap production into developer suite</a><a class="headerlink" href="#wrap-production-into-developer-suite" title="Permalink to this headline"></a></h2>
<p>In this section we will see how to change the <em>“Fully functional searx suite”</em>
from a LXC container (which is quite ready for production) into a developer
@ -317,8 +317,8 @@ daily usage:</p>
</pre></div>
</div>
</div></div>
</section>
<section id="abstract">
</div>
<div class="section" id="abstract">
<span id="blog-lxcdev-202006-abstract"></span><h2><a class="toc-backref" href="#id5">Abstract</a><a class="headerlink" href="#abstract" title="Permalink to this headline"></a></h2>
<p>We build up a fully functional searx suite in a archlinux container:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H ./utils/lxc.sh install suite searx-archlinux
@ -354,8 +354,8 @@ $ systemctl restart uwsgi@searx
</pre></div>
</div>
</div></div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,13 +47,13 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="limit-access-to-your-searx-engines">
<div class="section" id="limit-access-to-your-searx-engines">
<h1>Limit access to your searx engines<a class="headerlink" href="#limit-access-to-your-searx-engines" title="Permalink to this headline"></a></h1>
<p>Administrators might find themselves wanting to limit access to some of the
enabled engines on their instances. It might be because they do not want to
expose some private information through an offline engine. Or they
would rather share engines only with their trusted friends or colleagues.</p>
<section id="private-engines">
<div class="section" id="private-engines">
<span id="id1"></span><h2>Private engines<a class="headerlink" href="#private-engines" title="Permalink to this headline"></a></h2>
<p>To solve this issue private engines were introduced in <a class="reference external" href="https://github.com/searx/searx/pull/1823">PR 1823</a>.
A new option was added to engines named <cite>tokens</cite>. It expects a list
@ -79,24 +79,24 @@ is not carved in stone. As providing access to such engines
implies that the admin knows and trusts the user, we do not see
necessary to come up with a strict process. Instead,
we would like to add guidelines to the documentation of the feature.</p>
</section>
<section id="next-steps">
</div>
<div class="section" id="next-steps">
<h2>Next steps<a class="headerlink" href="#next-steps" title="Permalink to this headline"></a></h2>
<p>Now that searx has support for both offline engines and private engines,
it is possible to add concrete engines which benefit from these features.
For example engines which search on the local host running the instance.
Be it searching your file system or querying a private database. Be creative
and come up with new solutions which fit your use case.</p>
</section>
<section id="acknowledgement">
</div>
<div class="section" id="acknowledgement">
<h2>Acknowledgement<a class="headerlink" href="#acknowledgement" title="Permalink to this headline"></a></h2>
<p>This development was sponsored by <a class="reference external" href="https://nlnet.nl/discovery">Search and Discovery Fund</a> of <a class="reference external" href="https://nlnet.nl/">NLnet Foundation</a> .</p>
<div class="line-block">
<div class="line">Happy hacking.</div>
<div class="line">kvch // 2020.02.28 22:26</div>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,18 +47,18 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="introducing-python-3-support">
<div class="section" id="introducing-python-3-support">
<h1>Introducing Python 3 support<a class="headerlink" href="#introducing-python-3-support" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Python 2.7 to 3 upgrade</p>
<p>This chapter exists of historical reasons. Python 2.7 release schedule ends
(<a class="reference external" href="https://pythonclock.org/">Python 2.7 clock</a>) after 11 years Python 3 exists</p>
</aside>
</div>
<p>As most operation systems are coming with Python3 installed by default. So it is
time for searx to support Python3. But dont worry support of Python2.7 wont be
dropped.</p>
<a class="reference internal image-reference" href="../_images/searxpy3.png"><img alt="hurray" class="align-center" src="../_images/searxpy3.png" style="width: 510.5px; height: 116.0px;" /></a>
<section id="how-to-run-searx-using-python-3">
<div class="section" id="how-to-run-searx-using-python-3">
<h2>How to run searx using Python 3<a class="headerlink" href="#how-to-run-searx-using-python-3" title="Permalink to this headline"></a></h2>
<p>Please make sure that you run at least Python 3.5.</p>
<p>To run searx, first a Python3 virtualenv should be created. After entering the
@ -72,8 +72,8 @@ python3 searx/webapp.py
</div>
<p>If you want to run searx using Python2.7, you dont have to do anything
differently as before.</p>
</section>
<section id="fun-facts">
</div>
<div class="section" id="fun-facts">
<h2>Fun facts<a class="headerlink" href="#fun-facts" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>115 files were changed when implementing the support for both Python versions.</p></li>
@ -81,21 +81,21 @@ differently as before.</p>
browser tests. Thus, these tests were migrated to splinter. So from now on
both versions are being tested on Travis and can be tested locally.</p></li>
</ul>
</section>
<section id="if-you-found-bugs">
</div>
<div class="section" id="if-you-found-bugs">
<h2>If you found bugs<a class="headerlink" href="#if-you-found-bugs" title="Permalink to this headline"></a></h2>
<p>Please open an issue on <a class="reference external" href="https://github.com/searx/searx/issues">GitHub</a>. Make sure that you mention your Python
version in your issue, so we can investigate it properly.</p>
</section>
<section id="acknowledgment">
</div>
<div class="section" id="acknowledgment">
<h2>Acknowledgment<a class="headerlink" href="#acknowledgment" title="Permalink to this headline"></a></h2>
<p>This development was sponsored by <a class="reference external" href="https://nlnet.nl/">NLnet Foundation</a>.</p>
<div class="line-block">
<div class="line">Happy hacking.</div>
<div class="line">kvch // 2017.05.13 22:57</div>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -43,7 +43,7 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="query-your-local-search-engines">
<div class="section" id="query-your-local-search-engines">
<h1>Query your local search engines<a class="headerlink" href="#query-your-local-search-engines" title="Permalink to this headline"></a></h1>
<p>From now on, searx lets you to query your locally running search engines. The following
ones are supported now:</p>
@ -59,10 +59,10 @@ HTTP requests by setting <code class="docutils literal notranslate"><span class=
<p>Futhermore, if you do not want to expose these engines on a public instance, you can
still add them and limit the access by setting <code class="docutils literal notranslate"><span class="pre">tokens</span></code> as described in the <a class="reference external" href="private-engines.html#private-engines">blog post about
private engines</a>.</p>
<section id="configuring-searx-for-search-engines">
<div class="section" id="configuring-searx-for-search-engines">
<h2>Configuring searx for search engines<a class="headerlink" href="#configuring-searx-for-search-engines" title="Permalink to this headline"></a></h2>
<p>Each search engine is powerful, capable of full-text search.</p>
<section id="elasticsearch">
<div class="section" id="elasticsearch">
<h3>Elasticsearch<a class="headerlink" href="#elasticsearch" title="Permalink to this headline"></a></h3>
<p>Elasticsearch supports numerous ways to query the data it is storing. At the moment
the engine supports the most popular search methods: <code class="docutils literal notranslate"><span class="pre">match</span></code>, <code class="docutils literal notranslate"><span class="pre">simple_query_string</span></code>, <code class="docutils literal notranslate"><span class="pre">term</span></code> and <code class="docutils literal notranslate"><span class="pre">terms</span></code>.</p>
@ -81,8 +81,8 @@ configured to read from <code class="docutils literal notranslate"><span class="
<span class="nt">enable_http </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">True</span>
</pre></div>
</div>
</section>
<section id="meilisearch">
</div>
<div class="section" id="meilisearch">
<h3>Meilisearch<a class="headerlink" href="#meilisearch" title="Permalink to this headline"></a></h3>
<p>This search engine is aimed at individuals and small companies. It is designed for
small-scale (less than 10 million documents) data collections. E.g. it is great for storing
@ -98,8 +98,8 @@ Futhermore, you can search in Meilisearch instances that require authentication
<span class="nt">enable_http</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">True</span>
</pre></div>
</div>
</section>
<section id="solr">
</div>
<div class="section" id="solr">
<h3>Solr<a class="headerlink" href="#solr" title="Permalink to this headline"></a></h3>
<p>Solr is a popular search engine based on Lucene, just like Elasticsearch.
But instead of searching in indices, you can search in collections.</p>
@ -114,21 +114,21 @@ the results in ascending order.</p>
<span class="nt">enable_http </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">True</span>
</pre></div>
</div>
</section>
</section>
<section id="next-steps">
</div>
</div>
<div class="section" id="next-steps">
<h2>Next steps<a class="headerlink" href="#next-steps" title="Permalink to this headline"></a></h2>
<p>The next step is to add support for various SQL databases.</p>
</section>
<section id="acknowledgement">
</div>
<div class="section" id="acknowledgement">
<h2>Acknowledgement<a class="headerlink" href="#acknowledgement" title="Permalink to this headline"></a></h2>
<p>This development was sponsored by <a class="reference external" href="https://nlnet.nl/discovery">Search and Discovery Fund</a> of <a class="reference external" href="https://nlnet.nl/">NLnet Foundation</a> .</p>
<div class="line-block">
<div class="line">Happy hacking.</div>
<div class="line">kvch // 2021.04.07 23:16</div>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,7 +47,7 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="how-to-contribute">
<div class="section" id="how-to-contribute">
<span id="id1"></span><h1>How to contribute<a class="headerlink" href="#how-to-contribute" title="Permalink to this headline"></a></h1>
<div class="contents local topic" id="contents">
<p class="topic-title">Contents</p>
@ -67,7 +67,7 @@
</li>
</ul>
</div>
<section id="prime-directives-privacy-hackability">
<div class="section" id="prime-directives-privacy-hackability">
<h2><a class="toc-backref" href="#id3">Prime directives: Privacy, Hackability</a><a class="headerlink" href="#prime-directives-privacy-hackability" title="Permalink to this headline"></a></h2>
<p>Searx has two prime directives, <strong>privacy-by-design and hackability</strong> . The
hackability comes in three levels:</p>
@ -79,7 +79,7 @@ hackability comes in three levels:</p>
<p>Note the lack of “world domination” among the directives. Searx has no
intention of wide mass-adoption, rounded corners, etc. The prime directive
“privacy” deserves a separate chapter, as its quite uncommon unfortunately.</p>
<section id="privacy-by-design">
<div class="section" id="privacy-by-design">
<h3><a class="toc-backref" href="#id4">Privacy-by-design</a><a class="headerlink" href="#privacy-by-design" title="Permalink to this headline"></a></h3>
<p>Searx was born out of the need for a <strong>privacy-respecting</strong> search tool which
can be extended easily to maximize both, its search and its privacy protecting
@ -102,11 +102,11 @@ privacy concerns do not fancy you, simply fork it.</p>
<blockquote>
<div><p><em>Happy hacking.</em></p>
</div></blockquote>
</section>
</section>
<section id="code">
</div>
</div>
<div class="section" id="code">
<h2><a class="toc-backref" href="#id5">Code</a><a class="headerlink" href="#code" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Create good commits!</p>
<ul class="simple">
<li><p><a class="reference external" href="https://wiki.openstack.org/wiki/GitCommitMessages#Structural_split_of_changes">Structural split of changes</a></p></li>
@ -115,7 +115,7 @@ privacy concerns do not fancy you, simply fork it.</p>
<li><p>some like to use: <a class="reference external" href="https://gitmoji.carloscuesta.me/">gitmoji</a></p></li>
<li><p>not yet active: <a class="reference external" href="https://github.com/zeke/semantic-pull-requests">Semantic PR</a></p></li>
</ul>
</aside>
</div>
<p>In order to submit a patch, please follow the steps below:</p>
<ul>
<li><p>Follow coding conventions.</p>
@ -142,21 +142,21 @@ code.</p></li>
<li><p>Create a pull request.</p></li>
</ul>
<p>For more help on getting started with searx development, see <a class="reference internal" href="quickstart.html#devquickstart"><span class="std std-ref">Development Quickstart</span></a>.</p>
</section>
<section id="translation">
</div>
<div class="section" id="translation">
<h2><a class="toc-backref" href="#id6">Translation</a><a class="headerlink" href="#translation" title="Permalink to this headline"></a></h2>
<p>Translation currently takes place on <a class="reference internal" href="translation.html#translation"><span class="std std-ref">transifex</span></a>.</p>
<div class="admonition caution">
<p class="admonition-title">Caution</p>
<p>Please, do not update translation files in the repo.</p>
</div>
</section>
<section id="documentation">
</div>
<div class="section" id="documentation">
<span id="contrib-docs"></span><h2><a class="toc-backref" href="#id7">Documentation</a><a class="headerlink" href="#documentation" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">The reST sources</p>
<p>has been moved from <code class="docutils literal notranslate"><span class="pre">gh-branch</span></code> into <code class="docutils literal notranslate"><span class="pre">master</span></code> (<a class="reference external" href="https://github.com/searx/searx/blob/master/docs">git://docs</a>).</p>
</aside>
</div>
<p>The documentation is built using <a class="reference external" href="https://www.sphinx-doc.org">Sphinx</a>. So in order to be able to generate
the required files, you have to install it on your system. Much easier, use
our <a class="reference internal" href="makefile.html#makefile"><span class="std std-ref">Makefile Targets</span></a>.</p>
@ -166,13 +166,13 @@ our <a class="reference internal" href="makefile.html#makefile"><span class="std
The HTML pages are <span class="k">in</span> dist/docs.
</pre></div>
</div>
<section id="live-build">
<div class="section" id="live-build">
<span id="make-docs-live"></span><h3><a class="toc-backref" href="#id8">live build</a><a class="headerlink" href="#live-build" title="Permalink to this headline"></a></h3>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">docs-clean</p>
<p>It is recommended to assert a complete rebuild before deploying (use
<code class="docutils literal notranslate"><span class="pre">docs-clean</span></code>).</p>
</aside>
</div>
<p>Live build is like WYSIWYG. If you want to edit the documentation, its
recommended to use. The Makefile target <code class="docutils literal notranslate"><span class="pre">docs-live</span></code> builds the docs, opens
URL in your favorite browser and rebuilds every time a reST file has been
@ -194,8 +194,8 @@ argument. E.g to find and use a free port, use:</p>
...
</pre></div>
</div>
</section>
<section id="deploy-on-github-io">
</div>
<div class="section" id="deploy-on-github-io">
<span id="id2"></span><h3><a class="toc-backref" href="#id9">deploy on github.io</a><a class="headerlink" href="#deploy-on-github-io" title="Permalink to this headline"></a></h3>
<p>To deploy documentation at <a class="reference external" href="https://searx.github.io/searx/.">github.io</a> use Makefile target
<a class="reference internal" href="makefile.html#make-gh-pages"><span class="std std-ref">make gh-pages</span></a>, which will builds the documentation, clones searx into a sub
@ -214,9 +214,9 @@ Switched to a new branch <span class="s1">&#39;gh-pages&#39;</span>
doc available at --&gt; https://searx.github.io/searx
</pre></div>
</div>
</section>
</section>
</section>
</div>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,7 +47,7 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="engine-overview">
<div class="section" id="engine-overview">
<span id="engines-dev"></span><h1><a class="toc-backref" href="#id4">Engine overview</a><a class="headerlink" href="#engine-overview" title="Permalink to this headline"></a></h1>
<p>searx is a <a class="reference external" href="https://en.wikipedia.org/wiki/Metasearch_engine">metasearch-engine</a>, so it uses different search engines to provide
better results.</p>
@ -87,7 +87,7 @@ engines. Adapters are stored under the folder <a class="reference external" hre
</li>
</ul>
</div>
<section id="general-engine-configuration">
<div class="section" id="general-engine-configuration">
<span id="id1"></span><h2><a class="toc-backref" href="#id5">general engine configuration</a><a class="headerlink" href="#general-engine-configuration" title="Permalink to this headline"></a></h2>
<p>It is required to tell searx the type of results the engine provides. The
arguments can be set in the engine file or in the settings file
@ -95,7 +95,7 @@ arguments can be set in the engine file or in the settings file
the ones in the engine file.</p>
<p>It does not matter if an option is stored in the engine file or in the
settings. However, the standard way is the following:</p>
<section id="engine-file">
<div class="section" id="engine-file">
<span id="id2"></span><h3><a class="toc-backref" href="#id6">engine file</a><a class="headerlink" href="#engine-file" title="Permalink to this headline"></a></h3>
<table class="docutils align-default">
<colgroup>
@ -129,8 +129,8 @@ settings. However, the standard way is the following:</p>
</tr>
</tbody>
</table>
</section>
<section id="settings-yml">
</div>
<div class="section" id="settings-yml">
<span id="engine-settings"></span><h3><a class="toc-backref" href="#id7">settings.yml</a><a class="headerlink" href="#settings-yml" title="Permalink to this headline"></a></h3>
<table class="docutils align-default">
<colgroup>
@ -179,8 +179,8 @@ settings. However, the standard way is the following:</p>
</tr>
</tbody>
</table>
</section>
<section id="overrides">
</div>
<div class="section" id="overrides">
<h3><a class="toc-backref" href="#id8">overrides</a><a class="headerlink" href="#overrides" title="Permalink to this headline"></a></h3>
<p>A few of the options have default values in the engine, but are often
overwritten by the settings. If <code class="docutils literal notranslate"><span class="pre">None</span></code> is assigned to an option in the engine
@ -220,21 +220,21 @@ engine on other URL</p></td>
</tr>
</tbody>
</table>
</section>
<section id="example-code">
</div>
<div class="section" id="example-code">
<h3><a class="toc-backref" href="#id9">example code</a><a class="headerlink" href="#example-code" title="Permalink to this headline"></a></h3>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># engine dependent config</span>
<span class="n">categories</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;general&#39;</span><span class="p">]</span>
<span class="n">paging</span> <span class="o">=</span> <span class="kc">True</span>
</pre></div>
</div>
</section>
</section>
<section id="making-a-request">
</div>
</div>
<div class="section" id="making-a-request">
<h2><a class="toc-backref" href="#id10">making a request</a><a class="headerlink" href="#making-a-request" title="Permalink to this headline"></a></h2>
<p>To perform a search an URL have to be specified. In addition to specifying an
URL, arguments can be passed to the query.</p>
<section id="passed-arguments">
<div class="section" id="passed-arguments">
<h3><a class="toc-backref" href="#id11">passed arguments</a><a class="headerlink" href="#passed-arguments" title="Permalink to this headline"></a></h3>
<p>These arguments can be used to construct the search query. Furthermore,
parameters with default value can be redefined for special purposes.</p>
@ -366,8 +366,8 @@ parameters with default value can be redefined for special purposes.</p>
</tr>
</tbody>
</table>
</section>
<section id="parsed-arguments">
</div>
<div class="section" id="parsed-arguments">
<h3><a class="toc-backref" href="#id12">parsed arguments</a><a class="headerlink" href="#parsed-arguments" title="Permalink to this headline"></a></h3>
<p>The function <code class="docutils literal notranslate"><span class="pre">def</span> <span class="pre">request(query,</span> <span class="pre">params):</span></code> always returns the <code class="docutils literal notranslate"><span class="pre">params</span></code>
variable. Inside searx, the following paramters can be used to specify a search
@ -427,8 +427,8 @@ request:</p>
</tr>
</tbody>
</table>
</section>
<section id="id3">
</div>
<div class="section" id="id3">
<h3><a class="toc-backref" href="#id13">example code</a><a class="headerlink" href="#id3" title="Permalink to this headline"></a></h3>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># search-url</span>
<span class="n">base_url</span> <span class="o">=</span> <span class="s1">&#39;https://example.com/&#39;</span>
@ -445,9 +445,9 @@ request:</p>
<span class="k">return</span> <span class="n">params</span>
</pre></div>
</div>
</section>
</section>
<section id="returned-results">
</div>
</div>
<div class="section" id="returned-results">
<h2><a class="toc-backref" href="#id14">returned results</a><a class="headerlink" href="#returned-results" title="Permalink to this headline"></a></h2>
<p>Searx is able to return results of different media-types. Currently the
following media-types are supported:</p>
@ -460,7 +460,7 @@ following media-types are supported:</p>
</ul>
<p>To set another media-type as default, the parameter <code class="docutils literal notranslate"><span class="pre">template</span></code> must be set to
the desired type.</p>
<section id="default">
<div class="section" id="default">
<h3><a class="toc-backref" href="#id15">default</a><a class="headerlink" href="#default" title="Permalink to this headline"></a></h3>
<table class="docutils align-default">
<colgroup>
@ -487,8 +487,8 @@ the desired type.</p>
</tr>
</tbody>
</table>
</section>
<section id="images">
</div>
<div class="section" id="images">
<h3><a class="toc-backref" href="#id16">images</a><a class="headerlink" href="#images" title="Permalink to this headline"></a></h3>
<p>To use this template, the parameter:</p>
<table class="docutils align-default">
@ -526,8 +526,8 @@ time of publish <em>(partly implemented)</em></p></td>
</tr>
</tbody>
</table>
</section>
<section id="videos">
</div>
<div class="section" id="videos">
<h3><a class="toc-backref" href="#id17">videos</a><a class="headerlink" href="#videos" title="Permalink to this headline"></a></h3>
<table class="docutils align-default">
<colgroup>
@ -560,8 +560,8 @@ time of publish <em>(partly implemented)</em></p></td>
</tr>
</tbody>
</table>
</section>
<section id="torrent">
</div>
<div class="section" id="torrent">
<h3><a class="toc-backref" href="#id18">torrent</a><a class="headerlink" href="#torrent" title="Permalink to this headline"></a></h3>
<table class="docutils align-default">
<colgroup>
@ -610,8 +610,8 @@ time of publish <em>(not implemented yet)</em></p></td>
</tr>
</tbody>
</table>
</section>
<section id="map">
</div>
<div class="section" id="map">
<h3><a class="toc-backref" href="#id19">map</a><a class="headerlink" href="#map" title="Permalink to this headline"></a></h3>
<table class="docutils align-default">
<colgroup>
@ -675,9 +675,9 @@ time of publish <em>(not implemented yet)</em></p></td>
</tr>
</tbody>
</table>
</section>
</section>
</section>
</div>
</div>
</div>
<div class="clearer"></div>

View File

@ -46,10 +46,10 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="developer-documentation">
<div class="section" id="developer-documentation">
<h1>Developer documentation<a class="headerlink" href="#developer-documentation" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
<p><span class="caption-text">Contents</span></p>
<p class="caption"><span class="caption-text">Contents</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Development Quickstart</a></li>
<li class="toctree-l1"><a class="reference internal" href="contribution_guide.html">How to contribute</a><ul>
@ -113,7 +113,7 @@
</li>
</ul>
</div>
</section>
</div>
<div class="clearer"></div>

View File

@ -47,13 +47,13 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="makefile-targets">
<div class="section" id="makefile-targets">
<span id="makefile"></span><h1>Makefile Targets<a class="headerlink" href="#makefile-targets" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">build environment</p>
<p>Before looking deeper at the targets, first read about <a class="reference internal" href="#make-pyenv"><span class="std std-ref">Python environment</span></a>.</p>
<p>To install system requirements follow <a class="reference internal" href="../admin/buildhosts.html#buildhosts"><span class="std std-ref">Buildhosts</span></a>.</p>
</aside>
</div>
<p>With the aim to simplify development cycles, started with <a class="reference external" href="https://github.com/searx/searx/pull/1756">PR 1756</a> a
<code class="docutils literal notranslate"><span class="pre">Makefile</span></code> based boilerplate was added. If you are not familiar with
Makefiles, we recommend to read <a class="reference external" href="https://www.gnu.org/software/make/manual/make.html#Introduction">gnu-make</a> introduction.</p>
@ -93,12 +93,12 @@ to get more help: make help-all
<li><p><a class="reference internal" href="#make-pybuild" id="id14"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">pybuild</span></code></a></p></li>
</ul>
</div>
<section id="python-environment">
<div class="section" id="python-environment">
<span id="make-pyenv"></span><h2><a class="toc-backref" href="#id6">Python environment</a><a class="headerlink" href="#python-environment" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">activate environment</p>
<p><code class="docutils literal notranslate"><span class="pre">source</span> <span class="pre">./local/py3/bin/activate</span></code></p>
</aside>
</div>
<p>With Makefile we do no longer need to build up the virtualenv manually (as
described in the <a class="reference internal" href="quickstart.html#devquickstart"><span class="std std-ref">Development Quickstart</span></a> guide). Jump into your git working tree
and release a <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">pyenv</span></code>:</p>
@ -120,16 +120,16 @@ PYENV install .
<p>You have never to think about intermediate targets like <code class="docutils literal notranslate"><span class="pre">pyenv</span></code> or
<code class="docutils literal notranslate"><span class="pre">install</span></code>, the <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> chains them as requisites. Just run your main
target.</p>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">drop environment</p>
<p>To get rid of the existing environment before re-build use <a class="reference internal" href="#make-clean"><span class="std std-ref">clean target</span></a> first.</p>
</aside>
</div>
<p>If you think, something goes wrong with your ./local environment or you change
the <a class="reference external" href="https://github.com/searx/searx/blob/master/setup.py">git://setup.py</a> file (or the requirements listed in
<a class="reference external" href="https://github.com/searx/searx/blob/master/requirements-dev.txt">git://requirements-dev.txt</a> and <a class="reference external" href="https://github.com/searx/searx/blob/master/requirements.txt">git://requirements.txt</a>), you have to call
<a class="reference internal" href="#make-clean"><span class="std std-ref">make clean</span></a>.</p>
</section>
<section id="make-run">
</div>
<div class="section" id="make-run">
<span id="id1"></span><h2><a class="toc-backref" href="#id7"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">run</span></code></a><a class="headerlink" href="#make-run" title="Permalink to this headline"></a></h2>
<p>To get up a running a developer instance simply call <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">run</span></code>. This enables
<em>debug</em> option in <a class="reference external" href="https://github.com/searx/searx/blob/master/searx/settings.yml">git://searx/settings.yml</a>, starts a <code class="docutils literal notranslate"><span class="pre">./searx/webapp.py</span></code>
@ -144,8 +144,8 @@ INFO:werkzeug: * Running on http://127.0.0.1:8888/ <span class="o">(</span>Press
...
</pre></div>
</div>
</section>
<section id="make-clean">
</div>
<div class="section" id="make-clean">
<span id="id2"></span><h2><a class="toc-backref" href="#id8"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">clean</span></code></a><a class="headerlink" href="#make-clean" title="Permalink to this headline"></a></h2>
<p>Drop all intermediate files, all builds, but keep sources untouched. Includes
target <code class="docutils literal notranslate"><span class="pre">pyclean</span></code> which drops ./local environment. Before calling <code class="docutils literal notranslate"><span class="pre">make</span>
@ -155,20 +155,20 @@ CLEAN pyclean
CLEAN clean
</pre></div>
</div>
</section>
<section id="make-docs-docs-live-docs-clean">
</div>
<div class="section" id="make-docs-docs-live-docs-clean">
<span id="make-docs"></span><h2><a class="toc-backref" href="#id9"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">docs</span> <span class="pre">docs-live</span> <span class="pre">docs-clean</span></code></a><a class="headerlink" href="#make-docs-docs-live-docs-clean" title="Permalink to this headline"></a></h2>
<p>We describe the usage of the <code class="docutils literal notranslate"><span class="pre">doc*</span></code> targets in the <a class="reference internal" href="contribution_guide.html#contrib-docs"><span class="std std-ref">How to contribute /
Documentation</span></a> section. If you want to edit the documentation
read our <a class="reference internal" href="contribution_guide.html#make-docs-live"><span class="std std-ref">live build</span></a> section. If you are working in your own brand,
adjust your <a class="reference internal" href="../admin/settings.html#settings-global"><span class="std std-ref">Global Settings</span></a>.</p>
</section>
<section id="make-books-name-html-books-name-pdf">
</div>
<div class="section" id="make-books-name-html-books-name-pdf">
<span id="make-books"></span><h2><a class="toc-backref" href="#id10"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">books/{name}.html</span> <span class="pre">books/{name}.pdf</span></code></a><a class="headerlink" href="#make-books-name-html-books-name-pdf" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">info</p>
<p>To build PDF a <a class="reference external" href="https://tug.org/xetex/">XeTeX</a> is needed, see <a class="reference internal" href="../admin/buildhosts.html#buildhosts"><span class="std std-ref">Buildhosts</span></a>.</p>
</aside>
</div>
<p>The <code class="docutils literal notranslate"><span class="pre">books/{name}.*</span></code> targets are building <em>books</em>. A <em>book</em> is a
sub-directory containing a <code class="docutils literal notranslate"><span class="pre">conf.py</span></code> file. One example is the user handbook
which can deployed separately (<a class="reference external" href="https://github.com/searx/searx/blob/master/docs/user/conf.py">git://docs/user/conf.py</a>). Such <code class="docutils literal notranslate"><span class="pre">conf.py</span></code>
@ -188,13 +188,13 @@ documentations build time.</p>
books/user.pdf
</pre></div>
</div>
</section>
<section id="make-gh-pages">
</div>
<div class="section" id="make-gh-pages">
<span id="id3"></span><h2><a class="toc-backref" href="#id11"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">gh-pages</span></code></a><a class="headerlink" href="#make-gh-pages" title="Permalink to this headline"></a></h2>
<p>To deploy on github.io first adjust your <a class="reference internal" href="../admin/settings.html#settings-global"><span class="std std-ref">Global Settings</span></a>. For any
further read <a class="reference internal" href="contribution_guide.html#deploy-on-github-io"><span class="std std-ref">deploy on github.io</span></a>.</p>
</section>
<section id="make-test">
</div>
<div class="section" id="make-test">
<span id="id4"></span><h2><a class="toc-backref" href="#id12"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">test</span></code></a><a class="headerlink" href="#make-test" title="Permalink to this headline"></a></h2>
<p>Runs a series of tests: <code class="docutils literal notranslate"><span class="pre">test.pep8</span></code>, <code class="docutils literal notranslate"><span class="pre">test.unit</span></code>, <code class="docutils literal notranslate"><span class="pre">test.robot</span></code> and does
additional <a class="reference internal" href="#make-pylint"><span class="std std-ref">pylint checks</span></a>. You can run tests selective,
@ -206,8 +206,8 @@ e.g.:</p>
<span class="o">[</span>!<span class="o">]</span> Running unit tests
</pre></div>
</div>
</section>
<section id="make-pylint">
</div>
<div class="section" id="make-pylint">
<span id="id5"></span><h2><a class="toc-backref" href="#id13"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">pylint</span></code></a><a class="headerlink" href="#make-pylint" title="Permalink to this headline"></a></h2>
<p>Before commiting its recommend to do some (more) linting. <a class="reference external" href="https://www.pylint.org/">Pylint</a> is known as
one of the best source-code, bug and quality checker for the Python programming
@ -220,8 +220,8 @@ run Pylint and check if your changed lines are bringing up new messages. If so,
fix it. By this, code quality gets incremental better and if there comes the
day, the linting is balanced out, we might decide to add Pylint as a quality
gate.</p>
</section>
<section id="make-pybuild">
</div>
<div class="section" id="make-pybuild">
<h2><a class="toc-backref" href="#id14"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">pybuild</span></code></a><a class="headerlink" href="#make-pybuild" title="Permalink to this headline"></a></h2>
<p>Build Python packages in <code class="docutils literal notranslate"><span class="pre">./dist/py</span></code>.</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ make pybuild
@ -237,8 +237,8 @@ searx-0.15.0-py3-none-any.whl searx-0.15.0.tar.gz
<p>To upload packages to <a class="reference external" href="https://pypi.org/">PyPi</a>, there is also a <code class="docutils literal notranslate"><span class="pre">upload-pypi</span></code> target. It needs
<a class="reference external" href="https://twine.readthedocs.io/en/latest/">twine</a> to be installed. Since you are not the owner of <a class="reference external" href="https://pypi.org/project/searx">PyPi: searx</a> you will
never need the latter.</p>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,16 +47,16 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="plugins">
<div class="section" id="plugins">
<span id="dev-plugin"></span><h1>Plugins<a class="headerlink" href="#plugins" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Further reading ..</p>
<ul class="simple">
<li><p><a class="reference internal" href="../admin/plugins.html#plugins-generic"><span class="std std-ref">Plugins builtin</span></a></p></li>
</ul>
</aside>
</div>
<p>Plugins can extend or replace functionality of various components of searx.</p>
<section id="example-plugin">
<div class="section" id="example-plugin">
<h2>Example plugin<a class="headerlink" href="#example-plugin" title="Permalink to this headline"></a></h2>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">name</span> <span class="o">=</span> <span class="s1">&#39;Example plugin&#39;</span>
<span class="n">description</span> <span class="o">=</span> <span class="s1">&#39;This plugin extends the suggestions with the word &quot;example&quot;&#39;</span>
@ -74,40 +74,40 @@
<span class="k">return</span> <span class="kc">True</span>
</pre></div>
</div>
</section>
<section id="external-plugins">
</div>
<div class="section" id="external-plugins">
<h2>External plugins<a class="headerlink" href="#external-plugins" title="Permalink to this headline"></a></h2>
<p>External plugins are standard python modules implementing all the requirements of the standard plugins.
Plugins can be enabled by adding them to <a class="reference internal" href="../admin/settings.html#settings-yml"><span class="std std-ref">settings.yml</span></a>s <code class="docutils literal notranslate"><span class="pre">plugins</span></code> section.
Example external plugin can be found <a class="reference external" href="https://github.com/asciimoo/searx_external_plugin_example">here</a>.</p>
</section>
<section id="register-your-plugin">
</div>
<div class="section" id="register-your-plugin">
<h2>Register your plugin<a class="headerlink" href="#register-your-plugin" title="Permalink to this headline"></a></h2>
<p>To enable your plugin register your plugin in
searx &gt; plugin &gt; __init__.py.
And at the bottom of the file add your plugin like.
<code class="docutils literal notranslate"><span class="pre">plugins.register(name_of_python_file)</span></code></p>
</section>
<section id="plugin-entry-points">
</div>
<div class="section" id="plugin-entry-points">
<h2>Plugin entry points<a class="headerlink" href="#plugin-entry-points" title="Permalink to this headline"></a></h2>
<p>Entry points (hooks) define when a plugin runs. Right now only three hooks are
implemented. So feel free to implement a hook if it fits the behaviour of your
plugin.</p>
<section id="pre-search-hook">
<div class="section" id="pre-search-hook">
<h3>Pre search hook<a class="headerlink" href="#pre-search-hook" title="Permalink to this headline"></a></h3>
<p>Runs BEFORE the search request. Function to implement: <code class="docutils literal notranslate"><span class="pre">pre_search</span></code></p>
</section>
<section id="post-search-hook">
</div>
<div class="section" id="post-search-hook">
<h3>Post search hook<a class="headerlink" href="#post-search-hook" title="Permalink to this headline"></a></h3>
<p>Runs AFTER the search request. Function to implement: <code class="docutils literal notranslate"><span class="pre">post_search</span></code></p>
</section>
<section id="result-hook">
</div>
<div class="section" id="result-hook">
<h3>Result hook<a class="headerlink" href="#result-hook" title="Permalink to this headline"></a></h3>
<p>Runs when a new result is added to the result list. Function to implement:
<code class="docutils literal notranslate"><span class="pre">on_result</span></code></p>
</section>
</section>
</section>
</div>
</div>
</div>
<div class="clearer"></div>

View File

@ -48,7 +48,7 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="development-quickstart">
<div class="section" id="development-quickstart">
<span id="devquickstart"></span><h1>Development Quickstart<a class="headerlink" href="#development-quickstart" title="Permalink to this headline"></a></h1>
<p>Searx loves developers, just clone and start hacking. All the rest is done for
you simply by using <a class="reference internal" href="makefile.html#makefile"><span class="std std-ref">make</span></a>.</p>
@ -82,7 +82,7 @@ to our “<a class="reference internal" href="contribution_guide.html#how-to-con
</pre></div>
</div>
</div></div>
</section>
</div>
<div class="clearer"></div>

View File

@ -47,20 +47,20 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="rest-primer">
<div class="section" id="rest-primer">
<span id="id1"></span><h1>reST primer<a class="headerlink" href="#rest-primer" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title"><a class="reference external" href="https://en.wikipedia.org/wiki/KISS_principle">KISS</a> and <a class="reference external" href="https://docs.python-guide.org/writing/style/">readability</a></p>
<p>Instead of defining more and more roles, we at searx encourage our
contributors to follow principles like <a class="reference external" href="https://en.wikipedia.org/wiki/KISS_principle">KISS</a> and <a class="reference external" href="https://docs.python-guide.org/writing/style/">readability</a>.</p>
</aside>
</div>
<p>We at searx are using reStructuredText (aka <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a>) markup for all kind of
documentation, with the builders from the <a class="reference external" href="https://www.sphinx-doc.org">Sphinx</a> project a HTML output is
generated and deployed at <a class="reference external" href="https://searx.github.io/searx/.">github.io</a>. For build prerequisites read
<a class="reference internal" href="../admin/buildhosts.html#docs-build"><span class="std std-ref">Build docs</span></a>.</p>
<p>The source files of Searxs documentation are located at <a class="reference external" href="https://github.com/searx/searx/blob/master/docs">git://docs</a>. Sphinx
assumes source files to be encoded in UTF-8 by defaul. Run <a class="reference internal" href="contribution_guide.html#make-docs-live"><span class="std std-ref">make docs-live</span></a> to build HTML while editing.</p>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Further reading</p>
<ul class="simple">
<li><p><a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html">Sphinx-Primer</a></p></li>
@ -77,7 +77,7 @@ assumes source files to be encoded in UTF-8 by defaul. Run <a class="reference
<li><p><a class="reference external" href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a>, <a class="reference external" href="https://www.imagemagick.org">ImageMagick</a></p></li>
<li><p><a class="reference external" href="https://graphviz.gitlab.io/_pages/doc/info/lang.html">DOT</a>, <a class="reference external" href="https://graphviz.gitlab.io/_pages/pdf/dotguide.pdf">Graphvizs dot</a>, <a class="reference external" href="https://graphviz.gitlab.io">Graphviz</a></p></li>
</ul>
</aside>
</div>
<div class="contents local topic" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
@ -143,17 +143,17 @@ assumes source files to be encoded in UTF-8 by defaul. Run <a class="reference
</div>
<p><a class="reference external" href="https://www.sphinx-doc.org">Sphinx</a> and <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a> have their place in the python ecosystem. Over that reST is
used in popular projects, e.g the Linux kernel documentation <a class="reference external" href="https://www.kernel.org/doc/html/latest/doc-guide/sphinx.html">[kernel doc]</a>.</p>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Content matters</p>
<p>The <a class="reference external" href="https://docs.python-guide.org/writing/style/">readability</a> of the reST sources has its value, therefore we recommend to
make sparse usage of reST markup / .. content matters!</p>
</aside>
</div>
<p><strong>reST</strong> is a plaintext markup language, its markup is <em>mostly</em> intuitive and
you will not need to learn much to produce well formed articles with. I use the
word <em>mostly</em>: like everything in live, reST has its advantages and
disadvantages, some markups feel a bit grumpy (especially if you are used to
other plaintext markups).</p>
<section id="soft-skills">
<div class="section" id="soft-skills">
<h2><a class="toc-backref" href="#id15">Soft skills</a><a class="headerlink" href="#soft-skills" title="Permalink to this headline"></a></h2>
<p>Before going any deeper into the markup lets face on some <strong>soft skills</strong> a
trained author brings with, to reach a well feedback from readers:</p>
@ -180,16 +180,16 @@ If the chronological order matters, describe it. Name the <em>out-of-limits
conditions</em> and all the side effects a external developer will not know.</p>
</dd>
</dl>
</section>
<section id="basic-inline-markup">
</div>
<div class="section" id="basic-inline-markup">
<span id="rest-inline-markup"></span><h2><a class="toc-backref" href="#id16">Basic inline markup</a><a class="headerlink" href="#basic-inline-markup" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Inline markup</p>
<ul class="simple">
<li><p><a class="reference internal" href="#rest-roles"><span class="std std-ref">Roles</span></a></p></li>
<li><p><a class="reference internal" href="#rest-smart-ref"><span class="std std-ref">Smart refs</span></a></p></li>
</ul>
</aside>
</div>
<p>Basic inline markup is done with asterisks and backquotes. If asterisks or
backquotes appear in running text and could be confused with inline markup
delimiters, they have to be escaped with a backslash (<code class="docutils literal notranslate"><span class="pre">\*pointer</span></code>).</p>
@ -225,12 +225,12 @@ delimiters, they have to be escaped with a backslash (<code class="docutils lite
</tr>
</tbody>
</table>
</section>
<section id="basic-article-structure">
</div>
<div class="section" id="basic-article-structure">
<span id="rest-basic-structure"></span><h2><a class="toc-backref" href="#id17">Basic article structure</a><a class="headerlink" href="#basic-article-structure" title="Permalink to this headline"></a></h2>
<p>The basic structure of an article makes use of heading adornments to markup
chapter, sections and subsections.</p>
<section id="rest-template">
<div class="section" id="rest-template">
<span id="id2"></span><h3><a class="toc-backref" href="#id18">reST template</a><a class="headerlink" href="#rest-template" title="Permalink to this headline"></a></h3>
<p>reST template for an simple article:</p>
<div class="highlight-reST notranslate"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="nt">_doc refname:</span>
@ -265,8 +265,8 @@ lorem ..
lorem ..
</pre></div>
</div>
</section>
<section id="headings">
</div>
<div class="section" id="headings">
<h3><a class="toc-backref" href="#id19">Headings</a><a class="headerlink" href="#headings" title="Permalink to this headline"></a></h3>
<ol class="arabic simple">
<li><p>title - with overline for document title:</p></li>
@ -300,11 +300,11 @@ lorem ..
</div>
</li>
</ol>
</section>
</section>
<section id="anchors-links">
</div>
</div>
<div class="section" id="anchors-links">
<h2><a class="toc-backref" href="#id20">Anchors &amp; Links</a><a class="headerlink" href="#anchors-links" title="Permalink to this headline"></a></h2>
<section id="anchors">
<div class="section" id="anchors">
<span id="rest-anchor"></span><h3><a class="toc-backref" href="#id21">Anchors</a><a class="headerlink" href="#anchors" title="Permalink to this headline"></a></h3>
<p>To refer a point in the documentation a anchor is needed. The <a class="reference internal" href="#rest-template"><span class="std std-ref">reST
template</span></a> shows an example where a chapter titled <em>“Chapters”</em>
@ -328,8 +328,8 @@ bar &lt;reST anchor&gt;`.
<p>Visist chapter <a class="reference internal" href="#rest-anchor"><span class="std std-ref">Anchors</span></a>. Or set hyperlink text manualy <a class="reference internal" href="#rest-anchor"><span class="std std-ref">foo
bar</span></a>.</p>
</div>
</section>
<section id="link-ordinary-url">
</div>
<div class="section" id="link-ordinary-url">
<span id="rest-ordinary-ref"></span><h3><a class="toc-backref" href="#id22">Link ordinary URL</a><a class="headerlink" href="#link-ordinary-url" title="Permalink to this headline"></a></h3>
<p>If you need to reference external URLs use <em>named</em> hyperlinks to maintain
readability of reST sources. Here is a example taken from <em>this</em> article:</p>
@ -351,8 +351,8 @@ readable.</p>
<p>And this shows the alternative (less readable) hyperlink markup <a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/field-lists.html">Sphinx Field
Lists</a>.</p>
</div>
</section>
<section id="smart-refs">
</div>
<div class="section" id="smart-refs">
<span id="rest-smart-ref"></span><h3><a class="toc-backref" href="#id23">Smart refs</a><a class="headerlink" href="#smart-refs" title="Permalink to this headline"></a></h3>
<p>With the power of <a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/extensions/extlinks.html">sphinx.ext.extlinks</a> and <a class="reference external" href="https://www.sphinx-doc.org/en/stable/ext/intersphinx.html">intersphinx</a> referencing external
content becomes smart.</p>
@ -445,15 +445,15 @@ $ python -m sphinx.ext.intersphinx https://searx.github.io/searx/objects.inv
...
</pre></div>
</div>
</section>
</section>
<section id="literal-blocks">
</div>
</div>
<div class="section" id="literal-blocks">
<h2><a class="toc-backref" href="#id24">Literal blocks</a><a class="headerlink" href="#literal-blocks" title="Permalink to this headline"></a></h2>
<p>The simplest form of <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#literal-blocks">literal-blocks</a> is a indented block introduced by
two colons (<code class="docutils literal notranslate"><span class="pre">::</span></code>). For highlighting use <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#highlight">highlight</a> or <a class="reference internal" href="#rest-code"><span class="std std-ref">code-block</span></a> directive. To include literals from external files use
<a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-literalinclude" title="(in Sphinx v4.0.0+)"><code class="xref rst rst-dir docutils literal notranslate"><span class="pre">literalinclude</span></code></a> or <a class="reference external" href="https://return42.github.io/linuxdoc/linuxdoc-howto/kernel-include-directive.html#kernel-include-directive" title="(in LinuxDoc v20210324)"><span class="xref std std-ref">kernel-include</span></a>
directive (latter one expands environment variables in the path name).</p>
<section id="rest-literal">
<div class="section" id="rest-literal">
<span id="id3"></span><h3><a class="toc-backref" href="#id25"><code class="docutils literal notranslate"><span class="pre">::</span></code></a><a class="headerlink" href="#rest-literal" title="Permalink to this headline"></a></h3>
<div class="highlight-reST notranslate"><div class="highlight"><pre><span></span><span class="se">::</span>
@ -484,13 +484,13 @@ eirmod tempor invidunt ut labore</p>
</pre></div>
</div>
</div>
</section>
<section id="code-block">
</div>
<div class="section" id="code-block">
<span id="rest-code"></span><h3><a class="toc-backref" href="#id26"><code class="docutils literal notranslate"><span class="pre">code-block</span></code></a><a class="headerlink" href="#code-block" title="Permalink to this headline"></a></h3>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Syntax highlighting</p>
<p>is handled by <a class="reference external" href="https://pygments.org/languages/">pygments</a>.</p>
</aside>
</div>
<p>The <a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-code-block" title="(in Sphinx v4.0.0+)"><code class="xref rst rst-dir docutils literal notranslate"><span class="pre">code-block</span></code></a> directive is a variant of the <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#code">code</a> directive
with additional options. To learn more about code literals visit
<a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#code-examples" title="(in Sphinx v4.0.0+)"><span>Showing code examples</span></a>.</p>
@ -528,9 +528,9 @@ with additional options. To learn more about code literals visit
</div>
</div>
</div>
</section>
</section>
<section id="unicode-substitution">
</div>
</div>
<div class="section" id="unicode-substitution">
<h2><a class="toc-backref" href="#id27">Unicode substitution</a><a class="headerlink" href="#unicode-substitution" title="Permalink to this headline"></a></h2>
<p>The <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#unicode-character-codes">unicode directive</a> converts Unicode
character codes (numerical values) to characters. This directive can only be
@ -545,16 +545,16 @@ Trademark |(TM)| and copyright |copy| glyphs.
<p class="admonition-title">Unicode</p>
<p>Trademark ™ and copyright © glyphs.</p>
</div>
</section>
<section id="roles">
</div>
<div class="section" id="roles">
<span id="rest-roles"></span><h2><a class="toc-backref" href="#id28">Roles</a><a class="headerlink" href="#roles" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Further reading</p>
<ul class="simple">
<li><p><a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html">Sphinx Roles</a></p></li>
<li><p><a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/domains.html" title="(in Sphinx v4.0.0+)"><span>Domains</span></a></p></li>
</ul>
</aside>
</div>
<p>A <em>custom interpreted text role</em> (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#roles">ref</a>) is an inline piece of
explicit markup. It signifies that that the enclosed text should be interpreted
in a specific way.</p>
@ -631,15 +631,15 @@ in a specific way.</p>
</tr>
</tbody>
</table>
</section>
<section id="figures-images">
</div>
<div class="section" id="figures-images">
<h2><a class="toc-backref" href="#id29">Figures &amp; Images</a><a class="headerlink" href="#figures-images" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Image processing</p>
<p>With the directives from <a class="reference external" href="https://return42.github.io/linuxdoc/linuxdoc-howto/kfigure.html#kfigure" title="(in LinuxDoc v20210324)"><span class="xref std std-ref">linuxdoc</span></a> the build process
is flexible. To get best results in the generated output format, install
<a class="reference external" href="https://www.imagemagick.org">ImageMagick</a> and <a class="reference external" href="https://graphviz.gitlab.io">Graphviz</a>.</p>
</aside>
</div>
<p>Searxs sphinx setup includes: <a class="reference external" href="https://return42.github.io/linuxdoc/linuxdoc-howto/kfigure.html#kfigure" title="(in LinuxDoc v20210324)"><span>Scalable figure and image handling</span></a>. Scaleable here means;
scaleable in sense of the build process. Normally in absence of a converter
tool, the build process will break. From the authors POV its annoying to care
@ -660,13 +660,11 @@ directives. E.g. to insert a figure with a scaleable image format use SVG
To refer the figure, a caption block is needed: <span class="na">:ref:</span><span class="nv">`svg image example`</span>.
</pre></div>
</div>
<figure class="align-default" id="id7">
<img alt="SVG image example" src="../_images/svg_image.svg" /><figcaption>
<p><span class="caption-number">Fig. 2 </span><span class="caption-text">Simple SVG image.</span><a class="headerlink" href="#id7" title="Permalink to this image"></a></p>
</figcaption>
</figure>
<div class="figure align-default" id="id7">
<img alt="SVG image example" src="../_images/svg_image.svg" /><p class="caption"><span class="caption-number">Fig. 2 </span><span class="caption-text">Simple SVG image.</span><a class="headerlink" href="#id7" title="Permalink to this image"></a></p>
</div>
<p>To refer the figure, a caption block is needed: <a class="reference internal" href="#svg-image-example"><span class="std std-ref">Simple SVG image.</span></a>.</p>
<section id="dot-files-aka-graphviz">
<div class="section" id="dot-files-aka-graphviz">
<h3><a class="toc-backref" href="#id30">DOT files (aka Graphviz)</a><a class="headerlink" href="#dot-files-aka-graphviz" title="Permalink to this headline"></a></h3>
<p>With <a class="reference external" href="https://return42.github.io/linuxdoc/linuxdoc-howto/kfigure.html#kernel-figure" title="(in LinuxDoc v20210324)"><span>kernel-figure &amp; kernel-image</span></a> reST support for <strong>DOT</strong> formatted files is
given.</p>
@ -686,14 +684,12 @@ given.</p>
</div>
<div class="rst-example admonition">
<p class="admonition-title">hello.dot</p>
<figure class="align-default" id="id8">
<img alt="hello world" src="../_images/hello.svg" /><figcaption>
<p><span class="caption-number">Fig. 3 </span><span class="caption-text">DOTs hello world example</span><a class="headerlink" href="#id8" title="Permalink to this image"></a></p>
</figcaption>
</figure>
<div class="figure align-default" id="id8">
<img alt="hello world" src="../_images/hello.svg" /><p class="caption"><span class="caption-number">Fig. 3 </span><span class="caption-text">DOTs hello world example</span><a class="headerlink" href="#id8" title="Permalink to this image"></a></p>
</div>
</section>
<section id="kernel-render-dot">
</div>
</div>
<div class="section" id="kernel-render-dot">
<h3><a class="toc-backref" href="#id31"><code class="docutils literal notranslate"><span class="pre">kernel-render</span></code> DOT</a><a class="headerlink" href="#kernel-render-dot" title="Permalink to this headline"></a></h3>
<p>Embed <em>render</em> markups (or languages) like Graphvizs <strong>DOT</strong> is provided by the
<a class="reference external" href="https://return42.github.io/linuxdoc/linuxdoc-howto/kfigure.html#kernel-render" title="(in LinuxDoc v20210324)"><span>kernel-render</span></a> directive. A simple example of embedded <a class="reference external" href="https://graphviz.gitlab.io/_pages/doc/info/lang.html">DOT</a> is
@ -717,15 +713,13 @@ installed, you will see an vector image. If not, the raw markup is inserted as
<em>literal-block</em>.</p>
<div class="rst-example admonition">
<p class="admonition-title">kernel-render DOT</p>
<figure class="align-default" id="id9">
<span id="dot-render-example"></span><img alt="digraph" src="../_images/DOT-57a4a7f78690d0b6b884bc59f36e84cfb0b61f76.svg" /><figcaption>
<p><span class="caption-number">Fig. 4 </span><span class="caption-text">Embedded DOT (Graphviz) code</span><a class="headerlink" href="#id9" title="Permalink to this image"></a></p>
</figcaption>
</figure>
<div class="figure align-default" id="id9">
<span id="dot-render-example"></span><img alt="digraph" src="../_images/DOT-57a4a7f78690d0b6b884bc59f36e84cfb0b61f76.svg" /><p class="caption"><span class="caption-number">Fig. 4 </span><span class="caption-text">Embedded DOT (Graphviz) code</span><a class="headerlink" href="#id9" title="Permalink to this image"></a></p>
</div>
<p>Attribute <code class="docutils literal notranslate"><span class="pre">caption</span></code> is needed, if you want to refer the figure: <a class="reference internal" href="#dot-render-example"><span class="std std-ref">Embedded DOT (Graphviz) code</span></a>.</p>
</div>
</section>
<section id="kernel-render-svg">
</div>
<div class="section" id="kernel-render-svg">
<h3><a class="toc-backref" href="#id32"><code class="docutils literal notranslate"><span class="pre">kernel-render</span></code> SVG</a><a class="headerlink" href="#kernel-render-svg" title="Permalink to this headline"></a></h3>
<p>A simple example of embedded <a class="reference external" href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a> is shown in figure <a class="reference internal" href="#svg-render-example"><span class="std std-ref">Embedded SVG markup</span></a>:</p>
<div class="highlight-reST notranslate"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="nt">_svg render example:</span>
@ -754,17 +748,15 @@ installed, you will see an vector image. If not, the raw markup is inserted as
</div></blockquote>
<div class="rst-example admonition">
<p class="admonition-title">kernel-render SVG</p>
<figure class="align-default" id="id10">
<span id="svg-render-example"></span><img alt="so-nw-arrow" src="../_images/SVG-1fb7029fa2cc454a267bae271cccb2c591387416.svg" /><figcaption>
<p><span class="caption-number">Fig. 5 </span><span class="caption-text">Embedded <strong>SVG</strong> markup</span><a class="headerlink" href="#id10" title="Permalink to this image"></a></p>
</figcaption>
</figure>
<div class="figure align-default" id="id10">
<span id="svg-render-example"></span><img alt="so-nw-arrow" src="../_images/SVG-1fb7029fa2cc454a267bae271cccb2c591387416.svg" /><p class="caption"><span class="caption-number">Fig. 5 </span><span class="caption-text">Embedded <strong>SVG</strong> markup</span><a class="headerlink" href="#id10" title="Permalink to this image"></a></p>
</div>
</section>
</section>
<section id="list-markups">
</div>
</div>
</div>
<div class="section" id="list-markups">
<span id="rest-lists"></span><h2><a class="toc-backref" href="#id33">List markups</a><a class="headerlink" href="#list-markups" title="Permalink to this headline"></a></h2>
<section id="bullet-list">
<div class="section" id="bullet-list">
<h3><a class="toc-backref" href="#id34">Bullet list</a><a class="headerlink" href="#bullet-list" title="Permalink to this headline"></a></h3>
<p>List markup (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#bullet-lists">ref</a>) is simple:</p>
<div class="highlight-reST notranslate"><div class="highlight"><pre><span></span><span class="m">-</span> This is a bulleted list.
@ -798,8 +790,8 @@ item uses two lines.</p></li>
<li><p>It has two items too.</p></li>
</ol>
</div>
</section>
<section id="horizontal-list">
</div>
<div class="section" id="horizontal-list">
<h3><a class="toc-backref" href="#id35">Horizontal list</a><a class="headerlink" href="#horizontal-list" title="Permalink to this headline"></a></h3>
<p>The <a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-hlist" title="(in Sphinx v4.0.0+)"><code class="xref rst rst-dir docutils literal notranslate"><span class="pre">..</span> <span class="pre">hlist::</span></code></a> transforms a bullet list into a more compact
list.</p>
@ -826,10 +818,10 @@ list.</p>
</ul>
</td></tr></table>
</div>
</section>
<section id="definition-list">
</div>
<div class="section" id="definition-list">
<h3><a class="toc-backref" href="#id36">Definition list</a><a class="headerlink" href="#definition-list" title="Permalink to this headline"></a></h3>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Note ..</p>
<ul class="simple">
<li><p>the term cannot have more than one line of text</p></li>
@ -837,7 +829,7 @@ list.</p>
distinguishes definition lists (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#definition-lists">ref</a>) from block
quotes (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#block-quotes">ref</a>).</p></li>
</ul>
</aside>
</div>
<p>Each definition list (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#definition-lists">ref</a>) item contains a term,
optional classifiers and a definition. A term is a simple one-line word or
phrase. Optional classifiers may follow the term on the same line, each after
@ -890,8 +882,8 @@ the line above and this paragraph. Thats why this paragraph is taken as
</dl>
<p>term 4 : classifier one : classifier two</p>
</div>
</section>
<section id="quoted-paragraphs">
</div>
<div class="section" id="quoted-paragraphs">
<h3><a class="toc-backref" href="#id37">Quoted paragraphs</a><a class="headerlink" href="#quoted-paragraphs" title="Permalink to this headline"></a></h3>
<p>Quoted paragraphs (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#block-quotes">ref</a>) are created by just indenting
them more than the surrounding paragraphs. Line blocks (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#line-blocks">ref</a>) are a way of preserving line breaks:</p>
@ -920,13 +912,13 @@ lorem ipsum.</p>
<div class="line">the source file.</div>
</div>
</div>
</section>
<section id="field-lists">
</div>
<div class="section" id="field-lists">
<span id="rest-field-list"></span><h3><a class="toc-backref" href="#id38">Field Lists</a><a class="headerlink" href="#field-lists" title="Permalink to this headline"></a></h3>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">bibliographic fields</p>
<p>First lines fields are bibliographic fields, see <a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/field-lists.html">Sphinx Field Lists</a>.</p>
</aside>
</div>
<p>Field lists are used as part of an extension syntax, such as options for
directives, or database-like records meant for further processing. Field lists
are mappings from field names to field bodies. They marked up like this:</p>
@ -964,8 +956,8 @@ are mappings from field names to field bodies. They marked up like this:</p>
<span class="sd"> &quot;&quot;&quot;</span>
</pre></div>
</div>
</section>
<section id="further-list-blocks">
</div>
<div class="section" id="further-list-blocks">
<h3><a class="toc-backref" href="#id39">Further list blocks</a><a class="headerlink" href="#further-list-blocks" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>field lists (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#field-lists">ref</a>, with caveats noted in
@ -974,11 +966,11 @@ are mappings from field names to field bodies. They marked up like this:</p>
<li><p>quoted literal blocks (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#quoted-literal-blocks">ref</a>)</p></li>
<li><p>doctest blocks (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#doctest-blocks">ref</a>)</p></li>
</ul>
</section>
</section>
<section id="admonitions">
</div>
</div>
<div class="section" id="admonitions">
<h2><a class="toc-backref" href="#id40">Admonitions</a><a class="headerlink" href="#admonitions" title="Permalink to this headline"></a></h2>
<section id="sidebar">
<div class="section" id="sidebar">
<h3><a class="toc-backref" href="#id41">Sidebar</a><a class="headerlink" href="#sidebar" title="Permalink to this headline"></a></h3>
<p>Sidebar is an eye catcher, often used for admonitions pointing further stuff or
site effects. Here is the source of the sidebar <a class="reference internal" href="#rest-primer"><span class="std std-ref">on top of this page</span></a>.</p>
@ -988,8 +980,8 @@ site effects. Here is the source of the sidebar <a class="reference internal" h
contributors to follow principles like KISS_ and readability_.
</pre></div>
</div>
</section>
<section id="generic-admonition">
</div>
<div class="section" id="generic-admonition">
<h3><a class="toc-backref" href="#id42">Generic admonition</a><a class="headerlink" href="#generic-admonition" title="Permalink to this headline"></a></h3>
<p>The generic <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#admonitions">admonition</a> needs a title:</p>
<div class="highlight-reST notranslate"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="ow">admonition</span><span class="p">::</span> generic admonition title
@ -1001,8 +993,8 @@ site effects. Here is the source of the sidebar <a class="reference internal" h
<p class="admonition-title">generic admonition title</p>
<p>lorem ipsum ..</p>
</div>
</section>
<section id="specific-admonitions">
</div>
<div class="section" id="specific-admonitions">
<h3><a class="toc-backref" href="#id43">Specific admonitions</a><a class="headerlink" href="#specific-admonitions" title="Permalink to this headline"></a></h3>
<p>Specific admonitions: <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#hint">hint</a>, <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#note">note</a>, <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#tip">tip</a> <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#attention">attention</a>,
<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#caution">caution</a>, <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#danger">danger</a>, <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#error">error</a>, , <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#important">important</a>, and
@ -1056,24 +1048,24 @@ site effects. Here is the source of the sidebar <a class="reference internal" h
<p class="admonition-title">Warning</p>
<p>lorem ipsum ..</p>
</div>
</section>
</section>
<section id="tables">
</div>
</div>
<div class="section" id="tables">
<h2><a class="toc-backref" href="#id44">Tables</a><a class="headerlink" href="#tables" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Nested tables</p>
<p>Nested tables are ugly! Not all builder support nested tables, dont use
them!</p>
</aside>
</div>
<p>ASCII-art tables like <a class="reference internal" href="#rest-simple-table"><span class="std std-ref">Simple tables</span></a> and <a class="reference internal" href="#rest-grid-table"><span class="std std-ref">Grid tables</span></a> might
be comfortable for readers of the text-files, but they have huge disadvantages
in the creation and modifying. First, they are hard to edit. Think about
adding a row or a column to a ASCII-art table or adding a paragraph in a cell,
it is a nightmare on big tables.</p>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">List tables</p>
<p>For meaningful patch and diff use <a class="reference internal" href="#rest-flat-table"><span class="std std-ref">flat-table</span></a>.</p>
</aside>
</div>
<p>Second the diff of modifying ASCII-art tables is not meaningful, e.g. widening a
cell generates a diff in which also changes are included, which are only
ascribable to the ASCII-art. Anyway, if you prefer ASCII-art for any reason,
@ -1082,7 +1074,7 @@ here are some helpers:</p>
<li><p><a class="reference external" href="https://www.emacswiki.org/emacs/TableMode">Emacs Table Mode</a></p></li>
<li><p><a class="reference external" href="https://www.tablesgenerator.com/text_tables">Online Tables Generator</a></p></li>
</ul>
<section id="simple-tables">
<div class="section" id="simple-tables">
<span id="rest-simple-table"></span><h3><a class="toc-backref" href="#id45">Simple tables</a><a class="headerlink" href="#simple-tables" title="Permalink to this headline"></a></h3>
<p><a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#simple-tables">Simple tables</a> allow <em>colspan</em> but not <em>rowspan</em>. If
your table need some metadata (e.g. a title) you need to add the <code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">table::</span>
@ -1143,8 +1135,8 @@ your table need some metadata (e.g. a title) you need to add the <code class="do
</tbody>
</table>
</div>
</section>
<section id="grid-tables">
</div>
<div class="section" id="grid-tables">
<span id="rest-grid-table"></span><h3><a class="toc-backref" href="#id46">Grid tables</a><a class="headerlink" href="#grid-tables" title="Permalink to this headline"></a></h3>
<p><a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#grid-tables">Grid tables</a> allow colspan <em>colspan</em> and <em>rowspan</em>:</p>
<div class="highlight-reST notranslate"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="ow">table</span><span class="p">::</span> grid table example
@ -1201,8 +1193,8 @@ span rows.</p></td>
</tbody>
</table>
</div>
</section>
<section id="flat-table">
</div>
<div class="section" id="flat-table">
<span id="rest-flat-table"></span><h3><a class="toc-backref" href="#id47">flat-table</a><a class="headerlink" href="#flat-table" title="Permalink to this headline"></a></h3>
<p>The <code class="docutils literal notranslate"><span class="pre">flat-table</span></code> is a further developed variant of the <a class="reference external" href="https://return42.github.io/linuxdoc/linuxdoc-howto/table-markup.html#list-table-directives" title="(in LinuxDoc v20210324)"><span class="xref std std-ref">list tables</span></a>. It is a double-stage list similar to the
<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#list-table">list-table</a> with some additional features:</p>
@ -1353,8 +1345,8 @@ cell 2.3 with a span over</p>
</tbody>
</table>
</div>
</section>
<section id="csv-table">
</div>
<div class="section" id="csv-table">
<h3><a class="toc-backref" href="#id48">CSV table</a><a class="headerlink" href="#csv-table" title="Permalink to this headline"></a></h3>
<p>CSV table might be the choice if you want to include CSV-data from a outstanding
(build) process into your documentation.</p>
@ -1408,14 +1400,14 @@ kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p></td>
</tbody>
</table>
</div>
</section>
</section>
<section id="templating">
</div>
</div>
<div class="section" id="templating">
<h2><a class="toc-backref" href="#id49">Templating</a><a class="headerlink" href="#templating" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Build environment</p>
<p>All <em>generic-doc</em> tasks are running in the <a class="reference internal" href="makefile.html#make-pyenv"><span class="std std-ref">build environment</span></a>.</p>
</aside>
</div>
<p>Templating is suitable for documentation which is created generic at the build
time. The <a class="reference external" href="https://github.com/tardyp/sphinx-jinja">sphinx-jinja</a> extension evaluates <a class="reference external" href="https://jinja.palletsprojects.com/">jinja</a> templates in the <a class="reference internal" href="makefile.html#make-pyenv"><span class="std std-ref">build
environment</span></a> (with searx modules installed). We use this e.g. to
@ -1477,8 +1469,8 @@ contains the <code class="docutils literal notranslate"><span class="pre">engine
<span class="p">}</span>
</pre></div>
</div>
</section>
<section id="tabbed-views">
</div>
<div class="section" id="tabbed-views">
<h2><a class="toc-backref" href="#id50">Tabbed views</a><a class="headerlink" href="#tabbed-views" title="Permalink to this headline"></a></h2>
<p>With <a class="reference external" href="https://github.com/djungelorm/sphinx-tabs">sphinx-tabs</a> extension we have <em>tabbed views</em>. To provide installation
instructions with one tab per distribution we use the <a class="reference external" href="https://github.com/djungelorm/sphinx-tabs#group-tabs">group-tabs</a> directive,
@ -1505,17 +1497,17 @@ others are <a class="reference external" href="https://github.com/djungelorm/sph
$ sudo dnf install ShellCheck
</pre></div>
</div>
</section>
<section id="math-equations">
</div>
<div class="section" id="math-equations">
<span id="math"></span><h2><a class="toc-backref" href="#id51">Math equations</a><a class="headerlink" href="#math-equations" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">About LaTeX</p>
<ul class="simple">
<li><p><a class="reference external" href="http://vesta.informatik.rwth-aachen.de/ftp/pub/mirror/ctan/macros/latex/required/amsmath/amsldoc.pdf">amsmath user guide</a></p></li>
<li><p><a class="reference external" href="https://en.wikibooks.org/wiki/LaTeX/Mathematics">Mathematics</a></p></li>
<li><p><a class="reference internal" href="../admin/buildhosts.html#docs-build"><span class="std std-ref">Build docs</span></a></p></li>
</ul>
</aside>
</div>
<p>The input language for mathematics is LaTeX markup using the <a class="reference external" href="https://ctan.org/pkg/amsmath">CTAN: amsmath</a>
package.</p>
<p>To embed LaTeX markup in reST documents, use role <a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-math" title="(in Sphinx v4.0.0+)"><code class="xref rst rst-role docutils literal notranslate"><span class="pre">:math:</span></code></a> for
@ -1559,8 +1551,8 @@ voluptua. …
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,22 +47,22 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="search-api">
<div class="section" id="search-api">
<span id="id1"></span><h1>Search API<a class="headerlink" href="#search-api" title="Permalink to this headline"></a></h1>
<p>The search supports both <code class="docutils literal notranslate"><span class="pre">GET</span></code> and <code class="docutils literal notranslate"><span class="pre">POST</span></code>.</p>
<p>Furthermore, two endpoints <code class="docutils literal notranslate"><span class="pre">/</span></code> and <code class="docutils literal notranslate"><span class="pre">/search</span></code> are available for querying.</p>
<p><code class="docutils literal notranslate"><span class="pre">GET</span> <span class="pre">/</span></code></p>
<p><code class="docutils literal notranslate"><span class="pre">GET</span> <span class="pre">/search</span></code></p>
<section id="parameters">
<div class="section" id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline"></a></h2>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Further reading ..</p>
<ul class="simple">
<li><p><a class="reference internal" href="engine_overview.html#engines-dev"><span class="std std-ref">Engine overview</span></a></p></li>
<li><p><a class="reference internal" href="../admin/settings.html#settings-yml"><span class="std std-ref">settings.yml</span></a></p></li>
<li><p><a class="reference internal" href="../admin/engines.html#engines-generic"><span class="std std-ref">General Engine Settings</span></a></p></li>
</ul>
</aside>
</div>
<dl>
<dt><code class="docutils literal notranslate"><span class="pre">q</span></code><span class="classifier">required</span></dt><dd><p>The search query. This string is passed to external search services. Thus,
searx supports syntax of each search service. For example, <code class="docutils literal notranslate"><span class="pre">site:github.com</span>
@ -142,8 +142,8 @@ instance. See the available options in the preferences page of the instance.</p>
<dt><code class="docutils literal notranslate"><span class="pre">disabled_engines</span></code><span class="classifier">optional</span><span class="classifier"><em>all</em> <a class="reference external" href="https://github.com/searx/searx/blob/master/searx/engines">engines</a></span></dt><dd><p>List of disabled engines.</p>
</dd>
</dl>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,17 +47,17 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="translation">
<div class="section" id="translation">
<span id="id1"></span><h1>Translation<a class="headerlink" href="#translation" title="Permalink to this headline"></a></h1>
<p>Translation currently takes place on <a class="reference external" href="https://www.transifex.com/asciimoo/searx/">searx&#64;transifex</a></p>
<section id="requirements">
<div class="section" id="requirements">
<h2>Requirements<a class="headerlink" href="#requirements" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Transifex account</p></li>
<li><p>Installed CLI tool of Transifex</p></li>
</ul>
</section>
<section id="init-transifex-project">
</div>
<div class="section" id="init-transifex-project">
<h2>Init Transifex project<a class="headerlink" href="#init-transifex-project" title="Permalink to this headline"></a></h2>
<p>After installing <code class="docutils literal notranslate"><span class="pre">transifex</span></code> using pip, run the following command to
initialize the project.</p>
@ -81,8 +81,8 @@ into the configuration file.</p>
--source-lang en --type PO --source-file messages.pot --execute
</pre></div>
</div>
</section>
<section id="update-translations">
</div>
<div class="section" id="update-translations">
<h2>Update translations<a class="headerlink" href="#update-translations" title="Permalink to this headline"></a></h2>
<p>To retrieve the latest translations, pull it from Transifex.</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>tx pull -a
@ -96,8 +96,8 @@ the <code class="docutils literal notranslate"><span class="pre">.po</span></cod
</div>
<p>After the compilation is finished commit the <code class="docutils literal notranslate"><span class="pre">.po</span></code> and <code class="docutils literal notranslate"><span class="pre">.mo</span></code> files and
create a PR.</p>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -42,7 +42,7 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="welcome-to-searx">
<div class="section" id="welcome-to-searx">
<h1>Welcome to searx<a class="headerlink" href="#welcome-to-searx" title="Permalink to this headline"></a></h1>
<blockquote>
<div><p><em>Search without being tracked.</em></p>
@ -52,7 +52,7 @@ than 70 search services. Users are neither tracked nor profiled. Additionally,
searx can be used over Tor for online anonymity.</p>
<p>Get started with searx by using one of the <a class="reference external" href="https://searx.space">Searx-instances</a>. If you dont trust
anyone, you can set up your own, see <a class="reference internal" href="admin/installation.html#installation"><span class="std std-ref">Installation</span></a>.</p>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">Features</p>
<ul class="simple">
<li><p>Self hosted</p></li>
@ -65,9 +65,9 @@ anyone, you can set up your own, see <a class="reference internal" href="admin/i
<li><p>Hosted by organizations, such as <em>La Quadrature du Net</em>, which promote
digital rights</p></li>
</ul>
</aside>
</div>
<div class="toctree-wrapper compound">
<p><span class="caption-text">Contents</span></p>
<p class="caption"><span class="caption-text">Contents</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="user/index.html">User documentation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="user/search_syntax.html">Search syntax</a></li>
@ -128,7 +128,7 @@ digital rights</p></li>
</li>
</ul>
</div>
</section>
</div>
<div class="clearer"></div>

File diff suppressed because one or more lines are too long

View File

@ -46,17 +46,17 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="tooling-box-searx-extra-for-developers-and-users">
<div class="section" id="tooling-box-searx-extra-for-developers-and-users">
<span id="searx-extra"></span><h1>Tooling box <code class="docutils literal notranslate"><span class="pre">searx_extra</span></code> for developers and users<a class="headerlink" href="#tooling-box-searx-extra-for-developers-and-users" title="Permalink to this headline"></a></h1>
<p>In the folder <a class="reference external" href="https://github.com/searx/searx/blob/master/searx_extra/">git://searx_extra/</a> we maintain some tools useful for
developers and users.</p>
<div class="toctree-wrapper compound">
<p><span class="caption-text">Contents</span></p>
<p class="caption"><span class="caption-text">Contents</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="standalone_searx.py.html"><code class="docutils literal notranslate"><span class="pre">searx_extra/standalone_searx.py</span></code></a></li>
</ul>
</div>
</section>
</div>
<div class="clearer"></div>

View File

@ -47,7 +47,7 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-searx_extra.standalone_searx">
<div class="section" id="module-searx_extra.standalone_searx">
<span id="searx-extra-standalone-searx-py"></span><span id="standalone-searx-py"></span><h1><code class="docutils literal notranslate"><span class="pre">searx_extra/standalone_searx.py</span></code><a class="headerlink" href="#module-searx_extra.standalone_searx" title="Permalink to this headline"></a></h1>
<p>Script to run searx from terminal.</p>
<p>Getting categories without initiate the engine will only return <cite>[general]</cite></p>
@ -159,7 +159,7 @@
<dd><p>Get result from parsed arguments.</p>
</dd></dl>
</section>
</div>
<div class="clearer"></div>

View File

@ -46,10 +46,10 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="user-documentation">
<div class="section" id="user-documentation">
<h1>User documentation<a class="headerlink" href="#user-documentation" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
<p><span class="caption-text">Contents</span></p>
<p class="caption"><span class="caption-text">Contents</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="search_syntax.html">Search syntax</a><ul>
<li class="toctree-l2"><a class="reference internal" href="search_syntax.html#examples">Examples</a></li>
@ -63,7 +63,7 @@
</li>
</ul>
</div>
</section>
</div>
<div class="clearer"></div>

View File

@ -47,7 +47,7 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="why-use-a-private-instance">
<div class="section" id="why-use-a-private-instance">
<h1>Why use a private instance?<a class="headerlink" href="#why-use-a-private-instance" title="Permalink to this headline"></a></h1>
<blockquote>
<div><p><em>“Is it worth to run my own instance?”</em></p>
@ -61,7 +61,7 @@ group of friends or a company which can be accessed through VPN. Also it can be
single user one which runs on the users laptop.</p>
<p>To gain more insight on how these instances work lets dive into how searx
protects its users.</p>
<section id="how-does-searx-protect-privacy">
<div class="section" id="how-does-searx-protect-privacy">
<h2>How does searx protect privacy?<a class="headerlink" href="#how-does-searx-protect-privacy" title="Permalink to this headline"></a></h2>
<p>Searx 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
@ -83,7 +83,7 @@ configured to use proxy or Tor. <a class="reference external" href="https://git
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
hidden from visited result pages.</p>
<section id="what-are-the-consequences-of-using-public-instances">
<div class="section" id="what-are-the-consequences-of-using-public-instances">
<h3>What are the consequences of using public instances?<a class="headerlink" href="#what-are-the-consequences-of-using-public-instances" title="Permalink to this headline"></a></h3>
<p>If someone uses a public instance, they have to trust the administrator of that
instance. This means that the user of the public instance does not know whether
@ -92,8 +92,8 @@ their requests are logged, aggregated and sent or sold to a third party.</p>
the search service, In this case the external service in exchange returns
CAPTCHAs or bans the IP of the instance. Thus, search requests return less
results.</p>
</section>
<section id="i-see-what-about-private-instances">
</div>
<div class="section" id="i-see-what-about-private-instances">
<h3>I see. What about private instances?<a class="headerlink" href="#i-see-what-about-private-instances" title="Permalink to this headline"></a></h3>
<p>If users run their <a class="reference internal" href="../admin/installation.html#installation"><span class="std std-ref">own instances</span></a>, everything is in their
control: the source code, logging settings and private data. Unknown instance
@ -103,9 +103,9 @@ need to use cookies to tailor searx to their needs. So preferences will not be
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
not compromised.</p>
</section>
</section>
<section id="conclusion">
</div>
</div>
<div class="section" id="conclusion">
<h2>Conclusion<a class="headerlink" href="#conclusion" title="Permalink to this headline"></a></h2>
<p>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
@ -114,8 +114,8 @@ use.</p>
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
instance, have access to a privacy respecting search service.</p>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,7 +47,7 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="search-syntax">
<div class="section" id="search-syntax">
<span id="id1"></span><h1>Search syntax<a class="headerlink" href="#search-syntax" title="Permalink to this headline"></a></h1>
<p>Searx allows you to modify the default categories, engines and search language
via the search query.</p>
@ -64,7 +64,7 @@ modifiers are chainable and inclusive (e.g. with <a class="reference external" h
<strong>and</strong> wikipedia for <code class="docutils literal notranslate"><span class="pre">qwer</span></code>).</p>
<p>See the <a class="reference external" href="/preferences">/preferences page</a> for the list of engines,
categories and languages.</p>
<section id="examples">
<div class="section" id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline"></a></h2>
<p>Search in wikipedia for <code class="docutils literal notranslate"><span class="pre">qwer</span></code>:</p>
<ul class="simple">
@ -79,8 +79,8 @@ categories and languages.</p>
<ul class="simple">
<li><p><a class="reference external" href="/?q=%3Ahu%20%21wp%20hackerspace">:hu !wp hackerspace</a></p></li>
</ul>
</section>
<section id="multilingual-search">
</div>
<div class="section" id="multilingual-search">
<h2>Multilingual Search<a class="headerlink" href="#multilingual-search" title="Permalink to this headline"></a></h2>
<p>Searx does not support true multilingual search.
You have to use the language prefix in your search query when searching in a different language.</p>
@ -101,8 +101,8 @@ By adding a new search engine with a different language, Searx will search in yo
</dd>
</dl>
<p>When searching, the default google engine will return German results and “google english” will return English results.</p>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -48,16 +48,16 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="utils-filtron-sh">
<div class="section" id="utils-filtron-sh">
<span id="filtron-sh"></span><h1><code class="docutils literal notranslate"><span class="pre">utils/filtron.sh</span></code><a class="headerlink" href="#utils-filtron-sh" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">further reading</p>
<ul class="simple">
<li><p><a class="reference internal" href="../admin/filtron.html#searx-filtron"><span class="std std-ref">How to protect an instance</span></a></p></li>
<li><p><a class="reference internal" href="../admin/architecture.html#architecture"><span class="std std-ref">Architecture</span></a></p></li>
<li><p><a class="reference internal" href="../admin/installation.html#installation"><span class="std std-ref">Installation</span></a> (<a class="reference internal" href="../admin/installation-nginx.html#installation-nginx"><span class="std std-ref">nginx</span></a> &amp; <a class="reference internal" href="../admin/installation-apache.html#installation-apache"><span class="std std-ref">apache</span></a>)</p></li>
</ul>
</aside>
</div>
<p>To simplify installation and maintenance of a filtron instance you can use the
script <a class="reference external" href="https://github.com/searx/searx/blob/master/utils/filtron.sh">git://utils/filtron.sh</a>. In most cases you will install <a class="reference external" href="https://github.com/asciimoo/filtron">filtron</a>
simply by running the command:</p>
@ -75,7 +75,7 @@ into this user account:</p>
<li><p>Setup a systemd service unit <a class="reference external" href="https://github.com/searx/searx/blob/master/utils/templates/lib/systemd/system/filtron.service">[ref]</a>
(<code class="docutils literal notranslate"><span class="pre">/lib/systemd/system/filtron.service</span></code>).</p></li>
</ol>
<section id="create-user">
<div class="section" id="create-user">
<h2>Create user<a class="headerlink" href="#create-user" title="Permalink to this headline"></a></h2>
<div class="sphinx-tabs docutils container">
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-0-YmFzaA==" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-0-YmFzaA==" name="YmFzaA==" role="tab" tabindex="0">bash</button></div><div aria-labelledby="tab-0-YmFzaA==" class="sphinx-tabs-panel group-tab" id="panel-0-YmFzaA==" name="YmFzaA==" role="tabpanel" tabindex="0"><div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H useradd --shell /bin/bash --system <span class="se">\</span>
@ -87,8 +87,8 @@ $ sudo -H chown -R <span class="s2">&quot;filtron:filtron&quot;</span> <span cla
</pre></div>
</div>
</div></div>
</section>
<section id="install-go">
</div>
<div class="section" id="install-go">
<h2>Install go<a class="headerlink" href="#install-go" title="Permalink to this headline"></a></h2>
<div class="sphinx-tabs docutils container">
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-1-YmFzaA==" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-1-YmFzaA==" name="YmFzaA==" role="tab" tabindex="0">bash</button></div><div aria-labelledby="tab-1-YmFzaA==" class="sphinx-tabs-panel group-tab" id="panel-1-YmFzaA==" name="YmFzaA==" role="tabpanel" tabindex="0"><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ cat &gt; <span class="s2">&quot;/usr/local/filtron/.go_env&quot;</span> <span class="s">&lt;&lt;EOF</span>
@ -106,8 +106,8 @@ $ sudo -i -u <span class="s2">&quot;filtron&quot;</span>
</pre></div>
</div>
</div></div>
</section>
<section id="install-filtron">
</div>
<div class="section" id="install-filtron">
<h2>Install filtron<a class="headerlink" href="#install-filtron" title="Permalink to this headline"></a></h2>
<p>Install <a class="reference external" href="https://github.com/searx/searx/blob/master/utils/templates/etc/filtron/rules.json">rules.json</a> at
<code class="docutils literal notranslate"><span class="pre">/etc/filtron/rules.json</span></code> (see <a class="reference internal" href="../admin/filtron.html#sample-configuration-of-filtron"><span class="std std-ref">Sample configuration of filtron</span></a>) and
@ -151,8 +151,8 @@ install filtron software and systemd unit:</p>
</pre></div>
</div>
</div></div>
</section>
<section id="overview">
</div>
<div class="section" id="overview">
<span id="filtron-sh-overview"></span><h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline"></a></h2>
<p>The <code class="docutils literal notranslate"><span class="pre">--help</span></code> output of the script is largely self-explanatory
(<a class="reference internal" href="index.html#toolboxing-common"><span class="std std-ref">Common commands &amp; environment</span></a>):</p>
@ -184,26 +184,26 @@ inspect service
show service status and log
option
set one of the available options
apache (http://fv-az238-705/searx)
apache (http://fv-az224-862/searx)
:install: apache site with a reverse proxy (ProxyPass)
:remove: apache site searx.conf
nginx (http://fv-az238-705/searx)
nginx (http://fv-az224-862/searx)
:install: nginx site with a reverse proxy (ProxyPass)
:remove: nginx site searx.conf
filtron rules: /etc/filtron/rules.json
If needed, set PUBLIC_URL of your WEB service in the &#39;.config.sh&#39; file::
PUBLIC_URL : http://fv-az238-705/searx
PUBLIC_HOST : fv-az238-705
PUBLIC_URL : http://fv-az224-862/searx
PUBLIC_HOST : fv-az224-862
SERVICE_USER : filtron
FILTRON_TARGET : 127.0.0.1:8888
FILTRON_API : 127.0.0.1:4005
FILTRON_LISTEN : 127.0.0.1:4004
</pre></div>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -46,11 +46,11 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="tooling-box-utils-for-administrators">
<div class="section" id="tooling-box-utils-for-administrators">
<span id="toolboxing"></span><span id="searx-utils"></span><h1>Tooling box <code class="docutils literal notranslate"><span class="pre">utils</span></code> for administrators<a class="headerlink" href="#tooling-box-utils-for-administrators" title="Permalink to this headline"></a></h1>
<p>In the folder <a class="reference external" href="https://github.com/searx/searx/blob/master/utils/">git://utils/</a> we maintain some tools useful for administrators.</p>
<div class="toctree-wrapper compound">
<p><span class="caption-text">Contents</span></p>
<p class="caption"><span class="caption-text">Contents</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="searx.sh.html"><code class="docutils literal notranslate"><span class="pre">utils/searx.sh</span></code></a><ul>
<li class="toctree-l2"><a class="reference internal" href="searx.sh.html#install">Install</a></li>
@ -81,7 +81,7 @@
</li>
</ul>
</div>
<section id="common-commands-environment">
<div class="section" id="common-commands-environment">
<span id="toolboxing-common"></span><h2>Common commands &amp; environment<a class="headerlink" href="#common-commands-environment" title="Permalink to this headline"></a></h2>
<p>Scripts to maintain services often dispose of common commands and environments.</p>
<dl>
@ -100,8 +100,8 @@ reverse proxy for filtron on all containers of the <a class="reference internal"
</div>
</dd>
</dl>
</section>
<section id="tooling-box-setup">
</div>
<div class="section" id="tooling-box-setup">
<span id="toolboxing-setup"></span><h2>Tooling box setup<a class="headerlink" href="#tooling-box-setup" title="Permalink to this headline"></a></h2>
<p>The main setup is done in the <a class="reference external" href="https://github.com/searx/searx/blob/master/.config.sh">git://.config.sh</a> (read also <a class="reference internal" href="../admin/settings.html#settings-global"><span class="std std-ref">Global Settings</span></a>).</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># -*- coding: utf-8; mode: sh -*-</span>
@ -165,8 +165,8 @@ reverse proxy for filtron on all containers of the <a class="reference internal"
<span class="c1"># SERVICE_USER=searx</span>
</pre></div>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,9 +47,9 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="utils-lxc-sh">
<div class="section" id="utils-lxc-sh">
<span id="lxc-sh"></span><h1><code class="docutils literal notranslate"><span class="pre">utils/lxc.sh</span></code><a class="headerlink" href="#utils-lxc-sh" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">further reading</p>
<ul class="simple">
<li><p><a class="reference external" href="https://snapcraft.io">snap</a>, <a class="reference external" href="https://snapcraft.io/lxd">snapcraft LXD</a></p></li>
@ -57,7 +57,7 @@
<li><p><a class="reference external" href="https://uk.images.linuxcontainers.org/">LXC/LXD Image Server</a></p></li>
<li><p><a class="reference external" href="https://github.com/lxc/lxd">LXD&#64;github</a></p></li>
</ul>
</aside>
</div>
<p>With the use of <em>Linux Containers</em> (<a class="reference external" href="https://linuxcontainers.org/lxc/introduction/">LXC</a>) we can scale our tasks over a stack of
containers, what we call the: <em>lxc suite</em>. The <em>searx suite</em>
(<a class="reference external" href="https://github.com/searx/searx/blob/master/utils/lxc-searx.env">lxc-searx.env</a>) is loaded by default, every time
@ -100,7 +100,7 @@ root@searx-ubu1804:/share/searx#
$ sudo -H ./utils/lxc.sh remove images
</pre></div>
</div>
<section id="install-suite">
<div class="section" id="install-suite">
<span id="lxc-sh-install-suite"></span><h2>Install suite<a class="headerlink" href="#install-suite" title="Permalink to this headline"></a></h2>
<p>To install the complete <a class="reference internal" href="#lxc-searx-env"><span class="std std-ref">searx suite (includes searx, morty &amp; filtron)</span></a> into all <a class="reference external" href="https://linuxcontainers.org/lxc/introduction/">LXC</a> use:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ sudo -H ./utils/lxc.sh install suite
@ -125,8 +125,8 @@ morty use (or alternatively use <a class="reference internal" href="../admin/ins
sudo -H ./utils/lxc.sh cmd -- FORCE_TIMEOUT=0 ./utils/morty.sh nginx install
</pre></div>
</div>
</section>
<section id="running-commands">
</div>
<div class="section" id="running-commands">
<h2>Running commands<a class="headerlink" href="#running-commands" title="Permalink to this headline"></a></h2>
<p><strong>Inside containers, you can use make or run scripts</strong> from the
<a class="reference internal" href="index.html#toolboxing"><span class="std std-ref">Tooling box utils for administrators</span></a>. By example: to setup a <a class="reference internal" href="../admin/buildhosts.html#buildhosts"><span class="std std-ref">Buildhosts</span></a> and run the
@ -135,8 +135,8 @@ Makefile target <code class="docutils literal notranslate"><span class="pre">tes
sudo -H ./utils/lxc.sh cmd searx-archlinux make test
</pre></div>
</div>
</section>
<section id="setup-searx-buildhost">
</div>
<div class="section" id="setup-searx-buildhost">
<h2>Setup searx buildhost<a class="headerlink" href="#setup-searx-buildhost" title="Permalink to this headline"></a></h2>
<p>You can <strong>install the searx buildhost environment</strong> into one or all containers.
The installation procedure to set up a <a class="reference internal" href="../admin/buildhosts.html#buildhosts"><span class="std std-ref">build host</span></a> takes its
@ -157,8 +157,8 @@ of coffee).:</p>
[searx-archlinux] INFO: (eth0) docs-live: http://n.n.n.12:8080/
</pre></div>
</div>
</section>
<section id="overview">
</div>
<div class="section" id="overview">
<span id="lxc-sh-help"></span><h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline"></a></h2>
<p>The <code class="docutils literal notranslate"><span class="pre">--help</span></code> output of the script is largely self-explanatory:</p>
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>usage::
@ -194,7 +194,7 @@ install
:base: prepare LXC; install basic packages
:suite: install LXC searx suite into all (or &lt;name&gt;) containers
LXC suite: searx --&gt; http://fv-az238-705/searx
LXC suite: searx --&gt; http://fv-az224-862/searx
suite includes searx, morty &amp; filtron
suite images:
ubu1804 ubu2004 ubu2010 fedora33 archlinux centos7
@ -203,8 +203,8 @@ suite containers:
searx-centos7
</pre></div>
</div>
</section>
<section id="searx-suite">
</div>
<div class="section" id="searx-suite">
<span id="lxc-searx-env"></span><h2>searx suite<a class="headerlink" href="#searx-suite" title="Permalink to this headline"></a></h2>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># -*- coding: utf-8; mode: sh indent-tabs-mode: nil -*-</span>
<span class="c1"># SPDX-License-Identifier: AGPL-3.0-or-later</span>
@ -305,8 +305,8 @@ lxc_suite_info<span class="o">()</span> <span class="o">{</span>
<span class="o">}</span>
</pre></div>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -48,16 +48,16 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="utils-morty-sh">
<div class="section" id="utils-morty-sh">
<span id="morty-sh"></span><h1><code class="docutils literal notranslate"><span class="pre">utils/morty.sh</span></code><a class="headerlink" href="#utils-morty-sh" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">further reading</p>
<ul class="simple">
<li><p><a class="reference internal" href="../admin/architecture.html#architecture"><span class="std std-ref">Architecture</span></a></p></li>
<li><p><a class="reference internal" href="../admin/installation.html#installation"><span class="std std-ref">Installation</span></a> (<a class="reference internal" href="../admin/installation-nginx.html#installation-nginx"><span class="std std-ref">nginx</span></a> &amp; <a class="reference internal" href="../admin/installation-apache.html#installation-apache"><span class="std std-ref">apache</span></a>)</p></li>
<li><p><a class="reference internal" href="../admin/morty.html#searx-morty"><span class="std std-ref">How to setup result proxy</span></a></p></li>
</ul>
</aside>
</div>
<p>To simplify installation and maintenance of a <a class="reference external" href="https://github.com/asciimoo/morty">morty</a> instance you can use the
script <a class="reference external" href="https://github.com/searx/searx/blob/master/utils/morty.sh">git://utils/morty.sh</a>. In most cases you will install <a class="reference external" href="https://github.com/asciimoo/morty">morty</a> simply by
running the command:</p>
@ -78,7 +78,7 @@ into this user account:</p>
<p class="admonition-title">Hint</p>
<p>To add morty to your searx instance read chapter <a class="reference internal" href="../admin/morty.html#searx-morty"><span class="std std-ref">How to setup result proxy</span></a>.</p>
</div>
<section id="create-user">
<div class="section" id="create-user">
<h2>Create user<a class="headerlink" href="#create-user" title="Permalink to this headline"></a></h2>
<div class="sphinx-tabs docutils container">
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-0-YmFzaA==" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-0-YmFzaA==" name="YmFzaA==" role="tab" tabindex="0">bash</button></div><div aria-labelledby="tab-0-YmFzaA==" class="sphinx-tabs-panel group-tab" id="panel-0-YmFzaA==" name="YmFzaA==" role="tabpanel" tabindex="0"><div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H useradd --shell /bin/bash --system <span class="se">\</span>
@ -90,8 +90,8 @@ $ sudo -H chown -R <span class="s2">&quot;morty:morty&quot;</span> <span class="
</pre></div>
</div>
</div></div>
</section>
<section id="install-go">
</div>
<div class="section" id="install-go">
<h2>Install go<a class="headerlink" href="#install-go" title="Permalink to this headline"></a></h2>
<div class="sphinx-tabs docutils container">
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-1-YmFzaA==" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-1-YmFzaA==" name="YmFzaA==" role="tab" tabindex="0">bash</button></div><div aria-labelledby="tab-1-YmFzaA==" class="sphinx-tabs-panel group-tab" id="panel-1-YmFzaA==" name="YmFzaA==" role="tabpanel" tabindex="0"><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ cat &gt; <span class="s2">&quot;/usr/local/morty/.go_env&quot;</span> <span class="s">&lt;&lt;EOF</span>
@ -109,8 +109,8 @@ $ sudo -i -u <span class="s2">&quot;morty&quot;</span>
</pre></div>
</div>
</div></div>
</section>
<section id="install-morty">
</div>
<div class="section" id="install-morty">
<h2>Install morty<a class="headerlink" href="#install-morty" title="Permalink to this headline"></a></h2>
<p>Install morty software and systemd unit:</p>
<div class="sphinx-tabs docutils container">
@ -152,8 +152,8 @@ $ sudo -i -u <span class="s2">&quot;morty&quot;</span>
</pre></div>
</div>
</div></div>
</section>
<section id="overview">
</div>
<div class="section" id="overview">
<span id="morty-sh-overview"></span><h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline"></a></h2>
<p>The <code class="docutils literal notranslate"><span class="pre">--help</span></code> output of the script is largely self-explanatory
(<a class="reference internal" href="index.html#toolboxing-common"><span class="std std-ref">Common commands &amp; environment</span></a>):</p>
@ -186,28 +186,28 @@ inspect service
option
set one of the available options
:new-key: set new morty key
apache : http://fv-az238-705/morty/
apache : http://fv-az224-862/morty/
:install: apache site with a reverse proxy (ProxyPass)
:remove: apache site morty.conf
nginx (http://fv-az238-705/morty/)
nginx (http://fv-az224-862/morty/)
:install: nginx site with a reverse proxy (ProxyPass)
:remove: nginx site morty.conf
If needed, set the environment variables in the &#39;.config.sh&#39; file::
PUBLIC_URL_MORTY: http://fv-az238-705/morty/
PUBLIC_URL_MORTY: http://fv-az224-862/morty/
MORTY_LISTEN: 127.0.0.1:3000
SERVICE_USER: morty
To activate result and image proxy in searx, edit settings.yml (read:
https://searx.github.io/searx/admin/morty.html)::
result_proxy:
url : http://fv-az238-705/morty/
url : http://fv-az224-862/morty/
server:
image_proxy : True
</pre></div>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>

View File

@ -47,9 +47,9 @@
<div class="bodywrapper">
<div class="body" role="main">
<section id="utils-searx-sh">
<div class="section" id="utils-searx-sh">
<span id="searx-sh"></span><h1><code class="docutils literal notranslate"><span class="pre">utils/searx.sh</span></code><a class="headerlink" href="#utils-searx-sh" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<div class="sidebar">
<p class="sidebar-title">further reading</p>
<ul class="simple">
<li><p><a class="reference internal" href="../admin/architecture.html#architecture"><span class="std std-ref">Architecture</span></a></p></li>
@ -57,10 +57,10 @@
<li><p><a class="reference internal" href="../admin/installation-nginx.html#installation-nginx"><span class="std std-ref">Install with nginx</span></a></p></li>
<li><p><a class="reference internal" href="../admin/installation-apache.html#installation-apache"><span class="std std-ref">Install with apache</span></a></p></li>
</ul>
</aside>
</div>
<p>To simplify installation and maintenance of a searx instance you can use the
script <a class="reference external" href="https://github.com/searx/searx/blob/master/utils/searx.sh">git://utils/searx.sh</a>.</p>
<section id="install">
<div class="section" id="install">
<h2>Install<a class="headerlink" href="#install" title="Permalink to this headline"></a></h2>
<p>In most cases you will install searx simply by running the command:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo -H ./utils/searx.sh install all
@ -69,8 +69,8 @@ script <a class="reference external" href="https://github.com/searx/searx/blob/m
<p>The script adds a <code class="docutils literal notranslate"><span class="pre">${SERVICE_USER}</span></code> (default:<code class="docutils literal notranslate"><span class="pre">searx</span></code>) and installs searx
into this user account. The installation is described in chapter
<a class="reference internal" href="../admin/installation-searx.html#installation-basic"><span class="std std-ref">Step by step installation</span></a>.</p>
</section>
<section id="overview">
</div>
<div class="section" id="overview">
<span id="intranet-reverse-proxy"></span><h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline"></a></h2>
<p>The <code class="docutils literal notranslate"><span class="pre">--help</span></code> output of the script is largely self-explanatory
(<a class="reference internal" href="index.html#toolboxing-common"><span class="std std-ref">Common commands &amp; environment</span></a>):</p>
@ -113,14 +113,14 @@ apache
searx settings: /etc/searx/settings.yml
If needed, set PUBLIC_URL of your WEB service in the &#39;.config.sh&#39; file::
PUBLIC_URL : http://fv-az238-705/searx
SEARX_INSTANCE_NAME : searx@fv-az238-705
PUBLIC_URL : http://fv-az224-862/searx
SEARX_INSTANCE_NAME : searx@fv-az224-862
SERVICE_USER : searx
SEARX_INTERNAL_HTTP : http://127.0.0.1:8888
</pre></div>
</div>
</section>
</section>
</div>
</div>
<div class="clearer"></div>