gh-pages: updated
|
@ -1,31 +1,31 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: foo Pages: 1 -->
|
||||
<svg width="62pt" height="116pt"
|
||||
viewBox="0.00 0.00 62.00 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)">
|
||||
<title>foo</title>
|
||||
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-112 58,-112 58,4 -4,4"/>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-112 58,-112 58,4 -4,4"/>
|
||||
<!-- bar -->
|
||||
<g id="node1" class="node">
|
||||
<title>bar</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="27" cy="-90" rx="27" ry="18"/>
|
||||
<text text-anchor="middle" x="27" y="-86.3" font-family="Times,serif" font-size="14.00" fill="#000000">bar</text>
|
||||
<ellipse fill="none" stroke="black" cx="27" cy="-90" rx="27" ry="18"/>
|
||||
<text text-anchor="middle" x="27" y="-86.3" font-family="Times,serif" font-size="14.00">bar</text>
|
||||
</g>
|
||||
<!-- baz -->
|
||||
<g id="node2" class="node">
|
||||
<title>baz</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="27" cy="-18" rx="27" ry="18"/>
|
||||
<text text-anchor="middle" x="27" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">baz</text>
|
||||
<ellipse fill="none" stroke="black" cx="27" cy="-18" rx="27" ry="18"/>
|
||||
<text text-anchor="middle" x="27" y="-14.3" font-family="Times,serif" font-size="14.00">baz</text>
|
||||
</g>
|
||||
<!-- bar->baz -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>bar->baz</title>
|
||||
<path fill="none" stroke="#000000" d="M27,-71.8314C27,-64.131 27,-54.9743 27,-46.4166"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="30.5001,-46.4132 27,-36.4133 23.5001,-46.4133 30.5001,-46.4132"/>
|
||||
<path fill="none" stroke="black" d="M27,-71.7C27,-63.98 27,-54.71 27,-46.11"/>
|
||||
<polygon fill="black" stroke="black" points="30.5,-46.1 27,-36.1 23.5,-46.1 30.5,-46.1"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
|
@ -1,156 +1,156 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: G Pages: 1 -->
|
||||
<svg width="618pt" height="529pt"
|
||||
viewBox="0.00 0.00 618.00 529.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 525)">
|
||||
<svg width="603pt" height="415pt"
|
||||
viewBox="0.00 0.00 603.00 415.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 411)">
|
||||
<title>G</title>
|
||||
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-525 614,-525 614,4 -4,4"/>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-411 599,-411 599,4 -4,4"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_searx</title>
|
||||
<polygon fill="#fafafa" stroke="#000000" points="8,-8 8,-444 602,-444 602,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="305" y="-428.8" font-family="Sans" font-size="14.00" fill="#000000">Searx instance</text>
|
||||
<polygon fill="#fafafa" stroke="black" points="8,-8 8,-330 587,-330 587,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="297.5" y="-314.8" font-family="Sans" font-size="14.00">Searx instance</text>
|
||||
</g>
|
||||
<!-- browser -->
|
||||
<g id="node1" class="node">
|
||||
<title>browser</title>
|
||||
<polygon fill="#ffffcc" stroke="#000000" points="75,-521 5.2878,-503 75,-485 144.7122,-503 75,-521"/>
|
||||
<polyline fill="none" stroke="#000000" points="16.9067,-506.0001 16.9067,-499.9999 "/>
|
||||
<polyline fill="none" stroke="#000000" points="63.3811,-488.0001 86.6189,-488.0001 "/>
|
||||
<polyline fill="none" stroke="#000000" points="133.0933,-499.9999 133.0933,-506.0001 "/>
|
||||
<polyline fill="none" stroke="#000000" points="86.6189,-517.9999 63.3811,-517.9999 "/>
|
||||
<text text-anchor="middle" x="75" y="-499.3" font-family="Sans" font-size="14.00" fill="#000000">Browser</text>
|
||||
<polygon fill="#ffffcc" stroke="black" points="74,-407 6.8,-389 74,-371 141.2,-389 74,-407"/>
|
||||
<polyline fill="none" stroke="black" points="18.39,-392.1 18.39,-385.9 "/>
|
||||
<polyline fill="none" stroke="black" points="62.41,-374.1 85.59,-374.1 "/>
|
||||
<polyline fill="none" stroke="black" points="129.61,-385.9 129.61,-392.1 "/>
|
||||
<polyline fill="none" stroke="black" points="85.59,-403.9 62.41,-403.9 "/>
|
||||
<text text-anchor="middle" x="74" y="-385.3" font-family="Sans" font-size="14.00">Browser</text>
|
||||
</g>
|
||||
<!-- rp -->
|
||||
<g id="node2" class="node">
|
||||
<title>rp</title>
|
||||
<g id="a_node2"><a xlink:href="https://searx.github.io/searx/utils/filtron.sh.html#public-reverse-proxy" xlink:title="Reverse Proxy">
|
||||
<polygon fill="#ffffcc" stroke="#000000" points="134,-413 16,-413 16,-377 134,-377 134,-413"/>
|
||||
<text text-anchor="middle" x="75" y="-391.3" font-family="Sans" font-size="14.00" fill="#000000">Reverse Proxy</text>
|
||||
<polygon fill="#ffffcc" stroke="black" points="132,-299 16,-299 16,-263 132,-263 132,-299"/>
|
||||
<text text-anchor="middle" x="74" y="-277.3" font-family="Sans" font-size="14.00">Reverse Proxy</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- browser->rp -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>browser->rp</title>
|
||||
<path fill="none" stroke="#000000" d="M75,-484.6793C75,-467.821 75,-442.5651 75,-423.147"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="78.5001,-423.0501 75,-413.0502 71.5001,-423.0502 78.5001,-423.0501"/>
|
||||
<text text-anchor="middle" x="98" y="-455.8" font-family="Sans" font-size="14.00" fill="#000000">HTTPS</text>
|
||||
<path fill="none" stroke="black" d="M74,-370.97C74,-354.38 74,-328.88 74,-309.43"/>
|
||||
<polygon fill="black" stroke="black" points="77.5,-309.34 74,-299.34 70.5,-309.34 77.5,-309.34"/>
|
||||
<text text-anchor="middle" x="96.5" y="-341.8" font-family="Sans" font-size="14.00">HTTPS</text>
|
||||
</g>
|
||||
<!-- filtron -->
|
||||
<g id="node3" class="node">
|
||||
<title>filtron</title>
|
||||
<g id="a_node3"><a xlink:href="https://searx.github.io/searx/utils/filtron.sh.html" xlink:title="Filtron">
|
||||
<polygon fill="#ffffcc" stroke="#000000" points="105.5,-288 44.5,-288 44.5,-252 105.5,-252 105.5,-288"/>
|
||||
<text text-anchor="middle" x="75" y="-266.3" font-family="Sans" font-size="14.00" fill="#000000">Filtron</text>
|
||||
<polygon fill="#ffffcc" stroke="black" points="103.5,-212 44.5,-212 44.5,-176 103.5,-176 103.5,-212"/>
|
||||
<text text-anchor="middle" x="74" y="-190.3" font-family="Sans" font-size="14.00">Filtron</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- rp->filtron -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>rp->filtron</title>
|
||||
<path fill="none" stroke="#000000" d="M75,-376.8239C75,-356.2723 75,-322.5472 75,-298.4893"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="78.5001,-298.198 75,-288.198 71.5001,-298.198 78.5001,-298.198"/>
|
||||
<text text-anchor="middle" x="93.5" y="-328.8" font-family="Sans" font-size="14.00" fill="#000000">HTTP</text>
|
||||
<path fill="none" stroke="black" d="M74,-262.8C74,-251.16 74,-235.55 74,-222.24"/>
|
||||
<polygon fill="black" stroke="black" points="77.5,-222.18 74,-212.18 70.5,-222.18 77.5,-222.18"/>
|
||||
<text text-anchor="middle" x="92" y="-233.8" font-family="Sans" font-size="14.00">HTTP</text>
|
||||
</g>
|
||||
<!-- morty -->
|
||||
<g id="node4" class="node">
|
||||
<title>morty</title>
|
||||
<g id="a_node4"><a xlink:href="https://searx.github.io/searx/utils/morty.sh.html" xlink:title="Morty">
|
||||
<polygon fill="#ffffcc" stroke="#000000" points="180.5,-288 123.5,-288 123.5,-252 180.5,-252 180.5,-288"/>
|
||||
<text text-anchor="middle" x="152" y="-266.3" font-family="Sans" font-size="14.00" fill="#000000">Morty</text>
|
||||
<polygon fill="#ffffcc" stroke="black" points="178,-212 122,-212 122,-176 178,-176 178,-212"/>
|
||||
<text text-anchor="middle" x="150" y="-190.3" font-family="Sans" font-size="14.00">Morty</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- rp->morty -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>rp->morty</title>
|
||||
<path fill="none" stroke="#000000" d="M89.8355,-376.705C98.0006,-366.2543 108.0569,-352.7317 116,-340 124.4983,-326.3785 132.7784,-310.5167 139.2508,-297.3397"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="142.4243,-298.8167 143.6215,-288.2897 136.1209,-295.7724 142.4243,-298.8167"/>
|
||||
<text text-anchor="middle" x="268" y="-328.8" font-family="Sans" font-size="14.00" fill="#000000">optional: images and HTML pages proxy</text>
|
||||
<path fill="none" stroke="black" d="M95.6,-262.69C101.81,-257.29 108.41,-251.14 114,-245 120.76,-237.56 127.42,-228.84 133.12,-220.79"/>
|
||||
<polygon fill="black" stroke="black" points="136.11,-222.62 138.91,-212.4 130.35,-218.65 136.11,-222.62"/>
|
||||
<text text-anchor="middle" x="264.5" y="-233.8" font-family="Sans" font-size="14.00">optional: images and HTML pages proxy</text>
|
||||
</g>
|
||||
<!-- static -->
|
||||
<g id="node5" class="node">
|
||||
<title>static</title>
|
||||
<g id="a_node5"><a xlink:href="url to configure static files" xlink:title="Static files">
|
||||
<polygon fill="#ffffcc" stroke="#000000" points="594,-413 504,-413 504,-377 594,-377 594,-413"/>
|
||||
<text text-anchor="middle" x="549" y="-391.3" font-family="Sans" font-size="14.00" fill="#000000">Static files</text>
|
||||
<polygon fill="#ffffcc" stroke="black" points="579.5,-299 490.5,-299 490.5,-263 579.5,-263 579.5,-299"/>
|
||||
<text text-anchor="middle" x="535" y="-277.3" font-family="Sans" font-size="14.00">Static files</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- rp->static -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>rp->static</title>
|
||||
<path fill="none" stroke="#000000" d="M134.074,-395C226.433,-395 403.7479,-395 493.718,-395"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="493.7212,-398.5001 503.7212,-395 493.7211,-391.5001 493.7212,-398.5001"/>
|
||||
<text text-anchor="middle" x="319" y="-401.8" font-family="Sans" font-size="14.00" fill="#000000">optional: reverse proxy serves directly static files</text>
|
||||
<path fill="none" stroke="black" d="M132.39,-281C222.02,-281 392.33,-281 479.93,-281"/>
|
||||
<polygon fill="black" stroke="black" points="480.19,-284.5 490.19,-281 480.19,-277.5 480.19,-284.5"/>
|
||||
<text text-anchor="middle" x="311.25" y="-287.8" font-family="Sans" font-size="14.00">optional: reverse proxy serves directly static files</text>
|
||||
</g>
|
||||
<!-- uwsgi -->
|
||||
<g id="node6" class="node">
|
||||
<title>uwsgi</title>
|
||||
<g id="a_node6"><a xlink:href="https://searx.github.io/searx/utils/searx.sh.html" xlink:title="uwsgi">
|
||||
<polygon fill="#ffffcc" stroke="#000000" points="188,-163 130,-163 130,-127 188,-127 188,-163"/>
|
||||
<text text-anchor="middle" x="159" y="-141.3" font-family="Sans" font-size="14.00" fill="#000000">uwsgi</text>
|
||||
<polygon fill="#ffffcc" stroke="black" points="184.5,-125 127.5,-125 127.5,-89 184.5,-89 184.5,-125"/>
|
||||
<text text-anchor="middle" x="156" y="-103.3" font-family="Sans" font-size="14.00">uwsgi</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- filtron->uwsgi -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>filtron->uwsgi</title>
|
||||
<path fill="none" stroke="#000000" d="M87.2143,-251.8239C101.3983,-230.7169 124.9198,-195.7146 141.1515,-171.5603"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="144.0983,-173.4502 146.7709,-163.198 138.2883,-169.5459 144.0983,-173.4502"/>
|
||||
<text text-anchor="middle" x="139.5" y="-203.8" font-family="Sans" font-size="14.00" fill="#000000">HTTP</text>
|
||||
<path fill="none" stroke="black" d="M90.59,-175.8C102.6,-163.36 118.99,-146.36 132.36,-132.5"/>
|
||||
<polygon fill="black" stroke="black" points="135.01,-134.8 139.43,-125.18 129.97,-129.94 135.01,-134.8"/>
|
||||
<text text-anchor="middle" x="137" y="-146.8" font-family="Sans" font-size="14.00">HTTP</text>
|
||||
</g>
|
||||
<!-- searx1 -->
|
||||
<g id="node7" class="node">
|
||||
<title>searx1</title>
|
||||
<polygon fill="#ffffcc" stroke="#000000" points="99.5,-52 16.5,-52 16.5,-16 99.5,-16 99.5,-52"/>
|
||||
<text text-anchor="middle" x="58" y="-30.3" font-family="Sans" font-size="14.00" fill="#000000">Searx #1</text>
|
||||
<polygon fill="#ffffcc" stroke="black" points="97.5,-52 16.5,-52 16.5,-16 97.5,-16 97.5,-52"/>
|
||||
<text text-anchor="middle" x="57" y="-30.3" font-family="Sans" font-size="14.00">Searx #1</text>
|
||||
</g>
|
||||
<!-- uwsgi->searx1 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>uwsgi->searx1</title>
|
||||
<path fill="none" stroke="#000000" d="M142.3219,-126.6706C125.7281,-108.4339 100.1175,-80.2876 81.4738,-59.7979"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="84.0217,-57.3975 74.7029,-52.3566 78.8442,-62.1086 84.0217,-57.3975"/>
|
||||
<path fill="none" stroke="black" d="M132.29,-88.99C119.4,-79.75 103.28,-68.19 89.27,-58.14"/>
|
||||
<polygon fill="black" stroke="black" points="91.03,-55.1 80.86,-52.11 86.95,-60.79 91.03,-55.1"/>
|
||||
</g>
|
||||
<!-- searx2 -->
|
||||
<g id="node8" class="node">
|
||||
<title>searx2</title>
|
||||
<polygon fill="#ffffcc" stroke="#000000" points="200.5,-52 117.5,-52 117.5,-16 200.5,-16 200.5,-52"/>
|
||||
<text text-anchor="middle" x="159" y="-30.3" font-family="Sans" font-size="14.00" fill="#000000">Searx #2</text>
|
||||
<polygon fill="#ffffcc" stroke="black" points="196.5,-52 115.5,-52 115.5,-16 196.5,-16 196.5,-52"/>
|
||||
<text text-anchor="middle" x="156" y="-30.3" font-family="Sans" font-size="14.00">Searx #2</text>
|
||||
</g>
|
||||
<!-- uwsgi->searx2 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>uwsgi->searx2</title>
|
||||
<path fill="none" stroke="#000000" d="M159,-126.6706C159,-109.2373 159,-82.7482 159,-62.5489"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="162.5001,-62.3566 159,-52.3566 155.5001,-62.3567 162.5001,-62.3566"/>
|
||||
<path fill="none" stroke="black" d="M156,-88.81C156,-80.79 156,-71.05 156,-62.07"/>
|
||||
<polygon fill="black" stroke="black" points="159.5,-62.03 156,-52.03 152.5,-62.03 159.5,-62.03"/>
|
||||
</g>
|
||||
<!-- searx3 -->
|
||||
<g id="node9" class="node">
|
||||
<title>searx3</title>
|
||||
<polygon fill="#ffffcc" stroke="#000000" points="301.5,-52 218.5,-52 218.5,-16 301.5,-16 301.5,-52"/>
|
||||
<text text-anchor="middle" x="260" y="-30.3" font-family="Sans" font-size="14.00" fill="#000000">Searx #3</text>
|
||||
<polygon fill="#ffffcc" stroke="black" points="295.5,-52 214.5,-52 214.5,-16 295.5,-16 295.5,-52"/>
|
||||
<text text-anchor="middle" x="255" y="-30.3" font-family="Sans" font-size="14.00">Searx #3</text>
|
||||
</g>
|
||||
<!-- uwsgi->searx3 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>uwsgi->searx3</title>
|
||||
<path fill="none" stroke="#000000" d="M175.6781,-126.6706C192.2719,-108.4339 217.8825,-80.2876 236.5262,-59.7979"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="239.1558,-62.1086 243.2971,-52.3566 233.9783,-57.3975 239.1558,-62.1086"/>
|
||||
<path fill="none" stroke="black" d="M179.71,-88.99C192.6,-79.75 208.72,-68.19 222.73,-58.14"/>
|
||||
<polygon fill="black" stroke="black" points="225.05,-60.79 231.14,-52.11 220.97,-55.1 225.05,-60.79"/>
|
||||
</g>
|
||||
<!-- searx4 -->
|
||||
<g id="node10" class="node">
|
||||
<title>searx4</title>
|
||||
<polygon fill="#ffffcc" stroke="#000000" points="402.5,-52 319.5,-52 319.5,-16 402.5,-16 402.5,-52"/>
|
||||
<text text-anchor="middle" x="361" y="-30.3" font-family="Sans" font-size="14.00" fill="#000000">Searx #4</text>
|
||||
<polygon fill="#ffffcc" stroke="black" points="394.5,-52 313.5,-52 313.5,-16 394.5,-16 394.5,-52"/>
|
||||
<text text-anchor="middle" x="354" y="-30.3" font-family="Sans" font-size="14.00">Searx #4</text>
|
||||
</g>
|
||||
<!-- uwsgi->searx4 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>uwsgi->searx4</title>
|
||||
<path fill="none" stroke="#000000" d="M188.3725,-128.8596C222.8149,-109.9334 280.1532,-78.4257 319.2181,-56.9594"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="321.1614,-59.8852 328.2399,-52.0018 317.7903,-53.7504 321.1614,-59.8852"/>
|
||||
<path fill="none" stroke="black" d="M184.79,-95.68C215.9,-84.52 266.08,-66.53 303.72,-53.03"/>
|
||||
<polygon fill="black" stroke="black" points="305.26,-56.19 313.5,-49.52 302.9,-49.61 305.26,-56.19"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 7.4 KiB |
|
@ -1,30 +1,30 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: G Pages: 1 -->
|
||||
<svg width="76pt" height="116pt"
|
||||
viewBox="0.00 0.00 75.59 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<svg width="85pt" height="116pt"
|
||||
viewBox="0.00 0.00 84.69 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)">
|
||||
<title>G</title>
|
||||
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-112 71.594,-112 71.594,4 -4,4"/>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-112 80.69,-112 80.69,4 -4,4"/>
|
||||
<!-- Hello -->
|
||||
<g id="node1" class="node">
|
||||
<title>Hello</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="33.797" cy="-90" rx="30.5947" ry="18"/>
|
||||
<text text-anchor="middle" x="33.797" y="-86.3" font-family="Times,serif" font-size="14.00" fill="#000000">Hello</text>
|
||||
<ellipse fill="none" stroke="black" cx="38.35" cy="-90" rx="35.19" ry="18"/>
|
||||
<text text-anchor="middle" x="38.35" y="-86.3" font-family="Times,serif" font-size="14.00">Hello</text>
|
||||
</g>
|
||||
<!-- World -->
|
||||
<g id="node2" class="node">
|
||||
<title>World</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="33.797" cy="-18" rx="33.5952" ry="18"/>
|
||||
<text text-anchor="middle" x="33.797" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">World</text>
|
||||
<ellipse fill="none" stroke="black" cx="38.35" cy="-18" rx="38.19" ry="18"/>
|
||||
<text text-anchor="middle" x="38.35" y="-14.3" font-family="Times,serif" font-size="14.00">World</text>
|
||||
</g>
|
||||
<!-- Hello--World -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Hello--World</title>
|
||||
<path fill="none" stroke="#000000" d="M33.797,-71.8314C33.797,-61 33.797,-47.2876 33.797,-36.4133"/>
|
||||
<path fill="none" stroke="black" d="M38.35,-71.7C38.35,-60.85 38.35,-46.92 38.35,-36.1"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.2 KiB |
|
@ -1,25 +0,0 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- This file was generated by dvisvgm 2.1.3 -->
|
||||
<svg height='48.4227pt' version='1.1' viewBox='57.6088 53.7983 36.5233 48.4227' width='36.5233pt' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
|
||||
<defs>
|
||||
<path d='M9.19153 -3.20797C9.42864 -3.20797 9.6797 -3.20797 9.6797 -3.48692S9.42864 -3.76588 9.19153 -3.76588H1.64583C1.40872 -3.76588 1.15766 -3.76588 1.15766 -3.48692S1.40872 -3.20797 1.64583 -3.20797H9.19153Z' id='g0-0'/>
|
||||
<path d='M5.56513 -3.22192H9.41469C9.60996 -3.22192 9.86102 -3.22192 9.86102 -3.47298C9.86102 -3.73798 9.62391 -3.73798 9.41469 -3.73798H5.56513V-7.58755C5.56513 -7.78281 5.56513 -8.03387 5.31407 -8.03387C5.04907 -8.03387 5.04907 -7.79676 5.04907 -7.58755V-3.73798H1.1995C1.00423 -3.73798 0.753176 -3.73798 0.753176 -3.48692C0.753176 -3.22192 0.990286 -3.22192 1.1995 -3.22192H5.04907V0.627646C5.04907 0.822914 5.04907 1.07397 5.30012 1.07397C5.56513 1.07397 5.56513 0.836862 5.56513 0.627646V-3.22192Z' id='g2-43'/>
|
||||
<path d='M4.01694 -8.94047C4.01694 -9.26127 4.01694 -9.27522 3.73798 -9.27522C3.40324 -8.89863 2.70585 -8.38257 1.26924 -8.38257V-7.97808C1.59004 -7.97808 2.28742 -7.97808 3.05455 -8.34072V-1.07397C3.05455 -0.571856 3.0127 -0.404483 1.78531 -0.404483H1.35293V0C1.72951 -0.0278954 3.08244 -0.0278954 3.54271 -0.0278954S5.34197 -0.0278954 5.71856 0V-0.404483H5.28618C4.05878 -0.404483 4.01694 -0.571856 4.01694 -1.07397V-8.94047Z' id='g2-49'/>
|
||||
<path d='M6.61121 -5.69066C6.16488 -5.60697 5.99751 -5.27223 5.99751 -5.00722C5.99751 -4.67248 6.26252 -4.5609 6.45778 -4.5609C6.87621 -4.5609 7.16912 -4.92354 7.16912 -5.30012C7.16912 -5.88593 6.49963 -6.15093 5.91382 -6.15093C5.06301 -6.15093 4.58879 -5.31407 4.46326 -5.04907C4.14247 -6.09514 3.27771 -6.15093 3.02665 -6.15093C1.60399 -6.15093 0.850809 -4.32379 0.850809 -4.01694C0.850809 -3.96115 0.9066 -3.89141 1.00423 -3.89141C1.11582 -3.89141 1.14371 -3.97509 1.17161 -4.03088C1.64583 -5.57908 2.58032 -5.87198 2.98481 -5.87198C3.61245 -5.87198 3.73798 -5.28618 3.73798 -4.95143C3.73798 -4.64458 3.6543 -4.32379 3.48692 -3.6543L3.0127 -1.74346C2.80349 -0.9066 2.399 -0.139477 1.65978 -0.139477C1.59004 -0.139477 1.24134 -0.139477 0.948443 -0.320797C1.45056 -0.418431 1.56214 -0.836862 1.56214 -1.00423C1.56214 -1.28319 1.35293 -1.45056 1.08792 -1.45056C0.753176 -1.45056 0.390535 -1.15766 0.390535 -0.711333C0.390535 -0.125529 1.04608 0.139477 1.64583 0.139477C2.31532 0.139477 2.78954 -0.390535 3.08244 -0.962391C3.3056 -0.139477 4.00299 0.139477 4.51905 0.139477C5.94172 0.139477 6.69489 -1.68767 6.69489 -1.99452C6.69489 -2.06426 6.6391 -2.12005 6.55542 -2.12005C6.42989 -2.12005 6.41594 -2.05031 6.3741 -1.93873C5.99751 -0.711333 5.18854 -0.139477 4.5609 -0.139477C4.07273 -0.139477 3.80772 -0.502117 3.80772 -1.07397C3.80772 -1.38082 3.86351 -1.60399 4.08667 -2.52453L4.57484 -4.42142C4.78406 -5.25828 5.25828 -5.87198 5.89988 -5.87198C5.92777 -5.87198 6.31831 -5.87198 6.61121 -5.69066Z' id='g1-120'/>
|
||||
<path d='M3.66824 1.56214C3.29166 2.09215 2.7477 2.56638 2.06426 2.56638C1.89689 2.56638 1.2274 2.53848 1.01818 1.89689C1.06002 1.91083 1.12976 1.91083 1.15766 1.91083C1.57609 1.91083 1.85504 1.54819 1.85504 1.2274S1.59004 0.795019 1.38082 0.795019C1.15766 0.795019 0.669489 0.962391 0.669489 1.64583C0.669489 2.35716 1.26924 2.84533 2.06426 2.84533C3.45903 2.84533 4.86775 1.56214 5.25828 0.0139477L6.62516 -5.42565C6.6391 -5.49539 6.667 -5.57908 6.667 -5.66276C6.667 -5.87198 6.49963 -6.01146 6.29041 -6.01146C6.16488 -6.01146 5.87198 -5.95567 5.7604 -5.53724L4.72827 -1.43661C4.65853 -1.18555 4.65853 -1.15766 4.54695 -1.00423C4.268 -0.613699 3.80772 -0.139477 3.13823 -0.139477C2.35716 -0.139477 2.28742 -0.9066 2.28742 -1.28319C2.28742 -2.07821 2.66401 -3.15218 3.0406 -4.15641C3.19402 -4.5609 3.27771 -4.75616 3.27771 -5.03512C3.27771 -5.62092 2.85928 -6.15093 2.17584 -6.15093C0.892653 -6.15093 0.376588 -4.12852 0.376588 -4.01694C0.376588 -3.96115 0.432379 -3.89141 0.530012 -3.89141C0.655542 -3.89141 0.669489 -3.9472 0.72528 -4.14247C1.06002 -5.31407 1.59004 -5.87198 2.134 -5.87198C2.25953 -5.87198 2.49664 -5.87198 2.49664 -5.41171C2.49664 -5.04907 2.34321 -4.64458 2.134 -4.11457C1.45056 -2.28742 1.45056 -1.82715 1.45056 -1.4924C1.45056 -0.167372 2.399 0.139477 3.09639 0.139477C3.50087 0.139477 4.00299 0.0139477 4.49116 -0.502117L4.50511 -0.488169C4.29589 0.334745 4.15641 0.878705 3.66824 1.56214Z' id='g1-121'/>
|
||||
<path d='M1.77136 -1.12976C2.37111 -1.8132 2.85928 -2.24558 3.55666 -2.87323C4.39352 -3.59851 4.75616 -3.9472 4.95143 -4.15641C5.92777 -5.1188 6.41594 -5.92777 6.41594 -6.03935S6.30436 -6.15093 6.27646 -6.15093C6.17883 -6.15093 6.15093 -6.09514 6.0812 -5.99751C5.7325 -5.39776 5.39776 -5.10486 5.03512 -5.10486C4.74222 -5.10486 4.58879 -5.23039 4.32379 -5.56513C4.03088 -5.91382 3.79377 -6.15093 3.38929 -6.15093C2.37111 -6.15093 1.75741 -4.88169 1.75741 -4.58879C1.75741 -4.54695 1.77136 -4.46326 1.89689 -4.46326C2.00847 -4.46326 2.02242 -4.51905 2.06426 -4.61669C2.30137 -5.1746 2.97086 -5.27223 3.23587 -5.27223C3.52877 -5.27223 3.80772 -5.1746 4.10062 -5.04907C4.63064 -4.8259 4.8538 -4.8259 4.99328 -4.8259C5.09091 -4.8259 5.1467 -4.8259 5.21644 -4.83985C4.75616 -4.29589 4.00299 -3.6264 3.37534 -3.05455L1.96663 -1.75741C1.11582 -0.892653 0.599751 -0.0697385 0.599751 0.0278954C0.599751 0.111582 0.669489 0.139477 0.753176 0.139477S0.850809 0.125529 0.948443 -0.0418431C1.17161 -0.390535 1.61793 -0.9066 2.134 -0.9066C2.4269 -0.9066 2.56638 -0.808966 2.84533 -0.460274C3.11034 -0.153425 3.34745 0.139477 3.79377 0.139477C5.16065 0.139477 5.94172 -1.63188 5.94172 -1.95268C5.94172 -2.00847 5.92777 -2.09215 5.78829 -2.09215C5.67671 -2.09215 5.66276 -2.03636 5.62092 -1.89689C5.31407 -1.07397 4.49116 -0.739228 3.9472 -0.739228C3.6543 -0.739228 3.37534 -0.836862 3.08244 -0.962391C2.52453 -1.18555 2.37111 -1.18555 2.18979 -1.18555C2.05031 -1.18555 1.89689 -1.18555 1.77136 -1.12976Z' id='g1-122'/>
|
||||
</defs>
|
||||
<g id='page1'>
|
||||
<use x='59.2704' xlink:href='#g2-49' y='62.7868'/>
|
||||
<rect height='0.55789' width='7.76077' x='58.8043' y='68.4566'/>
|
||||
<use x='58.8043' xlink:href='#g1-120' y='81.7899'/>
|
||||
<use x='70.86' xlink:href='#g2-43' y='72.2225'/>
|
||||
<use x='85.9426' xlink:href='#g2-49' y='62.7868'/>
|
||||
<rect height='0.55789' width='7.15942' x='85.7771' y='68.4566'/>
|
||||
<use x='85.7771' xlink:href='#g1-121' y='81.7899'/>
|
||||
<rect height='0.55789' width='36.5233' x='57.6088' y='86.1756'/>
|
||||
<use x='60.2843' xlink:href='#g1-121' y='99.5089'/>
|
||||
<use x='70.5432' xlink:href='#g0-0' y='99.5089'/>
|
||||
<use x='84.4909' xlink:href='#g1-122' y='99.5089'/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 6.4 KiB |
|
@ -1,25 +0,0 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- This file was generated by dvisvgm 2.1.3 -->
|
||||
<svg height='29.5237pt' version='1.1' viewBox='57.6088 53.7982 23.0929 29.5237' width='23.0929pt' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
|
||||
<defs>
|
||||
<path d='M6.43404 -2.24557C6.60002 -2.24557 6.77576 -2.24557 6.77576 -2.44084S6.60002 -2.6361 6.43404 -2.6361H1.15207C0.986098 -2.6361 0.810358 -2.6361 0.810358 -2.44084S0.986098 -2.24557 1.15207 -2.24557H6.43404Z' id='g0-0'/>
|
||||
<path d='M3.26096 -2.94853C3.31954 -3.20238 3.54409 -4.1006 4.22753 -4.1006C4.27634 -4.1006 4.51067 -4.1006 4.7157 -3.97368C4.44232 -3.92486 4.24705 -3.68078 4.24705 -3.44646C4.24705 -3.29025 4.35445 -3.10474 4.61806 -3.10474C4.83286 -3.10474 5.14528 -3.28048 5.14528 -3.67102C5.14528 -4.17871 4.56925 -4.3154 4.23729 -4.3154C3.67102 -4.3154 3.3293 -3.79794 3.21214 -3.57338C2.96806 -4.21776 2.44084 -4.3154 2.1577 -4.3154C1.14231 -4.3154 0.585801 -3.05593 0.585801 -2.81184C0.585801 -2.71421 0.683434 -2.71421 0.702961 -2.71421C0.781068 -2.71421 0.810358 -2.73374 0.829884 -2.82161C1.16184 -3.85652 1.80622 -4.1006 2.13817 -4.1006C2.32368 -4.1006 2.66539 -4.01273 2.66539 -3.44646C2.66539 -3.1438 2.49942 -2.48965 2.13817 -1.12278C1.98196 -0.517457 1.64024 -0.107397 1.21065 -0.107397C1.15207 -0.107397 0.927518 -0.107397 0.722488 -0.23432C0.966571 -0.283137 1.18136 -0.488167 1.18136 -0.761541C1.18136 -1.02515 0.966571 -1.10326 0.820121 -1.10326C0.527221 -1.10326 0.283137 -0.849411 0.283137 -0.536984C0.283137 -0.0878701 0.771304 0.107397 1.20089 0.107397C1.84527 0.107397 2.19675 -0.576037 2.22604 -0.634617C2.3432 -0.273374 2.69468 0.107397 3.28048 0.107397C4.28611 0.107397 4.84262 -1.15207 4.84262 -1.39616C4.84262 -1.49379 4.75475 -1.49379 4.72546 -1.49379C4.63759 -1.49379 4.61806 -1.45474 4.59854 -1.38639C4.27634 -0.341717 3.61244 -0.107397 3.30001 -0.107397C2.91924 -0.107397 2.76303 -0.419824 2.76303 -0.751778C2.76303 -0.966571 2.82161 -1.18136 2.929 -1.61095L3.26096 -2.94853Z' id='g1-120'/>
|
||||
<path d='M4.74499 -3.71983C4.78404 -3.85652 4.78404 -3.87605 4.78404 -3.94439C4.78404 -4.12013 4.64735 -4.208 4.5009 -4.208C4.40327 -4.208 4.24705 -4.14942 4.15918 -4.00297C4.13966 -3.95415 4.06155 -3.65149 4.0225 -3.47575C3.95415 -3.2219 3.88581 -2.95829 3.82723 -2.69468L3.38788 -0.937281C3.34883 -0.790831 2.929 -0.107397 2.28462 -0.107397C1.78669 -0.107397 1.6793 -0.536984 1.6793 -0.898228C1.6793 -1.34734 1.84527 -1.95267 2.17723 -2.81184C2.33344 -3.21214 2.37249 -3.31954 2.37249 -3.5148C2.37249 -3.95415 2.06007 -4.3154 1.5719 -4.3154C0.644381 -4.3154 0.283137 -2.89971 0.283137 -2.81184C0.283137 -2.71421 0.38077 -2.71421 0.400297 -2.71421C0.497931 -2.71421 0.507694 -2.73374 0.556511 -2.88995C0.820121 -3.8077 1.21065 -4.1006 1.54261 -4.1006C1.62072 -4.1006 1.78669 -4.1006 1.78669 -3.78818C1.78669 -3.54409 1.68906 -3.29025 1.62072 -3.10474C1.23018 -2.06983 1.05444 -1.51332 1.05444 -1.05444C1.05444 -0.185504 1.66953 0.107397 2.24557 0.107397C2.62634 0.107397 2.95829 -0.0585801 3.23167 -0.331954C3.10474 0.17574 2.98758 0.654144 2.59705 1.1716C2.3432 1.50356 1.9722 1.78669 1.52308 1.78669C1.38639 1.78669 0.947044 1.7574 0.781068 1.37663C0.937281 1.37663 1.0642 1.37663 1.20089 1.25947C1.29852 1.1716 1.39616 1.04468 1.39616 0.859174C1.39616 0.556511 1.13255 0.517457 1.03491 0.517457C0.810358 0.517457 0.488167 0.673671 0.488167 1.15207C0.488167 1.64024 0.917754 2.00149 1.52308 2.00149C2.52871 2.00149 3.53433 1.11302 3.8077 0.00976334L4.74499 -3.71983Z' id='g1-121'/>
|
||||
<path d='M1.29852 -0.810358C1.82575 -1.37663 2.10888 -1.62072 2.46036 -1.92338C2.46036 -1.93314 3.06569 -2.4506 3.41717 -2.80208C4.34469 -3.71007 4.55948 -4.17871 4.55948 -4.21776C4.55948 -4.3154 4.47161 -4.3154 4.45209 -4.3154C4.38374 -4.3154 4.35445 -4.29587 4.30564 -4.208C4.01273 -3.73936 3.8077 -3.58315 3.57338 -3.58315S3.2219 -3.7296 3.07545 -3.89557C2.88995 -4.12013 2.72397 -4.3154 2.40178 -4.3154C1.66953 -4.3154 1.22042 -3.40741 1.22042 -3.20238C1.22042 -3.15356 1.24971 -3.09498 1.33758 -3.09498S1.44498 -3.1438 1.4645 -3.20238C1.65001 -3.65149 2.21628 -3.66125 2.29439 -3.66125C2.49942 -3.66125 2.68492 -3.59291 2.90948 -3.5148C3.30001 -3.36835 3.40741 -3.36835 3.66125 -3.36835C3.30977 -2.94853 2.48965 -2.24557 2.30415 -2.08936L1.42545 -1.26923C0.761541 -0.615091 0.419824 -0.0585801 0.419824 0.00976334C0.419824 0.107397 0.517457 0.107397 0.536984 0.107397C0.615091 0.107397 0.634617 0.0878701 0.693197 -0.0195267C0.917754 -0.361244 1.21065 -0.624854 1.52308 -0.624854C1.74764 -0.624854 1.84527 -0.536984 2.08936 -0.253847C2.25533 -0.0488167 2.43107 0.107397 2.71421 0.107397C3.68078 0.107397 4.24705 -1.13255 4.24705 -1.39616C4.24705 -1.44498 4.208 -1.49379 4.12989 -1.49379C4.04202 -1.49379 4.0225 -1.43521 3.99321 -1.36687C3.76865 -0.732251 3.1438 -0.546747 2.82161 -0.546747C2.62634 -0.546747 2.4506 -0.605327 2.24557 -0.673671C1.91362 -0.800594 1.76717 -0.839648 1.56214 -0.839648C1.54261 -0.839648 1.38639 -0.839648 1.29852 -0.810358Z' id='g1-122'/>
|
||||
<path d='M3.99321 -2.24557H6.71718C6.85387 -2.24557 7.03937 -2.24557 7.03937 -2.44084S6.85387 -2.6361 6.71718 -2.6361H3.99321V-5.36984C3.99321 -5.50653 3.99321 -5.69203 3.79794 -5.69203S3.60267 -5.50653 3.60267 -5.36984V-2.6361H0.868938C0.732251 -2.6361 0.546747 -2.6361 0.546747 -2.44084S0.732251 -2.24557 0.868938 -2.24557H3.60267V0.488167C3.60267 0.624854 3.60267 0.810358 3.79794 0.810358S3.99321 0.624854 3.99321 0.488167V-2.24557Z' id='g2-43'/>
|
||||
<path d='M2.87042 -6.24854C2.87042 -6.48286 2.87042 -6.50239 2.64587 -6.50239C2.04054 -5.87753 1.18136 -5.87753 0.868938 -5.87753V-5.57487C1.0642 -5.57487 1.64024 -5.57487 2.14794 -5.82872V-0.771304C2.14794 -0.419824 2.11865 -0.302664 1.23994 -0.302664H0.927518V0C1.26923 -0.02929 2.11865 -0.02929 2.50918 -0.02929S3.74912 -0.02929 4.09084 0V-0.302664H3.77841C2.89971 -0.302664 2.87042 -0.41006 2.87042 -0.771304V-6.24854Z' id='g2-49'/>
|
||||
</defs>
|
||||
<g id='page1'>
|
||||
<use x='59.1535' xlink:href='#g2-49' y='60.0902'/>
|
||||
<rect height='0.55789' width='5.58003' x='58.8043' y='61.816'/>
|
||||
<use x='58.8043' xlink:href='#g1-120' y='70.3915'/>
|
||||
<use x='65.5798' xlink:href='#g2-43' y='65.5818'/>
|
||||
<use x='74.4968' xlink:href='#g2-49' y='60.0902'/>
|
||||
<rect height='0.55789' width='5.13708' x='74.3691' y='61.816'/>
|
||||
<use x='74.3691' xlink:href='#g1-121' y='70.3915'/>
|
||||
<rect height='0.55789' width='23.0929' x='57.6088' y='72.8479'/>
|
||||
<use x='60.3049' xlink:href='#g1-121' y='81.4235'/>
|
||||
<use x='65.442' xlink:href='#g0-0' y='81.4235'/>
|
||||
<use x='73.0357' xlink:href='#g1-122' y='81.4235'/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 6.3 KiB |
|
@ -1,22 +0,0 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- This file was generated by dvisvgm 2.1.3 -->
|
||||
<svg height='12.4188pt' version='1.1' viewBox='56.4133 54.4 69.6865 12.4188' width='69.6865pt' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
|
||||
<defs>
|
||||
<path d='M4.19826 -1.65978C4.12852 -1.42267 4.12852 -1.39477 3.93325 -1.12976C3.6264 -0.739228 3.0127 -0.139477 2.35716 -0.139477C1.78531 -0.139477 1.46451 -0.655542 1.46451 -1.47846C1.46451 -2.24558 1.89689 -3.80772 2.16189 -4.39352C2.63611 -5.36986 3.29166 -5.87198 3.83562 -5.87198C4.75616 -5.87198 4.93748 -4.72827 4.93748 -4.61669C4.93748 -4.60274 4.89564 -4.42142 4.88169 -4.39352L4.19826 -1.65978ZM5.09091 -5.23039C4.93748 -5.59303 4.5609 -6.15093 3.83562 -6.15093C2.25953 -6.15093 0.557908 -4.11457 0.557908 -2.05031C0.557908 -0.669489 1.36687 0.139477 2.31532 0.139477C3.08244 0.139477 3.73798 -0.460274 4.12852 -0.920548C4.268 -0.0976339 4.92354 0.139477 5.34197 0.139477S6.09514 -0.111582 6.3462 -0.613699C6.56936 -1.08792 6.76463 -1.93873 6.76463 -1.99452C6.76463 -2.06426 6.70884 -2.12005 6.62516 -2.12005C6.49963 -2.12005 6.48568 -2.05031 6.42989 -1.8411C6.22067 -1.01818 5.95567 -0.139477 5.38381 -0.139477C4.97933 -0.139477 4.95143 -0.502117 4.95143 -0.781071C4.95143 -1.10187 4.99328 -1.25529 5.1188 -1.79925C5.21644 -2.14795 5.28618 -2.45479 5.39776 -2.85928C5.91382 -4.95143 6.03935 -5.45355 6.03935 -5.53724C6.03935 -5.7325 5.88593 -5.88593 5.67671 -5.88593C5.23039 -5.88593 5.1188 -5.39776 5.09091 -5.23039Z' id='g0-97'/>
|
||||
<path d='M3.22192 -9.33101C3.23587 -9.3868 3.26376 -9.47049 3.26376 -9.54022C3.26376 -9.6797 3.12428 -9.6797 3.09639 -9.6797C3.08244 -9.6797 2.58032 -9.63786 2.32927 -9.60996C2.09215 -9.59601 1.88294 -9.56812 1.63188 -9.55417C1.29714 -9.52628 1.1995 -9.51233 1.1995 -9.26127C1.1995 -9.12179 1.33898 -9.12179 1.47846 -9.12179C2.18979 -9.12179 2.18979 -8.99626 2.18979 -8.85679C2.18979 -8.75915 2.07821 -8.35467 2.02242 -8.10361L1.68767 -6.76463C1.54819 -6.20672 0.753176 -3.0406 0.697385 -2.78954C0.627646 -2.44085 0.627646 -2.20374 0.627646 -2.02242C0.627646 -0.599751 1.42267 0.139477 2.32927 0.139477C3.9472 0.139477 5.62092 -1.93873 5.62092 -3.96115C5.62092 -5.24433 4.89564 -6.15093 3.84956 -6.15093C3.12428 -6.15093 2.46874 -5.55118 2.20374 -5.27223L3.22192 -9.33101ZM2.34321 -0.139477C1.89689 -0.139477 1.40872 -0.474222 1.40872 -1.56214C1.40872 -2.02242 1.45056 -2.28742 1.70162 -3.26376C1.74346 -3.44508 1.96663 -4.33773 2.02242 -4.51905C2.05031 -4.63064 2.87323 -5.87198 3.82167 -5.87198C4.43537 -5.87198 4.71432 -5.25828 4.71432 -4.533C4.71432 -3.86351 4.32379 -2.28742 3.97509 -1.56214C3.6264 -0.808966 2.98481 -0.139477 2.34321 -0.139477Z' id='g0-98'/>
|
||||
<path d='M5.45355 -5.24433C5.18854 -5.24433 5.06301 -5.24433 4.86775 -5.07696C4.78406 -5.00722 4.63064 -4.79801 4.63064 -4.57484C4.63064 -4.29589 4.83985 -4.12852 5.10486 -4.12852C5.4396 -4.12852 5.81619 -4.40747 5.81619 -4.96538C5.81619 -5.63487 5.1746 -6.15093 4.2122 -6.15093C2.38506 -6.15093 0.557908 -4.15641 0.557908 -2.17584C0.557908 -0.962391 1.31108 0.139477 2.73375 0.139477C4.63064 0.139477 5.83014 -1.33898 5.83014 -1.5203C5.83014 -1.60399 5.74645 -1.67372 5.69066 -1.67372C5.64882 -1.67372 5.63487 -1.65978 5.50934 -1.53425C4.61669 -0.348692 3.29166 -0.139477 2.76164 -0.139477C1.79925 -0.139477 1.4924 -0.976339 1.4924 -1.67372C1.4924 -2.16189 1.72951 -3.51482 2.23163 -4.46326C2.59427 -5.1188 3.34745 -5.87198 4.22615 -5.87198C4.40747 -5.87198 5.1746 -5.84408 5.45355 -5.24433Z' id='g0-99'/>
|
||||
<path d='M5.56513 -3.22192H9.41469C9.60996 -3.22192 9.86102 -3.22192 9.86102 -3.47298C9.86102 -3.73798 9.62391 -3.73798 9.41469 -3.73798H5.56513V-7.58755C5.56513 -7.78281 5.56513 -8.03387 5.31407 -8.03387C5.04907 -8.03387 5.04907 -7.79676 5.04907 -7.58755V-3.73798H1.1995C1.00423 -3.73798 0.753176 -3.73798 0.753176 -3.48692C0.753176 -3.22192 0.990286 -3.22192 1.1995 -3.22192H5.04907V0.627646C5.04907 0.822914 5.04907 1.07397 5.30012 1.07397C5.56513 1.07397 5.56513 0.836862 5.56513 0.627646V-3.22192Z' id='g2-43'/>
|
||||
<path d='M9.41469 -4.51905C9.60996 -4.51905 9.86102 -4.51905 9.86102 -4.77011C9.86102 -5.03512 9.62391 -5.03512 9.41469 -5.03512H1.1995C1.00423 -5.03512 0.753176 -5.03512 0.753176 -4.78406C0.753176 -4.51905 0.990286 -4.51905 1.1995 -4.51905H9.41469ZM9.41469 -1.92478C9.60996 -1.92478 9.86102 -1.92478 9.86102 -2.17584C9.86102 -2.44085 9.62391 -2.44085 9.41469 -2.44085H1.1995C1.00423 -2.44085 0.753176 -2.44085 0.753176 -2.18979C0.753176 -1.92478 0.990286 -1.92478 1.1995 -1.92478H9.41469Z' id='g2-61'/>
|
||||
<path d='M1.23994 -0.751778L2.27486 -1.7574C3.79794 -3.10474 4.38374 -3.63196 4.38374 -4.6083C4.38374 -5.72132 3.50504 -6.50239 2.31391 -6.50239C1.21065 -6.50239 0.488167 -5.60416 0.488167 -4.73522C0.488167 -4.18847 0.976334 -4.18847 1.00562 -4.18847C1.1716 -4.18847 1.51332 -4.30564 1.51332 -4.70593C1.51332 -4.95978 1.33758 -5.21363 0.995861 -5.21363C0.917754 -5.21363 0.898228 -5.21363 0.868938 -5.20386C1.09349 -5.83848 1.62072 -6.19972 2.18699 -6.19972C3.07545 -6.19972 3.49528 -5.40889 3.49528 -4.6083C3.49528 -3.82723 3.00711 -3.05593 2.47013 -2.4506L0.595564 -0.361244C0.488167 -0.253847 0.488167 -0.23432 0.488167 0H4.11037L4.38374 -1.69882H4.13966C4.09084 -1.40592 4.0225 -0.976334 3.92486 -0.829884C3.85652 -0.751778 3.21214 -0.751778 2.99735 -0.751778H1.23994Z' id='g1-50'/>
|
||||
</defs>
|
||||
<g id='page1'>
|
||||
<use x='56.4133' xlink:href='#g0-97' y='65.7534'/>
|
||||
<use x='63.5824' xlink:href='#g1-50' y='60.6919'/>
|
||||
<use x='72.0616' xlink:href='#g2-43' y='65.7534'/>
|
||||
<use x='85.7832' xlink:href='#g0-98' y='65.7534'/>
|
||||
<use x='91.5898' xlink:href='#g1-50' y='60.6919'/>
|
||||
<use x='100.844' xlink:href='#g2-61' y='65.7534'/>
|
||||
<use x='115.34' xlink:href='#g0-99' y='65.7534'/>
|
||||
<use x='121.218' xlink:href='#g1-50' y='60.6919'/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 5.6 KiB |
|
@ -1,43 +0,0 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- This file was generated by dvisvgm 2.1.3 -->
|
||||
<svg height='28.689pt' version='1.1' viewBox='165.981 78.308 134.289 28.689' width='134.289pt' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
|
||||
<defs>
|
||||
<path d='M3.55666 -7.67123H6.26252C6.49963 -7.67123 6.65305 -7.67123 6.65305 -7.83861C6.65305 -8.01993 6.48568 -8.01993 6.22067 -8.01993H3.64035C3.73798 -8.36862 3.73798 -8.39651 3.82167 -8.74521C3.89141 -8.99626 4.01694 -9.48443 4.01694 -9.51233C4.01694 -9.63786 3.93325 -9.6797 3.82167 -9.6797C3.55666 -9.6797 2.45479 -9.56812 2.12005 -9.54022C2.00847 -9.52628 1.85504 -9.51233 1.85504 -9.24732C1.85504 -9.0939 1.99452 -9.0939 2.18979 -9.0939C2.85928 -9.0939 2.88717 -8.99626 2.88717 -8.85679C2.88717 -8.75915 2.76164 -8.29888 2.69191 -8.01993H1.91083C1.63188 -8.01993 1.47846 -8.01993 1.47846 -7.83861C1.47846 -7.67123 1.60399 -7.67123 1.86899 -7.67123H2.60822L0.822914 -0.557908C0.767123 -0.348692 0.767123 -0.320797 0.767123 -0.237111C0.767123 0.0697385 1.00423 0.153425 1.17161 0.153425C1.43661 0.153425 1.63188 -0.0418431 1.68767 -0.223163C1.71557 -0.292902 1.86899 -0.920548 1.95268 -1.26924L2.27347 -2.51059C2.31532 -2.7198 2.45479 -3.24981 2.49664 -3.45903C2.56638 -3.68219 2.66401 -4.11457 2.67796 -4.15641C2.78954 -4.39352 3.54271 -5.85803 4.93748 -5.85803C5.55118 -5.85803 5.69066 -5.35592 5.69066 -4.89564C5.69066 -4.03088 5.04907 -2.32927 4.79801 -1.68767C4.71432 -1.46451 4.64458 -1.26924 4.64458 -1.00423C4.64458 -0.278954 5.16065 0.153425 5.78829 0.153425C7.12727 0.153425 7.61544 -1.91083 7.61544 -1.99452C7.61544 -2.134 7.48991 -2.134 7.44807 -2.134C7.30859 -2.134 7.30859 -2.09215 7.23885 -1.88294C6.83437 -0.460274 6.20672 -0.153425 5.83014 -0.153425C5.56513 -0.153425 5.48144 -0.320797 5.48144 -0.613699C5.48144 -0.962391 5.63487 -1.35293 5.71856 -1.59004C5.95567 -2.20374 6.58331 -3.87746 6.58331 -4.65853C6.58331 -5.67671 5.94172 -6.16488 4.97933 -6.16488C4.54695 -6.16488 3.71009 -6.06725 2.91507 -5.10486L3.55666 -7.67123Z' id='g0-126'/>
|
||||
<path d='M4.533 3.38929C4.533 3.34745 4.533 3.31955 4.29589 3.08244C2.90112 1.67372 2.12005 -0.627646 2.12005 -3.47298C2.12005 -6.17883 2.77559 -8.50809 4.39352 -10.1539C4.533 -10.2795 4.533 -10.3073 4.533 -10.3492C4.533 -10.4329 4.46326 -10.4608 4.40747 -10.4608C4.22615 -10.4608 3.08244 -9.45654 2.399 -8.08966C1.68767 -6.68095 1.36687 -5.18854 1.36687 -3.47298C1.36687 -2.23163 1.56214 -0.571856 2.28742 0.920548C3.11034 2.59427 4.25405 3.50087 4.40747 3.50087C4.46326 3.50087 4.533 3.47298 4.533 3.38929Z' id='g3-40'/>
|
||||
<path d='M3.93325 -3.47298C3.93325 -4.533 3.79377 -6.26252 3.0127 -7.88045C2.18979 -9.55417 1.04608 -10.4608 0.892653 -10.4608C0.836862 -10.4608 0.767123 -10.4329 0.767123 -10.3492C0.767123 -10.3073 0.767123 -10.2795 1.00423 -10.0423C2.399 -8.63362 3.18007 -6.33225 3.18007 -3.48692C3.18007 -0.781071 2.52453 1.54819 0.9066 3.19402C0.767123 3.31955 0.767123 3.34745 0.767123 3.38929C0.767123 3.47298 0.836862 3.50087 0.892653 3.50087C1.07397 3.50087 2.21768 2.49664 2.90112 1.12976C3.61245 -0.292902 3.93325 -1.79925 3.93325 -3.47298Z' id='g3-41'/>
|
||||
<path d='M9.41469 -4.51905C9.60996 -4.51905 9.86102 -4.51905 9.86102 -4.77011C9.86102 -5.03512 9.62391 -5.03512 9.41469 -5.03512H1.1995C1.00423 -5.03512 0.753176 -5.03512 0.753176 -4.78406C0.753176 -4.51905 0.990286 -4.51905 1.1995 -4.51905H9.41469ZM9.41469 -1.92478C9.60996 -1.92478 9.86102 -1.92478 9.86102 -2.17584C9.86102 -2.44085 9.62391 -2.44085 9.41469 -2.44085H1.1995C1.00423 -2.44085 0.753176 -2.44085 0.753176 -2.18979C0.753176 -1.92478 0.990286 -1.92478 1.1995 -1.92478H9.41469Z' id='g3-61'/>
|
||||
<path d='M3.41719 -9.6797L1.59004 -7.78281L1.8132 -7.5736L3.40324 -9.01021L5.00722 -7.5736L5.23039 -7.78281L3.41719 -9.6797Z' id='g3-94'/>
|
||||
<path d='M2.4269 -8.59178C2.4269 -8.95442 2.134 -9.27522 1.74346 -9.27522C1.38082 -9.27522 1.07397 -8.98232 1.07397 -8.60573C1.07397 -8.1873 1.40872 -7.92229 1.74346 -7.92229C2.17584 -7.92229 2.4269 -8.28493 2.4269 -8.59178ZM0.502117 -5.99751V-5.59303C1.39477 -5.59303 1.5203 -5.50934 1.5203 -4.8259V-1.03213C1.5203 -0.404483 1.36687 -0.404483 0.460274 -0.404483V0C0.850809 -0.0278954 1.5203 -0.0278954 1.92478 -0.0278954C2.07821 -0.0278954 2.88717 -0.0278954 3.36139 0V-0.404483C2.45479 -0.404483 2.399 -0.474222 2.399 -1.01818V-6.15093L0.502117 -5.99751Z' id='g3-105'/>
|
||||
<path d='M3.80772 -3.24981C3.87746 -3.41719 3.87746 -3.44508 3.87746 -3.48692S3.87746 -3.55666 3.80772 -3.72403L1.36687 -10.14C1.28319 -10.3771 1.1995 -10.4608 1.04608 -10.4608S0.767123 -10.3352 0.767123 -10.1818C0.767123 -10.14 0.767123 -10.1121 0.836862 -9.95866L3.3056 -3.48692L0.836862 2.95691C0.767123 3.11034 0.767123 3.13823 0.767123 3.20797C0.767123 3.36139 0.892653 3.48692 1.04608 3.48692C1.2274 3.48692 1.28319 3.34745 1.33898 3.20797L3.80772 -3.24981Z' id='g1-105'/>
|
||||
<path d='M2.21768 -9.95866C2.21768 -10.2097 2.21768 -10.4608 1.93873 -10.4608S1.65978 -10.2097 1.65978 -9.95866V2.98481C1.65978 3.23587 1.65978 3.48692 1.93873 3.48692S2.21768 3.23587 2.21768 2.98481V-9.95866Z' id='g1-106'/>
|
||||
<path d='M6.55542 -9.34496C6.55542 -9.3589 6.61121 -9.54022 6.61121 -9.55417C6.61121 -9.6797 6.49963 -9.6797 6.45778 -9.6797C6.33225 -9.6797 6.31831 -9.60996 6.26252 -9.40075L3.96115 -0.167372C2.80349 -0.306849 2.37111 -0.892653 2.37111 -1.72951C2.37111 -2.03636 2.37111 -2.35716 3.02665 -4.08667C3.20797 -4.58879 3.27771 -4.77011 3.27771 -5.02117C3.27771 -5.64882 2.83138 -6.15093 2.17584 -6.15093C0.892653 -6.15093 0.376588 -4.12852 0.376588 -4.01694C0.376588 -3.96115 0.432379 -3.89141 0.530012 -3.89141C0.655542 -3.89141 0.669489 -3.9472 0.72528 -4.14247C1.06002 -5.35592 1.61793 -5.87198 2.134 -5.87198C2.25953 -5.87198 2.49664 -5.85803 2.49664 -5.41171C2.49664 -5.35592 2.49664 -5.04907 2.25953 -4.43537C1.50635 -2.45479 1.50635 -2.14795 1.50635 -1.82715C1.50635 -0.488169 2.62217 0.0278954 3.87746 0.125529C3.76588 0.557908 3.66824 1.00423 3.55666 1.43661C3.3335 2.27347 3.23587 2.66401 3.23587 2.7198C3.23587 2.84533 3.34745 2.84533 3.38929 2.84533C3.41719 2.84533 3.47298 2.84533 3.50087 2.78954C3.55666 2.73375 4.12852 0.390535 4.18431 0.139477C4.70037 0.139477 5.80224 0.139477 7.05753 -1.15766C7.51781 -1.65978 7.93624 -2.30137 8.17335 -2.90112C8.31283 -3.26376 8.64757 -4.50511 8.64757 -5.21644C8.64757 -6.0533 8.22914 -6.15093 8.08966 -6.15093C7.75492 -6.15093 7.44807 -5.81619 7.44807 -5.53724C7.44807 -5.36986 7.5457 -5.27223 7.60149 -5.21644C7.72702 -5.09091 8.10361 -4.71432 8.10361 -3.98904C8.10361 -3.48692 7.82466 -2.45479 6.932 -1.45056C5.7604 -0.139477 4.68643 -0.139477 4.268 -0.139477L6.55542 -9.34496Z' id='g2-32'/>
|
||||
<path d='M2.56638 -0.669489C2.56638 -1.07397 2.23163 -1.35293 1.89689 -1.35293C1.4924 -1.35293 1.21345 -1.01818 1.21345 -0.683437C1.21345 -0.278954 1.54819 0 1.88294 0C2.28742 0 2.56638 -0.334745 2.56638 -0.669489Z' id='g2-58'/>
|
||||
<path d='M6.33225 -4.65853C6.24857 -5.4396 5.7604 -6.3741 4.50511 -6.3741C2.53848 -6.3741 0.530012 -4.37958 0.530012 -2.16189C0.530012 -1.31108 1.11582 0.292902 3.0127 0.292902C6.30436 0.292902 7.71308 -4.50511 7.71308 -6.41594C7.71308 -8.42441 6.58331 -9.9726 4.79801 -9.9726C2.77559 -9.9726 2.17584 -8.20125 2.17584 -7.82466C2.17584 -7.69913 2.25953 -7.39228 2.65006 -7.39228C3.13823 -7.39228 3.34745 -7.83861 3.34745 -8.07572C3.34745 -8.50809 2.91507 -8.50809 2.73375 -8.50809C3.3056 -9.54022 4.36563 -9.63786 4.74222 -9.63786C5.96961 -9.63786 6.75068 -8.66152 6.75068 -7.09938C6.75068 -6.20672 6.48568 -5.1746 6.3462 -4.65853H6.33225ZM3.05455 -0.0836862C1.74346 -0.0836862 1.5203 -1.11582 1.5203 -1.70162C1.5203 -2.31532 1.91083 -3.75193 2.12005 -4.268C2.30137 -4.68643 3.09639 -6.09514 4.54695 -6.09514C5.81619 -6.09514 6.10909 -4.99328 6.10909 -4.2401C6.10909 -3.20797 5.20249 -0.0836862 3.05455 -0.0836862Z' id='g2-64'/>
|
||||
<path d='M10.4329 -8.50809C10.5584 -8.98232 10.5863 -9.12179 11.5766 -9.12179C11.8276 -9.12179 11.9671 -9.12179 11.9671 -9.37285C11.9671 -9.52628 11.8416 -9.52628 11.7579 -9.52628C11.5068 -9.52628 11.2139 -9.49838 10.9489 -9.49838H9.30311C9.03811 -9.49838 8.74521 -9.52628 8.4802 -9.52628C8.38257 -9.52628 8.21519 -9.52628 8.21519 -9.26127C8.21519 -9.12179 8.31283 -9.12179 8.57783 -9.12179C9.41469 -9.12179 9.41469 -9.01021 9.41469 -8.85679C9.41469 -8.82889 9.41469 -8.74521 9.3589 -8.53599L8.50809 -5.16065H4.29589L5.13275 -8.50809C5.25828 -8.98232 5.28618 -9.12179 6.27646 -9.12179C6.52752 -9.12179 6.667 -9.12179 6.667 -9.37285C6.667 -9.52628 6.54147 -9.52628 6.45778 -9.52628C6.20672 -9.52628 5.91382 -9.49838 5.64882 -9.49838H4.00299C3.73798 -9.49838 3.44508 -9.52628 3.18007 -9.52628C3.08244 -9.52628 2.91507 -9.52628 2.91507 -9.26127C2.91507 -9.12179 3.0127 -9.12179 3.27771 -9.12179C4.11457 -9.12179 4.11457 -9.01021 4.11457 -8.85679C4.11457 -8.82889 4.11457 -8.74521 4.05878 -8.53599L2.17584 -1.03213C2.05031 -0.54396 2.02242 -0.404483 1.06002 -0.404483C0.739228 -0.404483 0.641594 -0.404483 0.641594 -0.139477C0.641594 0 0.795019 0 0.836862 0C1.08792 0 1.38082 -0.0278954 1.64583 -0.0278954H3.29166C3.55666 -0.0278954 3.84956 0 4.11457 0C4.22615 0 4.37958 0 4.37958 -0.265006C4.37958 -0.404483 4.25405 -0.404483 4.04483 -0.404483C3.19402 -0.404483 3.19402 -0.516065 3.19402 -0.655542C3.19402 -0.669489 3.19402 -0.767123 3.22192 -0.878705L4.18431 -4.75616H8.41046C8.17335 -3.83562 7.46202 -0.920548 7.43412 -0.836862C7.2807 -0.418431 7.05753 -0.418431 6.23462 -0.404483C6.06725 -0.404483 5.94172 -0.404483 5.94172 -0.139477C5.94172 0 6.09514 0 6.13699 0C6.38804 0 6.68095 -0.0278954 6.94595 -0.0278954H8.59178C8.85679 -0.0278954 9.14969 0 9.41469 0C9.52628 0 9.6797 0 9.6797 -0.265006C9.6797 -0.404483 9.55417 -0.404483 9.34496 -0.404483C8.49415 -0.404483 8.49415 -0.516065 8.49415 -0.655542C8.49415 -0.669489 8.49415 -0.767123 8.52204 -0.878705L10.4329 -8.50809Z' id='g2-72'/>
|
||||
<path d='M2.80349 -5.60697H4.08667C4.35168 -5.60697 4.49116 -5.60697 4.49116 -5.85803C4.49116 -6.01146 4.40747 -6.01146 4.12852 -6.01146H2.90112L3.41719 -8.04782C3.47298 -8.24309 3.47298 -8.27098 3.47298 -8.36862C3.47298 -8.59178 3.29166 -8.71731 3.11034 -8.71731C2.99875 -8.71731 2.67796 -8.67547 2.56638 -8.22914L2.02242 -6.01146H0.711333C0.432379 -6.01146 0.306849 -6.01146 0.306849 -5.74645C0.306849 -5.60697 0.404483 -5.60697 0.669489 -5.60697H1.91083L0.990286 -1.92478C0.878705 -1.43661 0.836862 -1.29714 0.836862 -1.11582C0.836862 -0.460274 1.29714 0.139477 2.07821 0.139477C3.48692 0.139477 4.2401 -1.89689 4.2401 -1.99452C4.2401 -2.07821 4.18431 -2.12005 4.10062 -2.12005C4.07273 -2.12005 4.01694 -2.12005 3.98904 -2.06426C3.97509 -2.05031 3.96115 -2.03636 3.86351 -1.8132C3.57061 -1.11582 2.92902 -0.139477 2.12005 -0.139477C1.70162 -0.139477 1.67372 -0.488169 1.67372 -0.795019C1.67372 -0.808966 1.67372 -1.07397 1.71557 -1.24134L2.80349 -5.60697Z' id='g2-116'/>
|
||||
</defs>
|
||||
<g id='page1'>
|
||||
<use x='165.981' xlink:href='#g3-105' y='97.4296'/>
|
||||
<use x='169.775' xlink:href='#g0-126' y='97.4296'/>
|
||||
<use x='180.972' xlink:href='#g2-64' y='87.9939'/>
|
||||
<rect height='0.55789' width='12.8999' x='178.506' y='93.6637'/>
|
||||
<use x='178.506' xlink:href='#g2-64' y='106.997'/>
|
||||
<use x='186.474' xlink:href='#g2-116' y='106.997'/>
|
||||
<use x='192.601' xlink:href='#g1-106' y='97.4296'/>
|
||||
<use x='198.8' xlink:href='#g2-32' y='97.4296'/>
|
||||
<use x='208.179' xlink:href='#g3-40' y='97.4296'/>
|
||||
<use x='213.49' xlink:href='#g2-116' y='97.4296'/>
|
||||
<use x='218.422' xlink:href='#g3-41' y='97.4296'/>
|
||||
<use x='223.733' xlink:href='#g1-105' y='97.4296'/>
|
||||
<use x='233.032' xlink:href='#g3-61' y='97.4296'/>
|
||||
<use x='251.069' xlink:href='#g3-94' y='93.904'/>
|
||||
<use x='247.528' xlink:href='#g2-72' y='97.4296'/>
|
||||
<use x='259.921' xlink:href='#g1-106' y='97.4296'/>
|
||||
<use x='266.12' xlink:href='#g2-32' y='97.4296'/>
|
||||
<use x='275.499' xlink:href='#g3-40' y='97.4296'/>
|
||||
<use x='280.81' xlink:href='#g2-116' y='97.4296'/>
|
||||
<use x='285.742' xlink:href='#g3-41' y='97.4296'/>
|
||||
<use x='291.053' xlink:href='#g1-105' y='97.4296'/>
|
||||
<use x='296.477' xlink:href='#g2-58' y='97.4296'/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 12 KiB |
|
@ -0,0 +1,65 @@
|
|||
========================================
|
||||
Running shell commands to fetch results
|
||||
========================================
|
||||
|
||||
Previously, with searx you could search over the Internet on other people's
|
||||
computers. Now it is possible to fetch results from your local machine without
|
||||
connecting to any networks from the same graphical user interface.
|
||||
|
||||
|
||||
Command line engines
|
||||
====================
|
||||
|
||||
In :pull:`2128` a new type of engine has been introduced called ``command``.
|
||||
This engine lets administrators add engines which run arbitrary shell commands
|
||||
and show its output on the web UI of searx.
|
||||
|
||||
When creating and enabling a ``command`` engine on a public searx instance,
|
||||
you must be careful to avoid leaking private data. The easiest solution
|
||||
is to add tokens to the engine. Thus, only those who have the appropriate token
|
||||
can retrieve results from the it.
|
||||
|
||||
The engine base is flexible. Only your imagination can limit the power of this engine. (And
|
||||
maybe security concerns.) The following options are available:
|
||||
|
||||
* ``command``: A comma separated list of the elements of the command. A special token {{QUERY}} tells searx where to put the search terms of the user. Example: ``['ls', '-l', '-h', '{{QUERY}}']``
|
||||
* ``delimiter``: A dict containing a delimiter char and the "titles" of each element in keys.
|
||||
* ``parse_regex``: A dict containing the regular expressions for each result key.
|
||||
* ``query_type``: The expected type of user search terms. Possible values: ``path`` and ``enum``. ``path`` checks if the uesr provided path is inside the working directory. If not the query is not executed. ``enum`` is a list of allowed search terms. If the user submits something which is not included in the list, the query returns an error.
|
||||
* ``query_enum``: A list containing allowed search terms if ``query_type`` is set to ``enum``.
|
||||
* ``working_dir``: The directory where the command has to be executed. Default: ``.``
|
||||
* ``result_separator``: The character that separates results. Default: ``\n``
|
||||
|
||||
|
||||
The example engine below can be used to find files with a specific name in the configured
|
||||
working directory.
|
||||
|
||||
.. code:: yaml
|
||||
|
||||
- name: find
|
||||
engine: command
|
||||
command: ['find', '.', '-name', '{{QUERY}}']
|
||||
query_type: path
|
||||
shortcut: fnd
|
||||
delimiter:
|
||||
chars: ' '
|
||||
keys: ['line']
|
||||
|
||||
|
||||
Next steps
|
||||
==========
|
||||
|
||||
In the next milestone, support for local search engines and indexers (e.g. Elasticsearch)
|
||||
are going to be added. This way, you will be able to query your own databases/indexers.
|
||||
|
||||
Acknowledgement
|
||||
===============
|
||||
|
||||
This development was sponsored by `Search and Discovery Fund`_ of `NLnet Foundation`_ .
|
||||
|
||||
.. _Search and Discovery Fund: https://nlnet.nl/discovery
|
||||
.. _NLnet Foundation: https://nlnet.nl/
|
||||
|
||||
|
||||
| Happy hacking.
|
||||
| kvch // 2020.09.28 21:26
|
|
@ -11,3 +11,4 @@ Blog
|
|||
admin
|
||||
intro-offline
|
||||
private-engines
|
||||
command-line-engines
|
||||
|
|
|
@ -70,96 +70,7 @@ on build hosts (see <a class="reference internal" href="../utils/searx.sh.html#s
|
|||
</pre></div>
|
||||
</div>
|
||||
<p>This will install packages needed by searx:</p>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div class="ui top attached tabular menu sphinx-menu docutils container">
|
||||
<div class="active item sphinx-data-tab-VWJ1bnR1IC8gZGViaWFu docutils container">
|
||||
<div class="docutils container">
|
||||
<p>Ubuntu / debian</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item sphinx-data-tab-QXJjaCBMaW51eA== docutils container">
|
||||
<div class="docutils container">
|
||||
<p>Arch Linux</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item sphinx-data-tab-RmVkb3JhIC8gUkhFTA== docutils container">
|
||||
<div class="docutils container">
|
||||
<p>Fedora / RHEL</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-VWJ1bnR1IC8gZGViaWFu active docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H apt-get install -y <span class="se">\</span>
|
||||
virtualenv python3-dev python3-babel python3-venv <span class="se">\</span>
|
||||
uwsgi uwsgi-plugin-python3 <span class="se">\</span>
|
||||
git build-essential libxslt-dev zlib1g-dev libffi-dev libssl-dev <span class="se">\</span>
|
||||
shellcheck
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-QXJjaCBMaW51eA== docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H pacman -S --noconfirm <span class="se">\</span>
|
||||
python-virtualenv python python-pip python-lxml python-babel <span class="se">\</span>
|
||||
uwsgi uwsgi-plugin-python <span class="se">\</span>
|
||||
git base-devel libxml2 <span class="se">\</span>
|
||||
shellcheck
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-RmVkb3JhIC8gUkhFTA== docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H dnf install -y <span class="se">\</span>
|
||||
virtualenv python python-pip python-lxml python-babel <span class="se">\</span>
|
||||
uwsgi uwsgi-plugin-python3 <span class="se">\</span>
|
||||
git @development-tools libxml2 <span class="se">\</span>
|
||||
ShellCheck
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p>and packages needed to build docuemtation and run tests:</p>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div class="ui top attached tabular menu sphinx-menu docutils container">
|
||||
<div class="active item sphinx-data-tab-VWJ1bnR1IC8gZGViaWFu docutils container">
|
||||
<div class="docutils container">
|
||||
<p>Ubuntu / debian</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item sphinx-data-tab-QXJjaCBMaW51eA== docutils container">
|
||||
<div class="docutils container">
|
||||
<p>Arch Linux</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item sphinx-data-tab-RmVkb3JhIC8gUkhFTA== docutils container">
|
||||
<div class="docutils container">
|
||||
<p>Fedora / RHEL</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-VWJ1bnR1IC8gZGViaWFu active docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H apt-get install -y <span class="se">\</span>
|
||||
firefox graphviz imagemagick texlive-xetex librsvg2-bin <span class="se">\</span>
|
||||
texlive-latex-recommended texlive-extra-utils ttf-dejavu <span class="se">\</span>
|
||||
latexmk
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-QXJjaCBMaW51eA== docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H pacman -S --noconfirm <span class="se">\</span>
|
||||
firefox graphviz imagemagick texlive-bin extra/librsvg <span class="se">\</span>
|
||||
texlive-core texlive-latexextra ttf-dejavu
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-RmVkb3JhIC8gUkhFTA== docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H dnf install -y <span class="se">\</span>
|
||||
firefox graphviz graphviz-gd ImageMagick librsvg2-tools <span class="se">\</span>
|
||||
texlive-xetex-bin texlive-collection-fontsrecommended <span class="se">\</span>
|
||||
texlive-collection-latex dejavu-sans-fonts dejavu-serif-fonts <span class="se">\</span>
|
||||
dejavu-sans-mono-fonts
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="build-docs">
|
||||
<span id="docs-build"></span><h2><a class="toc-backref" href="#id2">Build docs</a><a class="headerlink" href="#build-docs" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="sidebar">
|
||||
|
|
|
@ -1196,7 +1196,22 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>soundcloud</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>sepiasearch</p></th>
|
||||
<th class="stub"><p>!sep</p></th>
|
||||
<td><p>sepiasearch</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
<td><p>videos</p></td>
|
||||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
<td></td>
|
||||
<td><p>1</p></td>
|
||||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>soundcloud</p></th>
|
||||
<th class="stub"><p>!sc</p></th>
|
||||
<td><p>soundcloud</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1211,7 +1226,7 @@
|
|||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>stackoverflow</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>stackoverflow</p></th>
|
||||
<th class="stub"><p>!st</p></th>
|
||||
<td><p>stackoverflow</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1226,7 +1241,7 @@
|
|||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>searchcode doc</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>searchcode doc</p></th>
|
||||
<th class="stub"><p>!scd</p></th>
|
||||
<td><p>searchcode_doc</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1241,7 +1256,7 @@
|
|||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>searchcode code</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>searchcode code</p></th>
|
||||
<th class="stub"><p>!scc</p></th>
|
||||
<td><p>searchcode_code</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1256,7 +1271,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>framalibre</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>framalibre</p></th>
|
||||
<th class="stub"><p>!frl</p></th>
|
||||
<td><p>framalibre</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1271,7 +1286,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>semantic scholar</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>semantic scholar</p></th>
|
||||
<th class="stub"><p>!se</p></th>
|
||||
<td><p>xpath</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1286,7 +1301,7 @@
|
|||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>startpage</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>startpage</p></th>
|
||||
<th class="stub"><p>!sp</p></th>
|
||||
<td><p>startpage</p></td>
|
||||
<td><p>6.0</p></td>
|
||||
|
@ -1301,7 +1316,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>tokyotoshokan</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>tokyotoshokan</p></th>
|
||||
<th class="stub"><p>!tt</p></th>
|
||||
<td><p>tokyotoshokan</p></td>
|
||||
<td><p>6.0</p></td>
|
||||
|
@ -1316,7 +1331,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>torrentz</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>torrentz</p></th>
|
||||
<th class="stub"><p>!tor</p></th>
|
||||
<td><p>torrentz</p></td>
|
||||
<td><p>3.0</p></td>
|
||||
|
@ -1331,7 +1346,7 @@
|
|||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>twitter</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>twitter</p></th>
|
||||
<th class="stub"><p>!tw</p></th>
|
||||
<td><p>twitter</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1346,7 +1361,7 @@
|
|||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>unsplash</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>unsplash</p></th>
|
||||
<th class="stub"><p>!us</p></th>
|
||||
<td><p>unsplash</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1361,7 +1376,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>yahoo</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>yahoo</p></th>
|
||||
<th class="stub"><p>!yh</p></th>
|
||||
<td><p>yahoo</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1376,7 +1391,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>yandex</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>yandex</p></th>
|
||||
<th class="stub"><p>!yn</p></th>
|
||||
<td><p>yandex</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1391,7 +1406,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>yahoo news</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>yahoo news</p></th>
|
||||
<th class="stub"><p>!yhn</p></th>
|
||||
<td><p>yahoo_news</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1406,7 +1421,7 @@
|
|||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>youtube</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>youtube</p></th>
|
||||
<th class="stub"><p>!yt</p></th>
|
||||
<td><p>youtube_noapi</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1421,7 +1436,7 @@
|
|||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>yggtorrent</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>yggtorrent</p></th>
|
||||
<th class="stub"><p>!ygg</p></th>
|
||||
<td><p>yggtorrent</p></td>
|
||||
<td><p>4.0</p></td>
|
||||
|
@ -1436,7 +1451,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>dailymotion</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>dailymotion</p></th>
|
||||
<th class="stub"><p>!dm</p></th>
|
||||
<td><p>dailymotion</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1451,7 +1466,7 @@
|
|||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>vimeo</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>vimeo</p></th>
|
||||
<th class="stub"><p>!vm</p></th>
|
||||
<td><p>vimeo</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1466,7 +1481,7 @@
|
|||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>wikibooks</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>wikibooks</p></th>
|
||||
<th class="stub"><p>!wb</p></th>
|
||||
<td><p>mediawiki</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1481,7 +1496,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>wikinews</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>wikinews</p></th>
|
||||
<th class="stub"><p>!wn</p></th>
|
||||
<td><p>mediawiki</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1496,7 +1511,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>wikiquote</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>wikiquote</p></th>
|
||||
<th class="stub"><p>!wq</p></th>
|
||||
<td><p>mediawiki</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1511,7 +1526,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>wikisource</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>wikisource</p></th>
|
||||
<th class="stub"><p>!ws</p></th>
|
||||
<td><p>mediawiki</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1526,7 +1541,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>wiktionary</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>wiktionary</p></th>
|
||||
<th class="stub"><p>!wt</p></th>
|
||||
<td><p>mediawiki</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1541,7 +1556,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>wikiversity</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>wikiversity</p></th>
|
||||
<th class="stub"><p>!wv</p></th>
|
||||
<td><p>mediawiki</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1556,7 +1571,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>wikivoyage</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>wikivoyage</p></th>
|
||||
<th class="stub"><p>!wy</p></th>
|
||||
<td><p>mediawiki</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1571,7 +1586,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>wolframalpha</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>wolframalpha</p></th>
|
||||
<th class="stub"><p>!wa</p></th>
|
||||
<td><p>wolframalpha_noapi</p></td>
|
||||
<td><p>6.0</p></td>
|
||||
|
@ -1586,7 +1601,7 @@
|
|||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>dictzone</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>dictzone</p></th>
|
||||
<th class="stub"><p>!dc</p></th>
|
||||
<td><p>dictzone</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1601,7 +1616,7 @@
|
|||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>mymemory translated</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>mymemory translated</p></th>
|
||||
<th class="stub"><p>!tl</p></th>
|
||||
<td><p>translated</p></td>
|
||||
<td><p>5.0</p></td>
|
||||
|
@ -1616,7 +1631,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>voat</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>voat</p></th>
|
||||
<th class="stub"><p>!vo</p></th>
|
||||
<td><p>xpath</p></td>
|
||||
<td><p>10.0</p></td>
|
||||
|
@ -1631,7 +1646,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>1337x</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>1337x</p></th>
|
||||
<th class="stub"><p>!1337x</p></th>
|
||||
<td><p>1337x</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1646,7 +1661,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>duden</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>duden</p></th>
|
||||
<th class="stub"><p>!du</p></th>
|
||||
<td><p>duden</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1661,7 +1676,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>seznam</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>seznam</p></th>
|
||||
<th class="stub"><p>!szn</p></th>
|
||||
<td><p>xpath</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1676,7 +1691,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>mojeek</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>mojeek</p></th>
|
||||
<th class="stub"><p>!mjk</p></th>
|
||||
<td><p>xpath</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1691,7 +1706,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>seedpeer</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>seedpeer</p></th>
|
||||
<th class="stub"><p>!speu</p></th>
|
||||
<td><p>seedpeer</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1706,7 +1721,7 @@
|
|||
<td></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>naver</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>naver</p></th>
|
||||
<th class="stub"><p>!nvr</p></th>
|
||||
<td><p>xpath</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1721,7 +1736,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><th class="stub"><p>rubygems</p></th>
|
||||
<tr class="row-even"><th class="stub"><p>rubygems</p></th>
|
||||
<th class="stub"><p>!rbg</p></th>
|
||||
<td><p>xpath</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
@ -1736,7 +1751,7 @@
|
|||
<td><p>y</p></td>
|
||||
<td><p>y</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><th class="stub"><p>peertube</p></th>
|
||||
<tr class="row-odd"><th class="stub"><p>peertube</p></th>
|
||||
<th class="stub"><p>!ptb</p></th>
|
||||
<td><p>peertube</p></td>
|
||||
<td><p>2.0</p></td>
|
||||
|
|
|
@ -18,8 +18,6 @@
|
|||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/language_data.js"></script>
|
||||
<script src="../_static/sphinx_tabs/semantic-ui-2.4.1/tab.min.js"></script>
|
||||
<script src="../_static/sphinx_tabs/tabs.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="uwsgi" href="installation-uwsgi.html" />
|
||||
|
@ -66,52 +64,6 @@
|
|||
universe repository.</p>
|
||||
<div class="section" id="install-packages">
|
||||
<span id="id1"></span><h2><a class="toc-backref" href="#id2">Install packages</a><a class="headerlink" href="#install-packages" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div class="ui top attached tabular menu sphinx-menu docutils container">
|
||||
<div class="active item sphinx-data-tab-VWJ1bnR1IC8gZGViaWFu docutils container">
|
||||
<div class="docutils container">
|
||||
<p>Ubuntu / debian</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item sphinx-data-tab-QXJjaCBMaW51eA== docutils container">
|
||||
<div class="docutils container">
|
||||
<p>Arch Linux</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item sphinx-data-tab-RmVkb3JhIC8gUkhFTA== docutils container">
|
||||
<div class="docutils container">
|
||||
<p>Fedora / RHEL</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-VWJ1bnR1IC8gZGViaWFu active docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H apt-get install -y <span class="se">\</span>
|
||||
virtualenv python3-dev python3-babel python3-venv <span class="se">\</span>
|
||||
uwsgi uwsgi-plugin-python3 <span class="se">\</span>
|
||||
git build-essential libxslt-dev zlib1g-dev libffi-dev libssl-dev <span class="se">\</span>
|
||||
shellcheck
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-QXJjaCBMaW51eA== docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H pacman -S --noconfirm <span class="se">\</span>
|
||||
python-virtualenv python python-pip python-lxml python-babel <span class="se">\</span>
|
||||
uwsgi uwsgi-plugin-python <span class="se">\</span>
|
||||
git base-devel libxml2 <span class="se">\</span>
|
||||
shellcheck
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-RmVkb3JhIC8gUkhFTA== docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H dnf install -y <span class="se">\</span>
|
||||
virtualenv python python-pip python-lxml python-babel <span class="se">\</span>
|
||||
uwsgi uwsgi-plugin-python3 <span class="se">\</span>
|
||||
git @development-tools libxml2 <span class="se">\</span>
|
||||
ShellCheck
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="admonition hint">
|
||||
<p class="admonition-title">Hint</p>
|
||||
<p>This installs also the packages needed by <a class="reference internal" href="installation-uwsgi.html#searx-uwsgi"><span class="std std-ref">uwsgi</span></a></p>
|
||||
|
@ -119,90 +71,14 @@ universe repository.</p>
|
|||
</div>
|
||||
<div class="section" id="create-user">
|
||||
<span id="create-searx-user"></span><h2><a class="toc-backref" href="#id3">Create user</a><a class="headerlink" href="#create-user" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div class="ui top attached tabular menu sphinx-menu docutils container">
|
||||
<div class="active item sphinx-data-tab-YmFzaA== docutils container">
|
||||
<div class="docutils container">
|
||||
<p>bash</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-YmFzaA== active docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H useradd --shell /bin/bash --system <span class="se">\</span>
|
||||
--home-dir /usr/local/searx <span class="se">\</span>
|
||||
--comment <span class="s1">'Privacy-respecting metasearch engine'</span> searx
|
||||
|
||||
$ sudo -H mkdir /usr/local/searx
|
||||
$ sudo -H chown -R searx:searx /usr/local/searx
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="install-searx-dependencies">
|
||||
<span id="searx-src"></span><h2><a class="toc-backref" href="#id4">install searx & dependencies</a><a class="headerlink" href="#install-searx-dependencies" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Start a interactive shell from new created user and clone searx:</p>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div class="ui top attached tabular menu sphinx-menu docutils container">
|
||||
<div class="active item sphinx-data-tab-YmFzaA== docutils container">
|
||||
<div class="docutils container">
|
||||
<p>bash</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-YmFzaA== active docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H -u searx -i
|
||||
<span class="o">(</span>searx<span class="o">)</span>$ git clone https://github.com/searx/searx.git /usr/local/searx/searx-src
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p>In the same shell create <em>virtualenv</em>:</p>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div class="ui top attached tabular menu sphinx-menu docutils container">
|
||||
<div class="active item sphinx-data-tab-YmFzaA== docutils container">
|
||||
<div class="docutils container">
|
||||
<p>bash</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-YmFzaA== active docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="o">(</span>searx<span class="o">)</span>$ python3 -m venv /usr/local/searx/searx-pyenv
|
||||
<span class="o">(</span>searx<span class="o">)</span>$ <span class="nb">echo</span> . /usr/local/searx/searx-pyenv/bin/activate >> /usr/local/searx/.profile
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p>To install searx’s dependencies, exit the searx <em>bash</em> session you opened above
|
||||
and restart a new. Before install, first check if your <em>virualenv</em> was sourced
|
||||
from the login (<em>~/.profile</em>):</p>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div class="ui top attached tabular menu sphinx-menu docutils container">
|
||||
<div class="active item sphinx-data-tab-YmFzaA== docutils container">
|
||||
<div class="docutils container">
|
||||
<p>bash</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-YmFzaA== active docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H -u searx -i
|
||||
|
||||
<span class="o">(</span>searx<span class="o">)</span>$ <span class="nb">command</span> -v python <span class="o">&&</span> python --version
|
||||
/usr/local/searx/searx-pyenv/bin/python
|
||||
Python 3.8.1
|
||||
|
||||
<span class="c1"># update pip's boilerplate ..</span>
|
||||
pip install -U pip
|
||||
pip install -U setuptools
|
||||
pip install -U wheel
|
||||
|
||||
<span class="c1"># jump to searx's working tree and install searx into virtualenv</span>
|
||||
<span class="o">(</span>searx<span class="o">)</span>$ <span class="nb">cd</span> /usr/local/searx/searx-src
|
||||
<span class="o">(</span>searx<span class="o">)</span>$ pip install -e .
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="admonition tip">
|
||||
<p class="admonition-title">Tip</p>
|
||||
<p>Open a second terminal for the configuration tasks and left the <code class="docutils literal notranslate"><span class="pre">(searx)$</span></code>
|
||||
|
@ -214,92 +90,12 @@ terminal open for the tasks below.</p>
|
|||
<p>Create a copy of the <a class="reference external" href="https://github.com/searx/searx/blob/master/searx/settings.yml">git://searx/settings.yml</a> configuration file in system’s
|
||||
<em>/etc</em> folder. Configure like shown below – replace <code class="docutils literal notranslate"><span class="pre">searx@\$(uname</span> <span class="pre">-n)</span></code> with
|
||||
a name of your choice – <em>and/or</em> edit <code class="docutils literal notranslate"><span class="pre">/etc/searx/settings.yml</span></code> if necessary.</p>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div class="ui top attached tabular menu sphinx-menu docutils container">
|
||||
<div class="active item sphinx-data-tab-YmFzaA== docutils container">
|
||||
<div class="docutils container">
|
||||
<p>bash</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-YmFzaA== active docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H cp /usr/local/searx/searx-src/searx/settings.yml /etc/searx/settings.yml
|
||||
$ sudo -H sed -i -e s/ultrasecretkey/<span class="se">\4</span>88c4104f90826376576aa6602e0502e/g /etc/searx/settings.yml
|
||||
$ sudo -H sed -i -e s/<span class="o">{</span>instance_name<span class="o">}</span>/searx@<span class="se">\a</span>lexandre-vm/g /etc/searx/settings.yml
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="check">
|
||||
<h2><a class="toc-backref" href="#id6">Check</a><a class="headerlink" href="#check" title="Permalink to this headline">¶</a></h2>
|
||||
<p>To check your searx setup, optional enable debugging and start the <em>webapp</em>.
|
||||
Searx looks at the exported environment <code class="docutils literal notranslate"><span class="pre">$SEARX_SETTINGS_PATH</span></code> for a
|
||||
configuration file.</p>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div class="ui top attached tabular menu sphinx-menu docutils container">
|
||||
<div class="active item sphinx-data-tab-YmFzaA== docutils container">
|
||||
<div class="docutils container">
|
||||
<p>bash</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-YmFzaA== active docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># enable debug ..</span>
|
||||
$ sudo -H sed -i -e s/debug : False/debug : True/g /etc/searx/settings.yml
|
||||
|
||||
<span class="c1"># start webapp</span>
|
||||
$ sudo -H -u searx -i
|
||||
<span class="o">(</span>searx<span class="o">)</span>$ <span class="nb">cd</span> /usr/local/searx/searx-src
|
||||
<span class="o">(</span>searx<span class="o">)</span>$ <span class="nb">export</span> <span class="nv">SEARX_SETTINGS_PATH</span><span class="o">=</span>/etc/searx/settings.yml
|
||||
<span class="o">(</span>searx<span class="o">)</span>$ python searx/webapp.py
|
||||
|
||||
<span class="c1"># disable debug</span>
|
||||
$ sudo -H sed -i -e s/debug : True/debug : False/g /etc/searx/settings.yml
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p>Open WEB browser and visit <a class="reference external" href="http://">http://</a> . If you are inside a
|
||||
container or in a script, test with curl:</p>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div class="ui top attached tabular menu sphinx-menu docutils container">
|
||||
<div class="active item sphinx-data-tab-V0VCIGJyb3dzZXI= docutils container">
|
||||
<div class="docutils container">
|
||||
<p>WEB browser</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item sphinx-data-tab-Y3VybA== docutils container">
|
||||
<div class="docutils container">
|
||||
<p>curl</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-V0VCIGJyb3dzZXI= active docutils container">
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ xgd-open http://
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-Y3VybA== docutils container">
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ curl --location --verbose --head --insecure
|
||||
|
||||
* Trying 127.0.0.1:8888...
|
||||
* TCP_NODELAY set
|
||||
* Connected to 127.0.0.1 (127.0.0.1) port 8888 (#0)
|
||||
> HEAD / HTTP/1.1
|
||||
> Host: 127.0.0.1:8888
|
||||
> User-Agent: curl/7.68.0
|
||||
> Accept: */*
|
||||
>
|
||||
* Mark bundle as not supporting multiuse
|
||||
* HTTP 1.0, assume close after body
|
||||
< HTTP/1.0 200 OK
|
||||
HTTP/1.0 200 OK
|
||||
...
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p>If everything works fine, hit <code class="docutils literal notranslate"><span class="pre">[CTRL-C]</span></code> to stop the <em>webapp</em> and disable the
|
||||
debug option in <code class="docutils literal notranslate"><span class="pre">settings.yml</span></code>. You can now exit searx user bash (enter exit
|
||||
command twice). At this point searx is not demonized; uwsgi allows this.</p>
|
||||
|
|
|
@ -155,44 +155,10 @@ restart the uwsgi application.</p>
|
|||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-VWJ1bnR1IC8gZGViaWFu active docutils container">
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># init.d --> /usr/share/doc/uwsgi/README.Debian.gz</span>
|
||||
<span class="c1"># For uWSGI debian uses the LSB init process, this might be changed</span>
|
||||
<span class="c1"># one day, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=833067</span>
|
||||
|
||||
create /etc/uwsgi/apps-available/searx.ini
|
||||
enable: sudo -H ln -s /etc/uwsgi/apps-available/searx.ini /etc/uwsgi/apps-enabled/
|
||||
start: sudo -H service uwsgi start searx
|
||||
restart: sudo -H service uwsgi restart searx
|
||||
stop: sudo -H service uwsgi stop searx
|
||||
disable: sudo -H rm /etc/uwsgi/apps-enabled/searx.ini
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-QXJjaCBMaW51eA== docutils container">
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># systemd --> /usr/lib/systemd/system/uwsgi@.service</span>
|
||||
<span class="c1"># For uWSGI archlinux uses systemd template units, see</span>
|
||||
<span class="c1"># - http://0pointer.de/blog/projects/instances.html</span>
|
||||
<span class="c1"># - https://uwsgi-docs.readthedocs.io/en/latest/Systemd.html#one-service-per-app-in-systemd</span>
|
||||
|
||||
create: /etc/uwsgi/searx.ini
|
||||
enable: sudo -H systemctl <span class="nb">enable</span> uwsgi@searx
|
||||
start: sudo -H systemctl start uwsgi@searx
|
||||
restart: sudo -H systemctl restart uwsgi@searx
|
||||
stop: sudo -H systemctl stop uwsgi@searx
|
||||
disable: sudo -H systemctl disable uwsgi@searx
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-RmVkb3JhIC8gUkhFTA== docutils container">
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># systemd --> /usr/lib/systemd/system/uwsgi.service</span>
|
||||
<span class="c1"># The unit file starts uWSGI in emperor mode (/etc/uwsgi.ini), see</span>
|
||||
<span class="c1"># - https://uwsgi-docs.readthedocs.io/en/latest/Emperor.html</span>
|
||||
|
||||
create: /etc/uwsgi.d/searx.ini
|
||||
restart: sudo -H touch /etc/uwsgi.d/searx.ini
|
||||
disable: sudo -H rm /etc/uwsgi.d/searx.ini
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
|
@ -214,269 +180,10 @@ disable: sudo -H rm /etc/uwsgi.d/searx.ini
|
|||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-VWJ1bnR1IC8gZGViaWFu active docutils container">
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">[</span>uwsgi<span class="o">]</span>
|
||||
|
||||
<span class="c1"># uWSGI core</span>
|
||||
<span class="c1"># ----------</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># https://uwsgi-docs.readthedocs.io/en/latest/Options.html#uwsgi-core</span>
|
||||
|
||||
<span class="c1"># Who will run the code</span>
|
||||
<span class="nv">uid</span> <span class="o">=</span> searx
|
||||
<span class="nv">gid</span> <span class="o">=</span> searx
|
||||
|
||||
<span class="c1"># set (python) default encoding UTF-8</span>
|
||||
<span class="nv">env</span> <span class="o">=</span> <span class="nv">LANG</span><span class="o">=</span>C.UTF-8
|
||||
<span class="nv">env</span> <span class="o">=</span> <span class="nv">LANGUAGE</span><span class="o">=</span>C.UTF-8
|
||||
<span class="nv">env</span> <span class="o">=</span> <span class="nv">LC_ALL</span><span class="o">=</span>C.UTF-8
|
||||
|
||||
<span class="c1"># chdir to specified directory before apps loading</span>
|
||||
<span class="nv">chdir</span> <span class="o">=</span> /usr/local/searx/searx-src/searx
|
||||
|
||||
<span class="c1"># searx configuration (settings.yml)</span>
|
||||
<span class="nv">env</span> <span class="o">=</span> <span class="nv">SEARX_SETTINGS_PATH</span><span class="o">=</span>/etc/searx/settings.yml
|
||||
|
||||
<span class="c1"># disable logging for privacy</span>
|
||||
disable-logging <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
<span class="c1"># The right granted on the created socket</span>
|
||||
chmod-socket <span class="o">=</span> 666
|
||||
|
||||
<span class="c1"># Plugin to use and interpretor config</span>
|
||||
single-interpreter <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
<span class="c1"># enable master process</span>
|
||||
<span class="nv">master</span> <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
<span class="c1"># load apps in each worker instead of the master</span>
|
||||
lazy-apps <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
<span class="c1"># load uWSGI plugins</span>
|
||||
<span class="nv">plugin</span> <span class="o">=</span> python3,http
|
||||
|
||||
<span class="c1"># By default the Python plugin does not initialize the GIL. This means your</span>
|
||||
<span class="c1"># app-generated threads will not run. If you need threads, remember to enable</span>
|
||||
<span class="c1"># them with enable-threads. Running uWSGI in multithreading mode (with the</span>
|
||||
<span class="c1"># threads options) will automatically enable threading support. This *strange*</span>
|
||||
<span class="c1"># default behaviour is for performance reasons.</span>
|
||||
enable-threads <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
|
||||
<span class="c1"># plugin: python</span>
|
||||
<span class="c1"># --------------</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># https://uwsgi-docs.readthedocs.io/en/latest/Options.html#plugin-python</span>
|
||||
|
||||
<span class="c1"># load a WSGI module</span>
|
||||
<span class="nv">module</span> <span class="o">=</span> searx.webapp
|
||||
|
||||
<span class="c1"># set PYTHONHOME/virtualenv</span>
|
||||
<span class="nv">virtualenv</span> <span class="o">=</span> /usr/local/searx/searx-pyenv
|
||||
|
||||
<span class="c1"># add directory (or glob) to pythonpath</span>
|
||||
<span class="nv">pythonpath</span> <span class="o">=</span> /usr/local/searx/searx-src
|
||||
|
||||
|
||||
<span class="c1"># speak to upstream</span>
|
||||
<span class="c1"># -----------------</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Activate the 'http' configuration for filtron or activate the 'socket'</span>
|
||||
<span class="c1"># configuration if you setup your HTTP server to use uWSGI protocol via sockets.</span>
|
||||
|
||||
<span class="c1"># using IP:</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># https://uwsgi-docs.readthedocs.io/en/latest/Options.html#plugin-http</span>
|
||||
<span class="c1"># Native HTTP support: https://uwsgi-docs.readthedocs.io/en/latest/HTTP.html</span>
|
||||
|
||||
<span class="nv">http</span> <span class="o">=</span> 127.0.0.1:8888
|
||||
|
||||
<span class="c1"># using unix-sockets:</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># On some distributions you need to create the app folder for the sockets::</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># mkdir -p /run/uwsgi/app/searx</span>
|
||||
<span class="c1"># chmod -R searx:searx /run/uwsgi/app/searx</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># socket = /run/uwsgi/app/searx/socket</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-QXJjaCBMaW51eA== docutils container">
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">[</span>uwsgi<span class="o">]</span>
|
||||
|
||||
<span class="c1"># uWSGI core</span>
|
||||
<span class="c1"># ----------</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># https://uwsgi-docs.readthedocs.io/en/latest/Options.html#uwsgi-core</span>
|
||||
|
||||
<span class="c1"># Who will run the code</span>
|
||||
<span class="nv">uid</span> <span class="o">=</span> searx
|
||||
<span class="nv">gid</span> <span class="o">=</span> searx
|
||||
|
||||
<span class="c1"># set (python) default encoding UTF-8</span>
|
||||
<span class="nv">env</span> <span class="o">=</span> <span class="nv">LANG</span><span class="o">=</span>C.UTF-8
|
||||
<span class="nv">env</span> <span class="o">=</span> <span class="nv">LANGUAGE</span><span class="o">=</span>C.UTF-8
|
||||
<span class="nv">env</span> <span class="o">=</span> <span class="nv">LC_ALL</span><span class="o">=</span>C.UTF-8
|
||||
|
||||
<span class="c1"># chdir to specified directory before apps loading</span>
|
||||
<span class="nv">chdir</span> <span class="o">=</span> /usr/local/searx/searx-src/searx
|
||||
|
||||
<span class="c1"># searx configuration (settings.yml)</span>
|
||||
<span class="nv">env</span> <span class="o">=</span> <span class="nv">SEARX_SETTINGS_PATH</span><span class="o">=</span>/etc/searx/settings.yml
|
||||
|
||||
<span class="c1"># disable logging for privacy</span>
|
||||
<span class="nv">logger</span> <span class="o">=</span> systemd
|
||||
disable-logging <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
<span class="c1"># The right granted on the created socket</span>
|
||||
chmod-socket <span class="o">=</span> 666
|
||||
|
||||
<span class="c1"># Plugin to use and interpretor config</span>
|
||||
single-interpreter <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
<span class="c1"># enable master process</span>
|
||||
<span class="nv">master</span> <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
<span class="c1"># load apps in each worker instead of the master</span>
|
||||
lazy-apps <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
<span class="c1"># load uWSGI plugins</span>
|
||||
<span class="nv">plugin</span> <span class="o">=</span> python
|
||||
|
||||
<span class="c1"># By default the Python plugin does not initialize the GIL. This means your</span>
|
||||
<span class="c1"># app-generated threads will not run. If you need threads, remember to enable</span>
|
||||
<span class="c1"># them with enable-threads. Running uWSGI in multithreading mode (with the</span>
|
||||
<span class="c1"># threads options) will automatically enable threading support. This *strange*</span>
|
||||
<span class="c1"># default behaviour is for performance reasons.</span>
|
||||
enable-threads <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
|
||||
<span class="c1"># plugin: python</span>
|
||||
<span class="c1"># --------------</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># https://uwsgi-docs.readthedocs.io/en/latest/Options.html#plugin-python</span>
|
||||
|
||||
<span class="c1"># load a WSGI module</span>
|
||||
<span class="nv">module</span> <span class="o">=</span> searx.webapp
|
||||
|
||||
<span class="c1"># set PYTHONHOME/virtualenv</span>
|
||||
<span class="nv">virtualenv</span> <span class="o">=</span> /usr/local/searx/searx-pyenv
|
||||
|
||||
<span class="c1"># add directory (or glob) to pythonpath</span>
|
||||
<span class="nv">pythonpath</span> <span class="o">=</span> /usr/local/searx/searx-src
|
||||
|
||||
|
||||
<span class="c1"># speak to upstream</span>
|
||||
<span class="c1"># -----------------</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Activate the 'http' configuration for filtron or activate the 'socket'</span>
|
||||
<span class="c1"># configuration if you setup your HTTP server to use uWSGI protocol via sockets.</span>
|
||||
|
||||
<span class="c1"># using IP:</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># https://uwsgi-docs.readthedocs.io/en/latest/Options.html#plugin-http</span>
|
||||
<span class="c1"># Native HTTP support: https://uwsgi-docs.readthedocs.io/en/latest/HTTP.html</span>
|
||||
|
||||
<span class="nv">http</span> <span class="o">=</span> 127.0.0.1:8888
|
||||
|
||||
<span class="c1"># using unix-sockets:</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># On some distributions you need to create the app folder for the sockets::</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># mkdir -p /run/uwsgi/app/searx</span>
|
||||
<span class="c1"># chown -R searx:searx /run/uwsgi/app/searx</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># socket = /run/uwsgi/app/searx/socket</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached sphinx-tab tab segment sphinx-data-tab-RmVkb3JhIC8gUkhFTA== docutils container">
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">[</span>uwsgi<span class="o">]</span>
|
||||
|
||||
<span class="c1"># uWSGI core</span>
|
||||
<span class="c1"># ----------</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># https://uwsgi-docs.readthedocs.io/en/latest/Options.html#uwsgi-core</span>
|
||||
|
||||
<span class="c1"># Who will run the code</span>
|
||||
<span class="nv">uid</span> <span class="o">=</span> searx
|
||||
<span class="nv">gid</span> <span class="o">=</span> searx
|
||||
|
||||
<span class="c1"># set (python) default encoding UTF-8</span>
|
||||
<span class="nv">env</span> <span class="o">=</span> <span class="nv">LANG</span><span class="o">=</span>C.UTF-8
|
||||
<span class="nv">env</span> <span class="o">=</span> <span class="nv">LANGUAGE</span><span class="o">=</span>C.UTF-8
|
||||
<span class="nv">env</span> <span class="o">=</span> <span class="nv">LC_ALL</span><span class="o">=</span>C.UTF-8
|
||||
|
||||
<span class="c1"># chdir to specified directory before apps loading</span>
|
||||
<span class="nv">chdir</span> <span class="o">=</span> /usr/local/searx/searx-src/searx
|
||||
|
||||
<span class="c1"># searx configuration (settings.yml)</span>
|
||||
<span class="nv">env</span> <span class="o">=</span> <span class="nv">SEARX_SETTINGS_PATH</span><span class="o">=</span>/etc/searx/settings.yml
|
||||
|
||||
<span class="c1"># disable logging for privacy</span>
|
||||
disable-logging <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
<span class="c1"># The right granted on the created socket</span>
|
||||
chmod-socket <span class="o">=</span> 666
|
||||
|
||||
<span class="c1"># Plugin to use and interpretor config</span>
|
||||
single-interpreter <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
<span class="c1"># enable master process</span>
|
||||
<span class="nv">master</span> <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
<span class="c1"># load apps in each worker instead of the master</span>
|
||||
lazy-apps <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
<span class="c1"># load uWSGI plugins</span>
|
||||
<span class="nv">plugin</span> <span class="o">=</span> python3,http
|
||||
|
||||
<span class="c1"># By default the Python plugin does not initialize the GIL. This means your</span>
|
||||
<span class="c1"># app-generated threads will not run. If you need threads, remember to enable</span>
|
||||
<span class="c1"># them with enable-threads. Running uWSGI in multithreading mode (with the</span>
|
||||
<span class="c1"># threads options) will automatically enable threading support. This *strange*</span>
|
||||
<span class="c1"># default behaviour is for performance reasons.</span>
|
||||
enable-threads <span class="o">=</span> <span class="nb">true</span>
|
||||
|
||||
|
||||
<span class="c1"># plugin: python</span>
|
||||
<span class="c1"># --------------</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># https://uwsgi-docs.readthedocs.io/en/latest/Options.html#plugin-python</span>
|
||||
|
||||
<span class="c1"># load a WSGI module</span>
|
||||
<span class="nv">module</span> <span class="o">=</span> searx.webapp
|
||||
|
||||
<span class="c1"># set PYTHONHOME/virtualenv</span>
|
||||
<span class="nv">virtualenv</span> <span class="o">=</span> /usr/local/searx/searx-pyenv
|
||||
|
||||
<span class="c1"># add directory (or glob) to pythonpath</span>
|
||||
<span class="nv">pythonpath</span> <span class="o">=</span> /usr/local/searx/searx-src
|
||||
|
||||
|
||||
<span class="c1"># speak to upstream</span>
|
||||
<span class="c1"># -----------------</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Activate the 'http' configuration for filtron or activate the 'socket'</span>
|
||||
<span class="c1"># configuration if you setup your HTTP server to use uWSGI protocol via sockets.</span>
|
||||
|
||||
<span class="c1"># using IP:</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># https://uwsgi-docs.readthedocs.io/en/latest/Options.html#plugin-http</span>
|
||||
<span class="c1"># Native HTTP support: https://uwsgi-docs.readthedocs.io/en/latest/HTTP.html</span>
|
||||
|
||||
<span class="nv">http</span> <span class="o">=</span> 127.0.0.1:8888
|
||||
|
||||
<span class="c1"># using unix-sockets:</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># On some distributions you need to create the app folder for the sockets::</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># mkdir -p /run/uwsgi/app/searx</span>
|
||||
<span class="c1"># chmod -R searx:searx /run/uwsgi/app/searx</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># socket = /run/uwsgi/app/searx/socket</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,158 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Running shell commands to fetch results — Searx Documentation (Searx-0.17.0.tex)</title>
|
||||
<link rel="stylesheet" href="../_static/searx.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/sphinx_tabs/semantic-ui-2.4.1/segment.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/sphinx_tabs/semantic-ui-2.4.1/menu.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/sphinx_tabs/semantic-ui-2.4.1/tab.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/sphinx_tabs/tabs.css" />
|
||||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/language_data.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="prev" title="Limit access to your searx engines" href="private-engines.html" />
|
||||
<script>DOCUMENTATION_OPTIONS.URL_ROOT = '../';</script>
|
||||
|
||||
</head><body>
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="private-engines.html" title="Limit access to your searx engines"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Searx Documentation (Searx-0.17.0.tex)</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Blog</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Running shell commands to fetch results</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<div class="section" id="running-shell-commands-to-fetch-results">
|
||||
<h1>Running shell commands to fetch results<a class="headerlink" href="#running-shell-commands-to-fetch-results" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Previously, with searx you could search over the Internet on other people’s
|
||||
computers. Now it is possible to fetch results from your local machine without
|
||||
connecting to any networks from the same graphical user interface.</p>
|
||||
<div class="section" id="command-line-engines">
|
||||
<h2>Command line engines<a class="headerlink" href="#command-line-engines" title="Permalink to this headline">¶</a></h2>
|
||||
<p>In <a class="reference external" href="https://github.com/searx/searx/pull/2128">PR 2128</a> a new type of engine has been introduced called <code class="docutils literal notranslate"><span class="pre">command</span></code>.
|
||||
This engine lets administrators add engines which run arbitrary shell commands
|
||||
and show its output on the web UI of searx.</p>
|
||||
<p>When creating and enabling a <code class="docutils literal notranslate"><span class="pre">command</span></code> engine on a public searx instance,
|
||||
you must be careful to avoid leaking private data. The easiest solution
|
||||
is to add tokens to the engine. Thus, only those who have the appropriate token
|
||||
can retrieve results from the it.</p>
|
||||
<p>The engine base is flexible. Only your imagination can limit the power of this engine. (And
|
||||
maybe security concerns.) The following options are available:</p>
|
||||
<ul class="simple">
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">command</span></code>: A comma separated list of the elements of the command. A special token {{QUERY}} tells searx where to put the search terms of the user. Example: <code class="docutils literal notranslate"><span class="pre">['ls',</span> <span class="pre">'-l',</span> <span class="pre">'-h',</span> <span class="pre">'{{QUERY}}']</span></code></p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">delimiter</span></code>: A dict containing a delimiter char and the “titles” of each element in keys.</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">parse_regex</span></code>: A dict containing the regular expressions for each result key.</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">query_type</span></code>: The expected type of user search terms. Possible values: <code class="docutils literal notranslate"><span class="pre">path</span></code> and <code class="docutils literal notranslate"><span class="pre">enum</span></code>. <code class="docutils literal notranslate"><span class="pre">path</span></code> checks if the uesr provided path is inside the working directory. If not the query is not executed. <code class="docutils literal notranslate"><span class="pre">enum</span></code> is a list of allowed search terms. If the user submits something which is not included in the list, the query returns an error.</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">query_enum</span></code>: A list containing allowed search terms if <code class="docutils literal notranslate"><span class="pre">query_type</span></code> is set to <code class="docutils literal notranslate"><span class="pre">enum</span></code>.</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">working_dir</span></code>: The directory where the command has to be executed. Default: <code class="docutils literal notranslate"><span class="pre">.</span></code></p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">result_separator</span></code>: The character that separates results. Default: <code class="docutils literal notranslate"><span class="pre">\n</span></code></p></li>
|
||||
</ul>
|
||||
<p>The example engine below can be used to find files with a specific name in the configured
|
||||
working directory.</p>
|
||||
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">name</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">find</span>
|
||||
<span class="l l-Scalar l-Scalar-Plain">engine</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">command</span>
|
||||
<span class="l l-Scalar l-Scalar-Plain">command</span><span class="p p-Indicator">:</span> <span class="p p-Indicator">[</span><span class="s">'find'</span><span class="p p-Indicator">,</span> <span class="s">'.'</span><span class="p p-Indicator">,</span> <span class="s">'-name'</span><span class="p p-Indicator">,</span> <span class="s">'{{QUERY}}'</span><span class="p p-Indicator">]</span>
|
||||
<span class="l l-Scalar l-Scalar-Plain">query_type</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">path</span>
|
||||
<span class="l l-Scalar l-Scalar-Plain">shortcut</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">fnd</span>
|
||||
<span class="l l-Scalar l-Scalar-Plain">delimiter</span><span class="p p-Indicator">:</span>
|
||||
<span class="l l-Scalar l-Scalar-Plain">chars</span><span class="p p-Indicator">:</span> <span class="s">'</span><span class="nv"> </span><span class="s">'</span>
|
||||
<span class="l l-Scalar l-Scalar-Plain">keys</span><span class="p p-Indicator">:</span> <span class="p p-Indicator">[</span><span class="s">'line'</span><span class="p p-Indicator">]</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="next-steps">
|
||||
<h2>Next steps<a class="headerlink" href="#next-steps" title="Permalink to this headline">¶</a></h2>
|
||||
<p>In the next milestone, support for local search engines and indexers (e.g. Elasticsearch)
|
||||
are going to be added. This way, you will be able to query your own databases/indexers.</p>
|
||||
</div>
|
||||
<div class="section" id="acknowledgement">
|
||||
<h2>Acknowledgement<a class="headerlink" href="#acknowledgement" title="Permalink to this headline">¶</a></h2>
|
||||
<p>This development was sponsored by <a class="reference external" href="https://nlnet.nl/discovery">Search and Discovery Fund</a> of <a class="reference external" href="https://nlnet.nl/">NLnet Foundation</a> .</p>
|
||||
<div class="line-block">
|
||||
<div class="line">Happy hacking.</div>
|
||||
<div class="line">kvch // 2020.09.28 21:26</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span id="sidebar-top"></span>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
|
||||
|
||||
<p class="logo"><a href="../index.html">
|
||||
<img class="logo" src="../_static/searx_logo_small.png" alt="Logo"/>
|
||||
</a></p>
|
||||
|
||||
|
||||
<h3>Project Links</h3>
|
||||
<ul>
|
||||
<li><a href="https://github.com/searx/searx">Source</a>
|
||||
|
||||
<li><a href="https://github.com/searx/searx/wiki">Wiki</a>
|
||||
|
||||
<li><a href="https://searx.space/">Public instances</a>
|
||||
|
||||
<li><a href="https://twitter.com/Searx_engine">Twitter</a>
|
||||
</ul><h3>Navigation</h3>
|
||||
<ul>
|
||||
<li><a href="../index.html">Overview</a>
|
||||
<ul>
|
||||
<li><a href="index.html">Blog</a>
|
||||
<ul>
|
||||
<li>Previous: <a href="private-engines.html" title="previous chapter">Limit access to your searx engines</a>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2015-2020, Adam Tauber, Noémi Ványi.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
</div>
|
||||
<script src="../_static/version_warning_offset.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -84,6 +84,12 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="private-engines.html#acknowledgement">Acknowledgement</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="command-line-engines.html">Running shell commands to fetch results</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="command-line-engines.html#command-line-engines">Command line engines</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="command-line-engines.html#next-steps">Next steps</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="command-line-engines.html#acknowledgement">Acknowledgement</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
<script src="../_static/language_data.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Running shell commands to fetch results" href="command-line-engines.html" />
|
||||
<link rel="prev" title="Preparation for offline engines" href="intro-offline.html" />
|
||||
<script>DOCUMENTATION_OPTIONS.URL_ROOT = '../';</script>
|
||||
|
||||
|
@ -30,6 +31,9 @@
|
|||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="command-line-engines.html" title="Running shell commands to fetch results"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="intro-offline.html" title="Preparation for offline engines"
|
||||
accesskey="P">previous</a> |</li>
|
||||
|
@ -126,7 +130,7 @@ and come up with new solutions which fit your use case.</p>
|
|||
<li><a href="index.html">Blog</a>
|
||||
<ul>
|
||||
<li>Previous: <a href="intro-offline.html" title="previous chapter">Preparation for offline engines</a>
|
||||
</ul>
|
||||
<li>Next: <a href="command-line-engines.html" title="next chapter">Running shell commands to fetch results</a></ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
|
|
@ -398,7 +398,7 @@ the desired type.</p>
|
|||
<td><p>string, general result-text</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>publishedDate</p></td>
|
||||
<td><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.datetime" title="(in Python v3.8)"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime.datetime</span></code></a>, time of publish</p></td>
|
||||
<td><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.datetime" title="(in Python v3.9)"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime.datetime</span></code></a>, time of publish</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -430,7 +430,7 @@ the desired type.</p>
|
|||
<td><p><em>(partly implemented)</em></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>publishedDate</p></td>
|
||||
<td><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.datetime" title="(in Python v3.8)"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime.datetime</span></code></a>,
|
||||
<td><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.datetime" title="(in Python v3.9)"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime.datetime</span></code></a>,
|
||||
time of publish <em>(partly implemented)</em></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>img_src</p></td>
|
||||
|
@ -468,7 +468,7 @@ time of publish <em>(partly implemented)</em></p></td>
|
|||
<td><p><em>(not implemented yet)</em></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>publishedDate</p></td>
|
||||
<td><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.datetime" title="(in Python v3.8)"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime.datetime</span></code></a>, time of publish</p></td>
|
||||
<td><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.datetime" title="(in Python v3.9)"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime.datetime</span></code></a>, time of publish</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>thumbnail</p></td>
|
||||
<td><p>string, url to a small-preview image</p></td>
|
||||
|
@ -502,7 +502,7 @@ time of publish <em>(partly implemented)</em></p></td>
|
|||
<td><p>string, general result-text</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>publishedDate</p></td>
|
||||
<td><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.datetime" title="(in Python v3.8)"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime.datetime</span></code></a>,
|
||||
<td><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.datetime" title="(in Python v3.9)"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime.datetime</span></code></a>,
|
||||
time of publish <em>(not implemented yet)</em></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>seed</p></td>
|
||||
|
@ -549,7 +549,7 @@ time of publish <em>(not implemented yet)</em></p></td>
|
|||
<td><p>string, general result-text</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>publishedDate</p></td>
|
||||
<td><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.datetime" title="(in Python v3.8)"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime.datetime</span></code></a>, time of publish</p></td>
|
||||
<td><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.datetime" title="(in Python v3.9)"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime.datetime</span></code></a>, time of publish</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>latitude</p></td>
|
||||
<td><p>latitude of result (in decimal format)</p></td>
|
||||
|
|
|
@ -412,7 +412,7 @@ content becomes smart.</p>
|
|||
<tr class="row-even"><td colspan="3"><p><a class="reference external" href="http://www.sphinx-doc.org/en/stable/ext/intersphinx.html">intersphinx</a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>external anchor</p></td>
|
||||
<td><p><a class="reference external" href="https://docs.python.org/3/reference/expressions.html#and" title="(in Python v3.8)"><span>Boolean operations</span></a></p></td>
|
||||
<td><p><a class="reference external" href="https://docs.python.org/3/reference/expressions.html#and" title="(in Python v3.9)"><span>Boolean operations</span></a></p></td>
|
||||
<td><p><code class="docutils literal notranslate"><span class="pre">:ref:`python:and`</span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>external doc anchor</p></td>
|
||||
|
@ -420,7 +420,7 @@ content becomes smart.</p>
|
|||
<td><p><code class="docutils literal notranslate"><span class="pre">:doc:`jinja:templates`</span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>python code object</p></td>
|
||||
<td><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.datetime" title="(in Python v3.8)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">datetime.datetime</span></code></a></p></td>
|
||||
<td><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.datetime" title="(in Python v3.9)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">datetime.datetime</span></code></a></p></td>
|
||||
<td><p><code class="docutils literal notranslate"><span class="pre">:py:obj:`datetime.datetime`</span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>flask code object</p></td>
|
||||
|
@ -592,7 +592,7 @@ in a specific way.</p>
|
|||
<td><p><code class="docutils literal notranslate"><span class="pre">:download:`this</span> <span class="pre">file</span> <span class="pre"><reST.rst>`</span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><a class="reference internal" href="#math">math</a></p></td>
|
||||
<td><p><img class="math" src="../_images/math/6673b43f9fe29455c1fcd1164e5844698cc64d38.svg" alt="a^2 + b^2 = c^2"/></p></td>
|
||||
<td><p><span class="math">a^2 + b^2 = c^2</span></p></td>
|
||||
<td><p><code class="docutils literal notranslate"><span class="pre">:math:`a^2</span> <span class="pre">+</span> <span class="pre">b^2</span> <span class="pre">=</span> <span class="pre">c^2`</span></code></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-ref" title="(in Sphinx v4.0.0+)"><code class="xref rst rst-role docutils literal notranslate"><span class="pre">ref</span></code></a></p></td>
|
||||
|
@ -1519,8 +1519,8 @@ is shown.
|
|||
<p>In <a class="reference internal" href="#equation-schroedinger-general">(1)</a> the time-dependent Schrödinger equation
|
||||
is shown.</p>
|
||||
<div class="math" id="equation-schroedinger-general">
|
||||
<p><span class="eqno">(1)<a class="headerlink" href="#equation-schroedinger-general" title="Permalink to this equation">¶</a></span><img src="../_images/math/a6a994cb6e7278ec30eaebe7e636046d3deccb5b.svg" alt="\mathrm{i}\hbar\dfrac{\partial}{\partial t} |\,\psi (t) \rangle =
|
||||
\hat{H} |\,\psi (t) \rangle."/></p>
|
||||
<p><span class="eqno">(1)<a class="headerlink" href="#equation-schroedinger-general" title="Permalink to this equation">¶</a></span><span class="math">\mathrm{i}\hbar\dfrac{\partial}{\partial t} |\,\psi (t) \rangle =
|
||||
\hat{H} |\,\psi (t) \rangle.</span></p>
|
||||
</div></div>
|
||||
<p>The next example shows the difference of <code class="docutils literal notranslate"><span class="pre">\tfrac</span></code> (<em>textstyle</em>) and <code class="docutils literal notranslate"><span class="pre">\dfrac</span></code>
|
||||
(<em>displaystyle</em>) used in a inline markup or another fraction.</p>
|
||||
|
@ -1533,13 +1533,13 @@ is shown.</p>
|
|||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
|
||||
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
|
||||
voluptua. …
|
||||
<code class="docutils literal notranslate"><span class="pre">\tfrac</span></code> <strong>inline example</strong> <img class="math" src="../_images/math/3b8127a8eed95247f9249ea6c85e8e86df1baa82.svg" alt="\tfrac{\tfrac{1}{x}+\tfrac{1}{y}}{y-z}"/>
|
||||
<code class="docutils literal notranslate"><span class="pre">\tfrac</span></code> <strong>inline example</strong> <span class="math">\tfrac{\tfrac{1}{x}+\tfrac{1}{y}}{y-z}</span>
|
||||
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
|
||||
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
|
||||
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
|
||||
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
|
||||
voluptua. …
|
||||
<code class="docutils literal notranslate"><span class="pre">\tfrac</span></code> <strong>inline example</strong> <img class="math" src="../_images/math/07c9ff4251510b06013159f4e45ec9ab97044096.svg" alt="\dfrac{\dfrac{1}{x}+\dfrac{1}{y}}{y-z}"/>
|
||||
<code class="docutils literal notranslate"><span class="pre">\tfrac</span></code> <strong>inline example</strong> <span class="math">\dfrac{\dfrac{1}{x}+\dfrac{1}{y}}{y-z}</span>
|
||||
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
|
||||
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
|
||||
</div>
|
||||
|
|
|
@ -119,6 +119,7 @@ digital rights</p></li>
|
|||
<li class="toctree-l2"><a class="reference internal" href="blog/admin.html">Searx admin interface</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="blog/intro-offline.html">Preparation for offline engines</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="blog/private-engines.html">Limit access to your searx engines</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="blog/command-line-engines.html">Running shell commands to fetch results</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
BIN
objects.inv
|
@ -222,18 +222,18 @@ inspect service
|
|||
show service status and log
|
||||
option
|
||||
set one of the available options
|
||||
apache (http://10.0.2.15/searx)
|
||||
apache (http://192.168.1.92/searx)
|
||||
:install: apache site with a reverse proxy (ProxyPass)
|
||||
:remove: apache site searx.conf
|
||||
nginx (http://10.0.2.15/searx)
|
||||
nginx (http://192.168.1.92/searx)
|
||||
:install: nginx site with a reverse proxy (ProxyPass)
|
||||
:remove: nginx site searx.conf
|
||||
|
||||
filtron rules: /etc/filtron/rules.json
|
||||
|
||||
If needed, set PUBLIC_URL of your WEB service in the '.config.sh' file::
|
||||
PUBLIC_URL : http://10.0.2.15/searx
|
||||
PUBLIC_HOST : 10.0.2.15
|
||||
PUBLIC_URL : http://192.168.1.92/searx
|
||||
PUBLIC_HOST : 192.168.1.92
|
||||
SERVICE_USER : filtron
|
||||
FILTRON_TARGET : 127.0.0.1:8888
|
||||
FILTRON_API : 127.0.0.1:4005
|
||||
|
|
|
@ -162,46 +162,12 @@ of coffee).:</p>
|
|||
<div class="section" id="overview">
|
||||
<span id="lxc-sh-help"></span><h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">--help</span></code> output of the script is largely self-explanatory:</p>
|
||||
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>usage::
|
||||
lxc.sh build [containers|<name>]
|
||||
lxc.sh copy [images]
|
||||
lxc.sh remove [containers|<name>|images]
|
||||
lxc.sh [start|stop] [containers|<name>]
|
||||
lxc.sh show [images|suite|info|config [<name>]]
|
||||
lxc.sh cmd [--|<name>] '...'
|
||||
lxc.sh install [suite|base [<name>]]
|
||||
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>[1;31mERROR:[0m missing command lxc
|
||||
|
||||
build
|
||||
:containers: build, launch all containers and 'install base' packages
|
||||
:<name>: build, launch container <name> and 'install base' packages
|
||||
copy:
|
||||
:images: copy remote images of the suite into local storage
|
||||
remove
|
||||
:containers: delete all 'containers' or only <container-name>
|
||||
:images: delete local images of the suite
|
||||
start/stop
|
||||
:containers: start/stop all 'containers' from the suite
|
||||
:<name>: start/stop container <name> from suite
|
||||
show
|
||||
:info: show info of all (or <name>) containers from LXC suite
|
||||
:config: show config of all (or <name>) containers from the LXC suite
|
||||
:suite: show services of all (or <name>) containers from the LXC suite
|
||||
:images: show information of local images
|
||||
cmd
|
||||
use single qoutes to evaluate in container's bash, e.g.: 'echo $(hostname)'
|
||||
-- run command '...' in all containers of the LXC suite
|
||||
:<name>: run command '...' in container <name>
|
||||
install
|
||||
:base: prepare LXC; install basic packages
|
||||
:suite: install LXC searx suite into all (or <name>) containers
|
||||
LXD is needed, to install run::
|
||||
|
||||
LXC suite: searx --> http://10.0.2.15/searx
|
||||
suite includes searx, morty & filtron
|
||||
suite images:
|
||||
ubu1604 ubu1804 ubu1910 ubu2004 fedora31 archlinux centos7
|
||||
suite containers:
|
||||
searx-ubu1604 searx-ubu1804 searx-ubu1910 searx-ubu2004 searx-fedora31
|
||||
searx-archlinux searx-centos7
|
||||
snap install lxd
|
||||
lxd init --auto
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -224,22 +224,22 @@ inspect service
|
|||
option
|
||||
set one of the available options
|
||||
:new-key: set new morty key
|
||||
apache : http://10.0.2.15/morty/
|
||||
apache : http://192.168.1.92/morty/
|
||||
:install: apache site with a reverse proxy (ProxyPass)
|
||||
:remove: apache site morty.conf
|
||||
nginx (http://10.0.2.15/morty/)
|
||||
nginx (http://192.168.1.92/morty/)
|
||||
:install: nginx site with a reverse proxy (ProxyPass)
|
||||
:remove: nginx site morty.conf
|
||||
|
||||
If needed, set the environment variables in the '.config.sh' file::
|
||||
PUBLIC_URL_MORTY: http://10.0.2.15/morty/
|
||||
PUBLIC_URL_MORTY: http://192.168.1.92/morty/
|
||||
MORTY_LISTEN: 127.0.0.1:3000
|
||||
SERVICE_USER: morty
|
||||
|
||||
To activate result and image proxy in searx, edit settings.yml (read:
|
||||
https://searx.github.io/searx/admin/morty.html)::
|
||||
result_proxy:
|
||||
url : http://10.0.2.15/morty/
|
||||
url : http://192.168.1.92/morty/
|
||||
server:
|
||||
image_proxy : True
|
||||
</pre></div>
|
||||
|
|
|
@ -75,49 +75,7 @@ into this user account. The installation is described in chapter
|
|||
<span id="intranet-reverse-proxy"></span><h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">--help</span></code> output of the script is largely self-explanatory
|
||||
(<a class="reference internal" href="index.html#toolboxing-common"><span class="std std-ref">Common commands & environment</span></a>):</p>
|
||||
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>usage::
|
||||
searx.sh shell
|
||||
searx.sh install [all|user|searx-src|pyenv|uwsgi|packages|buildhost]
|
||||
searx.sh update [searx]
|
||||
searx.sh remove [all|user|pyenv|searx-src]
|
||||
searx.sh activate [service]
|
||||
searx.sh deactivate [service]
|
||||
searx.sh inspect [service]
|
||||
searx.sh option [debug-[on|off]|image-proxy-[on|off]|result-proxy <url> <key>]
|
||||
searx.sh apache [install|remove]
|
||||
|
||||
shell
|
||||
start interactive shell from user searx
|
||||
install / remove
|
||||
:all: complete (de-) installation of searx service
|
||||
:user: add/remove service user 'searx' (/usr/local/searx)
|
||||
:searx-src: clone https://github.com/searx/searx
|
||||
:pyenv: create/remove virtualenv (python) in /usr/local/searx/searx-pyenv
|
||||
:uwsgi: install searx uWSGI application
|
||||
:settings: reinstall settings from /home/alexandre/code/searx/searx/settings.yml
|
||||
:packages: install needed packages from OS package manager
|
||||
:buildhost: install packages from OS package manager needed by buildhosts
|
||||
update searx
|
||||
Update searx installation (/usr/local/searx)
|
||||
activate service
|
||||
activate and start service daemon (systemd unit)
|
||||
deactivate service
|
||||
stop and deactivate service daemon (systemd unit)
|
||||
inspect service
|
||||
run some small tests and inspect service's status and log
|
||||
option
|
||||
set one of the available options
|
||||
apache
|
||||
:install: apache site with the searx uwsgi app
|
||||
:remove: apache site
|
||||
|
||||
searx settings: /etc/searx/settings.yml
|
||||
|
||||
If needed, set PUBLIC_URL of your WEB service in the '.config.sh' file::
|
||||
PUBLIC_URL : http://10.0.2.15/searx
|
||||
SEARX_INSTANCE_NAME : searx@10.0.2.15
|
||||
SERVICE_USER : searx
|
||||
SEARX_INTERNAL_HTTP : http://127.0.0.1:8888
|
||||
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>[1;31mERROR:[0m missing command systemctl
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|