hostnames.html 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. <!DOCTYPE html>
  2. <html lang="en" data-content_root="../../">
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <title>Hostnames &#8212; SearXNG Documentation (2025.4.30+fd33559cf)</title>
  8. <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=6625fa76" />
  9. <link rel="stylesheet" type="text/css" href="../../_static/searxng.css?v=52e4ff28" />
  10. <script src="../../_static/documentation_options.js?v=b12b0e12"></script>
  11. <script src="../../_static/doctools.js?v=9a2dae69"></script>
  12. <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
  13. <script data-project="searxng" data-version="2025.4.30+fd33559cf" src="../../_static/describe_version.js?v=fa7f30d0"></script>
  14. <link rel="index" title="Index" href="../../genindex.html" />
  15. <link rel="search" title="Search" href="../../search.html" />
  16. <link rel="next" title="Self-Info" href="self_info.html" />
  17. <link rel="prev" title="Hash Values" href="hash_plugin.html" />
  18. </head><body>
  19. <div class="related" role="navigation" aria-label="Related">
  20. <h3>Navigation</h3>
  21. <ul>
  22. <li class="right" style="margin-right: 10px">
  23. <a href="../../genindex.html" title="General Index"
  24. accesskey="I">index</a></li>
  25. <li class="right" >
  26. <a href="../../py-modindex.html" title="Python Module Index"
  27. >modules</a> |</li>
  28. <li class="right" >
  29. <a href="self_info.html" title="Self-Info"
  30. accesskey="N">next</a> |</li>
  31. <li class="right" >
  32. <a href="hash_plugin.html" title="Hash Values"
  33. accesskey="P">previous</a> |</li>
  34. <li class="nav-item nav-item-0"><a href="../../index.html">SearXNG Documentation (2025.4.30+fd33559cf)</a> &#187;</li>
  35. <li class="nav-item nav-item-1"><a href="../index.html" >Developer documentation</a> &#187;</li>
  36. <li class="nav-item nav-item-2"><a href="index.html" >Plugins</a> &#187;</li>
  37. <li class="nav-item nav-item-3"><a href="builtins.html" accesskey="U">Built-in Plugins</a> &#187;</li>
  38. <li class="nav-item nav-item-this"><a href="">Hostnames</a></li>
  39. </ul>
  40. </div>
  41. <div class="document">
  42. <div class="documentwrapper">
  43. <div class="bodywrapper">
  44. <div class="body" role="main">
  45. <section id="module-searx.plugins.hostnames">
  46. <span id="hostnames"></span><span id="hostnames-plugin"></span><h1>Hostnames<a class="headerlink" href="#module-searx.plugins.hostnames" title="Link to this heading">¶</a></h1>
  47. <p>During the initialization phase, the plugin checks whether a <code class="docutils literal notranslate"><span class="pre">hostnames:</span></code>
  48. configuration exists. If this is not the case, the plugin is not included
  49. in the PluginStorage (it is not available for selection).</p>
  50. <ul>
  51. <li><p><code class="docutils literal notranslate"><span class="pre">hostnames.replace</span></code>: A <strong>mapping</strong> of regular expressions to hostnames to be
  52. replaced by other hostnames.</p>
  53. <div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">hostnames</span><span class="p">:</span>
  54. <span class="w"> </span><span class="nt">replace</span><span class="p">:</span>
  55. <span class="w"> </span><span class="s">&#39;(.*\.)?youtube\.com$&#39;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="s">&#39;invidious.example.com&#39;</span>
  56. <span class="w"> </span><span class="s">&#39;(.*\.)?youtu\.be$&#39;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="s">&#39;invidious.example.com&#39;</span>
  57. <span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
  58. </pre></div>
  59. </div>
  60. </li>
  61. <li><p><code class="docutils literal notranslate"><span class="pre">hostnames.remove</span></code>: A <strong>list</strong> of regular expressions of the hostnames whose
  62. results should be taken from the results list.</p>
  63. <div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">hostnames</span><span class="p">:</span>
  64. <span class="w"> </span><span class="nt">remove</span><span class="p">:</span>
  65. <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&#39;(.*\.)?facebook.com$&#39;</span>
  66. <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
  67. </pre></div>
  68. </div>
  69. </li>
  70. <li><p><code class="docutils literal notranslate"><span class="pre">hostnames.high_priority</span></code>: A <strong>list</strong> of regular expressions for hostnames
  71. whose result should be given higher priority. The results from these hosts are
  72. arranged higher in the results list.</p>
  73. <div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">hostnames</span><span class="p">:</span>
  74. <span class="w"> </span><span class="nt">high_priority</span><span class="p">:</span>
  75. <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&#39;(.*\.)?wikipedia.org$&#39;</span>
  76. <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
  77. </pre></div>
  78. </div>
  79. </li>
  80. <li><p><code class="docutils literal notranslate"><span class="pre">hostnames.lower_priority</span></code>: A <strong>list</strong> of regular expressions for hostnames
  81. whose result should be given lower priority. The results from these hosts are
  82. arranged lower in the results list.</p>
  83. <div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">hostnames</span><span class="p">:</span>
  84. <span class="w"> </span><span class="nt">low_priority</span><span class="p">:</span>
  85. <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&#39;(.*\.)?google(\..*)?$&#39;</span>
  86. <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
  87. </pre></div>
  88. </div>
  89. </li>
  90. </ul>
  91. <p>If the URL matches the pattern of <code class="docutils literal notranslate"><span class="pre">high_priority</span></code> AND <code class="docutils literal notranslate"><span class="pre">low_priority</span></code>, the
  92. higher priority wins over the lower priority.</p>
  93. <p>Alternatively, you can also specify a file name for the <strong>mappings</strong> or
  94. <strong>lists</strong> to load these from an external file:</p>
  95. <div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">hostnames</span><span class="p">:</span>
  96. <span class="w"> </span><span class="nt">replace</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;rewrite-hosts.yml&#39;</span>
  97. <span class="w"> </span><span class="nt">remove</span><span class="p">:</span>
  98. <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&#39;(.*\.)?facebook.com$&#39;</span>
  99. <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
  100. <span class="w"> </span><span class="nt">low_priority</span><span class="p">:</span>
  101. <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&#39;(.*\.)?google(\..*)?$&#39;</span>
  102. <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
  103. <span class="w"> </span><span class="nt">high_priority</span><span class="p">:</span>
  104. <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&#39;(.*\.)?wikipedia.org$&#39;</span>
  105. <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
  106. </pre></div>
  107. </div>
  108. <p>The <code class="docutils literal notranslate"><span class="pre">rewrite-hosts.yml</span></code> from the example above must be in the folder in which
  109. the <code class="docutils literal notranslate"><span class="pre">settings.yml</span></code> file is already located (<code class="docutils literal notranslate"><span class="pre">/etc/searxng</span></code>). The file then
  110. only contains the lists or the mapping tables without further information on the
  111. namespaces. In the example above, this would be a mapping table that looks
  112. something like this:</p>
  113. <div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="s">&#39;(.*\.)?youtube\.com$&#39;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="s">&#39;invidious.example.com&#39;</span>
  114. <span class="s">&#39;(.*\.)?youtu\.be$&#39;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="s">&#39;invidious.example.com&#39;</span>
  115. </pre></div>
  116. </div>
  117. <dl class="py class">
  118. <dt class="sig sig-object py" id="searx.plugins.hostnames.SXNGPlugin">
  119. <em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">searx.plugins.hostnames.</span></span><span class="sig-name descname"><span class="pre">SXNGPlugin</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plg_cfg</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="development.html#searx.plugins.PluginCfg" title="searx.plugins.PluginCfg"><span class="pre">PluginCfg</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/searx/plugins/hostnames.html#SXNGPlugin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#searx.plugins.hostnames.SXNGPlugin" title="Link to this definition">¶</a></dt>
  120. <dd><p>Rewrite hostnames, remove results or prioritize them.</p>
  121. <dl class="py attribute">
  122. <dt class="sig sig-object py" id="searx.plugins.hostnames.SXNGPlugin.id">
  123. <span class="sig-name descname"><span class="pre">id</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.13)"><span class="pre">str</span></a></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'hostnames'</span></em><a class="headerlink" href="#searx.plugins.hostnames.SXNGPlugin.id" title="Link to this definition">¶</a></dt>
  124. <dd><p>The ID (suffix) in the HTML form.</p>
  125. </dd></dl>
  126. <dl class="py method">
  127. <dt class="sig sig-object py" id="searx.plugins.hostnames.SXNGPlugin.on_result">
  128. <span class="sig-name descname"><span class="pre">on_result</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../extended_types.html#searx.extended_types.SXNG_Request" title="searx.extended_types.SXNG_Request"><span class="pre">SXNG_Request</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">search</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../../src/searx.search.html#searx.search.SearchWithPlugins" title="searx.search.SearchWithPlugins"><span class="pre">SearchWithPlugins</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">result</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../result_types/base_result.html#searx.result_types._base.Result" title="searx.result_types._base.Result"><span class="pre">Result</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.13)"><span class="pre">bool</span></a></span></span><a class="reference internal" href="../../_modules/searx/plugins/hostnames.html#SXNGPlugin.on_result"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#searx.plugins.hostnames.SXNGPlugin.on_result" title="Link to this definition">¶</a></dt>
  129. <dd><p>Runs for each result of each engine and returns a boolean:</p>
  130. <ul class="simple">
  131. <li><p><code class="docutils literal notranslate"><span class="pre">True</span></code> to keep the result</p></li>
  132. <li><p><code class="docutils literal notranslate"><span class="pre">False</span></code> to remove the result from the result list</p></li>
  133. </ul>
  134. <p>The <code class="docutils literal notranslate"><span class="pre">result</span></code> can be modified to the needs.</p>
  135. <div class="admonition hint">
  136. <p class="admonition-title">Hint</p>
  137. <p>If <a class="reference internal" href="../result_types/base_result.html#searx.result_types._base.Result.url" title="searx.result_types._base.Result.url"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Result.url</span></code></a> is modified,
  138. <a class="reference internal" href="../result_types/base_result.html#searx.result_types._base.Result.parsed_url" title="searx.result_types._base.Result.parsed_url"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Result.parsed_url</span></code></a> must
  139. be changed accordingly:</p>
  140. <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">result</span><span class="p">[</span><span class="s2">&quot;parsed_url&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">urlparse</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="s2">&quot;url&quot;</span><span class="p">])</span>
  141. </pre></div>
  142. </div>
  143. </div>
  144. </dd></dl>
  145. <dl class="py method">
  146. <dt class="sig sig-object py" id="searx.plugins.hostnames.SXNGPlugin.init">
  147. <span class="sig-name descname"><span class="pre">init</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://flask.palletsprojects.com/en/stable/api/#flask.Flask" title="(in Flask v3.1.x)"><span class="pre">flask.Flask</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.13)"><span class="pre">bool</span></a></span></span><a class="reference internal" href="../../_modules/searx/plugins/hostnames.html#SXNGPlugin.init"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#searx.plugins.hostnames.SXNGPlugin.init" title="Link to this definition">¶</a></dt>
  148. <dd><p>Initialization of the plugin, the return value decides whether this
  149. plugin is active or not. Initialization only takes place once, at the
  150. time the WEB application is set up. The base methode always returns
  151. <code class="docutils literal notranslate"><span class="pre">True</span></code>, the methode can be overwritten in the inheritances,</p>
  152. <ul class="simple">
  153. <li><p><code class="docutils literal notranslate"><span class="pre">True</span></code> plugin is active</p></li>
  154. <li><p><code class="docutils literal notranslate"><span class="pre">False</span></code> plugin is inactive</p></li>
  155. </ul>
  156. </dd></dl>
  157. </dd></dl>
  158. <dl class="py function">
  159. <dt class="sig sig-object py" id="searx.plugins.hostnames.filter_url_field">
  160. <span class="sig-prename descclassname"><span class="pre">searx.plugins.hostnames.</span></span><span class="sig-name descname"><span class="pre">filter_url_field</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">result</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="../result_types/base_result.html#searx.result_types._base.Result" title="searx.result_types._base.Result"><span class="pre">Result</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference internal" href="../result_types/base_result.html#searx.result_types._base.LegacyResult" title="searx.result_types._base.LegacyResult"><span class="pre">LegacyResult</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">field_name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.13)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">url_src</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.13)"><span class="pre">str</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.13)"><span class="pre">bool</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.13)"><span class="pre">str</span></a></span></span><a class="reference internal" href="../../_modules/searx/plugins/hostnames.html#filter_url_field"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#searx.plugins.hostnames.filter_url_field" title="Link to this definition">¶</a></dt>
  161. <dd><p>Returns bool <code class="docutils literal notranslate"><span class="pre">True</span></code> to use URL unchanged (<code class="docutils literal notranslate"><span class="pre">False</span></code> to ignore URL).
  162. If URL should be modified, the returned string is the new URL to use.</p>
  163. </dd></dl>
  164. </section>
  165. <div class="clearer"></div>
  166. </div>
  167. </div>
  168. </div>
  169. <span id="sidebar-top"></span>
  170. <div class="sphinxsidebar" role="navigation" aria-label="Main">
  171. <div class="sphinxsidebarwrapper">
  172. <p class="logo"><a href="../../index.html">
  173. <img class="logo" src="../../_static/searxng-wordmark.svg" alt="Logo of SearXNG"/>
  174. </a></p>
  175. <h3><a href="../../index.html">Table of Contents</a></h3>
  176. <ul class="current">
  177. <li class="toctree-l1"><a class="reference internal" href="../../user/index.html">User information</a></li>
  178. <li class="toctree-l1"><a class="reference internal" href="../../own-instance.html">Why use a private instance?</a></li>
  179. <li class="toctree-l1"><a class="reference internal" href="../../admin/index.html">Administrator documentation</a></li>
  180. <li class="toctree-l1 current"><a class="reference internal" href="../index.html">Developer documentation</a><ul class="current">
  181. <li class="toctree-l2"><a class="reference internal" href="../quickstart.html">Development Quickstart</a></li>
  182. <li class="toctree-l2"><a class="reference internal" href="../rtm_asdf.html">Runtime Management</a></li>
  183. <li class="toctree-l2"><a class="reference internal" href="../contribution_guide.html">How to contribute</a></li>
  184. <li class="toctree-l2"><a class="reference internal" href="../extended_types.html">Extended Types</a></li>
  185. <li class="toctree-l2"><a class="reference internal" href="../engines/index.html">Engine Implementations</a></li>
  186. <li class="toctree-l2"><a class="reference internal" href="../result_types/index.html">Result Types</a></li>
  187. <li class="toctree-l2"><a class="reference internal" href="../templates.html">Simple Theme Templates</a></li>
  188. <li class="toctree-l2"><a class="reference internal" href="../search_api.html">Search API</a></li>
  189. <li class="toctree-l2 current"><a class="reference internal" href="index.html">Plugins</a><ul class="current">
  190. <li class="toctree-l3"><a class="reference internal" href="development.html">Plugin Development</a></li>
  191. <li class="toctree-l3 current"><a class="reference internal" href="builtins.html">Built-in Plugins</a><ul class="current">
  192. <li class="toctree-l4"><a class="reference internal" href="calculator.html">Calculator</a></li>
  193. <li class="toctree-l4"><a class="reference internal" href="hash_plugin.html">Hash Values</a></li>
  194. <li class="toctree-l4 current"><a class="current reference internal" href="#">Hostnames</a><ul>
  195. <li class="toctree-l5"><a class="reference internal" href="#searx.plugins.hostnames.SXNGPlugin"><code class="docutils literal notranslate"><span class="pre">SXNGPlugin</span></code></a></li>
  196. <li class="toctree-l5"><a class="reference internal" href="#searx.plugins.hostnames.filter_url_field"><code class="docutils literal notranslate"><span class="pre">filter_url_field()</span></code></a></li>
  197. </ul>
  198. </li>
  199. <li class="toctree-l4"><a class="reference internal" href="self_info.html">Self-Info</a></li>
  200. <li class="toctree-l4"><a class="reference internal" href="tor_check.html">Tor check</a></li>
  201. <li class="toctree-l4"><a class="reference internal" href="unit_converter.html">Unit Converter</a></li>
  202. </ul>
  203. </li>
  204. </ul>
  205. </li>
  206. <li class="toctree-l2"><a class="reference internal" href="../answerers/index.html">Answerers</a></li>
  207. <li class="toctree-l2"><a class="reference internal" href="../translation.html">Translation</a></li>
  208. <li class="toctree-l2"><a class="reference internal" href="../lxcdev.html">Developing in Linux Containers</a></li>
  209. <li class="toctree-l2"><a class="reference internal" href="../makefile.html">Makefile &amp; <code class="docutils literal notranslate"><span class="pre">./manage</span></code></a></li>
  210. <li class="toctree-l2"><a class="reference internal" href="../reST.html">reST primer</a></li>
  211. <li class="toctree-l2"><a class="reference internal" href="../searxng_extra/index.html">Tooling box <code class="docutils literal notranslate"><span class="pre">searxng_extra</span></code></a></li>
  212. </ul>
  213. </li>
  214. <li class="toctree-l1"><a class="reference internal" href="../../utils/index.html">DevOps tooling box</a></li>
  215. <li class="toctree-l1"><a class="reference internal" href="../../src/index.html">Source-Code</a></li>
  216. </ul>
  217. <h3>Project Links</h3>
  218. <ul>
  219. <li><a href="https://github.com/searxng/searxng/tree/master">Source</a>
  220. <li><a href="https://github.com/searxng/searxng/wiki">Wiki</a>
  221. <li><a href="https://searx.space">Public instances</a>
  222. <li><a href="https://github.com/searxng/searxng/issues">Issue Tracker</a>
  223. </ul><h3>Navigation</h3>
  224. <ul>
  225. <li><a href="../../index.html">Overview</a>
  226. <ul>
  227. <li><a href="../index.html">Developer documentation</a>
  228. <ul>
  229. <li><a href="index.html">Plugins</a>
  230. <ul>
  231. <li><a href="builtins.html">Built-in Plugins</a>
  232. <ul>
  233. <li>Previous: <a href="hash_plugin.html" title="previous chapter">Hash Values</a>
  234. <li>Next: <a href="self_info.html" title="next chapter">Self-Info</a></ul>
  235. </li></ul>
  236. </li></ul>
  237. </li>
  238. </ul>
  239. </li>
  240. </ul>
  241. <search id="searchbox" style="display: none" role="search">
  242. <h3 id="searchlabel">Quick search</h3>
  243. <div class="searchformwrapper">
  244. <form class="search" action="../../search.html" method="get">
  245. <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
  246. <input type="submit" value="Go" />
  247. </form>
  248. </div>
  249. </search>
  250. <script>document.getElementById('searchbox').style.display = "block"</script>
  251. <div role="note" aria-label="source link">
  252. <h3>This Page</h3>
  253. <ul class="this-page-menu">
  254. <li><a href="../../_sources/dev/plugins/hostnames.rst.txt"
  255. rel="nofollow">Show Source</a></li>
  256. </ul>
  257. </div>
  258. </div>
  259. </div>
  260. <div class="clearer"></div>
  261. </div>
  262. <div class="footer" role="contentinfo">
  263. &#169; Copyright SearXNG team.
  264. </div>
  265. </body>
  266. </html>