on master help sign in
add post about introducing offline engines
37dcd91Noémi Ványi
_static/pygments.css−4
@@ -47,10 +47,8 @@
47.highlight .mh { color: #208050 } /* Literal.Number.Hex */
47.highlight .mh { color: #208050 } /* Literal.Number.Hex */
48.highlight .mi { color: #208050 } /* Literal.Number.Integer */
48.highlight .mi { color: #208050 } /* Literal.Number.Integer */
49.highlight .mo { color: #208050 } /* Literal.Number.Oct */
49.highlight .mo { color: #208050 } /* Literal.Number.Oct */
50−.highlight .sa { color: #4070a0 } /* Literal.String.Affix */
51.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
50.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
52.highlight .sc { color: #4070a0 } /* Literal.String.Char */
51.highlight .sc { color: #4070a0 } /* Literal.String.Char */
53−.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */
54.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
52.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
55.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
53.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
56.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
54.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
@@ -61,9 +59,7 @@
61.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
59.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
62.highlight .ss { color: #517918 } /* Literal.String.Symbol */
60.highlight .ss { color: #517918 } /* Literal.String.Symbol */
63.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
61.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
64−.highlight .fm { color: #06287e } /* Name.Function.Magic */
65.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
62.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
66.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
63.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
67.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
64.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
68−.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
69.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
65.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
admin/api.html+4−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>Administration API &#8212; searx 0.12.0 documentation</title>
9 <title>Administration API &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
16 URL_ROOT: '../',
@@ -152,7 +155,7 @@ URL of the searx instance and values are customizable.</p>
152 <div class="clearer"></div>
155 <div class="clearer"></div>
153 </div>
156 </div>
154 <div class="footer">
157 <div class="footer">
155− &copy; Copyright 2015-2017, Adam Tauber.
158+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
156 </div>
159 </div>
157 </body>
160 </body>
158</html>
161</html>
admin/filtron.html+4−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>How to protect an instance &#8212; searx 0.12.0 documentation</title>
9 <title>How to protect an instance &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
16 URL_ROOT: '../',
@@ -164,7 +167,7 @@
164 <div class="clearer"></div>
167 <div class="clearer"></div>
165 </div>
168 </div>
166 <div class="footer">
169 <div class="footer">
167− &copy; Copyright 2015-2017, Adam Tauber.
170+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
168 </div>
171 </div>
169 </body>
172 </body>
170</html>
173</html>
admin/morty.html+4−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>How to setup result proxy &#8212; searx 0.12.0 documentation</title>
9 <title>How to setup result proxy &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
16 URL_ROOT: '../',
@@ -78,7 +81,7 @@ but it is possible to proxify all the result URLs with an external service,
78 <div class="clearer"></div>
81 <div class="clearer"></div>
79 </div>
82 </div>
80 <div class="footer">
83 <div class="footer">
81− &copy; Copyright 2015-2017, Adam Tauber.
84+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
82 </div>
85 </div>
83 </body>
86 </body>
84</html>
87</html>
blog/admin.html+4−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>Searx admin interface: manage your instance from your browser &#8212; searx 0.12.0 documentation</title>
9 <title>Searx admin interface: manage your instance from your browser &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
16 URL_ROOT: '../',
@@ -91,7 +94,7 @@ which does not affect existing instances.</p>
91 <div class="clearer"></div>
94 <div class="clearer"></div>
92 </div>
95 </div>
93 <div class="footer">
96 <div class="footer">
94− &copy; Copyright 2015-2017, Adam Tauber.
97+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
95 </div>
98 </div>
96 </body>
99 </body>
97</html>
100</html>
blog/blog.html+5−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>Blog &#8212; searx 0.12.0 documentation</title>
9 <title>Blog &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
16 URL_ROOT: '../',
@@ -42,6 +45,7 @@
42<ul>
45<ul>
43<li class="toctree-l1"><a class="reference internal" href="python3.html">Introducing Python3 support</a></li>
46<li class="toctree-l1"><a class="reference internal" href="python3.html">Introducing Python3 support</a></li>
44<li class="toctree-l1"><a class="reference internal" href="admin.html">Searx admin interface: manage your instance from your browser</a></li>
47<li class="toctree-l1"><a class="reference internal" href="admin.html">Searx admin interface: manage your instance from your browser</a></li>
48+<li class="toctree-l1"><a class="reference internal" href="intro-offline.html">Preparation for offline engines</a></li>
45</ul>
49</ul>
46</div>
50</div>
47</div>
51</div>
@@ -70,7 +74,7 @@
70 <div class="clearer"></div>
74 <div class="clearer"></div>
71 </div>
75 </div>
72 <div class="footer">
76 <div class="footer">
73− &copy; Copyright 2015-2017, Adam Tauber.
77+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
74 </div>
78 </div>
75 </body>
79 </body>
76</html>
80</html>
blog/intro-offline.htmlnew file+122
@@ -0,0 +1,122 @@
1+
2+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4+
5+<html xmlns="http://www.w3.org/1999/xhtml">
6+ <head>
7+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
9+ <title>Preparation for offline engines &#8212; searx 0.12.0 documentation</title>
10+
11+ <link rel="stylesheet" href="../_static/style.css" type="text/css" />
12+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
14+ <script type="text/javascript">
15+ var DOCUMENTATION_OPTIONS = {
16+ URL_ROOT: '../',
17+ VERSION: '0.12.0',
18+ COLLAPSE_INDEX: false,
19+ FILE_SUFFIX: '.html',
20+ HAS_SOURCE: true,
21+ SOURCELINK_SUFFIX: '.txt'
22+ };
23+ </script>
24+ <script type="text/javascript" src="../_static/jquery.js"></script>
25+ <script type="text/javascript" src="../_static/underscore.js"></script>
26+ <script type="text/javascript" src="../_static/doctools.js"></script>
27+ <link rel="index" title="Index" href="../genindex.html" />
28+ <link rel="search" title="Search" href="../search.html" />
29+
30+
31+ <link media="only screen and (max-device-width: 480px)" href="../_static/small_flask.css" type= "text/css" rel="stylesheet" />
32+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9">
33+
34+ </head>
35+ <body>
36+
37+ <div class="document">
38+ <div class="documentwrapper">
39+ <div class="bodywrapper">
40+ <div class="body" role="main">
41+
42+ <div class="section" id="preparation-for-offline-engines">
43+<h1>Preparation for offline engines<a class="headerlink" href="#preparation-for-offline-engines" title="Permalink to this headline">¶</a></h1>
44+<div class="section" id="offline-engines">
45+<h2>Offline engines<a class="headerlink" href="#offline-engines" title="Permalink to this headline">¶</a></h2>
46+<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 connection to perform a search and does not use HTTP to communicate.</p>
47+<p>Offline engines can be configured as online engines, by adding those to the <cite>engines</cite> list of <cite>settings.yml</cite>. Thus, searx finds the engine file and imports it.</p>
48+<p>Example skeleton for the new engines:</p>
49+<div class="code python highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">subprocess</span> <span class="k">import</span> <span class="n">PIPE</span><span class="p">,</span> <span class="n">Popen</span>
50+
51+<span class="n">categories</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;general&#39;</span><span class="p">]</span>
52+<span class="n">offline</span> <span class="o">=</span> <span class="kc">True</span>
53+
54+<span class="k">def</span> <span class="nf">init</span><span class="p">(</span><span class="n">settings</span><span class="p">):</span>
55+ <span class="k">pass</span>
56+
57+<span class="k">def</span> <span class="nf">search</span><span class="p">(</span><span class="n">query</span><span class="p">,</span> <span class="n">params</span><span class="p">):</span>
58+ <span class="n">process</span> <span class="o">=</span> <span class="n">Popen</span><span class="p">([</span><span class="s1">&#39;ls&#39;</span><span class="p">,</span> <span class="n">query</span><span class="p">],</span> <span class="n">stdout</span><span class="o">=</span><span class="n">PIPE</span><span class="p">)</span>
59+ <span class="n">return_code</span> <span class="o">=</span> <span class="n">process</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
60+ <span class="k">if</span> <span class="n">return_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
61+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s1">&#39;non-zero return code&#39;</span><span class="p">,</span> <span class="n">return_code</span><span class="p">)</span>
62+
63+ <span class="n">results</span> <span class="o">=</span> <span class="p">[]</span>
64+ <span class="n">line</span> <span class="o">=</span> <span class="n">process</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span>
65+ <span class="k">while</span> <span class="n">line</span><span class="p">:</span>
66+ <span class="n">result</span> <span class="o">=</span> <span class="n">parse_line</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
67+ <span class="n">results</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">results</span><span class="p">)</span>
68+
69+ <span class="n">line</span> <span class="o">=</span> <span class="n">process</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span>
70+
71+ <span class="k">return</span> <span class="n">results</span>
72+</pre></div>
73+</div>
74+</div>
75+<div class="section" id="development-progress">
76+<h2>Development progress<a class="headerlink" href="#development-progress" title="Permalink to this headline">¶</a></h2>
77+<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/asciimoo/searx/wiki/Offline-engines">https://github.com/asciimoo/searx/wiki/Offline-engines</a></p>
78+<p>In this development step, searx core was prepared to accept and perform offline searches. Offline search requests are scheduled together with regular offline requests.</p>
79+<p>As offline searches can return arbitrary results depending on the engine, the 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: <a class="reference external" href="https://github.com/asciimoo/searx/pull/1700">https://github.com/asciimoo/searx/pull/1700</a></p>
80+</div>
81+<div class="section" id="next-steps">
82+<h2>Next steps<a class="headerlink" href="#next-steps" title="Permalink to this headline">¶</a></h2>
83+<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>
84+</div>
85+<div class="section" id="acknowledgement">
86+<h2>Acknowledgement<a class="headerlink" href="#acknowledgement" title="Permalink to this headline">¶</a></h2>
87+<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>
88+<div class="line-block">
89+<div class="line">Happy hacking.</div>
90+<div class="line">kvch // 2019.10.21 17:03</div>
91+</div>
92+</div>
93+</div>
94+
95+
96+ </div>
97+ </div>
98+ </div>
99+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
100+ <div class="sphinxsidebarwrapper"><div class="sidebar_container body">
101+<h1>Searx</h1>
102+<ul>
103+ <li><a href="../index.html">Home</a></li>
104+ <li><a href="https://github.com/asciimoo/searx">Source</a></li>
105+ <li><a href="blog.html">Blog</a></li>
106+ <li><a href="https://github.com/asciimoo/searx/wiki">Wiki</a></li>
107+ <li><a href="https://github.com/asciimoo/searx/wiki/Searx-instances">Public instances</a></li>
108+</ul>
109+<hr />
110+<ul>
111+ <li><a href="https://twitter.com/Searx_engine">Twitter</a></li>
112+</ul>
113+</div>
114+ </div>
115+ </div>
116+ <div class="clearer"></div>
117+ </div>
118+ <div class="footer">
119+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
120+ </div>
121+ </body>
122+</html>
blog/python3.html+4−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>Introducing Python3 support &#8212; searx 0.12.0 documentation</title>
9 <title>Introducing Python3 support &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
16 URL_ROOT: '../',
@@ -99,7 +102,7 @@ so we can investigate it properly.</p>
99 <div class="clearer"></div>
102 <div class="clearer"></div>
100 </div>
103 </div>
101 <div class="footer">
104 <div class="footer">
102− &copy; Copyright 2015-2017, Adam Tauber.
105+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
103 </div>
106 </div>
104 </body>
107 </body>
105</html>
108</html>
dev/contribution_guide.html+4−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>How to contribute &#8212; searx 0.12.0 documentation</title>
9 <title>How to contribute &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
16 URL_ROOT: '../',
@@ -144,7 +147,7 @@ files, you have to install it on your system. (It can be installed easily using
144 <div class="clearer"></div>
147 <div class="clearer"></div>
145 </div>
148 </div>
146 <div class="footer">
149 <div class="footer">
147− &copy; Copyright 2015-2017, Adam Tauber.
150+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
148 </div>
151 </div>
149 </body>
152 </body>
150</html>
153</html>
dev/engine_overview.html+8−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>Engine overview &#8212; searx 0.12.0 documentation</title>
9 <title>Engine overview &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
16 URL_ROOT: '../',
@@ -114,6 +117,10 @@ settings. However, the standard way is the following:</p>
114<td>boolean</td>
117<td>boolean</td>
115<td>support search time range</td>
118<td>support search time range</td>
116</tr>
119</tr>
120+<tr class="row-even"><td>offline</td>
121+<td>boolean</td>
122+<td>engine runs offline</td>
123+</tr>
117</tbody>
124</tbody>
118</table>
125</table>
119</div>
126</div>
@@ -586,7 +593,7 @@ Currently the following media-types are supported:</p>
586 <div class="clearer"></div>
593 <div class="clearer"></div>
587 </div>
594 </div>
588 <div class="footer">
595 <div class="footer">
589− &copy; Copyright 2015-2017, Adam Tauber.
596+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
590 </div>
597 </div>
591 </body>
598 </body>
592</html>
599</html>
dev/install/installation.html+8−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>Installation &#8212; searx 0.12.0 documentation</title>
9 <title>Installation &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../../',
16 URL_ROOT: '../../',
@@ -175,6 +178,10 @@ content:</p>
175<span class="p">}</span>
178<span class="p">}</span>
176</pre></div>
179</pre></div>
177</div>
180</div>
181+<p>Create a symlink to sites-enabled:</p>
182+<div class="code sh highlight-default"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">ln</span> <span class="o">-</span><span class="n">s</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">nginx</span><span class="o">/</span><span class="n">sites</span><span class="o">-</span><span class="n">available</span><span class="o">/</span><span class="n">searx</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">nginx</span><span class="o">/</span><span class="n">sites</span><span class="o">-</span><span class="n">enabled</span><span class="o">/</span><span class="n">searx</span>
183+</pre></div>
184+</div>
178<p>Restart service:</p>
185<p>Restart service:</p>
179<div class="code sh highlight-default"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">service</span> <span class="n">nginx</span> <span class="n">restart</span>
186<div class="code sh highlight-default"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">service</span> <span class="n">nginx</span> <span class="n">restart</span>
180<span class="n">sudo</span> <span class="n">service</span> <span class="n">uwsgi</span> <span class="n">restart</span>
187<span class="n">sudo</span> <span class="n">service</span> <span class="n">uwsgi</span> <span class="n">restart</span>
@@ -338,7 +345,7 @@ docker run -d --name searx -p $PORT:8888 wonderfall/searx
338 <div class="clearer"></div>
345 <div class="clearer"></div>
339 </div>
346 </div>
340 <div class="footer">
347 <div class="footer">
341− &copy; Copyright 2015-2017, Adam Tauber.
348+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
342 </div>
349 </div>
343 </body>
350 </body>
344</html>
351</html>
dev/plugins.html+4−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>Plugins &#8212; searx 0.12.0 documentation</title>
9 <title>Plugins &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
16 URL_ROOT: '../',
@@ -103,7 +106,7 @@ searx.</p>
103 <div class="clearer"></div>
106 <div class="clearer"></div>
104 </div>
107 </div>
105 <div class="footer">
108 <div class="footer">
106− &copy; Copyright 2015-2017, Adam Tauber.
109+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
107 </div>
110 </div>
108 </body>
111 </body>
109</html>
112</html>
dev/quickstart.html+5−2
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>Development Quickstart &#8212; searx 0.12.0 documentation</title>
9 <title>Development Quickstart &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
16 URL_ROOT: '../',
@@ -99,7 +102,7 @@ Node has to be installed.</p>
99</pre></div>
102</pre></div>
100</div>
103</div>
101<p>After installing grunt, the files can be built using the following command:</p>
104<p>After installing grunt, the files can be built using the following command:</p>
102−<div class="code sh highlight-default"><div class="highlight"><pre><span></span><span class="o">./</span><span class="n">manage</span><span class="o">.</span><span class="n">sh</span> <span class="n">build_grunt</span>
105+<div class="code sh highlight-default"><div class="highlight"><pre><span></span><span class="o">./</span><span class="n">manage</span><span class="o">.</span><span class="n">sh</span> <span class="n">grunt_build</span>
103</pre></div>
106</pre></div>
104</div>
107</div>
105</div>
108</div>
@@ -150,7 +153,7 @@ locally before creating a PR.</dd>
150 <div class="clearer"></div>
153 <div class="clearer"></div>
151 </div>
154 </div>
152 <div class="footer">
155 <div class="footer">
153− &copy; Copyright 2015-2017, Adam Tauber.
156+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
154 </div>
157 </div>
155 </body>
158 </body>
156</html>
159</html>
dev/search_api.html+6−3
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>Search API &#8212; searx 0.12.0 documentation</title>
9 <title>Search API &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
16 URL_ROOT: '../',
@@ -65,7 +68,7 @@ results based on this syntax, you might not get the results you wanted.</p>
65</div>
68</div>
66<p>Comma separated list, specifies the active search engines.</p>
69<p>Comma separated list, specifies the active search engines.</p>
67<p>Optional.</p>
70<p>Optional.</p>
68−<div class="code sh highlight-default"><div class="highlight"><pre><span></span><span class="n">language</span>
71+<div class="code sh highlight-default"><div class="highlight"><pre><span></span><span class="n">lang</span>
69</pre></div>
72</pre></div>
70</div>
73</div>
71<p>Code of the language.</p>
74<p>Code of the language.</p>
@@ -186,7 +189,7 @@ results based on this syntax, you might not get the results you wanted.</p>
186 <div class="clearer"></div>
189 <div class="clearer"></div>
187 </div>
190 </div>
188 <div class="footer">
191 <div class="footer">
189− &copy; Copyright 2015-2017, Adam Tauber.
192+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
190 </div>
193 </div>
191 </body>
194 </body>
192−</html>
195+</html>
dev/translation.html+4−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>Translation &#8212; searx 0.12.0 documentation</title>
9 <title>Translation &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
16 URL_ROOT: '../',
@@ -110,7 +113,7 @@ those should not be compiled. Call the command below to compile the <code class=
110 <div class="clearer"></div>
113 <div class="clearer"></div>
111 </div>
114 </div>
112 <div class="footer">
115 <div class="footer">
113− &copy; Copyright 2015-2017, Adam Tauber.
116+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
114 </div>
117 </div>
115 </body>
118 </body>
116</html>
119</html>
docs/blog/blog.rst+1
@@ -6,3 +6,4 @@ Blog
6
6
7 python3
7 python3
8 admin
8 admin
9+ intro-offline
docs/blog/intro-offline.rstnew file+65
@@ -0,0 +1,65 @@
1+Preparation for offline engines
2+===============================
3+
4+Offline engines
5+---------------
6+
7+To extend the functionality of searx, offline engines are going to be introduced. An offline engine is an engine which does not need Internet connection to perform a search and does not use HTTP to communicate.
8+
9+Offline engines can be configured as online engines, by adding those to the `engines` list of `settings.yml`. Thus, searx finds the engine file and imports it.
10+
11+Example skeleton for the new engines:
12+
13+.. code:: python
14+
15+ from subprocess import PIPE, Popen
16+
17+ categories = ['general']
18+ offline = True
19+
20+ def init(settings):
21+ pass
22+
23+ def search(query, params):
24+ process = Popen(['ls', query], stdout=PIPE)
25+ return_code = process.wait()
26+ if return_code != 0:
27+ raise RuntimeError('non-zero return code', return_code)
28+
29+ results = []
30+ line = process.stdout.readline()
31+ while line:
32+ result = parse_line(line)
33+ results.append(results)
34+
35+ line = process.stdout.readline()
36+
37+ return results
38+
39+
40+Development progress
41+--------------------
42+
43+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: https://github.com/asciimoo/searx/wiki/Offline-engines
44+
45+In this development step, searx core was prepared to accept and perform offline searches. Offline search requests are scheduled together with regular offline requests.
46+
47+As offline searches can return arbitrary results depending on the engine, the 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: https://github.com/asciimoo/searx/pull/1700
48+
49+Next steps
50+----------
51+
52+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.
53+
54+Acknowledgement
55+---------------
56+
57+This development was sponsored by `Search and Discovery Fund`_ of `NLnet Foundation`_ .
58+
59+.. _Search and Discovery Fund: https://nlnet.nl/discovery
60+.. _NLnet Foundation: https://nlnet.nl/
61+
62+
63+| Happy hacking.
64+| kvch // 2019.10.21 17:03
65+
docs/conf.py+1−1
@@ -49,7 +49,7 @@ master_doc = 'index'
49
49
50# General information about the project.
50# General information about the project.
51project = u'searx'
51project = u'searx'
52−copyright = u'2015-2017, Adam Tauber'
52+copyright = u'2015-2019, Adam Tauber, Noémi Ványi'
53author = u'Adam Tauber'
53author = u'Adam Tauber'
54
54
55# The version info for the project you're documenting, acts as replacement for
55# The version info for the project you're documenting, acts as replacement for
docs/dev/engine_overview.rst+2
@@ -41,6 +41,8 @@ engine file
41+----------------------+-----------+-----------------------------------------+
41+----------------------+-----------+-----------------------------------------+
42| time\_range\_support | boolean | support search time range |
42| time\_range\_support | boolean | support search time range |
43+----------------------+-----------+-----------------------------------------+
43+----------------------+-----------+-----------------------------------------+
44+| offline | boolean | engine runs offline |
45++----------------------+-----------+-----------------------------------------+
44
46
45settings.yml
47settings.yml
46~~~~~~~~~~~~
48~~~~~~~~~~~~
genindex.html+4−1
@@ -6,9 +6,12 @@
6<html xmlns="http://www.w3.org/1999/xhtml">
6<html xmlns="http://www.w3.org/1999/xhtml">
7 <head>
7 <head>
8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9+
9 <title>Index &#8212; searx 0.12.0 documentation</title>
10 <title>Index &#8212; searx 0.12.0 documentation</title>
11+
10 <link rel="stylesheet" href="_static/style.css" type="text/css" />
12 <link rel="stylesheet" href="_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
13 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
14+
12 <script type="text/javascript">
15 <script type="text/javascript">
13 var DOCUMENTATION_OPTIONS = {
16 var DOCUMENTATION_OPTIONS = {
14 URL_ROOT: './',
17 URL_ROOT: './',
@@ -71,7 +74,7 @@
71 <div class="clearer"></div>
74 <div class="clearer"></div>
72 </div>
75 </div>
73 <div class="footer">
76 <div class="footer">
74− &copy; Copyright 2015-2017, Adam Tauber.
77+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
75 </div>
78 </div>
76 </body>
79 </body>
77</html>
80</html>
index.html+4−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>Welcome to searx &#8212; searx 0.12.0 documentation</title>
9 <title>Welcome to searx &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: './',
16 URL_ROOT: './',
@@ -118,7 +121,7 @@
118 <div class="clearer"></div>
121 <div class="clearer"></div>
119 </div>
122 </div>
120 <div class="footer">
123 <div class="footer">
121− &copy; Copyright 2015-2017, Adam Tauber.
124+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
122 </div>
125 </div>
123 </body>
126 </body>
124</html>
127</html>
objects.inv+3−1
@@ -2,4 +2,6 @@
2# Project: searx
2# Project: searx
3# Version: 0.12.0
3# Version: 0.12.0
4# The remainder of this file is compressed using zlib.
4# The remainder of this file is compressed using zlib.
5−x�uT�n�0��+4W�(r�%H�͡���Ѡ��D�"Y.���q�QR.���̛ݼl�>r+��Si;|c|�֡Q���>8�����Z��U��ٸ��27 ���qͤ��k�Lc\�" �$<�h�U���)��+~�-���^ e�c2\��Q����I��\�k����D7Uî�4]��yp�lB������v�6�qc;�d����eRW�4:Dk�YE �Q4����y��,a��o�5y�!遮���i��nk�MJ?�F0�.)5��Vb{6c�3�䬊ï��N����E)��� k��!�Ђ2�؟�K"�A��յ�̼6�N{�Ӹw��׼���}z�U�ӊ癩{�I�h�K��#:�_��l�qa�J���,��,��>�&�ͳ1�Nv�;����k�`ȓ�{� ��WZD<ţ���t���6�Pk����?#[`:�g�&�;�}#��YF����j
5+x�uTM��0��+,u�iT�m/�V��=TJ�J=F����P$���xl�����̛7��>�A2��;|b<�;�+�:����$j�zz�(��ʙ�lRA���������Lj��dz4n܊D������ X�ܤwI!�W�j�����.
6+�c |,��T�ps'�`ہi���s�[`#z3w��=A�7 �jL�M��A��7
7+ ��4Jj�d,�� <�Ԡa9t~,���P?o�NJo�x��-;�? aU ף� /~*un�� ���f�9<��U�m-��I�[Y�N<{��/�Jl/&w� QnP>԰k��C�?1����o�0n��0����p�A;�s梈 WLt����rEo�D�۬�~���^�)we|^��a{�1߂���{)��|��Z’LJ�?��@����̲p��4��b�=�;�� *�#\{�'x�AX1�S��ʇ?�M���oC�^�q�_/y���g�K��v��,��A���
search.html+4−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>Search &#8212; searx 0.12.0 documentation</title>
9 <title>Search &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: './',
16 URL_ROOT: './',
@@ -91,7 +94,7 @@
91 <div class="clearer"></div>
94 <div class="clearer"></div>
92 </div>
95 </div>
93 <div class="footer">
96 <div class="footer">
94− &copy; Copyright 2015-2017, Adam Tauber.
97+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
95 </div>
98 </div>
96 </body>
99 </body>
97</html>
100</html>
searchindex.js+1−1
@@ -1 +1 @@
1−Search.setIndex({docnames:["admin/api","admin/filtron","admin/morty","blog/admin","blog/blog","blog/python3","dev/contribution_guide","dev/engine_overview","dev/install/installation","dev/plugins","dev/quickstart","dev/search_api","dev/translation","index","user/own-instance","user/search_syntax"],envversion:52,filenames:["admin/api.rst","admin/filtron.rst","admin/morty.rst","blog/admin.rst","blog/blog.rst","blog/python3.rst","dev/contribution_guide.rst","dev/engine_overview.rst","dev/install/installation.rst","dev/plugins.rst","dev/quickstart.rst","dev/search_api.rst","dev/translation.rst","index.rst","user/own-instance.rst","user/search_syntax.rst"],objects:{},objnames:{},objtypes:{},terms:{"boolean":7,"break":6,"byte":7,"case":[8,10,14],"default":[1,2,5,6,8,9,11,13,14,15],"function":[7,9],"import":8,"int":7,"long":14,"new":[3,6,9,10,11,12],"null":8,"public":13,"return":[9,14],"short":10,"static":9,"switch":6,"true":[0,1,7,8,9,10,11],"try":[10,14],But:[3,5,7,14],For:[1,6,8,10,11],IPs:1,Its:[],One:3,The:[0,6,7,8,11,14],Then:[5,10,12],There:6,These:7,Use:1,a2enmod:8,abbrev:15,abl:[6,7],about:[6,8,13],abov:[6,8,11],abus:[1,14],accept:15,access:[1,3,14],access_log:8,account:12,act:[2,3],action:[0,1],activ:[2,5,8,10,11],adapt:7,add:[2,6,8,9,15],added:9,addit:[7,8],addition:[13,14],address:[2,7,14],admin:4,administr:[3,11,14],adopt:6,ads:14,advantag:3,advertis:14,advis:[1,8],affect:3,after:[5,9,10,12],agent:[1,7],aggreg:[1,13,14],ahrefsbot:1,aim:3,all:[0,2,5,6,7,11],allow:[8,15],along:1,alreadi:6,also:[6,8,14,15],alter:6,alwai:[7,10,14],among:[6,14],ani:[11,13],anonym:[13,14],anoth:[3,7],answer:14,anyon:13,anyth:[5,14],apache2:8,api:[7,12,13],api_kei:7,app:8,appear:10,appli:[6,8],applic:[1,3,8],appropri:6,apt:[8,10],arbitrari:7,arch:0,archiv:1,argument:2,arrai:7,art:11,asciimoo:[8,10,12],aspect:6,assign:7,attach:9,author:6,auto:12,autocomplet:[0,11],avail:[8,10,11,14],avoid:1,babel:8,back:8,baiduspid:1,ban:14,bar:13,barrier:3,base:[7,11],base_url:[7,8],bash:8,becaus:[3,6,7,10,12,14],befor:[5,9,10,14],behaviour:[6,9],being:[1,3,5,13],below:[1,6,8,10,12],besid:14,best:14,better:[7,8,14],between:7,biggest:3,bin:[5,8,10],bingbot:1,bitbucket:0,block:1,born:6,bot:1,both:[5,6,11,14],botlimit:1,boundingbox:7,branch:6,browser:[4,5,6,14],bug:10,bugreport:6,build:[6,8],build_grunt:10,built:[6,7,10],call:[3,12],callback:9,can:[0,1,2,3,5,6,7,8,9,10,13,14],cannot:14,capabl:[3,6],captcha:14,caption:[],categori:[0,7,11,15],certif:8,chainabl:15,chang:[5,8],chapter:6,charact:6,chdir:8,check:[6,7,10,12],checkout:6,chmod:8,choic:14,choos:[6,7],chown:8,citi:7,clear:14,cli:[10,12],client:1,clone:[8,10],code:[8,10,11,14],codebas:3,com:[3,7,8,10,11,12],combin:8,come:[1,5,6,14],comma:11,command:[1,5,8,10,12],commit:[10,12],common:[10,14],compani:14,compat:5,compil:12,complet:11,compon:9,compromis:14,comput:14,concern:6,conf:8,config:[0,7,8,12],configur:[3,12,14],connect:13,consequ:6,construct:7,consult:10,contain:10,content:14,context:9,contribut:13,control:14,convent:6,cooki:[7,13,14],corner:6,could:7,count:8,countri:7,coupl:8,courgett:11,coverag:10,cpu:8,creat:[5,6,8,10,11,12],cryptic:10,css:9,css_depend:9,csv:[1,11],cthulhu:15,ctx:9,curl:1,current:[6,7,15],custom:[6,15],customiz:[0,3],customlog:8,dai:11,data:[7,14],date:[0,7],datetim:7,daunt:3,dbpedia:11,ddg:15,debian:8,debug:8,decid:3,decim:7,def:[7,9],default_local:0,default_on:9,default_them:0,defin:9,delet:[11,12],demon:8,depen:1,depend:[3,5,7,8,10,11],deploi:8,descript:9,deserv:6,desir:[7,10],deutsch:0,dev:8,develop:[3,5,6],differ:[5,6,7],digit:13,disabl:[9,11],disabled_engin:11,disabled_plugin:11,disrespect:6,dive:14,doai_rewrit:11,dockerfil:8,doe:[3,7,11],domain:8,domin:6,don:[5,13],drop:5,duckduckgo:[11,15],each:11,easi:13,easili:6,edit:[3,6,8,14],effect:6,either:10,elimin:10,emb:13,embed:[0,8],empti:11,en_u:7,enabl:[0,6,8,10,11],enabled_engin:11,enabled_plugin:11,encrypt:13,engin:[0,3,6,10,11,13,14,15],english:0,enough:12,enpoint:11,enter:[5,8],error:10,error_log:8,esperanto:0,essenti:8,etc:[1,6,8],everi:[7,14],everyon:14,everyth:[8,14],exactli:1,exampl:[0,1,8,10,11,14],exceed:1,except:[5,6],exchang:14,execut:12,exist:[3,6],exit:8,expect:6,experienc:3,explain:6,extend:[6,9],extens:6,extern:[1,2,7,11,14],extrem:3,fail:10,fals:[0,8,9,10,11],fanci:6,featur:[2,3,6,14],feedback:6,feedfetch:1,feel:9,few:[6,7],file:[3,5,6,8,9,10,12],file_filt:12,filenam:7,files:7,filter:[0,1,11],find:1,fine:8,finish:12,firewal:1,first:[3,5,10,14],fit:9,fix:[6,10],flask:9,folder:[6,7,10,12],follow:[1,2,6,7,10,12],followsymlink:8,fork:6,form:[0,14],format:[1,7,10,11],forward:[1,8,14],found:[1,3],foundat:[3,5],free:[8,9,13],friend:14,friendli:[],from:[1,4,5,6,12,13,14],fulli:3,further:10,furthermor:[7,10,11,14],gain:14,gener:[0,6,14],geojson:7,german:0,get:[6,7,8,10,11,12,13],gid:8,git:[8,10],github:[3,5,8,10,11],give:10,goi:0,going:[1,14],good:[6,10],googl:[0,11],googlebot:1,grant:8,graphic:3,group:14,grow:3,grunt:10,gui:[],guid:[3,10],hack:[3,5,6],hackerspac:15,handl:14,handler:8,happi:[3,5,6],hard:3,has:[2,6,7,10,14],have:[3,5,6,7,8,14],header:[1,7],help:[6,10],her:[11,14],hex:8,hidden:[0,14],his:[11,14],home:12,host:[1,3,12,13],hotkei:0,hour:8,hous:7,house_numb:7,how:13,howev:[7,11],html:[0,6,7],http:[0,1,2,3,7,8,10,12,13],http_host:1,https_rewrit:11,hub:8,idea:10,imag:[0,2,11,15],image_proxi:11,img_src:7,implement:[3,5,6,7,9],includ:8,inclus:15,index:8,infinite_scrol:11,inform:[1,2,6,7,8],ini:8,init:8,initi:12,input:0,insert:12,insid:7,insight:14,instal:[1,2,5,6,10,12,13],instanc:[0,4,8,11,12,13],instance_nam:0,instead:[3,5,10],integr:13,intent:6,interfac:4,interfer:6,intern:10,internet:13,interpret:8,interpretor:8,interv:1,introduc:[3,4],introduct:10,investig:5,iso:7,issu:5,its:[3,6,11,14],itself:6,jame:1,js_depend:9,json:[1,11],just:[0,14],kei:[2,7,12],kind:14,know:14,kvch:[3,5],lack:6,lang:[0,11,12],languag:[0,7,11,12,15],language_support:7,laptop:14,lat:7,latest:12,latitud:7,lazi:8,lc_messag:12,least:5,leech:7,leecher:7,legaci:11,length:6,less:[3,10,14],let:14,level:6,libapache2:8,libffi:8,libssl:8,libxslt:8,light:8,like:[0,7,8],like_hotkei:11,limit:1,line:6,linkdexbot:1,linux:0,list:[7,9,11,15],listen:[1,8],local:[0,5,7,8,9,10,12],localhost:8,locat:[1,8],log:[10,14],logicodev:11,lon:7,longitud:7,low:8,magnetlink:7,main:12,make:[3,5,8,14],manag:[4,8,10],mani:1,manipul:3,map:0,mass:6,master:8,matter:[7,14],max:[1,7],maxim:6,maximum:[6,7],mean:14,media:[0,7],mention:5,messag:[1,10,12],messagespo:12,metasearch:[7,13],method:[0,7],might:[6,11,14],migrat:5,min:7,misbehav:6,mj12bot:1,mod:8,modifi:15,modul:8,monet:14,month:[0,11],more:[2,3,6,8,11,13,14],morti:2,most:[5,14],msnbot:1,multibl:7,multipl:14,must:[5,6,7,10],myproject:10,name:[0,1,7,8,9,12],necessari:8,need:[6,14],neither:13,net:13,netvib:1,newcom:3,nginx:1,nlnet:[3,5],node:10,nodej:10,none:[7,11],nor:13,normal:7,note:[6,8,11],now:[5,9],npm:10,number:[1,7,8,11],number_of_result:7,object:[7,9],off:[6,8],often:7,okhin:8,on_result:9,one:[13,14],ones:7,onli:[2,8,9,11],onlin:13,open:[5,11,14],openssl:8,openstreetmap:0,oper:[5,14],option:[2,3,7,8,9,10,11,14],order:[6,10],org:7,org_bot:1,organis:13,origin:8,oscar:[0,11],osm:[0,7],other:[6,7,14],otherwis:7,our:3,out:6,output:11,over:13,overview:13,overwritten:7,own:[13,14],packag:[8,10],page:[1,3,6,7,11,14,15],pageno:[7,11],pagenumb:7,param:[1,7],paramet:7,paramt:7,pars:11,part:3,parti:14,partli:7,pass:11,past:0,patch:6,path:[1,8],peopl:[3,14],pep8:[6,10],per:7,perform:7,phase:10,pip3:5,pip:[6,12],pix:11,place:[6,7,14],pleas:[5,6,8,10,11],plenti:6,plugin:[0,6,8,11,13],point:[8,14],pointhi:11,port:[1,8],possibl:[2,8,11],post:[0,6,8,11],post_search:9,postcod:7,pot:12,pre_search:9,prefer:[3,11,14,15],prefix:15,preserv:6,preview:7,privaci:8,privat:13,problem:1,proce:8,process:1,profil:[13,14],project:1,promot:13,proper:14,properli:5,protect:[6,13],provid:[6,7],proxi:[8,11,13,14],proxifi:2,proxy_add_x_forwarded_for:[1,8],proxy_buff:8,proxy_pass:[1,8],proxy_set_head:[1,8],publish:7,publishedd:7,pull:[6,8,12],purpos:7,pybabel:12,python2:5,python3:4,python:[1,5,8],pythonpath:8,quadratur:13,queri:[0,7,11,14,15],question:14,quickstart:[6,13],quit:6,qwer:15,rand:8,random:[7,14],rang:[7,11],rate:1,readm:2,real:1,reason:3,recommend:7,reconsid:6,redefin:7,reduc:6,refer:[13,14],regardless:14,rememb:6,remote_addr:1,remov:14,renam:11,replac:[3,9],repo:6,repositori:[3,8],request:[6,9,14],requir:[5,6,7,10,11],reset:14,respect:[6,14],restart:[2,8],result:[11,13,14],result_proxi:2,results_on_new_tab:11,retriev:12,revers:8,rewrit:[0,8],right:[8,9,13],road:7,roboag:1,robotframework:5,root:8,round:6,rss:[1,11],rst:6,rule:1,run:[1,2,8,9,12,14],safe:11,safe_search:0,safesearch:11,same:[1,7],satisfi:10,scheme:[1,8],scrapi:1,script:[1,8,10],script_nam:8,search:[1,6,7,13,14],search_on_category_select:11,search_path:7,search_str:7,searx:[0,1,2,4,6,7,9,10,11,12,15],sec:1,secur:13,sed:8,see:[2,6,8,11,13,15],seed:7,seeder:7,select:[14,15],selenium:10,self:[3,13],self_inform:11,send:[1,14],sent:14,separ:[6,11],serv:14,server:10,server_nam:8,servic:[1,2,8,11,13,14],set:[2,3,8,10,12,13,14],sethandl:8,setup:[8,13],seznambot:1,she:14,shortcut:[0,7],should:[3,5,6,8,12],simpl:11,simpli:[6,11],sinc:3,singl:[8,14],site:[0,7,8,11],size:7,skip:10,slurp:1,small:7,smtbot:1,snippet:2,social:0,socket:8,sold:14,solv:1,some:8,someon:14,someth:6,sometim:3,sourc:[5,12,14],source_fil:12,source_lang:12,special:7,specif:[7,8],specifi:[7,11],sphinx:6,splinter:5,sponsor:[3,5],ssl:[7,8,13],stack:10,standalon:3,standard:[6,7],start:[1,6,7,8,13],startpag:11,stash:8,step:[6,8],stop:1,store:[7,14],street:7,string:[7,11,12],style:11,submit:6,subrul:1,sudo:[8,10],suggest:9,supervisor:3,support:[4,6,7,11,13,14],sure:[5,8],syntax:[11,13],system:[5,6],tab:11,tailor:14,take:[3,6],tell:7,templat:7,test:[5,6,8],text:[0,7],than:13,thei:14,theme:11,thi:[1,2,3,5,7,8,9,10,11,14],think:6,third:14,those:[12,14],thread:8,three:[6,9,14],through:[11,14],thu:[5,11,14],thumbnail:7,thumbnail_src:7,time:[1,5,7,11,14],time_rang:[0,11],time_range_support:7,timeout:7,titl:7,tld:8,too:[1,14],tool:[3,6,12],tor:[13,14],torrentfil:7,trace:10,track:[13,14],tracker_url_remov:11,traffic:8,transifex:6,transifexrc:12,translat:13,travi:[5,10],trust:[13,14],try_fil:8,tupl:9,turn:[6,10],twice:8,two:[6,11],txt:[5,6],type:[0,7,11,12,14],ubuntu:8,ugli:3,uid:8,ultrasecretkei:8,uncommon:6,under:[6,7],understand:3,unfortun:6,unit:[6,10],unit_test:10,univers:8,unix:8,unknown:14,unlik:14,unspecifi:7,updat:6,update_dev_packag:10,update_packag:8,uri:8,url:[0,2,7,14],urlencod:7,usag:3,use:[2,6,7,8,13],used:[5,6,7,8,13,14],user:[1,6,7,8,14],useradd:8,userag:1,uses:[7,14],using:[1,6,8,10,12,13],usr:8,usual:[5,8,14],uwsgi_modifier1:8,uwsgi_param:8,uwsgi_pass:8,uwsgisocket:8,valid:[7,10,11],valu:[0,7],variabl:7,variou:[6,9],vendor:6,venv3:5,verifi:7,version:5,via:[3,15],view:14,vim:[0,11],virtual:8,virtualenv:[5,8,10],visit:14,vpn:14,vulner:14,wai:[6,7,14],want:[5,11,14],warn:8,web:3,webapp:[5,8],webcrawl:1,websit:0,weird:6,were:5,wget:1,whatev:8,when:[5,9,10,14],where:1,whether:[10,14],which:[1,3,6,7,11,13,14],who:[3,8,14],whole:[8,9],why:13,wide:6,wiki:0,wikipedia:[11,15],wish:6,without:[7,13,14],won:5,wonderfal:8,word:[9,11],work:[6,7,8,10,14],worker:8,world:[6,14],worri:5,worth:14,wsgi:8,www:12,yacybot:1,yahoo:1,yandexbot:1,yandexmobilebot:1,year:11,yet:7,yml:[2,3,8,10],you:[6,8,10,11,13,14,15],your:[2,4,5,6,8,9,13],your_morty_proxy_kei:2,yourself:6,zgrab:1,zlib1g:8},titles:["Administration API","How to protect an instance","How to setup result proxy","Searx admin interface: manage your instance from your browser","Blog","Introducing Python3 support","How to contribute","Engine overview","Installation","Plugins","Development Quickstart","Search API","Translation","Welcome to searx","Why use a private instance?","Search syntax"],titleterms:{"default":7,"new":[],"public":14,"return":7,about:14,acknowledg:[3,5],admin:3,administr:[0,13],apach:8,api:[0,11],argument:7,autocomplet:[],bar:0,basic:8,blog:4,browser:3,bug:5,build:10,categori:[],check:8,code:[6,7],compil:10,conclus:14,configur:[0,1,7,8],consequ:14,content:[7,8],contribut:6,data:0,debug:10,design:6,develop:[10,13],direct:6,disabl:8,disabled_engin:[],disabled_plugin:[],docker:8,document:[6,13],doe:14,emb:0,enabled_engin:[],enabled_plugin:[],engin:7,entri:9,environ:10,exampl:[7,9,15],fact:5,featur:13,file:7,filtron:1,format:[],found:5,from:[3,8],fun:5,gener:7,get:0,hackabl:6,hook:9,host:8,how:[1,2,5,6,8,10,14],imag:7,image_proxi:[],init:12,instal:[3,8],instanc:[1,3,14],interfac:3,introduc:5,javascript:10,lang:[],log:8,make:7,manag:3,map:7,nginx:8,oscar:10,overrid:7,overview:7,pageno:[],paramet:11,pars:7,pass:7,plugin:9,point:9,post:9,pre:9,prime:6,privaci:[6,14],privat:14,project:12,protect:[1,14],proxi:2,python3:5,queri:[],quickstart:10,refer:8,request:[1,7],requir:12,respons:0,result:[2,7,9],results_on_new_tab:[],rout:1,run:[5,10],safesearch:[],sampl:[0,1],search:[0,9,11,15],searx:[3,5,8,13,14],see:14,server:8,set:7,setup:[2,10],sourc:10,style:10,subdirectori:8,support:5,syntax:15,test:10,theme:10,through:1,time_rang:[],tip:10,tool:[],torrent:7,transifex:12,translat:[6,12],updat:[8,12],url:8,use:14,user:13,using:[5,14],uwsgi:8,video:7,web:8,welcom:13,what:14,why:14,yml:7,you:5,your:[3,10]}})
1+Search.setIndex({docnames:["admin/api","admin/filtron","admin/morty","blog/admin","blog/blog","blog/intro-offline","blog/python3","dev/contribution_guide","dev/engine_overview","dev/install/installation","dev/plugins","dev/quickstart","dev/search_api","dev/translation","index","user/own-instance","user/search_syntax"],envversion:53,filenames:["admin/api.rst","admin/filtron.rst","admin/morty.rst","blog/admin.rst","blog/blog.rst","blog/intro-offline.rst","blog/python3.rst","dev/contribution_guide.rst","dev/engine_overview.rst","dev/install/installation.rst","dev/plugins.rst","dev/quickstart.rst","dev/search_api.rst","dev/translation.rst","index.rst","user/own-instance.rst","user/search_syntax.rst"],objects:{},objnames:{},objtypes:{},terms:{"boolean":8,"break":7,"byte":8,"case":[9,11,15],"default":[1,2,6,7,9,10,12,14,15,16],"function":[5,8,10],"import":[5,9],"int":8,"long":15,"new":[3,5,7,10,11,12,13],"null":9,"public":14,"return":[5,10,15],"short":11,"static":10,"switch":7,"true":[0,1,5,8,9,10,11,12],"try":[11,15],"while":5,But:[3,6,8,15],For:[1,7,9,11,12],IPs:1,One:3,The:[0,7,8,9,12,15],Then:[5,6,11,13],There:7,These:8,Use:1,a2enmod:9,abbrev:16,abl:[5,7,8],about:[7,9,14],abov:[7,9,12],abus:[1,15],accept:[5,16],access:[1,3,5,15],access_log:9,account:13,act:[2,3],action:[0,1],activ:[2,6,9,11,12],adapt:8,add:[2,7,9,10,16],added:10,adding:5,addit:[8,9],addition:[14,15],address:[2,8,15],admin:4,administr:[3,5,12,15],adopt:7,ads:15,advantag:3,advertis:15,advis:[1,9],affect:3,after:[6,10,11,13],agent:[1,8],aggreg:[1,14,15],ahrefsbot:1,aim:3,all:[0,2,6,7,8,12],allow:[9,16],along:1,alreadi:7,also:[7,9,15,16],alter:7,alwai:[8,11,15],among:[7,15],ani:[12,14],anonym:[14,15],anoth:[3,8],answer:15,anyon:14,anyth:[6,15],apache2:9,api:[8,13,14],api_kei:8,app:9,appear:11,append:5,appli:[7,9],applic:[1,3,9],appropri:7,apt:[9,11],arbitrari:[5,8],arch:0,archiv:1,argument:2,arrai:8,art:12,asciimoo:[5,9,11,13],aspect:7,assign:8,attach:10,author:7,auto:13,autocomplet:[0,12],avail:[5,9,11,12,15],avoid:1,babel:9,back:9,baiduspid:1,ban:15,bar:14,barrier:3,base:[5,8,12],base_url:[8,9],bash:9,becaus:[3,7,8,11,13,15],been:5,befor:[6,10,11,15],behaviour:[7,10],being:[1,3,6,14],below:[1,7,9,11,13],besid:15,best:15,better:[8,9,15],between:8,biggest:3,bin:[6,9,11],bingbot:1,bitbucket:0,block:1,born:7,bot:1,both:[6,7,12,15],botlimit:1,boundingbox:8,branch:7,browser:[4,6,7,15],bug:11,bugreport:7,build:[7,9],built:[7,8,11],call:[3,13],callback:10,can:[0,1,2,3,5,6,7,8,9,10,11,14,15],cannot:15,capabl:[3,7],caplabl:5,captcha:15,categori:[0,5,8,12,16],certif:9,chainabl:16,chang:[6,9],chapter:7,charact:7,chdir:9,check:[5,7,8,11,13],checkout:7,chmod:9,choic:15,choos:[7,8],chown:9,citi:8,clear:15,cli:[11,13],client:1,clone:[9,11],code:[5,9,11,12,15],codebas:3,com:[3,5,8,9,11,12,13],combin:9,come:[1,6,7,15],comma:12,command:[1,6,9,11,13],commit:[11,13],common:[11,15],commun:5,compani:15,compat:6,compil:13,complet:12,compon:10,compromis:15,comput:15,concern:7,conf:9,config:[0,8,9,13],configur:[3,5,13,15],connect:[5,14],consequ:7,construct:8,consult:11,contain:11,content:15,context:10,contribut:14,control:15,convent:7,cooki:[8,14,15],core:5,corner:7,could:8,count:9,countri:8,coupl:9,courgett:12,coverag:11,cpu:9,creat:[5,6,7,9,11,12,13],cryptic:11,css:10,css_depend:10,csv:[1,12],cthulhu:16,ctx:10,curl:1,current:[5,7,8,16],custom:[7,16],customiz:[0,3],customlog:9,dai:12,data:[8,15],date:[0,8],datetim:8,daunt:3,dbpedia:12,ddg:16,debian:9,debug:9,decid:3,decim:8,def:[5,8,10],default_local:0,default_on:10,default_them:0,defin:10,delet:[12,13],demon:9,depen:1,depend:[3,5,6,8,9,11,12],deploi:9,descript:10,deserv:7,design:5,desir:[8,11],detail:5,deutsch:0,dev:9,develop:[3,6,7],differ:[6,7,8],digit:14,disabl:[10,12],disabled_engin:12,disabled_plugin:12,discoveri:5,disrespect:7,dive:15,doai_rewrit:12,dockerfil:9,document:5,doe:[3,5,8,12],domain:9,domin:7,don:[6,14],drop:6,duckduckgo:[12,16],each:12,easi:14,easili:7,edit:[3,7,9,15],effect:7,either:11,elimin:11,emb:14,embed:[0,9],empti:12,en_u:8,enabl:[0,7,9,11,12],enabled_engin:12,enabled_plugin:12,encrypt:14,engin:[0,3,4,7,11,12,14,15,16],english:0,enough:13,enpoint:12,enter:[6,9],error:11,error_log:9,esperanto:0,essenti:9,etc:[1,7,9],everi:[8,15],everyon:[5,15],everyth:[9,15],exactli:1,exampl:[0,1,5,9,11,12,15],exceed:1,except:[6,7],exchang:15,execut:13,exist:[3,7],exit:9,expect:7,experienc:3,explain:7,extend:[5,7,10],extens:7,extern:[1,2,8,12,15],extrem:3,fail:11,fals:[0,9,10,11,12],fanci:7,featur:[2,3,7,15],feedback:7,feedfetch:1,feel:10,few:[7,8],file:[3,5,6,7,9,10,11,13],file_filt:13,filenam:8,files:8,filter:[0,1,12],find:[1,5],fine:9,finish:13,firewal:1,first:[3,5,6,11,15],fit:10,fix:[7,11],flask:10,folder:[7,8,11,13],follow:[1,2,7,8,11,13],followsymlink:9,fork:7,form:[0,15],format:[1,8,11,12],forward:[1,9,15],found:[1,3],foundat:[3,5,6],free:[9,10,14],friend:15,from:[1,4,5,6,7,13,14,15],fulli:3,fund:5,further:11,furthermor:[8,11,12,15],gain:15,gener:[0,5,7,15],geojson:8,german:0,get:[7,8,9,11,12,13,14],gid:9,git:[9,11],github:[3,5,6,9,11,12],give:11,goi:0,going:[1,5,15],good:[7,11],googl:[0,12],googlebot:1,grant:9,graphic:3,group:15,grow:3,grunt:11,grunt_build:11,guid:[3,11],hack:[3,5,6,7],hackerspac:16,handl:15,handler:9,happi:[3,5,6,7],hard:3,has:[2,5,7,8,11,15],have:[3,6,7,8,9,15],header:[1,8],help:[7,11],her:[12,15],here:5,hex:9,hidden:[0,15],his:[12,15],home:13,host:[1,3,13,14],hotkei:0,hour:9,hous:8,house_numb:8,how:14,howev:[5,8,12],html:[0,7,8],http:[0,1,2,3,5,8,9,11,13,14],http_host:1,https_rewrit:12,hub:9,idea:11,imag:[0,2,12,16],image_proxi:12,img_src:8,implement:[3,6,7,8,10],includ:9,inclus:16,index:9,infinite_scrol:12,inform:[1,2,7,8,9],ini:9,init:[5,9],initi:13,input:0,insert:13,insid:8,insight:15,instal:[1,2,6,7,11,13,14],instanc:[0,4,5,9,12,13,14],instance_nam:0,instead:[3,6,11],insuffici:5,integr:14,intent:7,interfac:4,interfer:7,intern:11,internet:[5,14],interpret:9,interpretor:9,interv:1,introduc:[3,4,5],introduct:11,investig:6,iso:8,issu:[5,6],its:[3,7,12,15],itself:7,jame:1,js_depend:10,json:[1,12],just:[0,15],kei:[2,5,8,13],kind:15,know:[5,15],kvch:[3,5,6],lack:7,lang:[0,12,13],languag:[0,8,12,13,16],language_support:8,laptop:15,lat:8,latest:13,latitud:8,lazi:9,lc_messag:13,least:6,leech:8,leecher:8,legaci:12,length:7,less:[3,11,15],let:15,level:7,libapache2:9,libffi:9,libssl:9,libxslt:9,light:9,like:[0,8,9],like_hotkei:12,limit:[1,5],line:[5,7],linkdexbot:1,linux:0,list:[5,8,10,12,16],listen:[1,9],local:[0,6,8,9,10,11,13],localhost:9,locat:[1,9],log:[11,15],logicodev:12,lon:8,longitud:8,low:9,magnetlink:8,main:13,make:[3,6,9,15],manag:[4,9,11],mani:1,manipul:3,map:0,mass:7,master:9,matter:[8,15],max:[1,8],maxim:7,maximum:[7,8],mean:15,media:[0,8],mention:6,messag:[1,11,13],messagespo:13,metasearch:[8,14],method:[0,8],might:[7,12,15],migrat:6,min:8,misbehav:7,mj12bot:1,mod:9,modifi:16,modul:9,monet:15,month:[0,12],more:[2,3,5,7,9,12,14,15],morti:2,most:[6,15],move:5,msnbot:1,multibl:8,multipl:15,must:[6,7,8,11],myproject:11,name:[0,1,8,9,10,13],necessari:9,need:[5,7,15],neither:14,net:14,netvib:1,newcom:3,nginx:1,nlnet:[3,5,6],node:11,nodej:11,non:5,none:[8,12],nor:14,normal:8,note:[7,9,12],now:[6,10],npm:11,number:[1,8,9,12],number_of_result:8,object:[8,10],off:[7,9],offlin:[4,8],often:8,okhin:9,on_result:10,one:[14,15],ones:8,onli:[2,9,10,12],onlin:[5,14],open:[6,12,15],openssl:9,openstreetmap:0,oper:[6,15],option:[2,3,8,9,10,11,12,15],order:[7,11],org:8,org_bot:1,organis:14,origin:9,oscar:[0,12],osm:[0,8],other:[7,8,15],otherwis:8,our:3,out:[5,7],output:12,over:14,overview:14,overwritten:8,own:[14,15],packag:[9,11],page:[1,3,7,8,12,15,16],pageno:[8,12],pagenumb:8,pair:5,param:[1,5,8],paramet:8,paramt:8,pars:12,parse_lin:5,part:3,parti:15,partli:8,pass:[5,12],past:0,patch:7,path:[1,9],peopl:[3,15],pep8:[7,11],per:8,perform:[5,8],phase:11,pip3:6,pip:[7,13],pipe:5,pix:12,place:[7,8,15],pleas:[6,7,9,11,12],plenti:7,plugin:[0,7,9,12,14],point:[9,15],pointhi:12,popen:5,port:[1,9],possibl:[2,5,9,12],post:[0,7,9,12],post_search:10,postcod:8,pot:13,pre_search:10,prefer:[3,12,15,16],prefix:16,prepar:4,present:5,preserv:7,preview:8,privaci:9,privat:[5,14],problem:1,proce:9,process:[1,5],profil:[14,15],project:1,promot:14,proper:15,properli:6,propos:5,protect:[7,14],provid:[7,8],proxi:[9,12,14,15],proxifi:2,proxy_add_x_forwarded_for:[1,9],proxy_buff:9,proxy_pass:[1,9],proxy_set_head:[1,9],publicli:5,publish:8,publishedd:8,pull:[5,7,9,13],purpos:8,pybabel:13,python2:6,python3:4,python:[1,6,9],pythonpath:9,quadratur:14,queri:[0,5,8,12,15,16],question:15,quickstart:[7,14],quit:7,qwer:16,rais:5,rand:9,random:[8,15],rang:[8,12],rate:1,read:5,readlin:5,readm:2,real:1,reason:3,recommend:8,reconsid:7,redefin:8,reduc:7,refer:[14,15],regardless:15,regular:5,rememb:7,remote_addr:1,remov:15,renam:12,replac:[3,10],repo:7,repositori:[3,9],request:[5,7,10,15],requir:[6,7,8,11,12],reset:15,respect:[7,15],restart:[2,9],result:[5,12,14,15],result_proxi:2,results_on_new_tab:12,retriev:13,return_cod:5,revers:9,rewrit:[0,9],right:[9,10,14],road:8,roboag:1,robotframework:6,root:9,round:7,rss:[1,12],rst:7,rule:1,run:[1,2,5,8,9,10,13,15],runtimeerror:5,safe:12,safe_search:0,safesearch:12,same:[1,8],satisfi:11,schedul:5,scheme:[1,9],scrapi:1,script:[1,9,11],script_nam:9,search:[1,5,7,8,14,15],search_on_category_select:12,search_path:8,search_str:8,searx:[0,1,2,4,5,7,8,10,11,12,13,16],sec:1,secur:14,sed:9,see:[2,7,9,12,14,16],seed:8,seeder:8,select:[15,16],selenium:11,self:[3,14],self_inform:12,send:[1,15],sent:15,separ:[7,12],serv:15,server:11,server_nam:9,servic:[1,2,9,12,14,15],set:[2,3,5,9,11,13,14,15],sethandl:9,setup:[9,14],seznambot:1,she:15,shortcut:[0,8],should:[3,6,7,9,13],simpl:12,simpli:[7,12],sinc:3,singl:[9,15],site:[0,8,9,12],size:8,skeleton:5,skip:11,slurp:1,small:8,smtbot:1,snippet:2,social:0,socket:9,sold:15,solv:1,some:9,someon:15,someth:7,sometim:3,sourc:[6,13,15],source_fil:13,source_lang:13,special:8,specif:[8,9],specifi:[8,12],sphinx:7,splinter:6,sponsor:[3,5,6],ssl:[8,9,14],stack:11,standalon:3,standard:[7,8],start:[1,7,8,9,14],startpag:12,stash:9,stdout:5,step:[7,9],stop:1,store:[8,15],street:8,string:[8,12,13],style:12,submit:7,subprocess:5,subrul:1,sudo:[9,11],suggest:10,supervisor:3,support:[4,7,8,12,14,15],sure:[6,9],symlink:9,syntax:[12,14],system:[6,7],tab:12,tabl:5,tailor:15,take:[3,7],tell:8,templat:[5,8],test:[6,7,9],text:[0,8],than:14,thei:15,theme:12,thi:[1,2,3,5,6,8,9,10,11,12,15],think:7,third:15,those:[5,13,15],thread:9,three:[7,10,15],through:[12,15],thu:[5,6,12,15],thumbnail:8,thumbnail_src:8,time:[1,6,8,12,15],time_rang:[0,12],time_range_support:8,timeout:8,titl:8,tld:9,todai:5,togeth:5,token:5,too:[1,15],tool:[3,7,13],tor:[14,15],torrentfil:8,trace:11,track:[14,15],tracker_url_remov:12,traffic:9,transifex:7,transifexrc:13,translat:14,travi:[6,11],trust:[14,15],try_fil:9,tupl:10,turn:[7,11],twice:9,two:[7,12],txt:[6,7],type:[0,8,12,13,15],ubuntu:9,ugli:3,uid:9,ultrasecretkei:9,uncommon:7,under:[7,8],understand:3,unfortun:7,unit:[7,11],unit_test:11,univers:9,unix:9,unknown:15,unlik:15,unspecifi:8,updat:7,update_dev_packag:11,update_packag:9,uri:9,url:[0,2,8,15],urlencod:8,usag:3,use:[2,5,7,8,9,14],used:[6,7,8,9,14,15],user:[1,7,8,9,15],useradd:9,userag:1,uses:[8,15],using:[1,7,9,11,13,14],usr:9,usual:[6,9,15],uwsgi_modifier1:9,uwsgi_param:9,uwsgi_pass:9,uwsgisocket:9,valid:[8,11,12],valu:[0,5,8],variabl:8,variou:[7,10],vendor:7,venv3:6,verifi:8,version:6,via:[3,16],view:15,vim:[0,12],virtual:9,virtualenv:[6,9,11],visit:15,vpn:15,vulner:15,wai:[5,7,8,15],wait:5,want:[6,12,15],warn:9,web:3,webapp:[6,9],webcrawl:1,websit:0,weird:7,were:[5,6],wget:1,whatev:9,when:[6,10,11,15],where:1,whether:[11,15],which:[1,3,5,7,8,12,14,15],who:[3,5,9,15],whole:[9,10],why:14,wide:7,wiki:[0,5],wikipedia:[12,16],wish:7,without:[8,14,15],won:6,wonderfal:9,word:[10,12],work:[7,8,9,11,15],worker:9,world:[7,15],worri:6,worth:15,wsgi:9,www:13,yacybot:1,yahoo:1,yandexbot:1,yandexmobilebot:1,year:12,yet:8,yml:[2,3,5,9,11],you:[5,7,9,11,12,14,15,16],your:[2,4,6,7,9,10,14],your_morty_proxy_kei:2,yourself:7,zero:5,zgrab:1,zlib1g:9},titles:["Administration API","How to protect an instance","How to setup result proxy","Searx admin interface: manage your instance from your browser","Blog","Preparation for offline engines","Introducing Python3 support","How to contribute","Engine overview","Installation","Plugins","Development Quickstart","Search API","Translation","Welcome to searx","Why use a private instance?","Search syntax"],titleterms:{"default":8,"public":15,"return":8,about:15,acknowledg:[3,5,6],admin:3,administr:[0,14],apach:9,api:[0,12],argument:8,bar:0,basic:9,blog:4,browser:3,bug:6,build:11,check:9,code:[7,8],compil:11,conclus:15,configur:[0,1,8,9],consequ:15,content:[8,9],contribut:7,data:0,debug:11,design:7,develop:[5,11,14],direct:7,disabl:9,docker:9,document:[7,14],doe:15,emb:0,engin:[5,8],entri:10,environ:11,exampl:[8,10,16],fact:6,featur:14,file:8,filtron:1,found:6,from:[3,9],fun:6,gener:8,get:0,hackabl:7,hook:10,host:9,how:[1,2,6,7,9,11,15],imag:8,init:13,instal:[3,9],instanc:[1,3,15],interfac:3,introduc:6,javascript:11,log:9,make:8,manag:3,map:8,next:5,nginx:9,offlin:5,oscar:11,overrid:8,overview:8,paramet:12,pars:8,pass:8,plugin:10,point:10,post:10,pre:10,prepar:5,prime:7,privaci:[7,15],privat:15,progress:5,project:13,protect:[1,15],proxi:2,python3:6,quickstart:11,refer:9,request:[1,8],requir:13,respons:0,result:[2,8,10],rout:1,run:[6,11],sampl:[0,1],search:[0,10,12,16],searx:[3,6,9,14,15],see:15,server:9,set:8,setup:[2,11],sourc:11,step:5,style:11,subdirectori:9,support:6,syntax:16,test:11,theme:11,through:1,tip:11,torrent:8,transifex:13,translat:[7,13],updat:[9,13],url:9,use:15,user:14,using:[6,15],uwsgi:9,video:8,web:9,welcom:14,what:15,why:15,yml:8,you:6,your:[3,11]}})
user/own-instance.html+4−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>Why use a private instance? &#8212; searx 0.12.0 documentation</title>
9 <title>Why use a private instance? &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
16 URL_ROOT: '../',
@@ -98,7 +101,7 @@ This means that the user of the public instance does not know whether his/her re
98 <div class="clearer"></div>
101 <div class="clearer"></div>
99 </div>
102 </div>
100 <div class="footer">
103 <div class="footer">
101− &copy; Copyright 2015-2017, Adam Tauber.
104+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
102 </div>
105 </div>
103 </body>
106 </body>
104</html>
107</html>
user/search_syntax.html+4−1
@@ -5,9 +5,12 @@
5<html xmlns="http://www.w3.org/1999/xhtml">
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8+
8 <title>Search syntax &#8212; searx 0.12.0 documentation</title>
9 <title>Search syntax &#8212; searx 0.12.0 documentation</title>
10+
9 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
11 <link rel="stylesheet" href="../_static/style.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13+
11 <script type="text/javascript">
14 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
15 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
16 URL_ROOT: '../',
@@ -88,7 +91,7 @@ list of engines, categories and languages.</p>
88 <div class="clearer"></div>
91 <div class="clearer"></div>
89 </div>
92 </div>
90 <div class="footer">
93 <div class="footer">
91− &copy; Copyright 2015-2017, Adam Tauber.
94+ &copy; Copyright 2015-2019, Adam Tauber, Noémi Ványi.
92 </div>
95 </div>
93 </body>
96 </body>
94</html>
97</html>