<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://178.140.10.58:8080/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://178.140.10.58:8080/feed.php">
        <title>Библиотека знаний</title>
        <description>Заметки IT программиста</description>
        <link>http://178.140.10.58:8080/</link>
        <image rdf:resource="http://178.140.10.58:8080/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-04-17T17:18:59+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=router:asus"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=router:modsyslogui"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=router:xrayui"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=router:x-ray"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=system:syslog-ng"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=router"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=router:geolist"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=os:macos"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=system:networking"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=develop:shell"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=development:vscode"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=application:crowdsec"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=software"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=system:strace"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=network:transmission"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=router:asus:entware"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=application:nexus"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=portainer"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=electron:vscode"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=system:docker-socket"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=system:docker"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=system:backuppc"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://178.140.10.58:8080/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>Библиотека знаний</title>
        <link>http://178.140.10.58:8080/</link>
        <url>http://178.140.10.58:8080/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=router:asus">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-11T16:49:43+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Asus - Router - [Logger / syslog-ng] </title>
        <link>http://178.140.10.58:8080/doku.php?id=router:asus</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;asus_-_router&quot;&gt;Asus - Router&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Asus - Router&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;asus_-_router&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-29&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;устройства&quot;&gt;Устройства&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;30-64&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;rt-ac86u&quot;&gt;RT-AC86U&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://sourceforge.net/projects/asuswrt-merlin/files/RT-AC86U/Release/&quot; class=&quot;urlextern&quot; title=&quot;https://sourceforge.net/projects/asuswrt-merlin/files/RT-AC86U/Release/&quot; rel=&quot;ugc nofollow&quot;&gt;https://sourceforge.net/projects/asuswrt-merlin/files/RT-AC86U/Release/&lt;/a&gt; &lt;img src=&quot;http://178.140.10.58:8080/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://lostrealm-my.sharepoint.com/personal/merlin_lostrealm_ca/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fmerlin%5Flostrealm%5Fca%2FDocuments%2FAsuswrt%2DMerlin%2FReleases%2FRT%2DAC86U&quot; class=&quot;urlextern&quot; title=&quot;https://lostrealm-my.sharepoint.com/personal/merlin_lostrealm_ca/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fmerlin%5Flostrealm%5Fca%2FDocuments%2FAsuswrt%2DMerlin%2FReleases%2FRT%2DAC86U&quot; rel=&quot;ugc nofollow&quot;&gt;https://lostrealm-my.sharepoint.com/personal/merlin_lostrealm_ca/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fmerlin%5Flostrealm%5Fca%2FDocuments%2FAsuswrt%2DMerlin%2FReleases%2FRT%2DAC86U&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;RT-AC86U&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;rt-ac86u&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;65-356&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;gt-ax11000&quot;&gt;GT-AX11000&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://sourceforge.net/projects/asuswrt-merlin/files/GT-AX11000/Release/&quot; class=&quot;urlextern&quot; title=&quot;https://sourceforge.net/projects/asuswrt-merlin/files/GT-AX11000/Release/&quot; rel=&quot;ugc nofollow&quot;&gt;https://sourceforge.net/projects/asuswrt-merlin/files/GT-AX11000/Release/&lt;/a&gt; &lt;img src=&quot;http://178.140.10.58:8080/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://lostrealm-my.sharepoint.com/personal/merlin_lostrealm_ca/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fmerlin%5Flostrealm%5Fca%2FDocuments%2FAsuswrt%2DMerlin%2FReleases%2FGT%2DAX11000&quot; class=&quot;urlextern&quot; title=&quot;https://lostrealm-my.sharepoint.com/personal/merlin_lostrealm_ca/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fmerlin%5Flostrealm%5Fca%2FDocuments%2FAsuswrt%2DMerlin%2FReleases%2FGT%2DAX11000&quot; rel=&quot;ugc nofollow&quot;&gt;https://lostrealm-my.sharepoint.com/personal/merlin_lostrealm_ca/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fmerlin%5Flostrealm%5Fca%2FDocuments%2FAsuswrt%2DMerlin%2FReleases%2FGT%2DAX11000&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/RMerl/asuswrt-merlin.ng/tree/main/release/src-rt-5.02axhnd&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/RMerl/asuswrt-merlin.ng/tree/main/release/src-rt-5.02axhnd&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/RMerl/asuswrt-merlin.ng/tree/main/release/src-rt-5.02axhnd&lt;/a&gt; (source)
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;GT-AX11000&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;gt-ax11000&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;357-745&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;настройки_прошивки_merlin&quot;&gt;Настройки прошивки Merlin&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/RMerl/asuswrt-merlin.ng&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/RMerl/asuswrt-merlin.ng&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/RMerl/asuswrt-merlin.ng&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://www.snbforums.com/forums/asuswrt-merlin.42/&quot; class=&quot;urlextern&quot; title=&quot;https://www.snbforums.com/forums/asuswrt-merlin.42/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.snbforums.com/forums/asuswrt-merlin.42/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:asus:amtm&quot; class=&quot;wikilink1&quot; title=&quot;router:asus:amtm&quot; data-wiki-id=&quot;router:asus:amtm&quot;&gt;AMTM&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:asus:entware&quot; class=&quot;wikilink1&quot; title=&quot;router:asus:entware&quot; data-wiki-id=&quot;router:asus:entware&quot;&gt;Entware&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/RMerl/asuswrt-merlin.ng/wiki/Compile-Firmware-from-source&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/RMerl/asuswrt-merlin.ng/wiki/Compile-Firmware-from-source&quot; rel=&quot;ugc nofollow&quot;&gt;Сборка&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/RMerl/asuswrt-merlin.ng/wiki/User-scripts&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/RMerl/asuswrt-merlin.ng/wiki/User-scripts&quot; rel=&quot;ugc nofollow&quot;&gt;User-scripts&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/RMerl/asuswrt-merlin.ng/wiki/Iptables-tips&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/RMerl/asuswrt-merlin.ng/wiki/Iptables-tips&quot; rel=&quot;ugc nofollow&quot;&gt;Iptables-tips&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/RMerl/asuswrt-merlin.ng/wiki/Applying-patches-to-source-files&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/RMerl/asuswrt-merlin.ng/wiki/Applying-patches-to-source-files&quot; rel=&quot;ugc nofollow&quot;&gt;Patches&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 Merlin&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438_\u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438_merlin&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;746-1321&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;расширения&quot;&gt;Расширения&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://www.snbforums.com/forums/asuswrt-merlin-addons.60/&quot; class=&quot;urlextern&quot; title=&quot;https://www.snbforums.com/forums/asuswrt-merlin-addons.60/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.snbforums.com/forums/asuswrt-merlin-addons.60/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1322-1418&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;настройки&quot;&gt;Настройки&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;1419-1448&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit8&quot; id=&quot;тип_nat&quot;&gt;Тип NAT&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;Full Cone NAT&lt;/strong&gt; - использует статическое сопоставление портов, позволяя входящим соединениям от любых внешних хостов достигать внутренних устройств через один и тот же внешний порт. Этот режим идеален для онлайн-игр, P2P-приложений и сервисов вроде Skype, где требуется легкий доступ извне.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;Symmetric NAT&lt;/strong&gt; - назначает уникальную комбинацию внешнего IP-адреса и порта для каждого соединения с разными внешними назначениями. Это обеспечивает более высокий уровень безопасности, но может вызывать проблемы совместимости с некоторыми P2P-приложениями, так как входящие пакеты без установленного соединения блокируются.
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0422\u0438\u043f NAT&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0442\u0438\u043f_nat&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;1449-2579&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit9&quot; id=&quot;dpi&quot;&gt;DPI&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:zapret&quot; class=&quot;wikilink1&quot; title=&quot;router:zapret&quot; data-wiki-id=&quot;router:zapret&quot;&gt;Zapret - DPI bypass multi platform Topics (NFQWS)&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DPI&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dpi&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;2580-2614&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit10&quot; id=&quot;vpn&quot;&gt;VPN&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:x-ray&quot; class=&quot;wikilink1&quot; title=&quot;router:x-ray&quot; data-wiki-id=&quot;router:x-ray&quot;&gt;XRAY Server / XRAYUI&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;VPN&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vpn&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;2615-2655&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit11&quot; id=&quot;logger_syslog-ng&quot;&gt;Logger / syslog-ng&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:syslog-ng&quot; class=&quot;wikilink1&quot; title=&quot;router:syslog-ng&quot; data-wiki-id=&quot;router:syslog-ng&quot;&gt;Scribe&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:modsyslogui&quot; class=&quot;wikilink1&quot; title=&quot;router:modsyslogui&quot; data-wiki-id=&quot;router:modsyslogui&quot;&gt;ModSyslogUI&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Logger \/ syslog-ng&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;logger_syslog-ng&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;2656-2742&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit12&quot; id=&quot;monitoring&quot;&gt;Monitoring&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://www.snbforums.com/threads/rtrmon-v2-3-1-mar-8-2026-monitor-your-routers-health-new-wireguard-amtm-network-conn-bandwidth-diag-port-scanner-speedtest-v2-4-0beta4.96546/&quot; class=&quot;urlextern&quot; title=&quot;https://www.snbforums.com/threads/rtrmon-v2-3-1-mar-8-2026-monitor-your-routers-health-new-wireguard-amtm-network-conn-bandwidth-diag-port-scanner-speedtest-v2-4-0beta4.96546/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.snbforums.com/threads/rtrmon-v2-3-1-mar-8-2026-monitor-your-routers-health-new-wireguard-amtm-network-conn-bandwidth-diag-port-scanner-speedtest-v2-4-0beta4.96546/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Monitoring&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;monitoring&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;2743-2950&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit13&quot; id=&quot;ошибки&quot;&gt;Ошибки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0448\u0438\u0431\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0448\u0438\u0431\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;2951-2978&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit14&quot; id=&quot;no_space_left_on_device&quot;&gt;No space left on device&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ admin&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;GT-AX11000-&lt;span class=&quot;nu0&quot;&gt;8220&lt;/span&gt;:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;home&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;root&lt;span class=&quot;co0&quot;&gt;# cat /dev/null &amp;gt; /jffs/.sys/TrafficAnalyzer/TrafficAnalyzer.db&lt;/span&gt;
-sh: can&lt;span class=&quot;st_h&quot;&gt;&#039;t create /jffs/.sys/TrafficAnalyzer/TrafficAnalyzer.db: No space left on device&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;No space left on device&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;no_space_left_on_device&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;2979-3223&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit15&quot; id=&quot;исправления&quot;&gt;Исправления&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ nvram &lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;jffs2_format&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
$ nvram commit
$ reboot&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;3224-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=router:modsyslogui">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-11T16:23:22+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>ModSyslogUI - создано</title>
        <link>http://178.140.10.58:8080/doku.php?id=router:modsyslogui</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;modsyslogui&quot;&gt;ModSyslogUI&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=router:xrayui">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-26T10:56:41+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>X-RAY UI плагин XRAY-Core для роутеров ASUS</title>
        <link>http://178.140.10.58:8080/doku.php?id=router:xrayui</link>
        <description>&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:xray&amp;amp;do=showtag&amp;amp;tag=%5Bxray&quot; class=&quot;wikilink1&quot; title=&quot;tag:xray&quot; rel=&quot;tag&quot;&gt;[xray&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:xrayui&amp;amp;do=showtag&amp;amp;tag=xrayui%5D&quot; class=&quot;wikilink1&quot; title=&quot;tag:xrayui&quot; rel=&quot;tag&quot;&gt;xrayui]&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;x-ray_ui_плагин_xray-core_для_роутеров_asus&quot;&gt;X-RAY UI плагин XRAY-Core для роутеров ASUS&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;X-RAY UI \u043f\u043b\u0430\u0433\u0438\u043d XRAY-Core \u0434\u043b\u044f \u0440\u043e\u0443\u0442\u0435\u0440\u043e\u0432 ASUS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;x-ray_ui_\u043f\u043b\u0430\u0433\u0438\u043d_xray-core_\u0434\u043b\u044f_\u0440\u043e\u0443\u0442\u0435\u0440\u043e\u0432_asus&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;24-99&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;dns&quot;&gt;DNS&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://178.140.10.58:8080/lib/exe/detail.php?id=router%3Axrayui&amp;amp;media=router:2026-03-26_13-48.png&quot; class=&quot;media&quot; title=&quot;router:2026-03-26_13-48.png&quot;&gt;&lt;img src=&quot;http://178.140.10.58:8080/lib/exe/fetch.php?w=600&amp;amp;tok=62bf16&amp;amp;media=router:2026-03-26_13-48.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DNS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dns&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;100-156&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;режимы&quot;&gt;Режимы&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 OFF — весь перехваченный трафик идёт в Xray. Правила маршрутизации работают полностью.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 BYPASS — из конфига извлекаются домены правил с типом outbound freedom. Трафик на эти домены не попадает в Xray и идёт напрямую. Например, правило domain:ru → freedom означает, что весь трафик на .ru обходит Xray. Остальной трафик попадает в Xray.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 REDIRECT — обратно BYPASS. Извлекаются домены правил с типом outbound не freedom, и только этот трафик направляется в Xray. Например, правило geosite:youtube → proxy означает, что только трафик YouTube попадёт в Xray, а всё остальное пойдёт напрямую.
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;plugin_note noteimportant&quot;&gt;&lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; обход работает до правил маршрутизации Xray. Трафик, отфильтрованный на этом уровне, никогда не попадёт в Xray, и правила маршрутизации для него не применятся.
&lt;/div&gt;&lt;div class=&quot;plugin_note notetip&quot;&gt;В категориях геодаты изредка встречаются записи с префиксом regexp:. Такие записи игнорируются &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; обходом — ipset не поддерживает регулярные выражения.
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0436\u0438\u043c\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0436\u0438\u043c\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;157-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=router:x-ray">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-26T10:44:08+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>XRAY Server / XRAYUI</title>
        <link>http://178.140.10.58:8080/doku.php?id=router:x-ray</link>
        <description>&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:router&amp;amp;do=showtag&amp;amp;tag=%5Brouter&quot; class=&quot;wikilink1&quot; title=&quot;tag:router&quot; rel=&quot;tag&quot;&gt;[router&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:vless&amp;amp;do=showtag&amp;amp;tag=vless&quot; class=&quot;wikilink1&quot; title=&quot;tag:vless&quot; rel=&quot;tag&quot;&gt;vless&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:proxy&amp;amp;do=showtag&amp;amp;tag=proxy&quot; class=&quot;wikilink1&quot; title=&quot;tag:proxy&quot; rel=&quot;tag&quot;&gt;proxy&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:xrayui&amp;amp;do=showtag&amp;amp;tag=xrayui&quot; class=&quot;wikilink1&quot; title=&quot;tag:xrayui&quot; rel=&quot;tag&quot;&gt;xrayui&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:xray&amp;amp;do=showtag&amp;amp;tag=xray%5D&quot; class=&quot;wikilink1&quot; title=&quot;tag:xray&quot; rel=&quot;tag&quot;&gt;xray]&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;xray_server_xrayui&quot;&gt;XRAY Server / XRAYUI&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/DanielLavrushin/asuswrt-merlin-xrayui&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/DanielLavrushin/asuswrt-merlin-xrayui&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/DanielLavrushin/asuswrt-merlin-xrayui&lt;/a&gt; - Клиент на роутер
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/XTLS/Xray-core&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/XTLS/Xray-core&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/XTLS/Xray-core&lt;/a&gt; - Само приложение Xray 
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;XRAY Server \/ XRAYUI&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;xray_server_xrayui&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;43-249&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;asuswrt-merlin-xrayui_client&quot;&gt;asuswrt-merlin-xrayui / Client&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:xrayui&quot; class=&quot;wikilink1&quot; title=&quot;router:xrayui&quot; data-wiki-id=&quot;router:xrayui&quot;&gt;X-RAY UI плагин XRAY-Core для роутеров ASUS&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;asuswrt-merlin-xrayui \/ Client&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;asuswrt-merlin-xrayui_client&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;250-311&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;установка&quot;&gt;Установка&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;wget&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-O&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;asuswrt-merlin-xrayui.tar.gz https:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;github.com&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;DanielLavrushin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;asuswrt-merlin-xrayui&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;releases&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;latest&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;download&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;asuswrt-merlin-xrayui.tar.gz &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-rf&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;addons&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;xrayui &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;tar&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-xzf&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;asuswrt-merlin-xrayui.tar.gz &lt;span class=&quot;re5&quot;&gt;-C&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;addons &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;mv&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;addons&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;xrayui&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;xrayui &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;scripts&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;xrayui &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;chmod&lt;/span&gt; 0777 &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;scripts&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;xrayui &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;scripts&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;xrayui &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;312-733&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit4&quot; id=&quot;ошибка&quot;&gt;Ошибка&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;Entware is not installed or opkg binary is not accessible.
Please install Entware first: https://github.com/Entware/Entware/wiki/Install-on-ASUSWRT&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0448\u0438\u0431\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0448\u0438\u0431\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;734-919&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit5&quot; id=&quot;entware&quot;&gt;Entware&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ amtm
i
ep&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Entware&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;entware&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;920-969&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;удаление&quot;&gt;Удаление&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;scripts&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;xrayui uninstall&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;970-1051&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;обновление&quot;&gt;Обновление&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;wget&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-O&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;asuswrt-merlin-xrayui.tar.gz https:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;github.com&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;DanielLavrushin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;asuswrt-merlin-xrayui&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;releases&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;latest&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;download&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;asuswrt-merlin-xrayui.tar.gz &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-rf&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;addons&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;xrayui &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;tar&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-xzf&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;asuswrt-merlin-xrayui.tar.gz &lt;span class=&quot;re5&quot;&gt;-C&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;addons &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;mv&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;addons&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;xrayui&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;xrayui &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;scripts&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;xrayui &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;chmod&lt;/span&gt; 0777 &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;scripts&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;xrayui &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;scripts&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;xrayui update&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;1052-1474&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;x-ui_panel_server&quot;&gt;3X-UI / Panel / Server&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/AghayeCoder/tx-ui&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/AghayeCoder/tx-ui&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/AghayeCoder/tx-ui&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class=&quot;code bash&quot;&gt;$ openssl req &lt;span class=&quot;re5&quot;&gt;-x509&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-keyout&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ssl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;certs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;3x-ui.key &lt;span class=&quot;re5&quot;&gt;-out&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ssl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;certs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;3x-ui.pem &lt;span class=&quot;re5&quot;&gt;-newkey&lt;/span&gt; rsa:&lt;span class=&quot;nu0&quot;&gt;4096&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-sha256&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-days&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;3650&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-nodes&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-new&lt;/span&gt;
$ openssl x509 &lt;span class=&quot;re5&quot;&gt;-noout&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-sha256&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-fingerprint&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-in&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ssl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;certs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;3x-ui.pem&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;bash&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;curl &lt;span class=&quot;re5&quot;&gt;-Ls&lt;/span&gt; https:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;raw.githubusercontent.com&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mhsanaei&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;3x-ui&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;master&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;install.sh&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;3X-UI \/ Panel \/ Server&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;x-ui_panel_server&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;1475-1883&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;настройки_подключения&quot;&gt;Настройки / Подключения&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \/ \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438_\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;1884-1939&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit10&quot; id=&quot;схемапользователь_-_nginx_443_порт_-_xray&quot;&gt;Схема: Пользователь -&amp;gt; Nginx (443 порт) -&amp;gt; Xray&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Это классическая схема «проксирование через WebSocket + TLS» (часто называемая WS + TLS или VLESS+WS+TLS).
&lt;/p&gt;

&lt;p&gt;
Как это работает:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Пользователь подключается к вашему домену (например, yourdomain.com) по стандартному HTTPS-порту 443.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Nginx, получив запрос, проверяет его.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Ключевой момент: 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Вы настраиваете в nginx правило, чтобы запросы, приходящие на определённый путь (например, &lt;strong&gt;/graphql, /ray, /ws&lt;/strong&gt;), пересылались (проксировались) на локальный порт, где работает Xray (например, 127.0.0.1:10000).
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Обычный веб-трафик (запрос к сайту) идёт к вашему сайту или отдаёт fake page, а трафик по секретному пути — к Xray.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Со стороны интернета весь трафик выглядит как обычный HTTPS, что обеспечивает высокую степень маскировки и обхода блокировок.
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;
Зачем это нужно:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Маскировка: Трафик Xray выглядит как обычный веб-серфинг.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Надёжность: Используется порт 443, который почти всегда открыт.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Безопасность: TLS-шифрование завершается на nginx.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Разделение: На одном IP-адресе можно одновременно держать и сайт, и прокси-сервис.
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0445\u0435\u043c\u0430: \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c -&amp;gt; Nginx (443 \u043f\u043e\u0440\u0442) -&amp;gt; Xray&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0445\u0435\u043c\u0430\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c_-_nginx_443_\u043f\u043e\u0440\u0442_-_xray&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;1940-3766&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit11&quot; id=&quot;схемапользователь_-_nginx_2053_порт_-_панель_3x-ui&quot;&gt;Схема: Пользователь -&amp;gt; Nginx (2053 порт) -&amp;gt; Панель 3x-ui&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Это схема для доступа к веб-панели управления Xray.
&lt;/p&gt;

&lt;p&gt;
Как это работает:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Панель 3x-ui по умолчанию слушает свой порт (например, 2053) и отдаёт веб-интерфейс.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Вы НЕ открываете порт 2053 напрямую в фаерволе. Вместо этого вы настраиваете nginx как обратный прокси.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Nginx слушает порт 2053 на внешнем интерфейсе, принимает входящие соединения и передаёт их на внутренний порт панели 3x-ui (например, 127.0.0.1:2053).
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Важное преимущество: Вы можете легко добавить к этому соединению аутентификацию (логин/пароль) на уровне nginx (auth_basic) или даже TLS-сертификат, чтобы шифровать доступ к самой панели, что сильно повышает безопасность.
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0445\u0435\u043c\u0430: \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c -&amp;gt; Nginx (2053 \u043f\u043e\u0440\u0442) -&amp;gt; \u041f\u0430\u043d\u0435\u043b\u044c 3x-ui&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0445\u0435\u043c\u0430\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c_-_nginx_2053_\u043f\u043e\u0440\u0442_-_\u043f\u0430\u043d\u0435\u043b\u044c_3x-ui&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;3767-4963&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;протоколы&quot;&gt;Протоколы&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;div class=&quot;table sectionedit13&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt; Протокол     &lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot;&gt; Транспорт                           &lt;/th&gt;&lt;th class=&quot;col2 leftalign&quot;&gt; Модуль nginx                             &lt;/th&gt;&lt;th class=&quot;col3 leftalign&quot;&gt; Особенности настройки                                                                &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;VLESS&lt;/strong&gt;        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; TCP‑TLS, WS‑TLS, gRPC‑TLS, H2‑TLS   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; http, stream (для TCP)                  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; Полная поддержка через proxy_pass (WS) или grpc_pass (gRPC).                         &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;VMess&lt;/strong&gt;        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; TCP‑TLS, WS‑TLS, gRPC‑TLS, H2‑TLS   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; http, stream (для TCP)                  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; Аналогично VLESS, требует правильных заголовков и пути.                              &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;Trojan&lt;/strong&gt;       &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; TCP‑TLS, WS‑TLS, gRPC‑TLS, H2‑TLS &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; http, stream (для TCP)                  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; Часто используется как fallback‑протокол; проксируется как обычный TLS‑трафик.       &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;Shadowsocks&lt;/strong&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; TCP‑TLS, WS‑TLS, gRPC‑TLS (с obfs) &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; http (если с TLS), stream (чистый TCP)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; Без obfs легко обнаруживается; в режиме TLS настраивается как обычный HTTPS‑прокси.  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;mKCP&lt;/strong&gt;         &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; (KCP over UDP)	UDP &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; stream (с указанием udp)                &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; Требует модуля ngx_stream_proxy_module с поддержкой UDP.                             &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;HTTP&lt;/strong&gt;         &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Upgrade (WebSocket) &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; WS‑TLS	http                             &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; Стандартная настройка WebSocket‑прокси с заголовками Upgrade, Connection.            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;xHTTP&lt;/strong&gt;        &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; (HTTP/2, HTTP/3) &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; H2‑TLS, QUIC                            &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; http (HTTP/2), экспериментальный модуль http3                                        &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;4994-6819&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;4964-6820&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit14&quot; id=&quot;настройки&quot;&gt;Настройки&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;6821-6850&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit15&quot; id=&quot;nginx&quot;&gt;nginx&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;    location /grpc {
       # 1. Безопасность и основные настройки
       limit_except GET POST { deny all; } # Разрешаем только методы gRPC
       client_max_body_size 0;
    
       # 2. Критически важные заголовки для gRPC
       grpc_set_header Content-Type application/grpc;
       grpc_set_header TE trailers; # Обязательно для gRPC
       grpc_set_header Host $host;
       grpc_set_header X-Real-IP $remote_addr;
       grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       grpc_set_header X-Forwarded-Proto $scheme;
    
       # 3. Оптимизация таймаутов (более реалистичные значения)
       grpc_read_timeout 30m; # Для долгих потоков
       grpc_send_timeout 30m;
       grpc_connect_timeout 5s; # Быстрое отсечение недоступных серверов
    
       # 4. Оптимизация буферизации и производительности
       grpc_buffer_size 128k; # Увеличиваем буфер для gRPC потоков
       grpc_next_upstream error timeout http_502 http_503;
       grpc_next_upstream_timeout 0;
       grpc_next_upstream_tries 2;
    
       # 5. keepalive для upstream соединений (важно для Docker!)
       set $upstream_grpc proxy-grpc;
       grpc_pass grpc://$upstream_grpc;
    
       # 6. Для отладки (можно отключить в проде)
       # access_log /var/log/nginx/grpc_access.log upstream_time;
       # error_log /var/log/nginx/grpc_error.log debug;
    }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;    # Xray grpc
    location /grpc {
        # Защита от больших тел запросов
        client_max_body_size 0;

        # Настройки таймаутов для gRPC (чтобы не рвалось соединение)
        grpc_read_timeout 1h;
        grpc_send_timeout 1h;
        client_body_timeout 1h;

        # Обязательные заголовки
        grpc_set_header X-Real-IP $remote_addr;
        grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        # Пробрасываем на апстрим
        grpc_pass grpc://proxy-grpc;
    }&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;nginx&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nginx&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;6851-9170&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit16&quot; id=&quot;обязательные_настройки&quot;&gt;Обязательные настройки&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Отключает Flow Cache и NAT Acceleration
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Корректно перезапускает сетевой стек
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Безопасен для запуска при старте
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;scripts&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;init-start &lt;span class=&quot;co2&quot;&gt;&amp;lt;&amp;lt; &#039;EOF&#039;
#!/bin/sh
&amp;nbsp;
# Отключаем аппаратное ускорение (Flow Cache / CTF) на Broadcom-роутерах
# Необходимо при использовании Xray / TPROXY / iptables-перехвата трафика
&amp;nbsp;
logger -t &amp;quot;DISABLE-HW-ACC&amp;quot; &amp;quot;Отключение аппаратного ускорения (Flow Cache и NAT Acceleration)...&amp;quot;
&amp;nbsp;
# Отключаем Cut-Through Forwarding (Flow Cache)
nvram set ctf_disable=1
&amp;nbsp;
# Отключаем fast NAT forwarding
nvram set nf_nat_fastforward=0
&amp;nbsp;
# Сохраняем настройки
nvram commit
&amp;nbsp;
# Перезапускаем firewall (вместо полной перезагрузки)
service restart_firewall
&amp;nbsp;
logger -t &amp;quot;DISABLE-HW-ACC&amp;quot; &amp;quot;Аппаратное ускорение отключено. Сетевой стек перезапущен.&amp;quot;
EOF&lt;/span&gt;
&amp;nbsp;
$ &lt;span class=&quot;kw2&quot;&gt;chmod&lt;/span&gt; +x &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;scripts&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;init-start&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;scripts&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nat-start &lt;span class=&quot;co2&quot;&gt;&amp;lt;&amp;lt; &#039;EOF&#039;
#!/bin/sh
&amp;nbsp;
# Ждём, пока Xray UI применит свои правила (обычно 5–10 секунд после старта)
sleep 10
&amp;nbsp;
# Удаляем старые правила (на случай повторного запуска)
iptables -t mangle -D PREROUTING -s 192.168.0.0/16 -j RETURN 2&amp;gt;/dev/null
iptables -t mangle -D PREROUTING -s 10.0.0.0/8 -j RETURN 2&amp;gt;/dev/null
iptables -t mangle -D PREROUTING -s 172.16.0.0/12 -j RETURN 2&amp;gt;/dev/null
iptables -t mangle -D PREROUTING -d 192.168.0.0/16 -j RETURN 2&amp;gt;/dev/null
iptables -t mangle -D PREROUTING -d 10.0.0.0/8 -j RETURN 2&amp;gt;/dev/null
iptables -t mangle -D PREROUTING -d 172.16.0.0/12 -j RETURN 2&amp;gt;/dev/null
iptables -t mangle -D PREROUTING -d 127.0.0.0/8 -j RETURN 2&amp;gt;/dev/null
&amp;nbsp;
# Вставляем исключения В САМОЕ НАЧАЛО цепочки mangle
iptables -t mangle -I PREROUTING 1 -s 192.168.0.0/16 -j RETURN
iptables -t mangle -I PREROUTING 1 -s 10.0.0.0/8 -j RETURN
iptables -t mangle -I PREROUTING 1 -s 172.16.0.0/12 -j RETURN
iptables -t mangle -I PREROUTING 1 -d 192.168.0.0/16 -j RETURN
iptables -t mangle -I PREROUTING 1 -d 10.0.0.0/8 -j RETURN
iptables -t mangle -I PREROUTING 1 -d 172.16.0.0/12 -j RETURN
iptables -t mangle -I PREROUTING 1 -d 127.0.0.0/8 -j RETURN
&amp;nbsp;
# Логируем
logger -t &amp;quot;XRAY-FIX&amp;quot; &amp;quot;Локальные сети исключены из TPROXY через iptables (nat-start).&amp;quot;
EOF&lt;/span&gt;
&amp;nbsp;
$ &lt;span class=&quot;kw2&quot;&gt;chmod&lt;/span&gt; +x &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jffs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;scripts&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nat-start
$ iptables &lt;span class=&quot;re5&quot;&gt;-t&lt;/span&gt; mangle &lt;span class=&quot;re5&quot;&gt;-L&lt;/span&gt; PREROUTING &lt;span class=&quot;re5&quot;&gt;-n&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--line-numbers&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435_\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;9171-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=system:syslog-ng">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-24T20:13:19+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title> - удалено</title>
        <link>http://178.140.10.58:8080/doku.php?id=system:syslog-ng</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;syslog_ng&quot;&gt;Syslog NG&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Syslog NG&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;syslog_ng&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-25&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;asus_wrt&quot;&gt;Asus WRT&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:syslog-ng&quot; class=&quot;wikilink1&quot; title=&quot;router:syslog-ng&quot; data-wiki-id=&quot;router:syslog-ng&quot;&gt;Scribe&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Asus WRT&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;asus_wrt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;26-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=router">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-20T12:32:25+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Routers</title>
        <link>http://178.140.10.58:8080/doku.php?id=router</link>
        <description>&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:routers&amp;amp;do=showtag&amp;amp;tag=%5Brouters%5D&quot; class=&quot;wikilink1&quot; title=&quot;tag:routers&quot; rel=&quot;tag&quot;&gt;[routers]&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;routers&quot;&gt;Routers&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:zapret&quot; class=&quot;wikilink1&quot; title=&quot;router:zapret&quot; data-wiki-id=&quot;router:zapret&quot;&gt;Zapret - DPI bypass multi platform Topics (NFQWS)&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:x-ray&quot; class=&quot;wikilink1&quot; title=&quot;router:x-ray&quot; data-wiki-id=&quot;router:x-ray&quot;&gt;XRAY Server / XRAYUI&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:asus&quot; class=&quot;wikilink1&quot; title=&quot;router:asus&quot; data-wiki-id=&quot;router:asus&quot;&gt;Asus - Router&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:amtm&quot; class=&quot;wikilink2&quot; title=&quot;router:amtm&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;router:amtm&quot;&gt;amtm&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=nfqws&quot; class=&quot;wikilink1&quot; title=&quot;nfqws&quot; data-wiki-id=&quot;nfqws&quot;&gt;nfqws - Эта программа - модификатор пакетов и обработчик очереди NFQUEUE&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:geolist&quot; class=&quot;wikilink1&quot; title=&quot;router:geolist&quot; data-wiki-id=&quot;router:geolist&quot;&gt;Этот репозиторий содержит автоматически обновляемые правила маршрутизации&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=asus_wl167g_v3_on_debian_gnu_linux&quot; class=&quot;wikilink1&quot; title=&quot;asus_wl167g_v3_on_debian_gnu_linux&quot; data-wiki-id=&quot;asus_wl167g_v3_on_debian_gnu_linux&quot;&gt;Asus WL167g V3 on Debian GNU/Linux&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Routers&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;routers&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;20-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=router:geolist">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-20T12:32:00+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Этот репозиторий содержит автоматически обновляемые правила маршрутизации</title>
        <link>http://178.140.10.58:8080/doku.php?id=router:geolist</link>
        <description>&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:asus&amp;amp;do=showtag&amp;amp;tag=%5Basus%5D&quot; class=&quot;wikilink1&quot; title=&quot;tag:asus&quot; rel=&quot;tag&quot;&gt;[asus]&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;этот_репозиторий_содержит_автоматически_обновляемые_правила_маршрутизации&quot;&gt;Этот репозиторий содержит автоматически обновляемые правила маршрутизации&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u042d\u0442\u043e\u0442 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u044d\u0442\u043e\u0442_\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439_\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442_\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438_\u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c\u044b\u0435_\u043f\u0440\u0430\u0432\u0438\u043b\u0430_\u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-172&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;v2ray-rules-dat&quot;&gt;v2ray-rules-dat&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat&lt;/a&gt;
&lt;a href=&quot;https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;v2ray-rules-dat&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;v2ray-rules-dat&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;173-371&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;russia-v2ray-rules-dat&quot;&gt;russia-v2ray-rules-dat&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Этот репозиторий содержит автоматически обновляемые правила маршрутизации V2Ray, основанные на данных о заблокированных доменах и адресах в России.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geoip.dat&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geoip.dat&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geoip.dat&lt;/a&gt;
&lt;a href=&quot;https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geosite.dat&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geosite.dat&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geosite.dat&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;russia-v2ray-rules-dat&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;russia-v2ray-rules-dat&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;372-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=os:macos">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-02T02:37:54+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Mac OS - [Установщик] </title>
        <link>http://178.140.10.58:8080/doku.php?id=os:macos</link>
        <description>&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:os&amp;amp;do=showtag&amp;amp;tag=os&quot; class=&quot;wikilink1&quot; title=&quot;tag:os&quot; rel=&quot;tag&quot;&gt;os&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:distrib&amp;amp;do=showtag&amp;amp;tag=distrib&quot; class=&quot;wikilink1&quot; title=&quot;tag:distrib&quot; rel=&quot;tag&quot;&gt;distrib&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:macos&amp;amp;do=showtag&amp;amp;tag=macos&quot; class=&quot;wikilink1&quot; title=&quot;tag:macos&quot; rel=&quot;tag&quot;&gt;macos&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:osx&amp;amp;do=showtag&amp;amp;tag=osx&quot; class=&quot;wikilink1&quot; title=&quot;tag:osx&quot; rel=&quot;tag&quot;&gt;osx&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;mac_os&quot;&gt;Mac OS&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mac OS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mac_os&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;31-52&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;mac_os_x_el_capitan&quot;&gt;Mac OS X El Capitan&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://swcdn.apple.com/content/downloads/45/55/031-27723/jfp6s17zwamp7zr7iwmkmdigzudq3fd72e/OSXUpd10.11.pkg&quot; class=&quot;urlextern&quot; title=&quot;http://swcdn.apple.com/content/downloads/45/55/031-27723/jfp6s17zwamp7zr7iwmkmdigzudq3fd72e/OSXUpd10.11.pkg&quot; rel=&quot;ugc nofollow&quot;&gt;Mac OS X El Capitan 10.11 Beta 6 Delta Update&lt;/a&gt; (15A244d)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://swcdn.apple.com/content/downloads/45/55/031-27723/jfp6s17zwamp7zr7iwmkmdigzudq3fd72e/FirmwareUpdate.pkg&quot; class=&quot;urlextern&quot; title=&quot;http://swcdn.apple.com/content/downloads/45/55/031-27723/jfp6s17zwamp7zr7iwmkmdigzudq3fd72e/FirmwareUpdate.pkg&quot; rel=&quot;ugc nofollow&quot;&gt;Mac OS X El Capitan 10.11 Beta 6 Firmware Update&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mac OS X El Capitan&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mac_os_x_el_capitan&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;53-427&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;установка_командной_строки&quot;&gt;Установка командной строки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 xcode-select –install
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430_\u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439_\u0441\u0442\u0440\u043e\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;428-521&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit4&quot; id=&quot;установщик&quot;&gt;Установщик&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Создание загрузочного USB диска&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Applications&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Install\ macOS\ Sequoia.app&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Contents&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Resources&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;createinstallmedia &lt;span class=&quot;re5&quot;&gt;--volume&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Volumes&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;MACOS
$ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Applications&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Install\ macOS\ Ventura.app&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Contents&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Resources&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;createinstallmedia &lt;span class=&quot;re5&quot;&gt;--volume&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Volumes&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;MACOS&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=homebrew:install&quot; class=&quot;wikilink1&quot; title=&quot;homebrew:install&quot; data-wiki-id=&quot;homebrew:install&quot;&gt;install.sh&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;522-895&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit5&quot; id=&quot;настройка&quot;&gt;Настройка&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mac:issues:create-unix-boot-flash&quot; class=&quot;wikilink1&quot; title=&quot;mac:issues:create-unix-boot-flash&quot; data-wiki-id=&quot;mac:issues:create-unix-boot-flash&quot;&gt;Linux boot flash create on Mac OS&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:macos:config:maxopenfiles&quot; class=&quot;wikilink1&quot; title=&quot;system:macos:config:maxopenfiles&quot; data-wiki-id=&quot;system:macos:config:maxopenfiles&quot;&gt;maxopenfiles&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:macos:finder:memory&quot; class=&quot;wikilink1&quot; title=&quot;system:macos:finder:memory&quot; data-wiki-id=&quot;system:macos:finder:memory&quot;&gt;Fix Finder Slowness &amp;amp; High CPU Usage Issues in OS&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:macos:ext4&quot; class=&quot;wikilink1&quot; title=&quot;system:macos:ext4&quot; data-wiki-id=&quot;system:macos:ext4&quot;&gt;Поддержка Ext4&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:macos:spotlight&quot; class=&quot;wikilink1&quot; title=&quot;system:macos:spotlight&quot; data-wiki-id=&quot;system:macos:spotlight&quot;&gt;Spotlight индексный сервер / поиск MacOs&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:macos:fonts&quot; class=&quot;wikilink1&quot; title=&quot;system:macos:fonts&quot; data-wiki-id=&quot;system:macos:fonts&quot;&gt;Устанока шрифтов на MacOs&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=bash:bash-completion&quot; class=&quot;wikilink1&quot; title=&quot;bash:bash-completion&quot; data-wiki-id=&quot;bash:bash-completion&quot;&gt;Автодополнение Bash&lt;/a&gt; - Установка улучшенния для автодополнения
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;chown&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-R&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;whoami&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;local&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
 - Исправление доступности для установки из под пользователя
&lt;/p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;896-1495&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;утилиты&quot;&gt;Утилиты&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ networksetup &lt;span class=&quot;re5&quot;&gt;-setairportpower&lt;/span&gt; en0 off
$ networksetup &lt;span class=&quot;re5&quot;&gt;-getairportpower&lt;/span&gt; en0&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0442\u0438\u043b\u0438\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0442\u0438\u043b\u0438\u0442\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1496-1620&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;пакеты&quot;&gt;Пакеты&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mac:macports&quot; class=&quot;wikilink1&quot; title=&quot;mac:macports&quot; data-wiki-id=&quot;mac:macports&quot;&gt;macports&lt;/a&gt; - пакетный менеджер
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=homebrew&quot; class=&quot;wikilink1&quot; title=&quot;homebrew&quot; data-wiki-id=&quot;homebrew&quot;&gt;Homebrew&lt;/a&gt;  - пакетный менеджер *
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=homebrew:mariadb10&quot; class=&quot;wikilink1&quot; title=&quot;homebrew:mariadb10&quot; data-wiki-id=&quot;homebrew:mariadb10&quot;&gt;Maria DB 10&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mac:launchctl&quot; class=&quot;wikilink1&quot; title=&quot;mac:launchctl&quot; data-wiki-id=&quot;mac:launchctl&quot;&gt;launchctl&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mac:locate&quot; class=&quot;wikilink1&quot; title=&quot;mac:locate&quot; data-wiki-id=&quot;mac:locate&quot;&gt;locate&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=ds_store&quot; class=&quot;wikilink1&quot; title=&quot;ds_store&quot; data-wiki-id=&quot;ds_store&quot;&gt;Отключение и удаление DS_Store файлов&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=faketime&quot; class=&quot;wikilink1&quot; title=&quot;faketime&quot; data-wiki-id=&quot;faketime&quot;&gt;faketime&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=application:sublime&quot; class=&quot;wikilink1&quot; title=&quot;application:sublime&quot; data-wiki-id=&quot;application:sublime&quot;&gt;Sublime&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:macos:hotkeys&quot; class=&quot;wikilink1&quot; title=&quot;system:macos:hotkeys&quot; data-wiki-id=&quot;system:macos:hotkeys&quot;&gt;Горячие клавиши&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=php53&quot; class=&quot;wikilink1&quot; title=&quot;php53&quot; data-wiki-id=&quot;php53&quot;&gt;PHP 5.3&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=php54&quot; class=&quot;wikilink1&quot; title=&quot;php54&quot; data-wiki-id=&quot;php54&quot;&gt;PHP 5.4&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mac:dash&quot; class=&quot;wikilink1&quot; title=&quot;mac:dash&quot; data-wiki-id=&quot;mac:dash&quot;&gt;Dash&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mac:errors&quot; class=&quot;wikilink1&quot; title=&quot;mac:errors&quot; data-wiki-id=&quot;mac:errors&quot;&gt;Ошибки&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=homebrew:nodejs:npm&quot; class=&quot;wikilink1&quot; title=&quot;homebrew:nodejs:npm&quot; data-wiki-id=&quot;homebrew:nodejs:npm&quot;&gt;npm&lt;/a&gt; - nodejs, npm
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0430\u043a\u0435\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0430\u043a\u0435\u0442\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;1621-2226&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;ошибки&quot;&gt;Ошибки&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mac:errors:zlib&quot; class=&quot;wikilink1&quot; title=&quot;mac:errors:zlib&quot; data-wiki-id=&quot;mac:errors:zlib&quot;&gt;Error: No available formula for zlib&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mac:issues:create-unix-boot-flash&quot; class=&quot;wikilink1&quot; title=&quot;mac:issues:create-unix-boot-flash&quot; data-wiki-id=&quot;mac:issues:create-unix-boot-flash&quot;&gt;Создание Linux Boot Flash&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mac:errors:syslogd&quot; class=&quot;wikilink2&quot; title=&quot;mac:errors:syslogd&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;mac:errors:syslogd&quot;&gt;Blued and syslogd Eating CPU and Flooding system.log&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mac:errors:xcodebuild&quot; class=&quot;wikilink1&quot; title=&quot;mac:errors:xcodebuild&quot; data-wiki-id=&quot;mac:errors:xcodebuild&quot;&gt;Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0448\u0438\u0431\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0448\u0438\u0431\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2227-2604&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;горячие_клавиши&quot;&gt;Горячие клавиши&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;Alt-~ (alt-~) — Список окон приложения (даже те что свернуты)&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Command-~ (⌘+~) — Список окон приложений (те что не свернуты) 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 X — форсирует запуск Mac &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt; X (см. комментарий)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Option (⌥) — вызывает меню выбора загрузочных разделов, если их больше одного
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 C — загрузка с CD/DVD диска, имеющего системную папку (например, «Installation Disk»)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 N — попытаться загрузиться с сетевого сервера (NetBoot)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 D — запуск Apple Hardware Test с оригинального установочного диска
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Command-Option-Shift-Delete (⌘+⌥+⇧+⌫) — пропускает основной загрузочный раздел и ищет альтернативные загрузночные разделы (напимер, CD или внешний жёсткий диск)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 T — запускает Mac в режиме “FireWire Target Disk“, после чего его можно использовать как внешний жёсткий диск
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Shift (⇧) — загрузка в режиме Safe Boot
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Command-m (⌘+m) — Сворачивание окна
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Command-V (⌘+V) — загрузка с выводом подробностей (Verbose mode)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Command-S (⌘+S) — загрузка однопользовательского режима
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Command-R (⌘+R) — загрузка сервисного режима (Дисковая утилита, Установка &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;, итд)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Command-Option-O-F (⌘+⌥+O+F) — загрузка в Open Firmaware
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0413\u043e\u0440\u044f\u0447\u0438\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0433\u043e\u0440\u044f\u0447\u0438\u0435_\u043a\u043b\u0430\u0432\u0438\u0448\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;2605-4436&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;програмное_обеспечение&quot;&gt;Програмное обеспечение&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://macfree.ru/applications/&quot; class=&quot;urlextern&quot; title=&quot;http://macfree.ru/applications/&quot; rel=&quot;ugc nofollow&quot;&gt;http://macfree.ru/applications/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://macosworld.ru/&quot; class=&quot;urlextern&quot; title=&quot;http://macosworld.ru/&quot; rel=&quot;ugc nofollow&quot;&gt;http://macosworld.ru/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://download-chromium.appspot.com/&quot; class=&quot;urlextern&quot; title=&quot;https://download-chromium.appspot.com/&quot; rel=&quot;ugc nofollow&quot;&gt;https://download-chromium.appspot.com/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://appshopper.com/mac/&quot; class=&quot;urlextern&quot; title=&quot;http://appshopper.com/mac/&quot; rel=&quot;ugc nofollow&quot;&gt;http://appshopper.com/mac/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://deals.macupdate.com/&quot; class=&quot;urlextern&quot; title=&quot;http://deals.macupdate.com/&quot; rel=&quot;ugc nofollow&quot;&gt;http://deals.macupdate.com/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://deals.cultofmac.com/&quot; class=&quot;urlextern&quot; title=&quot;https://deals.cultofmac.com/&quot; rel=&quot;ugc nofollow&quot;&gt;https://deals.cultofmac.com/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://sqlitestudio.pl/?act=changelog&quot; class=&quot;urlextern&quot; title=&quot;http://sqlitestudio.pl/?act=changelog&quot; rel=&quot;ugc nofollow&quot;&gt;http://sqlitestudio.pl/?act=changelog&lt;/a&gt; SqlLite
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://www.aurvan.com/index.php?request_action=search_product&quot; class=&quot;urlextern&quot; title=&quot;http://www.aurvan.com/index.php?request_action=search_product&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.aurvan.com/index.php?request_action=search_product&lt;/a&gt; SqlLite free lite client &lt;img src=&quot;http://178.140.10.58:8080/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://www.sqlabs.com/sqlitemanager.php&quot; class=&quot;urlextern&quot; title=&quot;http://www.sqlabs.com/sqlitemanager.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.sqlabs.com/sqlitemanager.php&lt;/a&gt; SqlLite
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043d\u043e\u0435_\u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;4437-4892&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;программы_с_настроечной_панелью&quot;&gt;Программы с настроечной панелью&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/remysaissy/mongodb-macosx-prefspane&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/remysaissy/mongodb-macosx-prefspane&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/remysaissy/mongodb-macosx-prefspane&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/mckenfra/postgresql-mac-preferences&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/mckenfra/postgresql-mac-preferences&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/mckenfra/postgresql-mac-preferences&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/Fingertips/passengerpane&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/Fingertips/passengerpane&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/Fingertips/passengerpane&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/jwang/pgpane&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/jwang/pgpane&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/jwang/pgpane&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/remysaissy/cassandra-macosx-prefspane&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/remysaissy/cassandra-macosx-prefspane&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/remysaissy/cassandra-macosx-prefspane&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/papamoose/mac-locktight&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/papamoose/mac-locktight&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/papamoose/mac-locktight&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/liquid/MacFUSE-PrefPane&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/liquid/MacFUSE-PrefPane&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/liquid/MacFUSE-PrefPane&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/alleus/TranspRAR&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/alleus/TranspRAR&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/alleus/TranspRAR&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/n2bh/ElasticSearch-PrefPane&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/n2bh/ElasticSearch-PrefPane&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/n2bh/ElasticSearch-PrefPane&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/MOApp/MGPreferencePanel&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/MOApp/MGPreferencePanel&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/MOApp/MGPreferencePanel&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/dsns/Blank-Preferences-Panel&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/dsns/Blank-Preferences-Panel&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/dsns/Blank-Preferences-Panel&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/adinapoli/rabbitmq-macosx-prefspane&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/adinapoli/rabbitmq-macosx-prefspane&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/adinapoli/rabbitmq-macosx-prefspane&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/soffes/sskeychain&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/soffes/sskeychain&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/soffes/sskeychain&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u0447\u043d\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u044c\u044e&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b_\u0441_\u043d\u0430\u0441\u0442\u0440\u043e\u0435\u0447\u043d\u043e\u0439_\u043f\u0430\u043d\u0435\u043b\u044c\u044e&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;4893-5611&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;servers_clients&quot;&gt;Servers / Clients&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Servers \/ Clients&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;servers_clients&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;5612-5640&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit13&quot; id=&quot;wired&quot;&gt;Wired&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://wired.read-write.fr/products/wired-client/&quot; class=&quot;urlextern&quot; title=&quot;http://wired.read-write.fr/products/wired-client/&quot; rel=&quot;ugc nofollow&quot;&gt;http://wired.read-write.fr/products/wired-client/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://wired.read-write.fr/products/wired-server/&quot; class=&quot;urlextern&quot; title=&quot;http://wired.read-write.fr/products/wired-server/&quot; rel=&quot;ugc nofollow&quot;&gt;http://wired.read-write.fr/products/wired-server/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://wired.read-write.fr/products/wire/&quot; class=&quot;urlextern&quot; title=&quot;http://wired.read-write.fr/products/wire/&quot; rel=&quot;ugc nofollow&quot;&gt;http://wired.read-write.fr/products/wire/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://wired.read-write.fr/products/wire-bot/&quot; class=&quot;urlextern&quot; title=&quot;http://wired.read-write.fr/products/wire-bot/&quot; rel=&quot;ugc nofollow&quot;&gt;http://wired.read-write.fr/products/wire-bot/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wired&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wired&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;5641-5859&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;документация&quot;&gt;Документация&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://macradar.ru/tips/podborka-goryachix-klavish-dlya-produktivnoj-raboty-v-os-x-mavericks/&quot; class=&quot;urlextern&quot; title=&quot;http://macradar.ru/tips/podborka-goryachix-klavish-dlya-produktivnoj-raboty-v-os-x-mavericks/&quot; rel=&quot;ugc nofollow&quot;&gt;http://macradar.ru/tips/podborka-goryachix-klavish-dlya-produktivnoj-raboty-v-os-x-mavericks/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://macradar.ru/tips/30-goryachix-klavish-kotorye-povysyat-vashu-produktivnost-pri-rabote-s-mac/&quot; class=&quot;urlextern&quot; title=&quot;http://macradar.ru/tips/30-goryachix-klavish-kotorye-povysyat-vashu-produktivnost-pri-rabote-s-mac/&quot; rel=&quot;ugc nofollow&quot;&gt;http://macradar.ru/tips/30-goryachix-klavish-kotorye-povysyat-vashu-produktivnost-pri-rabote-s-mac/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;5860-6100&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit15&quot; id=&quot;torrents&quot;&gt;Torrents&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://torrentmac.org/viewforum.php?f=15&quot; class=&quot;urlextern&quot; title=&quot;http://torrentmac.org/viewforum.php?f=15&quot; rel=&quot;ugc nofollow&quot;&gt;http://torrentmac.org/viewforum.php?f=15&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Torrents&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;torrents&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;6101-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=system:networking">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-17T02:19:50+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Настройка сети в Linux / Debian</title>
        <link>http://178.140.10.58:8080/doku.php?id=system:networking</link>
        <description>&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:networks&amp;amp;do=showtag&amp;amp;tag=networks&quot; class=&quot;wikilink1&quot; title=&quot;tag:networks&quot; rel=&quot;tag&quot;&gt;networks&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:networking&amp;amp;do=showtag&amp;amp;tag=networking&quot; class=&quot;wikilink1&quot; title=&quot;tag:networking&quot; rel=&quot;tag&quot;&gt;networking&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:network&amp;amp;do=showtag&amp;amp;tag=network&quot; class=&quot;wikilink1&quot; title=&quot;tag:network&quot; rel=&quot;tag&quot;&gt;network&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:linux&amp;amp;do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:debian&amp;amp;do=showtag&amp;amp;tag=debian&quot; class=&quot;wikilink1&quot; title=&quot;tag:debian&quot; rel=&quot;tag&quot;&gt;debian&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:dhcp&amp;amp;do=showtag&amp;amp;tag=dhcp&quot; class=&quot;wikilink1&quot; title=&quot;tag:dhcp&quot; rel=&quot;tag&quot;&gt;dhcp&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;настройка_сети_в_linux_debian&quot;&gt;Настройка сети в Linux / Debian&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0435\u0442\u0438 \u0432 Linux \/ Debian&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430_\u0441\u0435\u0442\u0438_\u0432_linux_debian&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;56-116&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;static&quot;&gt;Static&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
nano /etc/network/interfaces
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;allow-hotplug eth0
iface eth0 inet static
    address 192.168.1.1
    netmask 255.255.255.0
    gateway 192.168.1.254&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Static&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;static&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;117-299&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;dchp&quot;&gt;DCHP&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
nano /etc/network/interfaces
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;allow-hotplug eth0
auto eth0
iface eth0 inet dhcp&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DCHP&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dchp&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;300-412&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit4&quot; id=&quot;добавить_дополнительные_ip_адреса&quot;&gt;Добавить дополнительные IP адреса&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
nano /etc/network/interfaces
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;auto eth0:0
iface eth0:0 inet static
    address 192.168.1.2
    netmask 255.255.255.0

auto eth0:1
iface eth0:1 inet static
    address 192.168.1.3
    netmask 255.255.255.0

...


auto eth0:10
iface eth0:10 inet static
    address 192.168.1.12
    netmask 255.255.255.0&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 IP \u0430\u0434\u0440\u0435\u0441\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c_\u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435_ip_\u0430\u0434\u0440\u0435\u0441\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;413-806&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit5&quot; id=&quot;настройка_dns_серверов&quot;&gt;Настройка DNS серверов&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
nano /etc/resolv.conf
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nameserver 8.8.8.8
nameserver 4.4.4.4&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 DNS \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430_dns_\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;807-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=develop:shell">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-02T14:17:40+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Shell - Часто применяемые команды - [Shell - Часто применяемые команды] </title>
        <link>http://178.140.10.58:8080/doku.php?id=develop:shell</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;shell_-_часто_применяемые_команды&quot;&gt;Shell - Часто применяемые команды&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div class=&quot;plugin_note notetip&quot;&gt;# .bash_profile — выполняется для Login Shell. Это когда вы вводите логин/пароль (или заходите по SSH). В macOS каждое новое окно Терминала или VS Code по умолчанию считается «входом в систему» (Login Shell).&lt;br/&gt;
# .bashrc — выполняется для Non-Login Shell. Это когда вы уже внутри системы просто запускаете bash (как вы делали в консоли выше) или запускаете скрипт.
&lt;/div&gt;&lt;div class=&quot;plugin_note noteimportant&quot;&gt;В Ubuntu/Debian графический терминал открывается как Non-Login, поэтому там все пишут в .bashrc. Но Apple решила, что каждое окно терминала — это полноценный вход пользователя, поэтому macOS всегда ищет .bash_profile.
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Shell - \u0427\u0430\u0441\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shell_-_\u0447\u0430\u0441\u0442\u043e_\u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0435_\u043a\u043e\u043c\u0430\u043d\u0434\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1077&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;поиск&quot;&gt;Поиск&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=find&quot; class=&quot;wikilink1&quot; title=&quot;find&quot; data-wiki-id=&quot;find&quot;&gt;find - Поиск файлов с реальном сканированием.&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=grep&quot; class=&quot;wikilink1&quot; title=&quot;grep&quot; data-wiki-id=&quot;grep&quot;&gt;Поиск текста по фрагменту из текста. (grep/egrep)&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u0438\u0441\u043a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u0438\u0441\u043a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1078-1130&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;системные_утилиты&quot;&gt;Системные утилиты&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=lsof&quot; class=&quot;wikilink1&quot; title=&quot;lsof&quot; data-wiki-id=&quot;lsof&quot;&gt;lsof - Отслеживание программ изменяющих файлы&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tree&quot; class=&quot;wikilink1&quot; title=&quot;tree&quot; data-wiki-id=&quot;tree&quot;&gt;tree&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=wc&quot; class=&quot;wikilink2&quot; title=&quot;wc&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;wc&quot;&gt;wc&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:vmstat&quot; class=&quot;wikilink1&quot; title=&quot;system:vmstat&quot; data-wiki-id=&quot;system:vmstat&quot;&gt;vmstat&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:ifstat&quot; class=&quot;wikilink2&quot; title=&quot;system:ifstat&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:ifstat&quot;&gt;ifstat&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:slurm&quot; class=&quot;wikilink2&quot; title=&quot;system:slurm&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:slurm&quot;&gt;slurm&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:vim&quot; class=&quot;wikilink1&quot; title=&quot;system:vim&quot; data-wiki-id=&quot;system:vim&quot;&gt;Vim&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:emacs&quot; class=&quot;wikilink2&quot; title=&quot;system:emacs&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:emacs&quot;&gt;emacs&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:screen&quot; class=&quot;wikilink1&quot; title=&quot;system:screen&quot; data-wiki-id=&quot;system:screen&quot;&gt;screen - Менеджер сессий&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:dtach&quot; class=&quot;wikilink2&quot; title=&quot;system:dtach&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:dtach&quot;&gt;dtach&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:tmux&quot; class=&quot;wikilink1&quot; title=&quot;system:tmux&quot; data-wiki-id=&quot;system:tmux&quot;&gt;tmux&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:byobu&quot; class=&quot;wikilink2&quot; title=&quot;system:byobu&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:byobu&quot;&gt;byobu&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:multitail&quot; class=&quot;wikilink1&quot; title=&quot;system:multitail&quot; data-wiki-id=&quot;system:multitail&quot;&gt;multitail&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:tpp&quot; class=&quot;wikilink2&quot; title=&quot;system:tpp&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:tpp&quot;&gt;tpp&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:xargs&quot; class=&quot;wikilink2&quot; title=&quot;system:xargs&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:xargs&quot;&gt;xargs&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:parallel&quot; class=&quot;wikilink2&quot; title=&quot;system:parallel&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:parallel&quot;&gt;parallel&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:duplicity&quot; class=&quot;wikilink2&quot; title=&quot;system:duplicity&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:duplicity&quot;&gt;duplicity&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:rsyncrypto&quot; class=&quot;wikilink2&quot; title=&quot;system:rsyncrypto&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:rsyncrypto&quot;&gt;rsyncrypto&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:nethack&quot; class=&quot;wikilink2&quot; title=&quot;system:nethack&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:nethack&quot;&gt;nethack&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:lftp&quot; class=&quot;wikilink2&quot; title=&quot;system:lftp&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:lftp&quot;&gt;lftp&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:ack&quot; class=&quot;wikilink2&quot; title=&quot;system:ack&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:ack&quot;&gt;ack&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:calcurse&quot; class=&quot;wikilink2&quot; title=&quot;system:calcurse&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:calcurse&quot;&gt;calcurse&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:remind_wyrd&quot; class=&quot;wikilink2&quot; title=&quot;system:remind_wyrd&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:remind_wyrd&quot;&gt;remind_wyrd&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:newsbeuter&quot; class=&quot;wikilink2&quot; title=&quot;system:newsbeuter&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:newsbeuter&quot;&gt;newsbeuter&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:rsstail&quot; class=&quot;wikilink2&quot; title=&quot;system:rsstail&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:rsstail&quot;&gt;rsstail&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:powertop&quot; class=&quot;wikilink2&quot; title=&quot;system:powertop&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:powertop&quot;&gt;powertop&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:ttyrec&quot; class=&quot;wikilink2&quot; title=&quot;system:ttyrec&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:ttyrec&quot;&gt;ttyrec&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:ipbt&quot; class=&quot;wikilink2&quot; title=&quot;system:ipbt&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:ipbt&quot;&gt;ipbt&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:mtr&quot; class=&quot;wikilink2&quot; title=&quot;system:mtr&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:mtr&quot;&gt;mtr&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:read&quot; class=&quot;wikilink2&quot; title=&quot;system:read&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:read&quot;&gt;read&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435_\u0443\u0442\u0438\u043b\u0438\u0442\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1131-1815&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;серверные_утилиты&quot;&gt;Серверные утилиты&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mysql:mytop&quot; class=&quot;wikilink1&quot; title=&quot;mysql:mytop&quot; data-wiki-id=&quot;mysql:mytop&quot;&gt;Mytop&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:htop&quot; class=&quot;wikilink1&quot; title=&quot;system:htop&quot; data-wiki-id=&quot;system:htop&quot;&gt;Htop&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:iotop&quot; class=&quot;wikilink1&quot; title=&quot;system:iotop&quot; data-wiki-id=&quot;system:iotop&quot;&gt;iotop&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:iostat&quot; class=&quot;wikilink2&quot; title=&quot;system:iostat&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:iostat&quot;&gt;iostat&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435_\u0443\u0442\u0438\u043b\u0438\u0442\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1816-1945&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;сетевые_утилиты&quot;&gt;Сетевые утилиты&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=networks&quot; class=&quot;wikilink1&quot; title=&quot;networks&quot; data-wiki-id=&quot;networks&quot;&gt;Сети&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:scp&quot; class=&quot;wikilink1&quot; title=&quot;system:scp&quot; data-wiki-id=&quot;system:scp&quot;&gt;scp - Копирование файлов по ssh&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:rsync&quot; class=&quot;wikilink1&quot; title=&quot;system:rsync&quot; data-wiki-id=&quot;system:rsync&quot;&gt;Rsync - Синхронизация папок (может выполняться через ssh)&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0435\u0442\u0435\u0432\u044b\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0435\u0442\u0435\u0432\u044b\u0435_\u0443\u0442\u0438\u043b\u0438\u0442\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1946-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=development:vscode">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-31T05:33:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Visual Studio Code</title>
        <link>http://178.140.10.58:8080/doku.php?id=development:vscode</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;visual_studio_code&quot;&gt;Visual Studio Code&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Visual Studio Code&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;visual_studio_code&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-34&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;download&quot;&gt;Download&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://code.visualstudio.com/updates/v1_91&quot; class=&quot;urlextern&quot; title=&quot;https://code.visualstudio.com/updates/v1_91&quot; rel=&quot;ugc nofollow&quot;&gt;https://code.visualstudio.com/updates/v1_91&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Download&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;download&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;35-105&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;errors&quot;&gt;Errors&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Errors&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;errors&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;106-125&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit4&quot; id=&quot;fatal_error_in_v8v8templateset_invalid_value_must_be_a_primitive_or_a_template&quot;&gt;Fatal error in V8: v8::Template::Set Invalid value, must be a primitive or a Template&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;[38052:0708/125749.860972:ERROR:node_bindings.cc(162)] Fatal error in V8: v8::Template::Set Invalid value, must be a primitive or a Template
[0708/125749.963308:WARNING:crash_report_exception_handler.cc(235)] UniversalExceptionRaise: (os/kern) failure (5)
[0708/125749.963353:ERROR:directory_reader_posix.cc(43)] opendir /Users/mirocow/Library/Application Support/Code/Crashpad/attachments/2606f777-7a39-4b53-a59f-f2747f93e0aa: No such file or directory (2)
Segmentation fault: 11&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Fatal error in V8: v8::Template::Set Invalid value, must be a primitive or a Template&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fatal_error_in_v8v8templateset_invalid_value_must_be_a_primitive_or_a_template&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;126-717&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;расширения&quot;&gt;Расширения&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://www.npmjs.com/package/intelephense/v/1.0.10?activeTab=versions&quot; class=&quot;urlextern&quot; title=&quot;https://www.npmjs.com/package/intelephense/v/1.0.10?activeTab=versions&quot; rel=&quot;ugc nofollow&quot;&gt;intelephense&lt;/a&gt;, &lt;a href=&quot;http://192.168.1.2/tools/visual-studio/extensions/intellisense/crack&quot; class=&quot;urlextern&quot; title=&quot;http://192.168.1.2/tools/visual-studio/extensions/intellisense/crack&quot; rel=&quot;ugc nofollow&quot;&gt;Взлом intellisense&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://www.npmjs.com/package/vscode-languageclient?activeTab=code&quot; class=&quot;urlextern&quot; title=&quot;https://www.npmjs.com/package/vscode-languageclient?activeTab=code&quot; rel=&quot;ugc nofollow&quot;&gt;vscode-languageclient&lt;/a&gt;, &lt;a href=&quot;https://www.npmjs.com/package/vscode-languageserver?activeTab=code&quot; class=&quot;urlextern&quot; title=&quot;https://www.npmjs.com/package/vscode-languageserver?activeTab=code&quot; rel=&quot;ugc nofollow&quot;&gt;vscode-languageserver&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://www.sonarsource.com/knowledge/languages/php/&quot; class=&quot;urlextern&quot; title=&quot;https://www.sonarsource.com/knowledge/languages/php/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.sonarsource.com/knowledge/languages/php/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/microsoft/vscode-languageserver-node.git&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/microsoft/vscode-languageserver-node.git&quot; rel=&quot;ugc nofollow&quot;&gt;VSCode Language Server - Node&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;718-1288&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;отладка_расширения&quot;&gt;Отладка / Расширения&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0442\u043b\u0430\u0434\u043a\u0430 \/ \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0442\u043b\u0430\u0434\u043a\u0430_\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1289-1339&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;php&quot;&gt;PHP&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code json&quot;&gt;{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    &amp;quot;version&amp;quot;: &amp;quot;0.2.0&amp;quot;,
    &amp;quot;configurations&amp;quot;: [
&amp;nbsp;
        {
            &amp;quot;name&amp;quot;: &amp;quot;Listen for Xdebug&amp;quot;,
            &amp;quot;type&amp;quot;: &amp;quot;php&amp;quot;,
            &amp;quot;request&amp;quot;: &amp;quot;launch&amp;quot;,
            &amp;quot;port&amp;quot;: 9000,
            &amp;quot;pathMappings&amp;quot;: {
                &amp;quot;/var/www/api&amp;quot;: &amp;quot;${workspaceFolder}&amp;quot;
            }
        },
        {
            &amp;quot;name&amp;quot;: &amp;quot;Launch currently open script&amp;quot;,
            &amp;quot;type&amp;quot;: &amp;quot;php&amp;quot;,
            &amp;quot;request&amp;quot;: &amp;quot;launch&amp;quot;,
            &amp;quot;program&amp;quot;: &amp;quot;${file}&amp;quot;,
            &amp;quot;cwd&amp;quot;: &amp;quot;${fileDirname}&amp;quot;,
            &amp;quot;port&amp;quot;: 0,
            &amp;quot;runtimeArgs&amp;quot;: [
                &amp;quot;-dxdebug.start_with_request=yes&amp;quot;
            ],
            &amp;quot;env&amp;quot;: {
                &amp;quot;XDEBUG_MODE&amp;quot;: &amp;quot;debug,develop&amp;quot;,
                &amp;quot;XDEBUG_CONFIG&amp;quot;: &amp;quot;client_port=${port}&amp;quot;
            }
        },
        {
            &amp;quot;name&amp;quot;: &amp;quot;Launch Built-in web server&amp;quot;,
            &amp;quot;type&amp;quot;: &amp;quot;php&amp;quot;,
            &amp;quot;request&amp;quot;: &amp;quot;launch&amp;quot;,
            &amp;quot;runtimeArgs&amp;quot;: [
                &amp;quot;-dxdebug.mode=debug&amp;quot;,
                &amp;quot;-dxdebug.start_with_request=yes&amp;quot;,
                &amp;quot;-S&amp;quot;,
                &amp;quot;localhost:0&amp;quot;
            ],
            &amp;quot;program&amp;quot;: &amp;quot;&amp;quot;,
            &amp;quot;cwd&amp;quot;: &amp;quot;${workspaceRoot}&amp;quot;,
            &amp;quot;port&amp;quot;: 9003,
            &amp;quot;serverReadyAction&amp;quot;: {
                &amp;quot;pattern&amp;quot;: &amp;quot;Development Server \\(http://localhost:([0-9]+)\\) started&amp;quot;,
                &amp;quot;uriFormat&amp;quot;: &amp;quot;http://localhost:%s&amp;quot;,
                &amp;quot;action&amp;quot;: &amp;quot;openExternally&amp;quot;
            }
        }
    ]
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;PHP&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;php&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;1340-2980&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;chrome_extension&quot;&gt;Chrome Extension&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code json&quot;&gt;&amp;nbsp;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Chrome Extension&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;chrome_extension&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2981-3029&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;electron&quot;&gt;Electron&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code json&quot;&gt;{
    &amp;quot;version&amp;quot;: &amp;quot;0.2.0&amp;quot;,
    &amp;quot;configurations&amp;quot;: [
&amp;nbsp;
        {
            &amp;quot;name&amp;quot;: &amp;quot;Attach electron: Renderer Process&amp;quot;,
            &amp;quot;type&amp;quot;: &amp;quot;chrome&amp;quot;,
            &amp;quot;request&amp;quot;: &amp;quot;attach&amp;quot;,
            &amp;quot;port&amp;quot;: 9223,
            &amp;quot;webRoot&amp;quot;: &amp;quot;${workspaceFolder}/packages/insomnia&amp;quot;,
            &amp;quot;timeout&amp;quot;: 30000,
            &amp;quot;presentation&amp;quot;: {
                &amp;quot;hidden&amp;quot;: false,
                &amp;quot;group&amp;quot;: &amp;quot;Insomnia&amp;quot;,
                &amp;quot;order&amp;quot;: 1
            },
        },
&amp;nbsp;
        {
            &amp;quot;name&amp;quot;: &amp;quot;Launch electron: main&amp;quot;,
            &amp;quot;type&amp;quot;: &amp;quot;node&amp;quot;,
            &amp;quot;request&amp;quot;: &amp;quot;launch&amp;quot;,
            &amp;quot;protocol&amp;quot;: &amp;quot;inspector&amp;quot;,
            &amp;quot;sourceMaps&amp;quot;: true,
            &amp;quot;presentation&amp;quot;: {
                &amp;quot;hidden&amp;quot;: false,
                &amp;quot;group&amp;quot;: &amp;quot;Insomnia&amp;quot;,
                &amp;quot;order&amp;quot;: 2
            },
            &amp;quot;cwd&amp;quot;: &amp;quot;${workspaceFolder}/packages/insomnia&amp;quot;,
            &amp;quot;runtimeExecutable&amp;quot;: &amp;quot;${workspaceFolder}/packages/insomnia/node_modules/.bin/electron&amp;quot;,
            &amp;quot;runtimeArgs&amp;quot;: [&amp;quot;--remote-debugging-port=9222&amp;quot;, &amp;quot;.&amp;quot;],
            &amp;quot;outputCapture&amp;quot;: &amp;quot;std&amp;quot;,
            &amp;quot;windows&amp;quot;: {
                &amp;quot;type&amp;quot;: &amp;quot;node&amp;quot;,
                &amp;quot;request&amp;quot;: &amp;quot;launch&amp;quot;,
                &amp;quot;name&amp;quot;: &amp;quot;Electron: main&amp;quot;,
                &amp;quot;runtimeExecutable&amp;quot;: &amp;quot;${workspaceFolder}/node_modules/.bin/electron.cmd&amp;quot;
            },
            &amp;quot;env&amp;quot;: {
                &amp;quot;NODE_ENV&amp;quot;: &amp;quot;development&amp;quot;,
                &amp;quot;ELECTRON_IS_DEV&amp;quot;: &amp;quot;1&amp;quot;
            }
        },
&amp;nbsp;
        {
            &amp;quot;name&amp;quot;: &amp;quot;Launch electron: renderer&amp;quot;,
            &amp;quot;type&amp;quot;: &amp;quot;pwa-chrome&amp;quot;,
            &amp;quot;request&amp;quot;: &amp;quot;attach&amp;quot;,
            &amp;quot;presentation&amp;quot;: {
                &amp;quot;hidden&amp;quot;: false,
                &amp;quot;group&amp;quot;: &amp;quot;Insomnia&amp;quot;,
                &amp;quot;order&amp;quot;: 3
            },
            &amp;quot;port&amp;quot;: 9222,
            &amp;quot;webRoot&amp;quot;: &amp;quot;${workspaceFolder}/packages/insomnia/src&amp;quot;,
            &amp;quot;timeout&amp;quot;: 60000
        },
&amp;nbsp;
    ],
    &amp;quot;inputs&amp;quot;: [
        {
            &amp;quot;id&amp;quot;: &amp;quot;insoCommandArgs&amp;quot;,
            &amp;quot;description&amp;quot;: &amp;quot;Add an additional argument to inso&amp;quot;,
            &amp;quot;type&amp;quot;: &amp;quot;promptString&amp;quot;
        },
        {
            &amp;quot;id&amp;quot;: &amp;quot;insoCommand&amp;quot;,
            &amp;quot;description&amp;quot;: &amp;quot;Pick an inso command to run&amp;quot;,
            &amp;quot;type&amp;quot;: &amp;quot;pickString&amp;quot;,
            &amp;quot;options&amp;quot;: [
                {
                    &amp;quot;value&amp;quot;: &amp;quot;run test&amp;quot;
                },
                {
                    &amp;quot;value&amp;quot;: &amp;quot;lint spec&amp;quot;
                },
                {
                    &amp;quot;value&amp;quot;: &amp;quot;export spec&amp;quot;
                },
                {
                    &amp;quot;value&amp;quot;: &amp;quot;script&amp;quot;
                },
                {
                    &amp;quot;value&amp;quot;: &amp;quot;help&amp;quot;
                }
            ]
        }
    ],
&amp;nbsp;
    &amp;quot;compounds&amp;quot;: [
    {
        &amp;quot;name&amp;quot;: &amp;quot;Launch Insomnia&amp;quot;,
        &amp;quot;presentation&amp;quot;: {
        &amp;quot;hidden&amp;quot;: false,
        &amp;quot;group&amp;quot;: &amp;quot;Insomnia&amp;quot;,
        &amp;quot;order&amp;quot;: 10
        },
        &amp;quot;stopAll&amp;quot;: true,
        &amp;quot;preLaunchTask&amp;quot;: &amp;quot;Insomnia: Compile (Watch)&amp;quot;,
        &amp;quot;configurations&amp;quot;: [
            &amp;quot;Launch electron: main&amp;quot;,
            &amp;quot;Launch electron: renderer&amp;quot;
        ]
    }
    ]
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Electron&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;electron&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;3030-6025&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;golang&quot;&gt;Golang&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code Dockerfile&quot;&gt;# Base stage for shared environment
FROM golang:1.24-alpine AS base
WORKDIR /app
RUN apk add --no-cache git
&amp;nbsp;
# Builder stage for production
FROM base AS builder
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags=&amp;quot;-s -w&amp;quot; -o /app/proxy .
&amp;nbsp;
# Debug builder stage for delve and debug binary
FROM base AS debug-builder
RUN go install github.com/go-delve/delve/cmd/dlv@latest
COPY go.mod go.sum ./
RUN go mod download
COPY . .
# Build with optimizations disabled for better debugging
RUN CGO_ENABLED=0 GOOS=linux go build -gcflags=&amp;quot;all=-N -l&amp;quot; -o /app/proxy .
&amp;nbsp;
# Debug stage
FROM alpine:latest AS debug
RUN apk add --no-cache ca-certificates libc6-compat
WORKDIR /app
COPY --from=debug-builder /go/bin/dlv /usr/local/bin/dlv
COPY --from=debug-builder /app/proxy /app/proxy
EXPOSE 8080 40000
# Run delve in headless mode
CMD [&amp;quot;/usr/local/bin/dlv&amp;quot;, &amp;quot;--listen=:40000&amp;quot;, &amp;quot;--headless=true&amp;quot;, &amp;quot;--api-version=2&amp;quot;, &amp;quot;--accept-multiclient&amp;quot;, &amp;quot;exec&amp;quot;, &amp;quot;/app/proxy&amp;quot;]&lt;/pre&gt;
&lt;pre class=&quot;code yaml&quot;&gt;&lt;span class=&quot;co4&quot;&gt;services&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;&lt;span class=&quot;co4&quot;&gt;
  proxy-debug&lt;/span&gt;:&lt;span class=&quot;co4&quot;&gt;
    build&lt;/span&gt;:&lt;span class=&quot;co3&quot;&gt;
      context&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;.&lt;span class=&quot;co3&quot;&gt;
      target&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;debug&lt;span class=&quot;co4&quot;&gt;
    environment&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - GEMINI_API_KEY=$&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;GEMINI_API_KEY&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
      - LISTEN_ADDR=:8080&lt;span class=&quot;co4&quot;&gt;
    ports&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - &lt;span class=&quot;st0&quot;&gt;&amp;quot;${PORT:-8080}:8080&amp;quot;&lt;/span&gt;
      - &lt;span class=&quot;st0&quot;&gt;&amp;quot;40000:40000&amp;quot;&lt;/span&gt;&lt;span class=&quot;co4&quot;&gt;
    security_opt&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - &lt;span class=&quot;st0&quot;&gt;&amp;quot;seccomp:unconfined&amp;quot;&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;# Required for Delve/ptrace&lt;/span&gt;&lt;span class=&quot;co4&quot;&gt;
    cap_add&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - SYS_PTRACE&lt;span class=&quot;co3&quot;&gt;
    restart&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;no&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;docker compose up proxy-debug&lt;/pre&gt;
&lt;pre class=&quot;code json&quot;&gt;{
    &amp;quot;version&amp;quot;: &amp;quot;0.2.0&amp;quot;,
    &amp;quot;configurations&amp;quot;: [
        {
            &amp;quot;name&amp;quot;: &amp;quot;Connect to Docker Debug&amp;quot;,
            &amp;quot;type&amp;quot;: &amp;quot;go&amp;quot;,
            &amp;quot;request&amp;quot;: &amp;quot;attach&amp;quot;,
            &amp;quot;mode&amp;quot;: &amp;quot;remote&amp;quot;,
            &amp;quot;port&amp;quot;: 40000,
            &amp;quot;host&amp;quot;: &amp;quot;127.0.0.1&amp;quot;,
            &amp;quot;showLog&amp;quot;: true,
            &amp;quot;dlvFlags&amp;quot;: [&amp;quot;--check-go-version=false&amp;quot;],
            &amp;quot;substitutePath&amp;quot;: [
                {
                    &amp;quot;from&amp;quot;: &amp;quot;${workspaceFolder}&amp;quot;,
                    &amp;quot;to&amp;quot;: &amp;quot;/app&amp;quot;
                }
            ]
        }
    ]
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Golang&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;golang&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;6026-8021&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;python&quot;&gt;Python&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code json&quot;&gt;{
    &amp;quot;version&amp;quot;: &amp;quot;0.2.0&amp;quot;,
    &amp;quot;configurations&amp;quot;: [
        {
            &amp;quot;name&amp;quot;: &amp;quot;Python: Remote Attach (Docker)&amp;quot;,
            &amp;quot;type&amp;quot;: &amp;quot;python&amp;quot;,
            &amp;quot;request&amp;quot;: &amp;quot;attach&amp;quot;,
            &amp;quot;connect&amp;quot;: {
                &amp;quot;host&amp;quot;: &amp;quot;localhost&amp;quot;,
                &amp;quot;port&amp;quot;: 5678
            },
            &amp;quot;pathMappings&amp;quot;: [
                {
                    &amp;quot;localRoot&amp;quot;: &amp;quot;${workspaceFolder}/app&amp;quot;,
                    &amp;quot;remoteRoot&amp;quot;: &amp;quot;/app&amp;quot;
                }
            ],
            &amp;quot;justMyCode&amp;quot;: true,
            &amp;quot;django&amp;quot;: false
        },
        {
            &amp;quot;name&amp;quot;: &amp;quot;Python: FastAPI (Local)&amp;quot;,
            &amp;quot;type&amp;quot;: &amp;quot;python&amp;quot;,
            &amp;quot;request&amp;quot;: &amp;quot;launch&amp;quot;,
            &amp;quot;module&amp;quot;: &amp;quot;uvicorn&amp;quot;,
            &amp;quot;args&amp;quot;: [
                &amp;quot;app.main:app&amp;quot;,
                &amp;quot;--reload&amp;quot;,
                &amp;quot;--host&amp;quot;,
                &amp;quot;0.0.0.0&amp;quot;,
                &amp;quot;--port&amp;quot;,
                &amp;quot;5000&amp;quot;
            ],
            &amp;quot;jinja&amp;quot;: true,
            &amp;quot;justMyCode&amp;quot;: true
        }
    ]
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Python&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;python&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;8022-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=application:crowdsec">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-25T10:16:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CrowdSec - [Команды] </title>
        <link>http://178.140.10.58:8080/doku.php?id=application:crowdsec</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;crowdsec&quot;&gt;CrowdSec&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Это решение для обеспечения безопасности с открытым исходным кодом и участием пользователей, предлагающее защиту от вредоносных IP-адресов с помощью краудсорсинга и доступ к самым передовым методам анализа угроз и защиты в реальных условиях.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;CrowdSec&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;crowdsec&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-471&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;контейнеры&quot;&gt;Контейнеры&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code yaml&quot;&gt;&lt;span class=&quot;co3&quot;&gt;version&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;&#039;3.8&#039;
&lt;span class=&quot;co4&quot;&gt;
services&lt;/span&gt;:&lt;span class=&quot;co4&quot;&gt;
  crowdsec&lt;/span&gt;:&lt;span class=&quot;co3&quot;&gt;
    image&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;crowdsecurity/crowdsec:latest&lt;span class=&quot;co3&quot;&gt;
    container_name&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;crowdsec&lt;span class=&quot;co3&quot;&gt;
    restart&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;unless-stopped&lt;span class=&quot;co3&quot;&gt;
    privileged&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;true&lt;span class=&quot;co4&quot;&gt;
    group_add&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - &lt;span class=&quot;st0&quot;&gt;&amp;quot;4&amp;quot;&lt;/span&gt;   &lt;span class=&quot;co1&quot;&gt;# adm&lt;/span&gt;
      - &lt;span class=&quot;st0&quot;&gt;&amp;quot;33&amp;quot;&lt;/span&gt;  &lt;span class=&quot;co1&quot;&gt;# www-data&lt;/span&gt;
      - &lt;span class=&quot;st0&quot;&gt;&amp;quot;998&amp;quot;&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;# docker socket&lt;/span&gt;&lt;span class=&quot;co4&quot;&gt;
    ports&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - &lt;span class=&quot;st0&quot;&gt;&amp;quot;192.168.1.132:8484:8080&amp;quot;&lt;/span&gt;&lt;span class=&quot;co4&quot;&gt;
    environment&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - COLLECTIONS=crowdsecurity/linux crowdsecurity/nginx crowdsecurity/nextcloud
&lt;span class=&quot;co4&quot;&gt;
    volumes&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - crowdsec-db:/var/lib/crowdsec
      - crowdsec-config:/etc/crowdsec
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /var/log/auth.log:/var/log/auth.log:ro
      - proxy:/var/log/nginx:ro
      - nextcloud:/var/www/nextcloud/data:ro&lt;span class=&quot;co4&quot;&gt;
    networks&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - crowdsec_network&lt;span class=&quot;co4&quot;&gt;
    healthcheck&lt;/span&gt;:&lt;span class=&quot;co3&quot;&gt;
      test&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;CMD&amp;quot;&lt;/span&gt;, &lt;span class=&quot;st0&quot;&gt;&amp;quot;pgrep&amp;quot;&lt;/span&gt;, &lt;span class=&quot;st0&quot;&gt;&amp;quot;-f&amp;quot;&lt;/span&gt;, &lt;span class=&quot;st0&quot;&gt;&amp;quot;crowdsec&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;co3&quot;&gt;
      interval&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;30s&lt;span class=&quot;co3&quot;&gt;
      timeout&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;10s&lt;span class=&quot;co3&quot;&gt;
      retries&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;3&lt;span class=&quot;co3&quot;&gt;
      start_period&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;90s
&lt;span class=&quot;co4&quot;&gt;
  crowdsec-ui&lt;/span&gt;:&lt;span class=&quot;co3&quot;&gt;
    image&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;hhftechnology/crowdsec_manager:latest&lt;span class=&quot;co3&quot;&gt;
    container_name&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;crowdsec-ui&lt;span class=&quot;co3&quot;&gt;
    restart&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;unless-stopped&lt;span class=&quot;co4&quot;&gt;
    ports&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - &lt;span class=&quot;st0&quot;&gt;&amp;quot;192.168.1.132:8481:8080&amp;quot;&lt;/span&gt;&lt;span class=&quot;co4&quot;&gt;
    environment&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - CROWDSEC_LAPI_URL=http://crowdsec:8080
      - CROWDSEC_LAPI_KEY=JHFZuQIst+1emdfu6I0+zi9h9+ID07hAhqm/J6Sv6yE&lt;span class=&quot;co4&quot;&gt;
    volumes&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - /var/run/docker.sock:/var/run/docker.sock:ro&lt;span class=&quot;co4&quot;&gt;
    depends_on&lt;/span&gt;:&lt;span class=&quot;co4&quot;&gt;
      crowdsec&lt;/span&gt;:&lt;span class=&quot;co3&quot;&gt;
        condition&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;service_healthy&lt;span class=&quot;co4&quot;&gt;
    networks&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - crowdsec_network
&lt;span class=&quot;co4&quot;&gt;
  crowdsec-firewall-bouncer&lt;/span&gt;:&lt;span class=&quot;co3&quot;&gt;
    image&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;digitaldriveio/cs-firewall-bouncer:snapshot&lt;span class=&quot;co3&quot;&gt;
    container_name&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;crowdsec-firewall-bouncer&lt;span class=&quot;co3&quot;&gt;
    restart&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;unless-stopped&lt;span class=&quot;co3&quot;&gt;
    network_mode&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;host&lt;span class=&quot;co3&quot;&gt;
    privileged&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;true&lt;span class=&quot;co4&quot;&gt;
    cap_add&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - NET_ADMIN
      - NET_RAW&lt;span class=&quot;co4&quot;&gt;
    environment&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - CROWDSEC_LAPI_URL=http://192.168.1.132:8484
      - CROWDSEC_LAPI_KEY=EIP3m69qNZzCnuHblpM8w9LD8qUEhMexhjnJ4jLZFMg
      - BACKEND=nftables
      - UPDATE_FREQUENCY=10s&lt;span class=&quot;co4&quot;&gt;
    volumes&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - bouncer-config:/config
      - /etc/localtime:/etc/localtime:ro&lt;span class=&quot;co4&quot;&gt;
    depends_on&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - crowdsec
&lt;span class=&quot;co4&quot;&gt;
volumes&lt;/span&gt;:&lt;span class=&quot;co4&quot;&gt;
  crowdsec-db&lt;/span&gt;:&lt;span class=&quot;co4&quot;&gt;
  crowdsec-config&lt;/span&gt;:&lt;span class=&quot;co4&quot;&gt;
  bouncer-config&lt;/span&gt;:&lt;span class=&quot;co4&quot;&gt;
  proxy&lt;/span&gt;:&lt;span class=&quot;co3&quot;&gt;
    external&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;true&lt;span class=&quot;co3&quot;&gt;
    name&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;nextcloud_proxy&amp;quot;&lt;/span&gt;&lt;span class=&quot;co4&quot;&gt;
  nextcloud&lt;/span&gt;:&lt;span class=&quot;co3&quot;&gt;
    external&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;true&lt;span class=&quot;co3&quot;&gt;
    name&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;nextcloud_nextcloud&amp;quot;&lt;/span&gt;
&lt;span class=&quot;co4&quot;&gt;
networks&lt;/span&gt;:&lt;span class=&quot;co4&quot;&gt;
  crowdsec_network&lt;/span&gt;:&lt;span class=&quot;co3&quot;&gt;
    driver&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;bridge&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;472-2639&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;настройки_парсеров&quot;&gt;Настройки парсеров&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ docker &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; crowdsec &lt;span class=&quot;kw2&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/crowdsec/acquis.yaml
source: docker
container_name:
  - nextcloud-proxy
labels:
  type: nginx
---
filenames:
  - /var/log/auth.log
labels:
  type: syslog
---
filenames:
  - /var/www/nextcloud/data/data/nextcloud.log
labels:
  type: nextcloud
EOF&amp;quot;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0430\u0440\u0441\u0435\u0440\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438_\u043f\u0430\u0440\u0441\u0435\u0440\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2640-3004&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;команды&quot;&gt;Команды&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ docker &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; crowdsec cscli bouncers add crowdsec-ui &lt;span class=&quot;re5&quot;&gt;-k&lt;/span&gt; JHFZuQIst+1emdfu6I0+zi9h9+ID07hAhqm&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;J6Sv6yE
$ docker &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; crowdsec cscli bouncers add crowdsec-firewall-bouncer &lt;span class=&quot;re5&quot;&gt;-k&lt;/span&gt; EIP3m69qNZzCnuHblpM8w9LD8qUEhMexhjnJ4jLZFMg
$ docker &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; crowdsec cscli bouncers list
$ docker &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; crowdsec cscli metrics&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u043e\u043c\u0430\u043d\u0434\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u043e\u043c\u0430\u043d\u0434\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3005-3349&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;статистика&quot;&gt;Статистика&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ docker &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; crowdsec cscli metrics
+------------------------------------------------------------------------------------------------------------------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Acquisition Metrics                                                                                              &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+------------------------+------------+--------------+----------------+------------------------+-------------------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Source                 &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Lines &lt;span class=&quot;kw3&quot;&gt;read&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Lines parsed &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Lines unparsed &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Lines poured to bucket &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Lines whitelisted &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+------------------------+------------+--------------+----------------+------------------------+-------------------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; docker:nextcloud-proxy &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;         &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;           &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; -              &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;6&lt;/span&gt;                      &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;                 &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+------------------------+------------+--------------+----------------+------------------------+-------------------+
+------------------------------------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Local API Metrics                  &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+--------------------+--------+------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Route              &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Method &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Hits &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+--------------------+--------+------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;v1&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;heartbeat      &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; GET    &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;    &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;v1&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usage-metrics  &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; POST   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;    &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;v1&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;watchers&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;login&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; POST   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;    &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+--------------------+--------+------+
+-------------------------------------------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Local API Machines Metrics                &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+-----------+---------------+--------+------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Machine   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Route         &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Method &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Hits &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+-----------+---------------+--------+------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; localhost &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;v1&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;heartbeat &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; GET    &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;    &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+-----------+---------------+--------+------+
+---------------------------------------------------------------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Parser Metrics                                                &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+------------------------------------+------+--------+----------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Parsers                            &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Hits &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Parsed &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Unparsed &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+------------------------------------+------+--------+----------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; child-crowdsecurity&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;http-logs      &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;39&lt;/span&gt;   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;26&lt;/span&gt;     &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;       &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; child-crowdsecurity&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nginx-logs     &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;     &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; -        &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; crowdsecurity&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dateparse-enrich     &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;     &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; -        &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; crowdsecurity&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;geoip-enrich         &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;     &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; -        &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; crowdsecurity&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;http-logs            &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;     &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; -        &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; crowdsecurity&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nextcloud-whitelist  &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;     &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; -        &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; crowdsecurity&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nginx-logs           &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;     &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; -        &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; crowdsecurity&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;non-syslog           &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;     &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; -        &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; crowdsecurity&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;public-dns-allowlist &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;     &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; -        &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; crowdsecurity&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;whitelists           &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;     &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; -        &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+------------------------------------+------+--------+----------+
+----------------------------------------------------------------------------------------------------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Scenario Metrics                                                                                   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+--------------------------------------+---------------+-----------+--------------+--------+---------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Scenario                             &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Current Count &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Overflows &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Instantiated &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Poured &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Expired &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+--------------------------------------+---------------+-----------+--------------+--------+---------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; crowdsecurity&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;http-crawl-non_statics &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;             &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; -         &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;            &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;6&lt;/span&gt;      &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;       &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+--------------------------------------+---------------+-----------+--------------+--------+---------+
+---------------------------------------------------------------------------------------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Whitelist Metrics                                                                     &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+------------------------------------+-----------------------------+------+-------------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Whitelist                          &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Reason                      &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Hits &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Whitelisted &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+------------------------------------+-----------------------------+------+-------------+
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; crowdsecurity&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nextcloud-whitelist  &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; Nextcloud Whitelist         &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; -           &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; crowdsecurity&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;public-dns-allowlist &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; public DNS server           &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; -           &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; crowdsecurity&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;whitelists           &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; private ipv4&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ipv6 ip&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ranges &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;   &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;           &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt;
+------------------------------------+-----------------------------+------+-------------+&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3350-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=software">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-24T21:25:39+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Программное обеспечение - [C] </title>
        <link>http://178.140.10.58:8080/doku.php?id=software</link>
        <description>&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:shell&amp;amp;do=showtag&amp;amp;tag=shell&quot; class=&quot;wikilink1&quot; title=&quot;tag:shell&quot; rel=&quot;tag&quot;&gt;shell&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:utils&amp;amp;do=showtag&amp;amp;tag=utils&quot; class=&quot;wikilink1&quot; title=&quot;tag:utils&quot; rel=&quot;tag&quot;&gt;utils&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:commands&amp;amp;do=showtag&amp;amp;tag=commands&quot; class=&quot;wikilink1&quot; title=&quot;tag:commands&quot; rel=&quot;tag&quot;&gt;commands&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:server&amp;amp;do=showtag&amp;amp;tag=server&quot; class=&quot;wikilink1&quot; title=&quot;tag:server&quot; rel=&quot;tag&quot;&gt;server&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;
.
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;программное_обеспечение&quot;&gt;Программное обеспечение&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=languages&quot; class=&quot;wikilink1&quot; title=&quot;languages&quot; data-wiki-id=&quot;languages&quot;&gt;Языки программирования&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=networks&quot; class=&quot;wikilink1&quot; title=&quot;networks&quot; data-wiki-id=&quot;networks&quot;&gt;Сети&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=os&quot; class=&quot;wikilink1&quot; title=&quot;os&quot; data-wiki-id=&quot;os&quot;&gt;Операционные системы&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=software:monitoring&quot; class=&quot;wikilink1&quot; title=&quot;software:monitoring&quot; data-wiki-id=&quot;software:monitoring&quot;&gt;Мониторинг&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=software:proxy&quot; class=&quot;wikilink1&quot; title=&quot;software:proxy&quot; data-wiki-id=&quot;software:proxy&quot;&gt;Proxy&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435_\u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;55-219&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;section09&quot;&gt;0-9&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=languages:1c&quot; class=&quot;wikilink1&quot; title=&quot;languages:1c&quot; data-wiki-id=&quot;languages:1c&quot;&gt;1c&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=7z&quot; class=&quot;wikilink1&quot; title=&quot;7z&quot; data-wiki-id=&quot;7z&quot;&gt;7z&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;0-9&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section09&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;220-278&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;a&quot;&gt;A&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:ap&quot; class=&quot;wikilink1&quot; title=&quot;system:ap&quot; data-wiki-id=&quot;system:ap&quot;&gt;AB (Apache Benchmark)&lt;/a&gt; - тест производительности сервера
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:apt-get&quot; class=&quot;wikilink1&quot; title=&quot;system:apt-get&quot; data-wiki-id=&quot;system:apt-get&quot;&gt;Менеджер пакетов APT: вопросы и ответы&lt;/a&gt; - Утилита установки пакетов
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:aptitude&quot; class=&quot;wikilink1&quot; title=&quot;system:aptitude&quot; data-wiki-id=&quot;system:aptitude&quot;&gt;aptitude &lt;/a&gt; - Утилита установки пакетов
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=apache&quot; class=&quot;wikilink1&quot; title=&quot;apache&quot; data-wiki-id=&quot;apache&quot;&gt;Apache&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=apache:apache:ab&quot; class=&quot;wikilink1&quot; title=&quot;apache:apache:ab&quot; data-wiki-id=&quot;apache:apache:ab&quot;&gt;ApacheBench&lt;/a&gt; - ap
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=apache-solar&quot; class=&quot;wikilink2&quot; title=&quot;apache-solar&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;apache-solar&quot;&gt;apache-solar&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=alsa&quot; class=&quot;wikilink2&quot; title=&quot;alsa&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;alsa&quot;&gt;alsa&lt;/a&gt; - Advanced Linux Sound Architecture (ALSA)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:atop&quot; class=&quot;wikilink2&quot; title=&quot;system:atop&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:atop&quot;&gt;atop&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:awk&quot; class=&quot;wikilink1&quot; title=&quot;system:awk&quot; data-wiki-id=&quot;system:awk&quot;&gt;awk&lt;/a&gt; - консольный редактор
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:awstats&quot; class=&quot;wikilink1&quot; title=&quot;system:awstats&quot; data-wiki-id=&quot;system:awstats&quot;&gt;AWStats - Сервер статистики&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:acestream&quot; class=&quot;wikilink1&quot; title=&quot;system:acestream&quot; data-wiki-id=&quot;system:acestream&quot;&gt;Ace Stream&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:cisco:anyconnect&quot; class=&quot;wikilink2&quot; title=&quot;system:cisco:anyconnect&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:cisco:anyconnect&quot;&gt;anyconnect&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:asdf&quot; class=&quot;wikilink1&quot; title=&quot;system:asdf&quot; data-wiki-id=&quot;system:asdf&quot;&gt;asdf&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:aws&quot; class=&quot;wikilink1&quot; title=&quot;system:aws&quot; data-wiki-id=&quot;system:aws&quot;&gt;AWS консольный клиент&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=application:archimate&quot; class=&quot;wikilink1&quot; title=&quot;application:archimate&quot; data-wiki-id=&quot;application:archimate&quot;&gt;Archi&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:asus&quot; class=&quot;wikilink1&quot; title=&quot;router:asus&quot; data-wiki-id=&quot;router:asus&quot;&gt;Asus - Router&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;A&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;279-987&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;b&quot;&gt;B&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=backup-manager&quot; class=&quot;wikilink1&quot; title=&quot;backup-manager&quot; data-wiki-id=&quot;backup-manager&quot;&gt;backup-manager&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:bash&quot; class=&quot;wikilink1&quot; title=&quot;system:bash&quot; data-wiki-id=&quot;system:bash&quot;&gt;Bash&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=backup&quot; class=&quot;wikilink2&quot; title=&quot;backup&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;backup&quot;&gt;backup&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=bacula&quot; class=&quot;wikilink2&quot; title=&quot;bacula&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;bacula&quot;&gt;bacula&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=bind9&quot; class=&quot;wikilink2&quot; title=&quot;bind9&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;bind9&quot;&gt;bind9&lt;/a&gt; - &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; сервер
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=homebrew&quot; class=&quot;wikilink1&quot; title=&quot;homebrew&quot; data-wiki-id=&quot;homebrew&quot;&gt;Homebrew&lt;/a&gt; * &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=beef&quot; class=&quot;wikilink1&quot; title=&quot;beef&quot; data-wiki-id=&quot;beef&quot;&gt;BeEF - The Browser Exploitation Framework Project&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:boot&quot; class=&quot;wikilink1&quot; title=&quot;system:boot&quot; data-wiki-id=&quot;system:boot&quot;&gt;Boot&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:backuppc&quot; class=&quot;wikilink1&quot; title=&quot;system:backuppc&quot; data-wiki-id=&quot;system:backuppc&quot;&gt;BackupPC&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;B&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;988-1229&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;c&quot;&gt;C&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=chroot_ssh&quot; class=&quot;wikilink2&quot; title=&quot;chroot_ssh&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;chroot_ssh&quot;&gt;chroot + ssh&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:cron&quot; class=&quot;wikilink1&quot; title=&quot;system:cron&quot; data-wiki-id=&quot;system:cron&quot;&gt;Cron&lt;/a&gt; - Автозапуск скриптов 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=chkconfig&quot; class=&quot;wikilink1&quot; title=&quot;chkconfig&quot; data-wiki-id=&quot;chkconfig&quot;&gt;chkconfig&lt;/a&gt; - Настройка автозапуска 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=checkinstall&quot; class=&quot;wikilink2&quot; title=&quot;checkinstall&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;checkinstall&quot;&gt;checkinstall&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=couchdb&quot; class=&quot;wikilink1&quot; title=&quot;couchdb&quot; data-wiki-id=&quot;couchdb&quot;&gt;couchdb&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=coutchbase&quot; class=&quot;wikilink1&quot; title=&quot;coutchbase&quot; data-wiki-id=&quot;coutchbase&quot;&gt;coutchbase&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=clonezilla&quot; class=&quot;wikilink2&quot; title=&quot;clonezilla&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;clonezilla&quot;&gt;Clonezilla&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=chown&quot; class=&quot;wikilink1&quot; title=&quot;chown&quot; data-wiki-id=&quot;chown&quot;&gt;chown&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=chmod&quot; class=&quot;wikilink1&quot; title=&quot;chmod&quot; data-wiki-id=&quot;chmod&quot;&gt;Примеры использования команды chmod в символьном режиме&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:chromium&quot; class=&quot;wikilink1&quot; title=&quot;system:chromium&quot; data-wiki-id=&quot;system:chromium&quot;&gt;Chrome, Chromium, etc&lt;/a&gt; &lt;img src=&quot;http://178.140.10.58:8080/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=develop:php:composer&quot; class=&quot;wikilink1&quot; title=&quot;develop:php:composer&quot; data-wiki-id=&quot;develop:php:composer&quot;&gt;Composer&lt;/a&gt; - PHP скрипт для установки пакетов 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:ccze&quot; class=&quot;wikilink1&quot; title=&quot;system:ccze&quot; data-wiki-id=&quot;system:ccze&quot;&gt;ccze&lt;/a&gt; - Раскрашивает лог-файл 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=node:casperjs&quot; class=&quot;wikilink1&quot; title=&quot;node:casperjs&quot; data-wiki-id=&quot;node:casperjs&quot;&gt;CasperJS&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=python:csvkit&quot; class=&quot;wikilink1&quot; title=&quot;python:csvkit&quot; data-wiki-id=&quot;python:csvkit&quot;&gt;csvkit - Преобразование Excel/(xlsx и xls) в CSV&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:curl&quot; class=&quot;wikilink1&quot; title=&quot;system:curl&quot; data-wiki-id=&quot;system:curl&quot;&gt;CURL&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=service:centrifugo&quot; class=&quot;wikilink1&quot; title=&quot;service:centrifugo&quot; data-wiki-id=&quot;service:centrifugo&quot;&gt;Centrifugo - Websocket or SockJS&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=php:codeception&quot; class=&quot;wikilink1&quot; title=&quot;php:codeception&quot; data-wiki-id=&quot;php:codeception&quot;&gt;Codeception - Тестирование&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:ctop&quot; class=&quot;wikilink1&quot; title=&quot;system:ctop&quot; data-wiki-id=&quot;system:ctop&quot;&gt;ctop&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=application:calibre&quot; class=&quot;wikilink1&quot; title=&quot;application:calibre&quot; data-wiki-id=&quot;application:calibre&quot;&gt;Calibre&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=application:crowdsec&quot; class=&quot;wikilink1&quot; title=&quot;application:crowdsec&quot; data-wiki-id=&quot;application:crowdsec&quot;&gt;CrowdSec&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;C&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1230-2076&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;d&quot;&gt;D&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:dpkg&quot; class=&quot;wikilink1&quot; title=&quot;system:dpkg&quot; data-wiki-id=&quot;system:dpkg&quot;&gt;dpkg&lt;/a&gt; - Утилита установки пакетов 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=dovecot&quot; class=&quot;wikilink1&quot; title=&quot;dovecot&quot; data-wiki-id=&quot;dovecot&quot;&gt;Dovecot&lt;/a&gt; - Postfix + Dovecot + MYSQL (IMAP/POP3-сервер) 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=dovecot_exim&quot; class=&quot;wikilink2&quot; title=&quot;dovecot_exim&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;dovecot_exim&quot;&gt;dovecot_exim&lt;/a&gt; - Exim4 + Dovecot + MYSQL 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=dhcp&quot; class=&quot;wikilink1&quot; title=&quot;dhcp&quot; data-wiki-id=&quot;dhcp&quot;&gt;dhcp&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=du&quot; class=&quot;wikilink1&quot; title=&quot;du&quot; data-wiki-id=&quot;du&quot;&gt;du&lt;/a&gt; - Вычисляем занимаемое место на диске 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=dd&quot; class=&quot;wikilink2&quot; title=&quot;dd&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;dd&quot;&gt;DD&lt;/a&gt; - Клонирование диска/партиций 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=dnsmasq&quot; class=&quot;wikilink1&quot; title=&quot;dnsmasq&quot; data-wiki-id=&quot;dnsmasq&quot;&gt;dnsmasq&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=dhclient&quot; class=&quot;wikilink2&quot; title=&quot;dhclient&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;dhclient&quot;&gt;dhclient&lt;/a&gt; - Dhclient 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=deluge&quot; class=&quot;wikilink1&quot; title=&quot;deluge&quot; data-wiki-id=&quot;deluge&quot;&gt;Deluge&lt;/a&gt; - Torrent client 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=dig&quot; class=&quot;wikilink1&quot; title=&quot;dig&quot; data-wiki-id=&quot;dig&quot;&gt;Dig&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:date&quot; class=&quot;wikilink1&quot; title=&quot;system:date&quot; data-wiki-id=&quot;system:date&quot;&gt;Date&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:dialog&quot; class=&quot;wikilink1&quot; title=&quot;system:dialog&quot; data-wiki-id=&quot;system:dialog&quot;&gt;Dialog&lt;/a&gt; - Альтернативой dialog может служить whiptail, который даже присутствует в некоторых системах по умолчанию. 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:docker&quot; class=&quot;wikilink1&quot; title=&quot;system:docker&quot; data-wiki-id=&quot;system:docker&quot;&gt;Docker&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:docker-compose&quot; class=&quot;wikilink1&quot; title=&quot;system:docker-compose&quot; data-wiki-id=&quot;system:docker-compose&quot;&gt;Docker-Compose&lt;/a&gt;  
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=develop:dbeaver&quot; class=&quot;wikilink1&quot; title=&quot;develop:dbeaver&quot; data-wiki-id=&quot;develop:dbeaver&quot;&gt;DBeaver&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:direnv&quot; class=&quot;wikilink1&quot; title=&quot;system:direnv&quot; data-wiki-id=&quot;system:direnv&quot;&gt;direnv&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;D&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;d&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2077-2929&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;e&quot;&gt;E&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=e2fsprogs&quot; class=&quot;wikilink2&quot; title=&quot;e2fsprogs&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;e2fsprogs&quot;&gt;e2fsprogs&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=emacs&quot; class=&quot;wikilink2&quot; title=&quot;emacs&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;emacs&quot;&gt;Emacs&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=exim4&quot; class=&quot;wikilink1&quot; title=&quot;exim4&quot; data-wiki-id=&quot;exim4&quot;&gt;Exim4&lt;/a&gt; - SMTP Сервер (MTA) 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=eclipse&quot; class=&quot;wikilink1&quot; title=&quot;eclipse&quot; data-wiki-id=&quot;eclipse&quot;&gt;Eclipse&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 elinks - Текстовой брузер с поддержкой JS 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:etckeeper&quot; class=&quot;wikilink1&quot; title=&quot;system:etckeeper&quot; data-wiki-id=&quot;system:etckeeper&quot;&gt;etckeeper&lt;/a&gt; - Сохранение настроек сервера в репозитории 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=net:ethtool&quot; class=&quot;wikilink1&quot; title=&quot;net:ethtool&quot; data-wiki-id=&quot;net:ethtool&quot;&gt;ethtool&lt;/a&gt; - Инструмент для анализа сетевых интерфейсов 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:scripts:sendmail&quot; class=&quot;wikilink1&quot; title=&quot;system:scripts:sendmail&quot; data-wiki-id=&quot;system:scripts:sendmail&quot;&gt;smtp-client.pl - Консольный клиент для отправки почты&lt;/a&gt; - Send Email test - Консольный Email клиент 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:elasticsearch&quot; class=&quot;wikilink1&quot; title=&quot;system:elasticsearch&quot; data-wiki-id=&quot;system:elasticsearch&quot;&gt;Elasticsearch - поисковая система&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:elasticsearch:plugins&quot; class=&quot;wikilink1&quot; title=&quot;system:elasticsearch:plugins&quot; data-wiki-id=&quot;system:elasticsearch:plugins&quot;&gt;Elasticsearch plugins&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=app:excel&quot; class=&quot;wikilink1&quot; title=&quot;app:excel&quot; data-wiki-id=&quot;app:excel&quot;&gt;Генерация документов Excel (xls/xlsx)&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:elasticsearch&quot; class=&quot;wikilink1&quot; title=&quot;system:elasticsearch&quot; data-wiki-id=&quot;system:elasticsearch&quot;&gt;Elasticsearch - поисковая система&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;E&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;e&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2930-3571&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;f&quot;&gt;F&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=fsck&quot; class=&quot;wikilink1&quot; title=&quot;fsck&quot; data-wiki-id=&quot;fsck&quot;&gt;fsck&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=fail2ban&quot; class=&quot;wikilink1&quot; title=&quot;fail2ban&quot; data-wiki-id=&quot;fail2ban&quot;&gt;Fail2ban&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:flock&quot; class=&quot;wikilink1&quot; title=&quot;system:flock&quot; data-wiki-id=&quot;system:flock&quot;&gt;flock&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=find&quot; class=&quot;wikilink1&quot; title=&quot;find&quot; data-wiki-id=&quot;find&quot;&gt;find - Поиск файлов с реальном сканированием.&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;F&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;3572-3664&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;g&quot;&gt;G&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=develop:git&quot; class=&quot;wikilink1&quot; title=&quot;develop:git&quot; data-wiki-id=&quot;develop:git&quot;&gt;Git - распределённая система управления версиями.&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=git-%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9_%D0%BF%D0%BE%D0%B4_ubuntu&quot; class=&quot;wikilink2&quot; title=&quot;git-репозиторий_под_ubuntu&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;git-репозиторий_под_ubuntu&quot;&gt;git-репозиторий под Ubuntu&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://old.lug-mgn.ru/articles/sistemy-kontrolya-versii-git-gitosis&quot; class=&quot;urlextern&quot; title=&quot;http://old.lug-mgn.ru/articles/sistemy-kontrolya-versii-git-gitosis&quot; rel=&quot;ugc nofollow&quot;&gt;Gitosis&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=gearman&quot; class=&quot;wikilink1&quot; title=&quot;gearman&quot; data-wiki-id=&quot;gearman&quot;&gt;Установка сервера Gearman&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=gearman-server-install.sh&quot; class=&quot;wikilink1&quot; title=&quot;gearman-server-install.sh&quot; data-wiki-id=&quot;gearman-server-install.sh&quot;&gt;Gearman Job Server&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=graphviz&quot; class=&quot;wikilink1&quot; title=&quot;graphviz&quot; data-wiki-id=&quot;graphviz&quot;&gt;Graphviz&lt;/a&gt; -пакет утилит по автоматической визуализации графов 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=gitorious&quot; class=&quot;wikilink1&quot; title=&quot;gitorious&quot; data-wiki-id=&quot;gitorious&quot;&gt;Gitorious&lt;/a&gt; - хостинг репозиториев git 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=grunt&quot; class=&quot;wikilink1&quot; title=&quot;grunt&quot; data-wiki-id=&quot;grunt&quot;&gt;Grunt&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=gulp&quot; class=&quot;wikilink1&quot; title=&quot;gulp&quot; data-wiki-id=&quot;gulp&quot;&gt;Gulp&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=develop:git&quot; class=&quot;wikilink1&quot; title=&quot;develop:git&quot; data-wiki-id=&quot;develop:git&quot;&gt;Git - распределённая система управления версиями.&lt;/a&gt; - WEB &lt;abbr title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/abbr&gt; для git 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=develop:gitlab&quot; class=&quot;wikilink1&quot; title=&quot;develop:gitlab&quot; data-wiki-id=&quot;develop:gitlab&quot;&gt;Gitlab&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:gsed&quot; class=&quot;wikilink2&quot; title=&quot;system:gsed&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:gsed&quot;&gt;gsed&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:gzip&quot; class=&quot;wikilink1&quot; title=&quot;system:gzip&quot; data-wiki-id=&quot;system:gzip&quot;&gt;gzip&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:gpg&quot; class=&quot;wikilink1&quot; title=&quot;system:gpg&quot; data-wiki-id=&quot;system:gpg&quot;&gt;GPG and git on macOS&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;G&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;g&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;3665-4358&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;h&quot;&gt;H&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:htop&quot; class=&quot;wikilink1&quot; title=&quot;system:htop&quot; data-wiki-id=&quot;system:htop&quot;&gt;htop&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://www.catch22.net/&quot; class=&quot;urlextern&quot; title=&quot;http://www.catch22.net/&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.catch22.net/&lt;/a&gt; HexEditor (Windows 95, 98, ME, Windows NT 4.0, 2000, XP)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:hddtemp&quot; class=&quot;wikilink1&quot; title=&quot;system:hddtemp&quot; data-wiki-id=&quot;system:hddtemp&quot;&gt;hddtemp&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=application:homeassistant&quot; class=&quot;wikilink1&quot; title=&quot;application:homeassistant&quot; data-wiki-id=&quot;application:homeassistant&quot;&gt;Home Assistant&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;H&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;h&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;4359-4572&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;i&quot;&gt;I&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=iptables&quot; class=&quot;wikilink1&quot; title=&quot;iptables&quot; data-wiki-id=&quot;iptables&quot;&gt;iptables&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=ifconfig&quot; class=&quot;wikilink2&quot; title=&quot;ifconfig&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;ifconfig&quot;&gt;ifconfig&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://www.opennet.ru/docs/RUS/iptables/&quot; class=&quot;urlextern&quot; title=&quot;http://www.opennet.ru/docs/RUS/iptables/&quot; rel=&quot;ugc nofollow&quot;&gt;Opennet.ru iptables&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:iperf&quot; class=&quot;wikilink2&quot; title=&quot;system:iperf&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:iperf&quot;&gt;iperf&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:iotop&quot; class=&quot;wikilink1&quot; title=&quot;system:iotop&quot; data-wiki-id=&quot;system:iotop&quot;&gt;iotop&lt;/a&gt; - то же что и обычный top по CPU, но только по диску 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:lvm&quot; class=&quot;wikilink1&quot; title=&quot;system:lvm&quot; data-wiki-id=&quot;system:lvm&quot;&gt;LVM&lt;/a&gt; - Изменения размера логических томов LVM 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:lspci&quot; class=&quot;wikilink1&quot; title=&quot;system:lspci&quot; data-wiki-id=&quot;system:lspci&quot;&gt;lspci&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:ipset&quot; class=&quot;wikilink1&quot; title=&quot;system:ipset&quot; data-wiki-id=&quot;system:ipset&quot;&gt;IpSet&lt;/a&gt; - Блокируем много IP адресов с помощью ipset и iptables 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:iftop&quot; class=&quot;wikilink2&quot; title=&quot;system:iftop&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:iftop&quot;&gt;iftop&lt;/a&gt; - display bandwidth usage on an interface 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:iptraf&quot; class=&quot;wikilink1&quot; title=&quot;system:iptraf&quot; data-wiki-id=&quot;system:iptraf&quot;&gt;IPTraf&lt;/a&gt; - IP Network Monitoring Software 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:fail2ban&quot; class=&quot;wikilink1&quot; title=&quot;system:fail2ban&quot; data-wiki-id=&quot;system:fail2ban&quot;&gt;fail2ban&lt;/a&gt; - блокирует по IP найденных нарушителей 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:iconv&quot; class=&quot;wikilink2&quot; title=&quot;system:iconv&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:iconv&quot;&gt;iconv&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=software:iterm2&quot; class=&quot;wikilink1&quot; title=&quot;software:iterm2&quot; data-wiki-id=&quot;software:iterm2&quot;&gt;ITerm2&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=software:iperf3&quot; class=&quot;wikilink1&quot; title=&quot;software:iperf3&quot; data-wiki-id=&quot;software:iperf3&quot;&gt;iperf3&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;I&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;i&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;4573-5393&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;j&quot;&gt;J&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=java&quot; class=&quot;wikilink1&quot; title=&quot;java&quot; data-wiki-id=&quot;java&quot;&gt;Java&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=languages:java-script&quot; class=&quot;wikilink1&quot; title=&quot;languages:java-script&quot; data-wiki-id=&quot;languages:java-script&quot;&gt;java-script&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=java:jenkins&quot; class=&quot;wikilink1&quot; title=&quot;java:jenkins&quot; data-wiki-id=&quot;java:jenkins&quot;&gt;Jenkins&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:journalctl&quot; class=&quot;wikilink1&quot; title=&quot;system:journalctl&quot; data-wiki-id=&quot;system:journalctl&quot;&gt;Journalctl&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;J&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;j&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;5394-5522&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;k&quot;&gt;K&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=kvm&quot; class=&quot;wikilink1&quot; title=&quot;kvm&quot; data-wiki-id=&quot;kvm&quot;&gt;KVM&lt;/a&gt; - Виртуализация на Linux 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=unix:xbmc&quot; class=&quot;wikilink1&quot; title=&quot;unix:xbmc&quot; data-wiki-id=&quot;unix:xbmc&quot;&gt;Kodi&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=network:kubernetes&quot; class=&quot;wikilink1&quot; title=&quot;network:kubernetes&quot; data-wiki-id=&quot;network:kubernetes&quot;&gt;Kubernetes&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=software:sso:keycloak&quot; class=&quot;wikilink1&quot; title=&quot;software:sso:keycloak&quot; data-wiki-id=&quot;software:sso:keycloak&quot;&gt;keycloak&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;K&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;k&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;5523-5678&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;l&quot;&gt;L&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=logrotate&quot; class=&quot;wikilink2&quot; title=&quot;logrotate&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;logrotate&quot;&gt;logrotate&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=lsmod&quot; class=&quot;wikilink2&quot; title=&quot;lsmod&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;lsmod&quot;&gt;lsmod&lt;/a&gt; - Список загруженных драйверов 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 links - Текстовой брузер с поддержкой JS 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 links2 - Текстовой брузер с поддержкой JS 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=lm-sensors&quot; class=&quot;wikilink1&quot; title=&quot;lm-sensors&quot; data-wiki-id=&quot;lm-sensors&quot;&gt;LMSensors&lt;/a&gt; - Сенсоры: температура итд 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=locale&quot; class=&quot;wikilink1&quot; title=&quot;locale&quot; data-wiki-id=&quot;locale&quot;&gt;locale&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:logstash&quot; class=&quot;wikilink1&quot; title=&quot;system:logstash&quot; data-wiki-id=&quot;system:logstash&quot;&gt;Logstash&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=lsof&quot; class=&quot;wikilink1&quot; title=&quot;lsof&quot; data-wiki-id=&quot;lsof&quot;&gt;lsof - Отслеживание программ изменяющих файлы&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=develop:languages:lua&quot; class=&quot;wikilink1&quot; title=&quot;develop:languages:lua&quot; data-wiki-id=&quot;develop:languages:lua&quot;&gt;LUA&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=linux-containers&quot; class=&quot;wikilink1&quot; title=&quot;linux-containers&quot; data-wiki-id=&quot;linux-containers&quot;&gt;Linux Containers&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=linux-containers:lxc&quot; class=&quot;wikilink1&quot; title=&quot;linux-containers:lxc&quot; data-wiki-id=&quot;linux-containers:lxc&quot;&gt;LXC&lt;/a&gt; - Linux контейнеры 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:elasticsearch:logstash&quot; class=&quot;wikilink1&quot; title=&quot;system:elasticsearch:logstash&quot; data-wiki-id=&quot;system:elasticsearch:logstash&quot;&gt;Logstash&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=lens&quot; class=&quot;wikilink1&quot; title=&quot;lens&quot; data-wiki-id=&quot;lens&quot;&gt;Lens / Openlens&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;L&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;l&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;5679-6260&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit15&quot; id=&quot;m&quot;&gt;M&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=sys:mc&quot; class=&quot;wikilink1&quot; title=&quot;sys:mc&quot; data-wiki-id=&quot;sys:mc&quot;&gt;mc&lt;/a&gt; - Midnight Commander
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_mercurial_%D0%BD%D0%B0_ubuntu_10.04&quot; class=&quot;wikilink2&quot; title=&quot;обновление_mercurial_на_ubuntu_10.04&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;обновление_mercurial_на_ubuntu_10.04&quot;&gt;Обновление mercurial на Ubuntu 10.04&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg:start&quot; class=&quot;wikilink1&quot; title=&quot;hg:start&quot; data-wiki-id=&quot;hg:start&quot;&gt;mercurial&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=memcached&quot; class=&quot;wikilink1&quot; title=&quot;memcached&quot; data-wiki-id=&quot;memcached&quot;&gt;memcached&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mysql:mysql&quot; class=&quot;wikilink1&quot; title=&quot;mysql:mysql&quot; data-wiki-id=&quot;mysql:mysql&quot;&gt;MySql&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mysql:mytop&quot; class=&quot;wikilink1&quot; title=&quot;mysql:mytop&quot; data-wiki-id=&quot;mysql:mytop&quot;&gt;Mytop&lt;/a&gt; - Top для MySql
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
  mtop 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:mutt&quot; class=&quot;wikilink1&quot; title=&quot;system:mutt&quot; data-wiki-id=&quot;system:mutt&quot;&gt;Mutt&lt;/a&gt; - Консольный E-mail клиент 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=nosql:mongodb&quot; class=&quot;wikilink1&quot; title=&quot;nosql:mongodb&quot; data-wiki-id=&quot;nosql:mongodb&quot;&gt;Mongo&lt;/a&gt; - MongoDB 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mysql:mysql_utils&quot; class=&quot;wikilink1&quot; title=&quot;mysql:mysql_utils&quot; data-wiki-id=&quot;mysql:mysql_utils&quot;&gt;Система резервного копирования и восстановления данных для MySql&lt;/a&gt; - Система резервного копирования / восстановления MySql 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:mount&quot; class=&quot;wikilink1&quot; title=&quot;system:mount&quot; data-wiki-id=&quot;system:mount&quot;&gt;mount - Монтирование файловой системы&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:multitail&quot; class=&quot;wikilink1&quot; title=&quot;system:multitail&quot; data-wiki-id=&quot;system:multitail&quot;&gt;multitail&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mail:msmtp&quot; class=&quot;wikilink2&quot; title=&quot;mail:msmtp&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;mail:msmtp&quot;&gt;msmtp&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=softwate:editor:markdown&quot; class=&quot;wikilink1&quot; title=&quot;softwate:editor:markdown&quot; data-wiki-id=&quot;softwate:editor:markdown&quot;&gt;Markdown Editors (Free)&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=mysql:dump-restore&quot; class=&quot;wikilink1&quot; title=&quot;mysql:dump-restore&quot; data-wiki-id=&quot;mysql:dump-restore&quot;&gt;mysqldump&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:mule&quot; class=&quot;wikilink1&quot; title=&quot;system:mule&quot; data-wiki-id=&quot;system:mule&quot;&gt;Mule ESB / Mulesoft&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:minikube&quot; class=&quot;wikilink1&quot; title=&quot;system:minikube&quot; data-wiki-id=&quot;system:minikube&quot;&gt;Minikube&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:minio&quot; class=&quot;wikilink1&quot; title=&quot;system:minio&quot; data-wiki-id=&quot;system:minio&quot;&gt;Minio&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;M&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;m&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;6261-7005&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit16&quot; id=&quot;n&quot;&gt;N&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=server:nginx&quot; class=&quot;wikilink1&quot; title=&quot;server:nginx&quot; data-wiki-id=&quot;server:nginx&quot;&gt;NGINX&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=server:nfs&quot; class=&quot;wikilink2&quot; title=&quot;server:nfs&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;server:nfs&quot;&gt;nfs&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=nagios&quot; class=&quot;wikilink2&quot; title=&quot;nagios&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;nagios&quot;&gt;Nagios&lt;/a&gt; - система мониторинга сетей
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=nano&quot; class=&quot;wikilink2&quot; title=&quot;nano&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;nano&quot;&gt;nano&lt;/a&gt; - Консольный редактор
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=nsd&quot; class=&quot;wikilink2&quot; title=&quot;nsd&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;nsd&quot;&gt;NSD&lt;/a&gt; - &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; сервер
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=network:netstat&quot; class=&quot;wikilink1&quot; title=&quot;network:netstat&quot; data-wiki-id=&quot;network:netstat&quot;&gt;netstat&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=networks:nc&quot; class=&quot;wikilink1&quot; title=&quot;networks:nc&quot; data-wiki-id=&quot;networks:nc&quot;&gt;nc&lt;/a&gt; - netcat
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:nohup&quot; class=&quot;wikilink1&quot; title=&quot;system:nohup&quot; data-wiki-id=&quot;system:nohup&quot;&gt;nohup&lt;/a&gt; - UNIX-утилита, запускающая указанную команду с игнорированием сигналов потери связи (SIGHUP) (запуск в фоне). &lt;img src=&quot;http://178.140.10.58:8080/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=network:nmap&quot; class=&quot;wikilink1&quot; title=&quot;network:nmap&quot; data-wiki-id=&quot;network:nmap&quot;&gt;Nmap (“Network Mapper”) - Сетевой сканер&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=application:nexus&quot; class=&quot;wikilink1&quot; title=&quot;application:nexus&quot; data-wiki-id=&quot;application:nexus&quot;&gt;Sonatype Nexus Repository&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=application:netcat&quot; class=&quot;wikilink1&quot; title=&quot;application:netcat&quot; data-wiki-id=&quot;application:netcat&quot;&gt;netcat&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=ntpdate&quot; class=&quot;wikilink1&quot; title=&quot;ntpdate&quot; data-wiki-id=&quot;ntpdate&quot;&gt;Синхронизация времени (time sync)&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=nfqws&quot; class=&quot;wikilink1&quot; title=&quot;nfqws&quot; data-wiki-id=&quot;nfqws&quot;&gt;nfqws - Эта программа - модификатор пакетов и обработчик очереди NFQUEUE&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=nextflow&quot; class=&quot;wikilink1&quot; title=&quot;nextflow&quot; data-wiki-id=&quot;nextflow&quot;&gt;Nextflow&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=application:nextcloud&quot; class=&quot;wikilink1&quot; title=&quot;application:nextcloud&quot; data-wiki-id=&quot;application:nextcloud&quot;&gt;Nextcloud&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=application:nodered&quot; class=&quot;wikilink1&quot; title=&quot;application:nodered&quot; data-wiki-id=&quot;application:nodered&quot;&gt;Node Red&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;N&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;n&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;7006-7703&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit17&quot; id=&quot;o&quot;&gt;O&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:openvpn&quot; class=&quot;wikilink1&quot; title=&quot;system:openvpn&quot; data-wiki-id=&quot;system:openvpn&quot;&gt;openvpn&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:openssl&quot; class=&quot;wikilink2&quot; title=&quot;system:openssl&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:openssl&quot;&gt;openssl&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=network:owasp-zap&quot; class=&quot;wikilink1&quot; title=&quot;network:owasp-zap&quot; data-wiki-id=&quot;network:owasp-zap&quot;&gt;OWASP ZAP - Сканер уязвимостей сайта&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:obfs4&quot; class=&quot;wikilink1&quot; title=&quot;system:obfs4&quot; data-wiki-id=&quot;system:obfs4&quot;&gt;OBFS4&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;O&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;o&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;7704-7834&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit18&quot; id=&quot;p&quot;&gt;P&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=percona-server&quot; class=&quot;wikilink1&quot; title=&quot;percona-server&quot; data-wiki-id=&quot;percona-server&quot;&gt;Percona-Server&lt;/a&gt; - MySql 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:dovecot&quot; class=&quot;wikilink1&quot; title=&quot;system:dovecot&quot; data-wiki-id=&quot;system:dovecot&quot;&gt;Postfix&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=languages:php&quot; class=&quot;wikilink1&quot; title=&quot;languages:php&quot; data-wiki-id=&quot;languages:php&quot;&gt;php&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=languages:python&quot; class=&quot;wikilink1&quot; title=&quot;languages:python&quot; data-wiki-id=&quot;languages:python&quot;&gt;python&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=php-fpm&quot; class=&quot;wikilink1&quot; title=&quot;php-fpm&quot; data-wiki-id=&quot;php-fpm&quot;&gt;Установка и настройка PHP-FPM&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:pureftpd&quot; class=&quot;wikilink1&quot; title=&quot;system:pureftpd&quot; data-wiki-id=&quot;system:pureftpd&quot;&gt;Pureftpd + MySql&lt;/a&gt; - Pureftpd сервер &lt;abbr title=&quot;File Transfer Protocol&quot;&gt;FTP&lt;/abbr&gt; (не привязан к директории пользователя) 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=proftpd&quot; class=&quot;wikilink2&quot; title=&quot;proftpd&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proftpd&quot;&gt;proftpd&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=powerdns&quot; class=&quot;wikilink2&quot; title=&quot;powerdns&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;powerdns&quot;&gt;Power Dns&lt;/a&gt; - &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; сервер 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:ps&quot; class=&quot;wikilink1&quot; title=&quot;system:ps&quot; data-wiki-id=&quot;system:ps&quot;&gt;ps&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=develop:phpstorm&quot; class=&quot;wikilink1&quot; title=&quot;develop:phpstorm&quot; data-wiki-id=&quot;develop:phpstorm&quot;&gt;PhpStorm IDE for PHP&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 [:popcorntime|]] 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=puttygen&quot; class=&quot;wikilink1&quot; title=&quot;puttygen&quot; data-wiki-id=&quot;puttygen&quot;&gt;Puttygen&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=pidof&quot; class=&quot;wikilink1&quot; title=&quot;pidof&quot; data-wiki-id=&quot;pidof&quot;&gt;PIDOF&lt;/a&gt; - Списко PID запущеных процессов 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=develop:postgresql&quot; class=&quot;wikilink1&quot; title=&quot;develop:postgresql&quot; data-wiki-id=&quot;develop:postgresql&quot;&gt;PostrgeSQL&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=postgresql:postgresql&quot; class=&quot;wikilink1&quot; title=&quot;postgresql:postgresql&quot; data-wiki-id=&quot;postgresql:postgresql&quot;&gt;PostrgeSQL - Установка и настройка&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=nodejs:phantomjs&quot; class=&quot;wikilink1&quot; title=&quot;nodejs:phantomjs&quot; data-wiki-id=&quot;nodejs:phantomjs&quot;&gt;PhantomJs&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=macos:network:paw&quot; class=&quot;wikilink1&quot; title=&quot;macos:network:paw&quot; data-wiki-id=&quot;macos:network:paw&quot;&gt;PAW&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=app:phpoffice&quot; class=&quot;wikilink1&quot; title=&quot;app:phpoffice&quot; data-wiki-id=&quot;app:phpoffice&quot;&gt;PHPOffice&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=portainer&quot; class=&quot;wikilink1&quot; title=&quot;portainer&quot; data-wiki-id=&quot;portainer&quot;&gt;Portainer&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=network:privoxy&quot; class=&quot;wikilink2&quot; title=&quot;network:privoxy&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;network:privoxy&quot;&gt;privoxy&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:podman&quot; class=&quot;wikilink1&quot; title=&quot;system:podman&quot; data-wiki-id=&quot;system:podman&quot;&gt;Podman&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;P&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;p&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;7835-8611&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit19&quot; id=&quot;q&quot;&gt;Q&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:qmail&quot; class=&quot;wikilink1&quot; title=&quot;system:qmail&quot; data-wiki-id=&quot;system:qmail&quot;&gt;Qmail&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Q&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;q&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;8612-8650&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit20&quot; id=&quot;r&quot;&gt;R&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=redis&quot; class=&quot;wikilink1&quot; title=&quot;redis&quot; data-wiki-id=&quot;redis&quot;&gt;Redis&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:rsync&quot; class=&quot;wikilink1&quot; title=&quot;system:rsync&quot; data-wiki-id=&quot;system:rsync&quot;&gt;Rsync&lt;/a&gt; - Система копирования файлов 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:ruby:rubymine&quot; class=&quot;wikilink1&quot; title=&quot;system:ruby:rubymine&quot; data-wiki-id=&quot;system:ruby:rubymine&quot;&gt;RubyMine&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:rm&quot; class=&quot;wikilink1&quot; title=&quot;system:rm&quot; data-wiki-id=&quot;system:rm&quot;&gt;rm&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=servers:rabbitmq&quot; class=&quot;wikilink1&quot; title=&quot;servers:rabbitmq&quot; data-wiki-id=&quot;servers:rabbitmq&quot;&gt;RabbitMQ&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:rsyslog&quot; class=&quot;wikilink1&quot; title=&quot;system:rsyslog&quot; data-wiki-id=&quot;system:rsyslog&quot;&gt;Rsyslog - сервер регистрации лог файлов&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:rdiff-backup&quot; class=&quot;wikilink2&quot; title=&quot;system:rdiff-backup&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:rdiff-backup&quot;&gt;rdiff-backup&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=ruby:start&quot; class=&quot;wikilink1&quot; title=&quot;ruby:start&quot; data-wiki-id=&quot;ruby:start&quot;&gt;RUBY&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=ruby:start#installing_rvm_on_linux&quot; class=&quot;wikilink1&quot; title=&quot;ruby:start&quot; data-wiki-id=&quot;ruby:start&quot;&gt;Установка и настройка RVM&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=java-script:react&quot; class=&quot;wikilink1&quot; title=&quot;java-script:react&quot; data-wiki-id=&quot;java-script:react&quot;&gt;React JS&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:rsyslog&quot; class=&quot;wikilink1&quot; title=&quot;system:rsyslog&quot; data-wiki-id=&quot;system:rsyslog&quot;&gt;Rsyslog - сервер регистрации лог файлов&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:rename&quot; class=&quot;wikilink1&quot; title=&quot;system:rename&quot; data-wiki-id=&quot;system:rename&quot;&gt;Rename&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router&quot; class=&quot;wikilink1&quot; title=&quot;router&quot; data-wiki-id=&quot;router&quot;&gt;Routers&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;R&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;r&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;8651-9127&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit21&quot; id=&quot;s&quot;&gt;S&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=samba:samba&quot; class=&quot;wikilink1&quot; title=&quot;samba:samba&quot; data-wiki-id=&quot;samba:samba&quot;&gt;Samba 2/3/4 Установка и настройка&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=squirrelmail&quot; class=&quot;wikilink2&quot; title=&quot;squirrelmail&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;squirrelmail&quot;&gt;squirrelmail&lt;/a&gt; - почтовый клиент
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=sphinx:start&quot; class=&quot;wikilink1&quot; title=&quot;sphinx:start&quot; data-wiki-id=&quot;sphinx:start&quot;&gt;sphinx&lt;/a&gt; - индексатор (поисковик)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:ssh&quot; class=&quot;wikilink1&quot; title=&quot;system:ssh&quot; data-wiki-id=&quot;system:ssh&quot;&gt;SSH клиент / сервер&lt;/a&gt; - SSH
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=ssh-gen&quot; class=&quot;wikilink1&quot; title=&quot;ssh-gen&quot; data-wiki-id=&quot;ssh-gen&quot;&gt;ssh-gen&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=ssh:sshfs&quot; class=&quot;wikilink1&quot; title=&quot;ssh:sshfs&quot; data-wiki-id=&quot;ssh:sshfs&quot;&gt;sshfs&lt;/a&gt; - Монтирование директорий с использованием SSH
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=ssh:tunel&quot; class=&quot;wikilink1&quot; title=&quot;ssh:tunel&quot; data-wiki-id=&quot;ssh:tunel&quot;&gt;ssh тунель&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=sshd&quot; class=&quot;wikilink2&quot; title=&quot;sshd&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;sshd&quot;&gt;sshd&lt;/a&gt; - SSHD 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:screen&quot; class=&quot;wikilink1&quot; title=&quot;system:screen&quot; data-wiki-id=&quot;system:screen&quot;&gt;screen - Менеджер сессий&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=solr&quot; class=&quot;wikilink1&quot; title=&quot;solr&quot; data-wiki-id=&quot;solr&quot;&gt;Solr&lt;/a&gt; - поисковый индексатор
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=develop:shell&quot; class=&quot;wikilink1&quot; title=&quot;develop:shell&quot; data-wiki-id=&quot;develop:shell&quot;&gt;shell&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:scripts:sendmail&quot; class=&quot;wikilink1&quot; title=&quot;system:scripts:sendmail&quot; data-wiki-id=&quot;system:scripts:sendmail&quot;&gt;smtp-client.pl - Консольный клиент для отправки почты&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=svn&quot; class=&quot;wikilink1&quot; title=&quot;svn&quot; data-wiki-id=&quot;svn&quot;&gt;svn&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=sudo&quot; class=&quot;wikilink1&quot; title=&quot;sudo&quot; data-wiki-id=&quot;sudo&quot;&gt;sudo&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:sysctl&quot; class=&quot;wikilink1&quot; title=&quot;system:sysctl&quot; data-wiki-id=&quot;system:sysctl&quot;&gt;sysctl&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:shopt&quot; class=&quot;wikilink1&quot; title=&quot;system:shopt&quot; data-wiki-id=&quot;system:shopt&quot;&gt;shopt&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:swap:swapon&quot; class=&quot;wikilink1&quot; title=&quot;system:swap:swapon&quot; data-wiki-id=&quot;system:swap:swapon&quot;&gt;Swapon&lt;/a&gt; - Управление SWAP
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:sed&quot; class=&quot;wikilink1&quot; title=&quot;system:sed&quot; data-wiki-id=&quot;system:sed&quot;&gt;Sed&lt;/a&gt; - Inline editor
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=application:sublime&quot; class=&quot;wikilink1&quot; title=&quot;application:sublime&quot; data-wiki-id=&quot;application:sublime&quot;&gt;Sublime 3&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:systemctl&quot; class=&quot;wikilink1&quot; title=&quot;system:systemctl&quot; data-wiki-id=&quot;system:systemctl&quot;&gt;systemctl&lt;/a&gt; - Анализ служб
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=software:smartgit&quot; class=&quot;wikilink1&quot; title=&quot;software:smartgit&quot; data-wiki-id=&quot;software:smartgit&quot;&gt;SmartGit&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:sort&quot; class=&quot;wikilink1&quot; title=&quot;system:sort&quot; data-wiki-id=&quot;system:sort&quot;&gt;sort&lt;/a&gt; - Применяется для сортировки вывода (Пример: ls -1|sort -V)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:shorewall&quot; class=&quot;wikilink1&quot; title=&quot;system:shorewall&quot; data-wiki-id=&quot;system:shorewall&quot;&gt;Shorewall&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:sqlite&quot; class=&quot;wikilink1&quot; title=&quot;system:sqlite&quot; data-wiki-id=&quot;system:sqlite&quot;&gt;SqLite&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=python:supervisor&quot; class=&quot;wikilink1&quot; title=&quot;python:supervisor&quot; data-wiki-id=&quot;python:supervisor&quot;&gt;Supervisor by python&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:strace&quot; class=&quot;wikilink1&quot; title=&quot;system:strace&quot; data-wiki-id=&quot;system:strace&quot;&gt;strace&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=utils:siege&quot; class=&quot;wikilink1&quot; title=&quot;utils:siege&quot; data-wiki-id=&quot;utils:siege&quot;&gt;Siege — утилита для нагрузочного тестирования веб-серверов&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:socat&quot; class=&quot;wikilink2&quot; title=&quot;system:socat&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:socat&quot;&gt;socat&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:ssmtp&quot; class=&quot;wikilink1&quot; title=&quot;system:ssmtp&quot; data-wiki-id=&quot;system:ssmtp&quot;&gt;SSMTP - Отправка почты через console&lt;/a&gt; - Отправка почты через консоль
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=app:gnumeric:ssconvert&quot; class=&quot;wikilink1&quot; title=&quot;app:gnumeric:ssconvert&quot; data-wiki-id=&quot;app:gnumeric:ssconvert&quot;&gt;ssconvert - Преобразование Excel/(xlsx и xls) в CSV&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=network:squid&quot; class=&quot;wikilink1&quot; title=&quot;network:squid&quot; data-wiki-id=&quot;network:squid&quot;&gt;Squid&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=server:ssl&quot; class=&quot;wikilink1&quot; title=&quot;server:ssl&quot; data-wiki-id=&quot;server:ssl&quot;&gt;Автоматическая генерация и обновление сертификата SSL (certbot)&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=software:smartgit&quot; class=&quot;wikilink1&quot; title=&quot;software:smartgit&quot; data-wiki-id=&quot;software:smartgit&quot;&gt;SmartGit&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=seo&quot; class=&quot;wikilink1&quot; title=&quot;seo&quot; data-wiki-id=&quot;seo&quot;&gt;SEO анализ&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=application:studio3t&quot; class=&quot;wikilink2&quot; title=&quot;application:studio3t&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;application:studio3t&quot;&gt;studio3t&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:init:systemd&quot; class=&quot;wikilink1&quot; title=&quot;system:init:systemd&quot; data-wiki-id=&quot;system:init:systemd&quot;&gt;Systemd&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=application:sysbench&quot; class=&quot;wikilink1&quot; title=&quot;application:sysbench&quot; data-wiki-id=&quot;application:sysbench&quot;&gt;Sysbench - Тестирование производительности&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=application:sstp-client&quot; class=&quot;wikilink1&quot; title=&quot;application:sstp-client&quot; data-wiki-id=&quot;application:sstp-client&quot;&gt;SSTP клиент&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=application:hpc:slurm&quot; class=&quot;wikilink1&quot; title=&quot;application:hpc:slurm&quot; data-wiki-id=&quot;application:hpc:slurm&quot;&gt;Slurm&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;S&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;s&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;9128-10624&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit22&quot; id=&quot;t&quot;&gt;T&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tar&quot; class=&quot;wikilink1&quot; title=&quot;tar&quot; data-wiki-id=&quot;tar&quot;&gt;tar&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tmux&quot; class=&quot;wikilink2&quot; title=&quot;tmux&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;tmux&quot;&gt;tmux&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:top&quot; class=&quot;wikilink1&quot; title=&quot;system:top&quot; data-wiki-id=&quot;system:top&quot;&gt;top&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=network:transmission&quot; class=&quot;wikilink1&quot; title=&quot;network:transmission&quot; data-wiki-id=&quot;network:transmission&quot;&gt;Transmission&lt;/a&gt; - torrent client 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:tee&quot; class=&quot;wikilink1&quot; title=&quot;system:tee&quot; data-wiki-id=&quot;system:tee&quot;&gt;tee&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:tarantool&quot; class=&quot;wikilink2&quot; title=&quot;system:tarantool&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:tarantool&quot;&gt;tarantool&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tcpdump&quot; class=&quot;wikilink1&quot; title=&quot;tcpdump&quot; data-wiki-id=&quot;tcpdump&quot;&gt;tcpdump&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=network:tor&quot; class=&quot;wikilink1&quot; title=&quot;network:tor&quot; data-wiki-id=&quot;network:tor&quot;&gt;Tor&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;T&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;t&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:22,&amp;quot;range&amp;quot;:&amp;quot;10625-10845&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit23&quot; id=&quot;u&quot;&gt;U&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=uname&quot; class=&quot;wikilink2&quot; title=&quot;uname&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;uname&quot;&gt;uname&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=umask&quot; class=&quot;wikilink2&quot; title=&quot;umask&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;umask&quot;&gt;umask&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=usermod&quot; class=&quot;wikilink2&quot; title=&quot;usermod&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;usermod&quot;&gt;usermod&lt;/a&gt; - Изменение пользовательского аккаунта 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:unison&quot; class=&quot;wikilink1&quot; title=&quot;system:unison&quot; data-wiki-id=&quot;system:unison&quot;&gt;Unison&lt;/a&gt; - утилита для синхронизации файлов 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:updatedb&quot; class=&quot;wikilink1&quot; title=&quot;system:updatedb&quot; data-wiki-id=&quot;system:updatedb&quot;&gt;updatedb&lt;/a&gt; - Пакет для построения индекса. Используется при вызове &lt;strong&gt;locate&lt;/strong&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:umount&quot; class=&quot;wikilink1&quot; title=&quot;system:umount&quot; data-wiki-id=&quot;system:umount&quot;&gt;umount - размонтирование раздела&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;U&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;u&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:23,&amp;quot;range&amp;quot;:&amp;quot;10846-11265&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit24&quot; id=&quot;v&quot;&gt;V&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=varnish&quot; class=&quot;wikilink2&quot; title=&quot;varnish&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;varnish&quot;&gt;Vasnish&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=vim&quot; class=&quot;wikilink2&quot; title=&quot;vim&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;vim&quot;&gt;Vim&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:vmstat&quot; class=&quot;wikilink1&quot; title=&quot;system:vmstat&quot; data-wiki-id=&quot;system:vmstat&quot;&gt;vmstat&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=virtualbox&quot; class=&quot;wikilink1&quot; title=&quot;virtualbox&quot; data-wiki-id=&quot;virtualbox&quot;&gt;VirtualBox&lt;/a&gt; - VirtualBox 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:vagrant&quot; class=&quot;wikilink1&quot; title=&quot;system:vagrant&quot; data-wiki-id=&quot;system:vagrant&quot;&gt;Vagrant&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=panel:vestacp&quot; class=&quot;wikilink1&quot; title=&quot;panel:vestacp&quot; data-wiki-id=&quot;panel:vestacp&quot;&gt;Vesta CP&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=development:vscode&quot; class=&quot;wikilink1&quot; title=&quot;development:vscode&quot; data-wiki-id=&quot;development:vscode&quot;&gt;Visual Studio Code&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;V&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;v&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:24,&amp;quot;range&amp;quot;:&amp;quot;11266-11473&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit25&quot; id=&quot;w&quot;&gt;W&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=wireshark&quot; class=&quot;wikilink1&quot; title=&quot;wireshark&quot; data-wiki-id=&quot;wireshark&quot;&gt;Wireshark сетевой сканер&lt;/a&gt; (Сетевой сканер) 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:watch&quot; class=&quot;wikilink1&quot; title=&quot;system:watch&quot; data-wiki-id=&quot;system:watch&quot;&gt;watch - следит за изменениями в выводе командой (repeat)&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:wget&quot; class=&quot;wikilink1&quot; title=&quot;system:wget&quot; data-wiki-id=&quot;system:wget&quot;&gt;Wget&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=software:w3m&quot; class=&quot;wikilink1&quot; title=&quot;software:w3m&quot; data-wiki-id=&quot;software:w3m&quot;&gt;w3m&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=software:wine&quot; class=&quot;wikilink1&quot; title=&quot;software:wine&quot; data-wiki-id=&quot;software:wine&quot;&gt;Wine&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;W&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;w&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:25,&amp;quot;range&amp;quot;:&amp;quot;11474-11634&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit26&quot; id=&quot;x&quot;&gt;X&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://support.xmplay.com/&quot; class=&quot;urlextern&quot; title=&quot;http://support.xmplay.com/&quot; rel=&quot;ugc nofollow&quot;&gt;XMPlay&lt;/a&gt; (win) 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=xmail&quot; class=&quot;wikilink2&quot; title=&quot;xmail&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;xmail&quot;&gt;xmail&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=unix:xbmc&quot; class=&quot;wikilink1&quot; title=&quot;unix:xbmc&quot; data-wiki-id=&quot;unix:xbmc&quot;&gt;XBMC/Kodi - Отличный интерфейс для домашнего кинотеатра&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=languages:xpath&quot; class=&quot;wikilink1&quot; title=&quot;languages:xpath&quot; data-wiki-id=&quot;languages:xpath&quot;&gt;XPATH&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:x-ray&quot; class=&quot;wikilink1&quot; title=&quot;router:x-ray&quot; data-wiki-id=&quot;router:x-ray&quot;&gt;XRAY Server / XRAYUI&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;X&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;x&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:26,&amp;quot;range&amp;quot;:&amp;quot;11635-11788&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit27&quot; id=&quot;y&quot;&gt;Y&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Y&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;y&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:27,&amp;quot;range&amp;quot;:&amp;quot;11789-11803&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit28&quot; id=&quot;z&quot;&gt;Z&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:zimbra&quot; class=&quot;wikilink1&quot; title=&quot;system:zimbra&quot; data-wiki-id=&quot;system:zimbra&quot;&gt;Zimbra&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=ping:zabbix&quot; class=&quot;wikilink1&quot; title=&quot;ping:zabbix&quot; data-wiki-id=&quot;ping:zabbix&quot;&gt;Zabbix - система мониторинга и отслеживания статусов разнообразных сервисов&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:zip&quot; class=&quot;wikilink1&quot; title=&quot;system:zip&quot; data-wiki-id=&quot;system:zip&quot;&gt;ZIP Сжатие / Разжатие в unix&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:zcat&quot; class=&quot;wikilink1&quot; title=&quot;system:zcat&quot; data-wiki-id=&quot;system:zcat&quot;&gt;zcat&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=zerobrane&quot; class=&quot;wikilink1&quot; title=&quot;zerobrane&quot; data-wiki-id=&quot;zerobrane&quot;&gt;IDE ZeroBrane Studio&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=router:zapret&quot; class=&quot;wikilink1&quot; title=&quot;router:zapret&quot; data-wiki-id=&quot;router:zapret&quot;&gt;Zapret - DPI bypass multi platform Topics (NFQWS)&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Z&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;z&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:28,&amp;quot;range&amp;quot;:&amp;quot;11804-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=system:strace">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-21T03:18:45+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Strace - создано</title>
        <link>http://178.140.10.58:8080/doku.php?id=system:strace</link>
        <description>&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:strace&amp;amp;do=showtag&amp;amp;tag=%5Bstrace&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:strace&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; [strace&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:proc&amp;amp;do=showtag&amp;amp;tag=proc%5D&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:proc&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; proc]&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;strace&quot;&gt;Strace&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Strace&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;strace&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;24-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=network:transmission">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-18T21:23:34+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Transmission</title>
        <link>http://178.140.10.58:8080/doku.php?id=network:transmission</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;transmission&quot;&gt;Transmission&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Transmission&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;transmission&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-28&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;установка&quot;&gt;Установка&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;29-61&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;настройка&quot;&gt;Настройка&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code json&quot;&gt;{
    &amp;quot;alt-speed-down&amp;quot;: 10,
    &amp;quot;alt-speed-enabled&amp;quot;: false,
    &amp;quot;alt-speed-time-begin&amp;quot;: 600,
    &amp;quot;alt-speed-time-day&amp;quot;: 62,
    &amp;quot;alt-speed-time-enabled&amp;quot;: true,
    &amp;quot;alt-speed-time-end&amp;quot;: 60,
    &amp;quot;alt-speed-up&amp;quot;: 1000,
    &amp;quot;announce-ip&amp;quot;: &amp;quot;&amp;quot;,
    &amp;quot;announce-ip-enabled&amp;quot;: false,
    &amp;quot;anti-brute-force-enabled&amp;quot;: false,
    &amp;quot;anti-brute-force-threshold&amp;quot;: 100,
    &amp;quot;bind-address-ipv4&amp;quot;: &amp;quot;0.0.0.0&amp;quot;,
    &amp;quot;bind-address-ipv6&amp;quot;: &amp;quot;::&amp;quot;,
    &amp;quot;blocklist-enabled&amp;quot;: true,
    &amp;quot;blocklist-url&amp;quot;: &amp;quot;https://github.com/Naunter/BT_BlockLists/raw/master/bt_blocklists.gz&amp;quot;,
    &amp;quot;cache-size-mb&amp;quot;: 32,
    &amp;quot;default-trackers&amp;quot;: &amp;quot;&amp;quot;,
    &amp;quot;dht-enabled&amp;quot;: true,
    &amp;quot;download-dir&amp;quot;: &amp;quot;/mnt/Torrents/downloads&amp;quot;,
    &amp;quot;download-limit&amp;quot;: 100,
    &amp;quot;download-limit-enabled&amp;quot;: false,
    &amp;quot;download-queue-enabled&amp;quot;: true,
    &amp;quot;download-queue-size&amp;quot;: 5,
    &amp;quot;encryption&amp;quot;: 1,
    &amp;quot;idle-seeding-limit&amp;quot;: 30,
    &amp;quot;idle-seeding-limit-enabled&amp;quot;: true,
    &amp;quot;incomplete-dir&amp;quot;: &amp;quot;/mnt/Torrents/incomplete&amp;quot;,
    &amp;quot;incomplete-dir-enabled&amp;quot;: true,
    &amp;quot;lpd-enabled&amp;quot;: true,
    &amp;quot;max-peers-global&amp;quot;: 200,
    &amp;quot;message-level&amp;quot;: 5,
    &amp;quot;peer-congestion-algorithm&amp;quot;: &amp;quot;&amp;quot;,
    &amp;quot;peer-id-ttl-hours&amp;quot;: 6,
    &amp;quot;peer-limit-global&amp;quot;: 200,
    &amp;quot;peer-limit-per-torrent&amp;quot;: 30,
    &amp;quot;peer-port&amp;quot;: 55142,
    &amp;quot;peer-port-random-high&amp;quot;: 65535,
    &amp;quot;peer-port-random-low&amp;quot;: 49152,
    &amp;quot;peer-port-random-on-start&amp;quot;: false,
    &amp;quot;peer-socket-tos&amp;quot;: &amp;quot;le&amp;quot;,
    &amp;quot;pex-enabled&amp;quot;: true,
    &amp;quot;pidfile&amp;quot;: &amp;quot;&amp;quot;,
    &amp;quot;port-forwarding-enabled&amp;quot;: true,
    &amp;quot;preallocation&amp;quot;: 1,
    &amp;quot;preferred_transport&amp;quot;: &amp;quot;utp&amp;quot;,
    &amp;quot;prefetch-enabled&amp;quot;: true,
    &amp;quot;proxy_url&amp;quot;: &amp;quot;&amp;quot;,
    &amp;quot;queue-stalled-enabled&amp;quot;: true,
    &amp;quot;queue-stalled-minutes&amp;quot;: 30,
    &amp;quot;ratio-limit&amp;quot;: 2.0,
    &amp;quot;ratio-limit-enabled&amp;quot;: true,
    &amp;quot;rename-partial-files&amp;quot;: true,
    &amp;quot;reqq&amp;quot;: 2000,
    &amp;quot;rpc-authentication-required&amp;quot;: true,
    &amp;quot;rpc-bind-address&amp;quot;: &amp;quot;0.0.0.0&amp;quot;,
    &amp;quot;rpc-enabled&amp;quot;: true,
    &amp;quot;rpc-host-whitelist&amp;quot;: &amp;quot;&amp;quot;,
    &amp;quot;rpc-host-whitelist-enabled&amp;quot;: true,
    &amp;quot;rpc-password&amp;quot;: &amp;quot;{87ecf70dcfec2d852c300462512e60147b95d04805Pr9H1d&amp;quot;,
    &amp;quot;rpc-port&amp;quot;: 9091,
    &amp;quot;rpc-socket-mode&amp;quot;: &amp;quot;0750&amp;quot;,
    &amp;quot;rpc-url&amp;quot;: &amp;quot;/transmission/&amp;quot;,
    &amp;quot;rpc-username&amp;quot;: &amp;quot;transmission&amp;quot;,
    &amp;quot;rpc-whitelist&amp;quot;: &amp;quot;127.0.0.1,192.168.*.*&amp;quot;,
    &amp;quot;rpc-whitelist-enabled&amp;quot;: true,
    &amp;quot;scrape-paused-torrents-enabled&amp;quot;: true,
    &amp;quot;script-torrent-added-enabled&amp;quot;: false,
    &amp;quot;script-torrent-added-filename&amp;quot;: &amp;quot;&amp;quot;,
    &amp;quot;script-torrent-done-enabled&amp;quot;: false,
    &amp;quot;script-torrent-done-filename&amp;quot;: &amp;quot;&amp;quot;,
    &amp;quot;script-torrent-done-seeding-enabled&amp;quot;: false,
    &amp;quot;script-torrent-done-seeding-filename&amp;quot;: &amp;quot;&amp;quot;,
    &amp;quot;seed-queue-enabled&amp;quot;: true,
    &amp;quot;seed-queue-size&amp;quot;: 3,
    &amp;quot;sequential_download&amp;quot;: false,
    &amp;quot;sleep-per-seconds-during-verify&amp;quot;: 100,
    &amp;quot;speed-limit-down&amp;quot;: 307200,
    &amp;quot;speed-limit-down-enabled&amp;quot;: true,
    &amp;quot;speed-limit-up&amp;quot;: 307200,
    &amp;quot;speed-limit-up-enabled&amp;quot;: true,
    &amp;quot;start-added-torrents&amp;quot;: true,
    &amp;quot;start_paused&amp;quot;: false,
    &amp;quot;tcp-enabled&amp;quot;: true,
    &amp;quot;torrent-added-verify-mode&amp;quot;: &amp;quot;fast&amp;quot;,
    &amp;quot;trash-original-torrent-files&amp;quot;: false,
    &amp;quot;umask&amp;quot;: &amp;quot;022&amp;quot;,
    &amp;quot;upload-limit&amp;quot;: 100,
    &amp;quot;upload-limit-enabled&amp;quot;: 0,
    &amp;quot;upload-slots-per-torrent&amp;quot;: 14,
    &amp;quot;utp-enabled&amp;quot;: true,
    &amp;quot;watch-dir&amp;quot;: &amp;quot;/mnt/Torrents/torrents&amp;quot;,
    &amp;quot;watch-dir-enabled&amp;quot;: true,
    &amp;quot;watch-dir-force-generic&amp;quot;: false
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;62-3272&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;проверка_на_наличие_ошибок&quot;&gt;Проверка на наличие ошибок&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
pip3 freeze &amp;gt; requirements.txt
&lt;/p&gt;
&lt;pre class=&quot;code python&quot;&gt;bencode&lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1.0&lt;/span&gt;
bencodepy&lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt;0.9.5&lt;/pre&gt;
&lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;co1&quot;&gt;#!/usr/bin/env python3&lt;/span&gt;
&lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;
Torrent File Validator and Cleaner
&amp;nbsp;
This script validates torrent files, checks their structure and content,
and provides options to move invalid files to a separate directory.
&amp;nbsp;
Features:
- Validates both single torrent files and directories of torrents
- Recursive directory scanning
- Parallel processing for performance
- Detailed validation reporting
- Interactive cleanup of invalid files
- JSON output support
- Colorized console output
&amp;nbsp;
Exit codes:
0 - All files valid
1 - One or more invalid files found
130 - Operation cancelled by user (Ctrl+C)
&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; argparse
&lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; hashlib
&lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; json
&lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;logging&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;os&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;shutil&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;sys&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;traceback&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;from&lt;/span&gt; concurrent.&lt;span class=&quot;me1&quot;&gt;futures&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; ThreadPoolExecutor&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; as_completed
&lt;span class=&quot;kw1&quot;&gt;from&lt;/span&gt; dataclasses &lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; dataclass
&lt;span class=&quot;kw1&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;datetime&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;datetime&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;from&lt;/span&gt; enum &lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; Enum&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; auto
&lt;span class=&quot;kw1&quot;&gt;from&lt;/span&gt; pathlib &lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; Path
&lt;span class=&quot;kw1&quot;&gt;from&lt;/span&gt; typing &lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; Dict&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; List&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; Optional&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; Tuple
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; bencodepy
&amp;nbsp;
&lt;span class=&quot;co1&quot;&gt;# Constants&lt;/span&gt;
MIN_TORRENT_SIZE &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;45&lt;/span&gt;  &lt;span class=&quot;co1&quot;&gt;# bytes&lt;/span&gt;
MAX_TORRENT_SIZE &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; * &lt;span class=&quot;nu0&quot;&gt;1024&lt;/span&gt; * &lt;span class=&quot;nu0&quot;&gt;1024&lt;/span&gt;  &lt;span class=&quot;co1&quot;&gt;# 10MB&lt;/span&gt;
VALID_EXTENSIONS &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;.torrent&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
REQUIRED_KEYS &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;announce&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;info&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
MAX_PIECE_SIZE &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;16&lt;/span&gt; * &lt;span class=&quot;nu0&quot;&gt;1024&lt;/span&gt; * &lt;span class=&quot;nu0&quot;&gt;1024&lt;/span&gt;  &lt;span class=&quot;co1&quot;&gt;# 16MB&lt;/span&gt;
INVALID_FILES_DIR &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; Path.&lt;span class=&quot;me1&quot;&gt;home&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; / &lt;span class=&quot;st0&quot;&gt;&amp;quot;invalid_torrents&amp;quot;&lt;/span&gt;
MAX_FILES_TO_SHOW &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;  &lt;span class=&quot;co1&quot;&gt;# Maximum files to show in preview&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co1&quot;&gt;# Configure logging&lt;/span&gt;
&lt;span class=&quot;kw3&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;basicConfig&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;
    level&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;INFO&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    format&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;%(asctime)s - %(levelname)s - %(message)s&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    handlers&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;StreamHandler&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
logger &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;getLogger&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;__name__&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;class&lt;/span&gt; Color:
    RED &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;&lt;span class=&quot;es0&quot;&gt;\0&lt;/span&gt;33[91m&#039;&lt;/span&gt;
    GREEN &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;&lt;span class=&quot;es0&quot;&gt;\0&lt;/span&gt;33[92m&#039;&lt;/span&gt;
    YELLOW &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;&lt;span class=&quot;es0&quot;&gt;\0&lt;/span&gt;33[93m&#039;&lt;/span&gt;
    BLUE &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;&lt;span class=&quot;es0&quot;&gt;\0&lt;/span&gt;33[94m&#039;&lt;/span&gt;
    CYAN &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;&lt;span class=&quot;es0&quot;&gt;\0&lt;/span&gt;33[96m&#039;&lt;/span&gt;
    BOLD &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;&lt;span class=&quot;es0&quot;&gt;\0&lt;/span&gt;33[1m&#039;&lt;/span&gt;
    RESET &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;&lt;span class=&quot;es0&quot;&gt;\0&lt;/span&gt;33[0m&#039;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;class&lt;/span&gt; IssueLevel&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;Enum&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:
    &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Severity levels for validation issues&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
    ERROR &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; auto&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;    &lt;span class=&quot;co1&quot;&gt;# Critical problems - makes file invalid&lt;/span&gt;
    WARNING &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; auto&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;  &lt;span class=&quot;co1&quot;&gt;# Non-critical issues - file remains valid&lt;/span&gt;
    INFO &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; auto&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;     &lt;span class=&quot;co1&quot;&gt;# Informational messages&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;dataclass
&lt;span class=&quot;kw1&quot;&gt;class&lt;/span&gt; ValidationIssue:
    &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Represents a single validation issue&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
    message: &lt;span class=&quot;kw2&quot;&gt;str&lt;/span&gt;
    level: IssueLevel
    exception: Optional&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;Exception&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;None&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;dataclass
&lt;span class=&quot;kw1&quot;&gt;class&lt;/span&gt; TorrentValidationResult:
    &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Contains complete validation results for a torrent file&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
    filepath: Path
    is_valid: &lt;span class=&quot;kw2&quot;&gt;bool&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;True&lt;/span&gt;  &lt;span class=&quot;co1&quot;&gt;# Default to valid&lt;/span&gt;
    size: &lt;span class=&quot;kw2&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
    modified_time: &lt;span class=&quot;kw3&quot;&gt;datetime&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;datetime&lt;/span&gt;.&lt;span class=&quot;kw2&quot;&gt;min&lt;/span&gt;
    info_hash: Optional&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;None&lt;/span&gt;
    issues: List&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;ValidationIssue&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;None&lt;/span&gt;
    moved: &lt;span class=&quot;kw2&quot;&gt;bool&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;False&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; __post_init__&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Initialize and validate status&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;issues&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;is&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;None&lt;/span&gt;:
            &lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;issues&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
	&lt;span class=&quot;co1&quot;&gt;# Ensure is_valid is False if any ERROR issues exist&lt;/span&gt;
        &lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;._update_validity&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; add_issue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; message: &lt;span class=&quot;kw2&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; level: IssueLevel&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; exception: &lt;span class=&quot;kw2&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;None&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Add an issue and update validity status&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;issues&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;ValidationIssue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;message&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; level&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; exception&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        &lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;._update_validity&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; _update_validity&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Update validity status based on issues&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;is_valid&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;any&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;issue.&lt;span class=&quot;me1&quot;&gt;level&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; issue &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;issues&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; to_dict&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; -&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; Dict:
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Convert result to dictionary for JSON serialization&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
            &lt;span class=&quot;st0&quot;&gt;&#039;filepath&#039;&lt;/span&gt;: &lt;span class=&quot;kw2&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;filepath&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;st0&quot;&gt;&#039;is_valid&#039;&lt;/span&gt;: &lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;is_valid&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;st0&quot;&gt;&#039;size&#039;&lt;/span&gt;: &lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;st0&quot;&gt;&#039;modified_time&#039;&lt;/span&gt;: &lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;modified_time&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;isoformat&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;st0&quot;&gt;&#039;info_hash&#039;&lt;/span&gt;: &lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;info_hash&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;st0&quot;&gt;&#039;issues&#039;&lt;/span&gt;: &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;
                &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
                    &lt;span class=&quot;st0&quot;&gt;&#039;message&#039;&lt;/span&gt;: issue.&lt;span class=&quot;me1&quot;&gt;message&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;st0&quot;&gt;&#039;level&#039;&lt;/span&gt;: issue.&lt;span class=&quot;me1&quot;&gt;level&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;st0&quot;&gt;&#039;exception&#039;&lt;/span&gt;: &lt;span class=&quot;kw2&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;issue.&lt;span class=&quot;me1&quot;&gt;exception&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; issue.&lt;span class=&quot;me1&quot;&gt;exception&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;None&lt;/span&gt;
                &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
                &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; issue &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;issues&lt;/span&gt;
            &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;st0&quot;&gt;&#039;moved&#039;&lt;/span&gt;: &lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;moved&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;class&lt;/span&gt; TorrentValidator:
    &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Main torrent validation logic&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; max_workers: &lt;span class=&quot;kw2&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;None&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Initialize with thread pool&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;max_workers&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; max_workers &lt;span class=&quot;kw1&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;min&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;os&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;cpu_count&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; + &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; validate_file&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; filepath: Path&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; -&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; TorrentValidationResult:
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Validate a single torrent file&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
        result &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; TorrentValidationResult&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;filepath&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;filepath&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;kw1&quot;&gt;try&lt;/span&gt;:
            &lt;span class=&quot;co1&quot;&gt;# Basic file checks&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;not&lt;/span&gt; filepath.&lt;span class=&quot;me1&quot;&gt;exists&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:
                result.&lt;span class=&quot;me1&quot;&gt;add_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;File not found&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
                &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; result
&amp;nbsp;
            &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; filepath.&lt;span class=&quot;me1&quot;&gt;suffix&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;lower&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; VALID_EXTENSIONS:
                result.&lt;span class=&quot;me1&quot;&gt;add_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Invalid file extension (expected {VALID_EXTENSIONS})&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
                &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; result
&amp;nbsp;
            &lt;span class=&quot;co1&quot;&gt;# File metadata&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;try&lt;/span&gt;:
                &lt;span class=&quot;kw3&quot;&gt;stat&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; filepath.&lt;span class=&quot;kw3&quot;&gt;stat&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
                result.&lt;span class=&quot;me1&quot;&gt;size&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;stat&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;st_size&lt;/span&gt;
                result.&lt;span class=&quot;me1&quot;&gt;modified_time&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;datetime&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;fromtimestamp&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;stat&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;st_mtime&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
                &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; result.&lt;span class=&quot;me1&quot;&gt;size&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt; MIN_TORRENT_SIZE:
                    result.&lt;span class=&quot;me1&quot;&gt;add_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;File too small ({result.size} bytes)&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
                &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; result.&lt;span class=&quot;me1&quot;&gt;size&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; MAX_TORRENT_SIZE:
                    result.&lt;span class=&quot;me1&quot;&gt;add_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Large file size ({result.size} bytes)&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;WARNING&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;except&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; e:
                result.&lt;span class=&quot;me1&quot;&gt;add_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Failed to get file stats&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
                &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; result
&amp;nbsp;
            &lt;span class=&quot;co1&quot;&gt;# Read and validate file content&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;with&lt;/span&gt; filepath.&lt;span class=&quot;kw2&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;rb&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; f:
                data &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; f.&lt;span class=&quot;me1&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
            &lt;span class=&quot;co1&quot;&gt;# Validate structure&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;data&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt; MIN_TORRENT_SIZE:
                result.&lt;span class=&quot;me1&quot;&gt;add_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;File too small ({len(data)} bytes &amp;lt; {MIN_TORRENT_SIZE} minimum)&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
            &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;not&lt;/span&gt; data.&lt;span class=&quot;me1&quot;&gt;startswith&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;b&lt;span class=&quot;st0&quot;&gt;&amp;quot;d&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:
                result.&lt;span class=&quot;me1&quot;&gt;add_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Invalid structure: should start with &#039;d&#039;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
            &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;not&lt;/span&gt; result.&lt;span class=&quot;me1&quot;&gt;is_valid&lt;/span&gt;:
                &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; result
&amp;nbsp;
            &lt;span class=&quot;co1&quot;&gt;# Decode torrent&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;try&lt;/span&gt;:
                decoded &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; bencodepy.&lt;span class=&quot;me1&quot;&gt;decode&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;data&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;except&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; e:
                result.&lt;span class=&quot;me1&quot;&gt;add_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Failed to decode torrent file&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
                &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; result
&amp;nbsp;
            &lt;span class=&quot;co1&quot;&gt;# Validate content&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; key &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; REQUIRED_KEYS:
                &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; key.&lt;span class=&quot;me1&quot;&gt;encode&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; decoded:
                    result.&lt;span class=&quot;me1&quot;&gt;add_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Missing required field: {key}&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
            info &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; decoded.&lt;span class=&quot;me1&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;b&lt;span class=&quot;st0&quot;&gt;&#039;info&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;not&lt;/span&gt; info:
                result.&lt;span class=&quot;me1&quot;&gt;add_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Empty info dictionary&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;:
                piece_length &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; info.&lt;span class=&quot;me1&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;b&lt;span class=&quot;st0&quot;&gt;&#039;piece length&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
                &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; piece_length &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; MAX_PIECE_SIZE:
                    result.&lt;span class=&quot;me1&quot;&gt;add_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Large piece size: {piece_length} bytes&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;WARNING&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
                &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; info.&lt;span class=&quot;me1&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;b&lt;span class=&quot;st0&quot;&gt;&#039;private&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;:
                    result.&lt;span class=&quot;me1&quot;&gt;add_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Private torrent detected&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;WARNING&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
            &lt;span class=&quot;co1&quot;&gt;# Calculate hash&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;try&lt;/span&gt;:
                encoded &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; bencodepy.&lt;span class=&quot;me1&quot;&gt;encode&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;info&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
                result.&lt;span class=&quot;me1&quot;&gt;info_hash&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; hashlib.&lt;span class=&quot;me1&quot;&gt;sha1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;encoded&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;hexdigest&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;except&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; e:
                result.&lt;span class=&quot;me1&quot;&gt;add_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Failed to calculate info hash&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;kw1&quot;&gt;except&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; e:
            result.&lt;span class=&quot;me1&quot;&gt;add_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Unexpected validation error&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            logger.&lt;span class=&quot;me1&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Error validating {filepath}: {str(e)}&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            logger.&lt;span class=&quot;me1&quot;&gt;debug&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;traceback&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;format_exc&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; result
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; validate_directory&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; directory: Path&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; recursive: &lt;span class=&quot;kw2&quot;&gt;bool&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; -&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; List&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;TorrentValidationResult&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;:
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Validate all torrent files in a directory&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;not&lt;/span&gt; directory.&lt;span class=&quot;me1&quot;&gt;is_dir&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:
            &lt;span class=&quot;kw1&quot;&gt;raise&lt;/span&gt; NotADirectoryError&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Not a directory: {directory}&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;# Find torrent files&lt;/span&gt;
        pattern &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;**/*.torrent&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; recursive &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;*.torrent&amp;quot;&lt;/span&gt;
        torrent_files &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
            f &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; f &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; directory.&lt;span class=&quot;kw3&quot;&gt;glob&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;pattern&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; f.&lt;span class=&quot;me1&quot;&gt;is_file&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;and&lt;/span&gt; f.&lt;span class=&quot;me1&quot;&gt;suffix&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;lower&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; VALID_EXTENSIONS
        &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;not&lt;/span&gt; torrent_files:
            logger.&lt;span class=&quot;me1&quot;&gt;warning&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;No torrent files found in {directory}&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;# Process files in parallel&lt;/span&gt;
        results &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;with&lt;/span&gt; ThreadPoolExecutor&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;max_workers&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;max_workers&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; executor:
            future_to_file &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
                executor.&lt;span class=&quot;me1&quot;&gt;submit&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;validate_file&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; f&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;: f
                &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; f &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; torrent_files
            &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
            &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; future &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; as_completed&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;future_to_file&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:
                &lt;span class=&quot;kw2&quot;&gt;file&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; future_to_file&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;future&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
                &lt;span class=&quot;kw1&quot;&gt;try&lt;/span&gt;:
                    results.&lt;span class=&quot;me1&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;future.&lt;span class=&quot;me1&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
                &lt;span class=&quot;kw1&quot;&gt;except&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; e:
                    logger.&lt;span class=&quot;me1&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Error processing {file}: {str(e)}&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
                    results.&lt;span class=&quot;me1&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;TorrentValidationResult&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;
                        filepath&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
                        is_valid&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
                        issues&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;ValidationIssue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Processing failed&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
                    &lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; results
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;class&lt;/span&gt; OutputFormatter:
    &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Handles formatting of validation results&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;staticmethod&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; color_text&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;text: &lt;span class=&quot;kw2&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; color: &lt;span class=&quot;kw2&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; -&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;str&lt;/span&gt;:
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Apply ANSI color to text&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; f&lt;span class=&quot;st0&quot;&gt;&amp;quot;{color}{text}{Color.RESET}&amp;quot;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;classmethod&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; format_issue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;cls&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; issue: ValidationIssue&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; -&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;str&lt;/span&gt;:
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Format a single validation issue&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; issue.&lt;span class=&quot;me1&quot;&gt;level&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt;:
            color &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; Color.&lt;span class=&quot;me1&quot;&gt;RED&lt;/span&gt;
            prefix &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;ERROR:&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;elif&lt;/span&gt; issue.&lt;span class=&quot;me1&quot;&gt;level&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;WARNING&lt;/span&gt;:
            color &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; Color.&lt;span class=&quot;me1&quot;&gt;YELLOW&lt;/span&gt;
            prefix &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;WARNING:&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;:
            color &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; Color.&lt;span class=&quot;me1&quot;&gt;BLUE&lt;/span&gt;
            prefix &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;INFO:&amp;quot;&lt;/span&gt;
&amp;nbsp;
        message &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; f&lt;span class=&quot;st0&quot;&gt;&amp;quot;  {prefix} {issue.message}&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; issue.&lt;span class=&quot;me1&quot;&gt;exception&lt;/span&gt;:
            message +&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; f&lt;span class=&quot;st0&quot;&gt;&amp;quot; ({str(issue.exception)})&amp;quot;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; cls.&lt;span class=&quot;me1&quot;&gt;color_text&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;message&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; color&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;classmethod&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; format_results&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;cls&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; results: List&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;TorrentValidationResult&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; verbose: &lt;span class=&quot;kw2&quot;&gt;bool&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; json_output: &lt;span class=&quot;kw2&quot;&gt;bool&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; -&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;str&lt;/span&gt;:
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; json_output:
            &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; json.&lt;span class=&quot;me1&quot;&gt;dumps&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;r.&lt;span class=&quot;me1&quot;&gt;to_dict&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; r &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; results&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; indent&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;# Prepare statistics&lt;/span&gt;
        total &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;results&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        valid &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; r &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; results &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; r.&lt;span class=&quot;me1&quot;&gt;is_valid&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        invalid &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; total - valid
        &lt;span class=&quot;kw3&quot;&gt;warnings&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; r &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; results &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;any&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;i.&lt;span class=&quot;me1&quot;&gt;level&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;WARNING&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; r.&lt;span class=&quot;me1&quot;&gt;issues&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;# Build output&lt;/span&gt;
        output &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;
            cls.&lt;span class=&quot;me1&quot;&gt;color_text&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es0&quot;&gt;\n&lt;/span&gt;TORRENT VALIDATION REPORT&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; Color.&lt;span class=&quot;me1&quot;&gt;CYAN&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
            cls.&lt;span class=&quot;me1&quot;&gt;color_text&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;=&amp;quot;&lt;/span&gt; * &lt;span class=&quot;nu0&quot;&gt;60&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; Color.&lt;span class=&quot;me1&quot;&gt;CYAN&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
            f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Total files:     {total}&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
            cls.&lt;span class=&quot;me1&quot;&gt;color_text&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Valid files:     {valid} (includes {warnings} with warnings)&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; Color.&lt;span class=&quot;me1&quot;&gt;GREEN&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
            cls.&lt;span class=&quot;me1&quot;&gt;color_text&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Invalid files:   {invalid} (with errors)&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; Color.&lt;span class=&quot;me1&quot;&gt;RED&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
            cls.&lt;span class=&quot;me1&quot;&gt;color_text&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;=&amp;quot;&lt;/span&gt; * &lt;span class=&quot;nu0&quot;&gt;60&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; Color.&lt;span class=&quot;me1&quot;&gt;CYAN&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;# Add details if verbose&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; verbose:
            &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; result &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; results:
                &lt;span class=&quot;co1&quot;&gt;# Show files with issues or all files in verbose mode&lt;/span&gt;
                &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; verbose &lt;span class=&quot;kw1&quot;&gt;or&lt;/span&gt; result.&lt;span class=&quot;me1&quot;&gt;issues&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;not&lt;/span&gt; result.&lt;span class=&quot;me1&quot;&gt;is_valid&lt;/span&gt;:
                    has_errors &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;any&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;issue.&lt;span class=&quot;me1&quot;&gt;level&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; issue &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; result.&lt;span class=&quot;me1&quot;&gt;issues&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
                    status &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;VALID&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;not&lt;/span&gt; has_errors &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;INVALID&amp;quot;&lt;/span&gt;
                    color &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; Color.&lt;span class=&quot;me1&quot;&gt;GREEN&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;not&lt;/span&gt; has_errors &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt; Color.&lt;span class=&quot;me1&quot;&gt;RED&lt;/span&gt;
&amp;nbsp;
                    output.&lt;span class=&quot;me1&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es0&quot;&gt;\n&lt;/span&gt;[{cls.color_text(status, color)}] {result.filepath}&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
                    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; result.&lt;span class=&quot;me1&quot;&gt;info_hash&lt;/span&gt;:
                        output.&lt;span class=&quot;me1&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;{cls.color_text(&#039;  Info Hash:&#039;, Color.BLUE)} {result.info_hash}&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
                    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; issue &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sorted&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;result.&lt;span class=&quot;me1&quot;&gt;issues&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; key&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;lambda&lt;/span&gt; x: x.&lt;span class=&quot;me1&quot;&gt;level&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; reverse&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:
                        output.&lt;span class=&quot;me1&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;cls.&lt;span class=&quot;me1&quot;&gt;format_issue&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;issue&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        output.&lt;span class=&quot;me1&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;cls.&lt;span class=&quot;me1&quot;&gt;color_text&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es0&quot;&gt;\n&lt;/span&gt;Validation complete&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; Color.&lt;span class=&quot;me1&quot;&gt;CYAN&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es0&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;output&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; move_invalid_files&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;results: List&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;TorrentValidationResult&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; -&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;None&lt;/span&gt;:
    &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Move invalid torrent files to ~/invalid_torrents&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
    invalid_files &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;r &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; r &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; results &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;not&lt;/span&gt; r.&lt;span class=&quot;me1&quot;&gt;is_valid&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;not&lt;/span&gt; invalid_files:
        &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;Color.&lt;span class=&quot;me1&quot;&gt;GREEN&lt;/span&gt; + &lt;span class=&quot;st0&quot;&gt;&amp;quot;No invalid files to move.&amp;quot;&lt;/span&gt; + Color.&lt;span class=&quot;me1&quot;&gt;RESET&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;co1&quot;&gt;# Show preview of files to be moved&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;Color.&lt;span class=&quot;me1&quot;&gt;YELLOW&lt;/span&gt; + f&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es0&quot;&gt;\n&lt;/span&gt;Found {len(invalid_files)} invalid torrent files (with ERRORS):&amp;quot;&lt;/span&gt; + Color.&lt;span class=&quot;me1&quot;&gt;RESET&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; i&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; result &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;enumerate&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;invalid_files&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;:MAX_FILES_TO_SHOW&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:
        &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;  {i+1}. {result.filepath}&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        &lt;span class=&quot;co1&quot;&gt;# Show only ERROR messages (skip WARNINGs)&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; issue &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; result.&lt;span class=&quot;me1&quot;&gt;issues&lt;/span&gt;:
            &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; issue.&lt;span class=&quot;me1&quot;&gt;level&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; IssueLevel.&lt;span class=&quot;me1&quot;&gt;ERROR&lt;/span&gt;:
                &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;     - {Color.RED}{issue.message}{Color.RESET}&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;invalid_files&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; MAX_FILES_TO_SHOW:
        &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;  ... and {len(invalid_files)-MAX_FILES_TO_SHOW} more files&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es0&quot;&gt;\n&lt;/span&gt;All these files will be moved to: {Color.CYAN}{INVALID_FILES_DIR}{Color.RESET}&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;try&lt;/span&gt;:
        response &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es0&quot;&gt;\n&lt;/span&gt;Do you want to move them? [y/N]: &amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;strip&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;lower&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; response &lt;span class=&quot;sy0&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;y&#039;&lt;/span&gt;:
            &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;Color.&lt;span class=&quot;me1&quot;&gt;YELLOW&lt;/span&gt; + &lt;span class=&quot;st0&quot;&gt;&amp;quot;Operation cancelled.&amp;quot;&lt;/span&gt; + Color.&lt;span class=&quot;me1&quot;&gt;RESET&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;# Create target directory if needed&lt;/span&gt;
        INVALID_FILES_DIR.&lt;span class=&quot;me1&quot;&gt;mkdir&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;exist_ok&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        moved_count &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; result &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; invalid_files:
            &lt;span class=&quot;kw1&quot;&gt;try&lt;/span&gt;:
                dest &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; INVALID_FILES_DIR / result.&lt;span class=&quot;me1&quot;&gt;filepath&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;name&lt;/span&gt;
&amp;nbsp;
                &lt;span class=&quot;co1&quot;&gt;# Handle filename conflicts&lt;/span&gt;
                counter &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
                &lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt; dest.&lt;span class=&quot;me1&quot;&gt;exists&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:
                    stem &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; result.&lt;span class=&quot;me1&quot;&gt;filepath&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;stem&lt;/span&gt;
                    suffix &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; result.&lt;span class=&quot;me1&quot;&gt;filepath&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;suffix&lt;/span&gt;
                    dest &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; INVALID_FILES_DIR / f&lt;span class=&quot;st0&quot;&gt;&amp;quot;{stem}_{counter}{suffix}&amp;quot;&lt;/span&gt;
                    counter +&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&amp;nbsp;
                &lt;span class=&quot;kw3&quot;&gt;shutil&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;move&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;result.&lt;span class=&quot;me1&quot;&gt;filepath&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;dest&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
                result.&lt;span class=&quot;me1&quot;&gt;moved&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;True&lt;/span&gt;
                moved_count +&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
                logger.&lt;span class=&quot;me1&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Moved {result.filepath} to {dest}&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;except&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; e:
                logger.&lt;span class=&quot;me1&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Failed to move {result.filepath}: {str(e)}&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;Color.&lt;span class=&quot;me1&quot;&gt;GREEN&lt;/span&gt; + f&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es0&quot;&gt;\n&lt;/span&gt;Successfully moved {moved_count}/{len(invalid_files)} files.&amp;quot;&lt;/span&gt; + Color.&lt;span class=&quot;me1&quot;&gt;RESET&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Location: {Color.CYAN}{INVALID_FILES_DIR}{Color.RESET}&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;except&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;KeyboardInterrupt&lt;/span&gt;:
        &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;Color.&lt;span class=&quot;me1&quot;&gt;YELLOW&lt;/span&gt; + &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es0&quot;&gt;\n&lt;/span&gt;Operation cancelled by user.&amp;quot;&lt;/span&gt; + Color.&lt;span class=&quot;me1&quot;&gt;RESET&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;except&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; e:
        logger.&lt;span class=&quot;me1&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Error moving files: {str(e)}&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; main&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:
    &lt;span class=&quot;kw3&quot;&gt;parser&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; argparse.&lt;span class=&quot;me1&quot;&gt;ArgumentParser&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;
        description&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Validate torrent files and optionally move invalid ones&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
        formatter_class&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;argparse.&lt;span class=&quot;me1&quot;&gt;RawDescriptionHelpFormatter&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
        epilog&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;Examples:
  Validate single file:    %(prog)s file.torrent -v
  Validate directory:      %(prog)s /path/to/torrents -r
  Move invalid files:      %(prog)s /path/to/torrents -m
  JSON output:             %(prog)s /path/to/torrents -j &amp;gt; results.json
&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw3&quot;&gt;parser&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;add_argument&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;path&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;Path&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;help&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Path to torrent file or directory&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;parser&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;add_argument&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;-r&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;--recursive&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; action&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;store_true&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;help&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Search directories recursively&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;parser&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;add_argument&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;-j&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;--json&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; action&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;store_true&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;help&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Output results in JSON format&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;parser&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;add_argument&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;-v&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;--verbose&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; action&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;store_true&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;help&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Show detailed validation information&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;parser&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;add_argument&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;-w&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;--workers&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; default&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;None&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;help&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Number of worker threads&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;parser&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;add_argument&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;-m&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;--move-invalid&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; action&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;store_true&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;help&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Move invalid torrent files&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;parser&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;add_argument&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;--debug&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; action&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;store_true&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;help&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Enable debug logging&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    args &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;parser&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;parse_args&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;try&lt;/span&gt;:
        &lt;span class=&quot;co1&quot;&gt;# Configure logging&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; args.&lt;span class=&quot;me1&quot;&gt;debug&lt;/span&gt;:
            logger.&lt;span class=&quot;me1&quot;&gt;setLevel&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;DEBUG&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;:
            logger.&lt;span class=&quot;me1&quot;&gt;setLevel&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;INFO&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        validator &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; TorrentValidator&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;max_workers&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;args.&lt;span class=&quot;me1&quot;&gt;workers&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;# Validate files&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; args.&lt;span class=&quot;me1&quot;&gt;path&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;is_file&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:
            results &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;validator.&lt;span class=&quot;me1&quot;&gt;validate_file&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;args.&lt;span class=&quot;me1&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;:
            results &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; validator.&lt;span class=&quot;me1&quot;&gt;validate_directory&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;args.&lt;span class=&quot;me1&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; args.&lt;span class=&quot;me1&quot;&gt;recursive&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;# Display results&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;OutputFormatter.&lt;span class=&quot;me1&quot;&gt;format_results&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;results&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; args.&lt;span class=&quot;me1&quot;&gt;verbose&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; args.&lt;span class=&quot;me1&quot;&gt;json&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;# Handle invalid files movement&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; args.&lt;span class=&quot;me1&quot;&gt;move_invalid&lt;/span&gt;:
            move_invalid_files&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;results&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;# Exit with appropriate status code&lt;/span&gt;
        &lt;span class=&quot;kw3&quot;&gt;sys&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;all&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;r.&lt;span class=&quot;me1&quot;&gt;is_valid&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; r &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; results&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;except&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;KeyboardInterrupt&lt;/span&gt;:
        logger.&lt;span class=&quot;me1&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Operation cancelled by user&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        &lt;span class=&quot;kw3&quot;&gt;sys&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;130&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;except&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; e:
        logger.&lt;span class=&quot;me1&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;f&lt;span class=&quot;st0&quot;&gt;&amp;quot;Fatal error: {str(e)}&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; args.&lt;span class=&quot;me1&quot;&gt;debug&lt;/span&gt;:
            &lt;span class=&quot;kw3&quot;&gt;traceback&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;print_exc&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        &lt;span class=&quot;kw3&quot;&gt;sys&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; __name__ &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;__main__&amp;quot;&lt;/span&gt;:
    main&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430_\u043d\u0430_\u043d\u0430\u043b\u0438\u0447\u0438\u0435_\u043e\u0448\u0438\u0431\u043e\u043a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3273-19639&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;block_list&quot;&gt;Block List&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;http://john.bitsurge.net/public/biglist.p2p.gz&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Block List&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;block_list&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;19640-19722&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;клиенты&quot;&gt;Клиенты&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/leonsoft-kras/transmisson-remote-gui&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/leonsoft-kras/transmisson-remote-gui&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/leonsoft-kras/transmisson-remote-gui&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u043b\u0438\u0435\u043d\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u043b\u0438\u0435\u043d\u0442\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;19723-19809&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;ошибки&quot;&gt;Ошибки&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0448\u0438\u0431\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0448\u0438\u0431\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;19810-19833&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit8&quot; id=&quot;qне_уталяется_запись_в_transmission_remote_gui&quot;&gt;Q: Не уталяется запись в Transmission Remote GUI&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Из-за особенности работы сервера, запись может быть удалена только при наличии свободного места на диске, где располагаются файлы торента
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Q: \u041d\u0435 \u0443\u0442\u0430\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0432 Transmission Remote GUI&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;q\u043d\u0435_\u0443\u0442\u0430\u043b\u044f\u0435\u0442\u0441\u044f_\u0437\u0430\u043f\u0438\u0441\u044c_\u0432_transmission_remote_gui&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;19834-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=router:asus:entware">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-15T22:41:05+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Entware</title>
        <link>http://178.140.10.58:8080/doku.php?id=router:asus:entware</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;entware&quot;&gt;Entware&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ amtm
i
ep
e
$ opkg list
$ opkg &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;nano&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;xray - 25.5.16-1 - scripts &amp;amp; configs.
xray-core - 25.5.16-1 - Project X originates from XTLS protocol, providing a set of network tools.
xray-plugin - 1.8.24-1 - Yet another SIP003 plugin for shadowsocks, based on Xray-core.&lt;/pre&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=application:nexus">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-14T22:26:42+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Sonatype Nexus Repository</title>
        <link>http://178.140.10.58:8080/doku.php?id=application:nexus</link>
        <description>&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:docker&amp;amp;do=showtag&amp;amp;tag=%5Bdocker&quot; class=&quot;wikilink1&quot; title=&quot;tag:docker&quot; rel=&quot;tag&quot;&gt;[docker&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:push&amp;amp;do=showtag&amp;amp;tag=push&quot; class=&quot;wikilink1&quot; title=&quot;tag:push&quot; rel=&quot;tag&quot;&gt;push&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:pull&amp;amp;do=showtag&amp;amp;tag=pull%5D&quot; class=&quot;wikilink1&quot; title=&quot;tag:pull&quot; rel=&quot;tag&quot;&gt;pull]&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;sonatype_nexus_repository&quot;&gt;Sonatype Nexus Repository&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Менеджер репозитория программного обеспечения, разработанный компанией Sonatype. Обеспечивает централизованное управление зависимостями и артефактами сборки. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Sonatype Nexus Repository&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sonatype_nexus_repository&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;29-362&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;docker&quot;&gt;Docker&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ docker &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-u&lt;/span&gt; root &lt;span class=&quot;re5&quot;&gt;-it&lt;/span&gt; docker-nexus3-nexus-&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;bash&lt;/span&gt;
$ docker logs docker-nexus3-nexus-&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Docker&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;docker&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;363-499&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;console_connect_database&quot;&gt;Console / Connect database&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;java&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-jar&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$NEXUS_HOME&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;support&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-orient-console.jar &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;chown&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-R&lt;/span&gt; nexus:nexus &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;db
$ connect plocal:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;db&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;component admin admin
$ connect plocal:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;db&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;config admin admin
$ connect plocal:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;db&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;security admin admin&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Console \/ Connect database&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;console_connect_database&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;500-831&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit4&quot; id=&quot;passord_reset&quot;&gt;Passord reset&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ connect plocal:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;db&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;security admin admin
$ update user SET &lt;span class=&quot;re2&quot;&gt;password&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$shiro1&lt;/span&gt;&lt;span class=&quot;es2&quot;&gt;$SHA&lt;/span&gt;-512$1024&lt;span class=&quot;es2&quot;&gt;$NE&lt;/span&gt;+wqQq/TmjZMvfI7ENh/g==&lt;span class=&quot;es2&quot;&gt;$V4yPw8T64UQ6GfJfxYq2hLsVrBY8D1v&lt;/span&gt;+bktfOxGdt4b/9BthpWPNUy/CBk6V9iA0nHpzYzJFWO8v/tZFtES8CA==&amp;quot;&lt;/span&gt; UPSERT WHERE &lt;span class=&quot;re2&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;admin&amp;quot;&lt;/span&gt;
$ &lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Passord reset&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;passord_reset&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;832-1129&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;repair_database_component_config_security&quot;&gt;Repair database component/config/security&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Repair database component\/config\/security&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;repair_database_component_config_security&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1130-1184&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit6&quot; id=&quot;database_config&quot;&gt;Database config&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;java&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-jar&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$NEXUS_HOME&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;support&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-orient-console.jar
$ connect plocal:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;db&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;config admin admin
$ REBUILD INDEX &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-graph&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-links&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-ridbags&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-bonsai&lt;/span&gt;
$ REPAIR DATABASE config
$ DISCONNECT
$ &lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Database config&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;database_config&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1185-1545&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit7&quot; id=&quot;database_component&quot;&gt;Database component&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;java&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-jar&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$NEXUS_HOME&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;support&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-orient-console.jar
$ connect plocal:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;db&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;component admin admin
$ REBUILD INDEX &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-graph&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-links&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-ridbags&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-bonsai&lt;/span&gt;
$ REPAIR DATABASE component
$ DISCONNECT
$ &lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Database component&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;database_component&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;1546-1915&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit8&quot; id=&quot;database_security&quot;&gt;Database security&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;java&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-jar&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$NEXUS_HOME&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;support&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-orient-console.jar
$ connect plocal:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;db&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;security admin admin
$ REBUILD INDEX &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-graph&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-links&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-ridbags&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-bonsai&lt;/span&gt;
$ REPAIR DATABASE security
$ DISCONNECT
$ &lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;Nexus is insufficient, and some &lt;span class=&quot;st0&quot;&gt;&amp;quot;.wal&amp;quot;&lt;/span&gt; files are created &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; folder &lt;span class=&quot;st0&quot;&gt;&amp;quot;/nexus-data/db/config&amp;quot;&lt;/span&gt;. After deleting them, everything is restored.&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Database security&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;database_security&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;1916-2440&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;repaire_database_component&quot;&gt;Repaire database component&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ REBUILD INDEX &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;
$ &lt;span class=&quot;kw3&quot;&gt;export&lt;/span&gt; database component-export
$ drop database
$ CREATE DATABASE PLOCAL:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;db&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;component
$ import database component-export.json.gz
$ REBUILD INDEX &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-graph&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-links&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-ridbags&lt;/span&gt;
$ REPAIR DATABASE &lt;span class=&quot;re5&quot;&gt;--fix-bonsai&lt;/span&gt;
$ DISCONNECT&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Repaire database component&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;repaire_database_component&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;2441-2818&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;upgrade_version&quot;&gt;Upgrade version&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;java&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-jar&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$NEXUS_HOME&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;support&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-orient-console.jar &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;chown&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-R&lt;/span&gt; nexus:nexus &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;db
$ connect plocal:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;nexus-data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;db&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;config admin admin
orientdb &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;db&lt;/span&gt;=config&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;select&lt;/span&gt; from upgrade_model_versions&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Upgrade version&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;upgrade_version&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;2819-3085&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;the_record_can_be_deleted_as_follows&quot;&gt;The record can be deleted as follows&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ load record
$ truncate record
$ rebuild index asset_bucket_component_name_idx
$ REPAIR DATABASE component
$ DISCONNECT
$ &lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ drop class quartz_trigger
$ REPAIR DATABASE component
$ DISCONNECT
$ &lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ load record
$ truncate record
$ rebuild index asset_bucket_component_name_idx
$ REPAIR DATABASE component&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;The record can be deleted as follows&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;the_record_can_be_deleted_as_follows&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;3086-3508&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;использование&quot;&gt;Использование&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;3509-3548&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;docker1&quot;&gt;Docker&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code json&quot;&gt;{
  &amp;quot;builder&amp;quot;: {
    &amp;quot;gc&amp;quot;: {
      &amp;quot;defaultKeepStorage&amp;quot;: &amp;quot;20GB&amp;quot;,
      &amp;quot;enabled&amp;quot;: true
    }
  },
  &amp;quot;experimental&amp;quot;: false,
  &amp;quot;features&amp;quot;: {
    &amp;quot;buildkit&amp;quot;: true
  },
  &amp;quot;insecure-registries&amp;quot;: [
    &amp;quot;192.168.1.132:8182&amp;quot;,
    &amp;quot;192.168.1.132:8181&amp;quot;
  ],
  &amp;quot;registry-mirrors&amp;quot;: [
    &amp;quot;http://192.168.1.132:8182&amp;quot;,
    &amp;quot;http://192.168.1.132:8181&amp;quot;
  ]
}&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;insecure-registries&lt;/strong&gt; - Позволяет авторизоваться по HTTP с помощью &lt;strong&gt;docker login 192.168.1.132:8181&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;registry-mirrors&lt;/strong&gt; - Позволяет использовать в качестве зеркала
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Docker&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;docker1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;3549-4179&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit14&quot; id=&quot;сборка_и_деплой&quot;&gt;Сборка и деплой&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ docker build &lt;span class=&quot;re5&quot;&gt;--build-arg&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;domain&lt;/span&gt;=&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;domain&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-t&lt;/span&gt; lampa:latest .
$ docker &lt;span class=&quot;kw2&quot;&gt;login&lt;/span&gt; 192.168.1.132:&lt;span class=&quot;nu0&quot;&gt;8181&lt;/span&gt;
$ docker tag lampa:latest 192.168.1.132:&lt;span class=&quot;nu0&quot;&gt;8181&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lampa-tv
$ docker push 192.168.1.132:&lt;span class=&quot;nu0&quot;&gt;8181&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lampa-tv&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ docker build . &lt;span class=&quot;re5&quot;&gt;--target&lt;/span&gt; production &lt;span class=&quot;re5&quot;&gt;-t&lt;/span&gt; gemini-to-openai-proxy:latest
$ docker &lt;span class=&quot;kw2&quot;&gt;login&lt;/span&gt; 192.168.1.132:&lt;span class=&quot;nu0&quot;&gt;8181&lt;/span&gt;
$ docker tag gemini-to-openai-proxy:latest 192.168.1.132:&lt;span class=&quot;nu0&quot;&gt;8181&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gemini-to-openai-proxy:latest &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; docker push 192.168.1.132:&lt;span class=&quot;nu0&quot;&gt;8181&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gemini-to-openai-proxy:latest&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0431\u043e\u0440\u043a\u0430 \u0438 \u0434\u0435\u043f\u043b\u043e\u0439&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0431\u043e\u0440\u043a\u0430_\u0438_\u0434\u0435\u043f\u043b\u043e\u0439&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;4180-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=portainer">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-14T18:49:23+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Portainer</title>
        <link>http://178.140.10.58:8080/doku.php?id=portainer</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;portainer&quot;&gt;Portainer&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Установка Portainer для  управления docker-хостом
&lt;/p&gt;

&lt;p&gt;
Шаг 1. Создать папку для хранения данных, которые не желательно терять.
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;root&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;portainer&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;/pre&gt;

&lt;p&gt;
Шаг 2. Запустить контейнер, пробросить в него папку для данных, сокет для доступа к докеру и порт для доступа.
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;docker run &lt;span class=&quot;re5&quot;&gt;--name&lt;/span&gt; portainer &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-p&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;9000&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;9000&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-v&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;root&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;portainer&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data &lt;span class=&quot;re5&quot;&gt;-v&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;run&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.sock:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;run&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.sock portainer&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;portainer&lt;/pre&gt;

&lt;p&gt;
Шаг 3.
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteclassic&quot;&gt;Portainer gui: &lt;a href=&quot;http://[serverip]:9000&quot; class=&quot;urlextern&quot; title=&quot;http://[serverip]:9000&quot; rel=&quot;ugc nofollow&quot;&gt;http://[serverip]:9000&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;
Остановка, перезапуск, удаление и переустановка Portainer
Далее можно манипулировать контейнером уже по имени, указанному во время запуска, в моём случае это —name portainer. Например:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ docker stop portainer
$ docker start portainer&lt;/pre&gt;

&lt;p&gt;
Для того, чтобы Portainer стартовал при загрузке системы, нужно немного видоизменить команду запуска, добавив —restart=always. Если контейнер уже был создан — предварительно его удалить. Не нужно бояться потери данных, так как они вынесены из контейнера в папку хоста из шага 1.
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;docker &lt;span class=&quot;kw2&quot;&gt;rm&lt;/span&gt; portainer&lt;/pre&gt;

&lt;p&gt;
$ docker run –name portainer –restart=always -d -p 9000:9000 -v /root/portainer/data:/data -v /var/run/docker.sock:/var/run/docker.sock 
&lt;/p&gt;

&lt;p&gt;
portainer/portainer
&lt;/p&gt;

&lt;p&gt;
Теперь можно перезагрузить сервер и убедиться, что контейнер с Portainer загружается автоматически. Если перезагрузка не допустима, то можно просто остановить и запустить сам докер.
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ service docker stop
$ service docker start&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Portainer&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;portainer&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-2177&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;настройки&quot;&gt;Настройки&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;2178-2209&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;база_данных_boltdb&quot;&gt;База данных boltDB&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;docker run &lt;span class=&quot;re5&quot;&gt;--rm&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-it&lt;/span&gt;   &lt;span class=&quot;re5&quot;&gt;-v&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;volumes&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;portainer_data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;_data:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data   peacerik&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;boltbrowser boltbrowser &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;portainer.db&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 boltDB&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0431\u0430\u0437\u0430_\u0434\u0430\u043d\u043d\u044b\u0445_boltdb&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2210-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=electron:vscode">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-12T21:32:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title> - удалено</title>
        <link>http://178.140.10.58:8080/doku.php?id=electron:vscode</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;debugging_electron_app_in_visual_studio_code&quot;&gt;Debugging Electron app in Visual Studio Code&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Debugging Electron app in Visual Studio Code&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;debugging_electron_app_in_visual_studio_code&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-60&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;video&quot;&gt;Video&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://www.youtube.com/watch?v=nuZIeJ0ljgo&quot; class=&quot;urlextern&quot; title=&quot;https://www.youtube.com/watch?v=nuZIeJ0ljgo&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.youtube.com/watch?v=nuZIeJ0ljgo&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://www.youtube.com/watch?v=yCr5VNGq7EE&quot; class=&quot;urlextern&quot; title=&quot;https://www.youtube.com/watch?v=yCr5VNGq7EE&quot; rel=&quot;ugc nofollow&quot;&gt;TypeScript, tsconfig, отладка&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Video&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;video&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;61-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=system:docker-socket">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-12T20:50:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Docker Socket - [Вывод деталей контейнера] </title>
        <link>http://178.140.10.58:8080/doku.php?id=system:docker-socket</link>
        <description>&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:docker&amp;amp;do=showtag&amp;amp;tag=%5Bdocker&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:docker&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; [docker&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:swarm&amp;amp;do=showtag&amp;amp;tag=swarm&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:swarm&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; swarm&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:api&amp;amp;do=showtag&amp;amp;tag=api&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:api&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; api&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:socket&amp;amp;do=showtag&amp;amp;tag=socket%5D&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:socket&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; socket]&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;docker_socket&quot;&gt;Docker Socket&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Docker Socket&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;docker_socket&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;36-64&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;вывод_информации&quot;&gt;Вывод информации&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;curl &lt;span class=&quot;re5&quot;&gt;--silent&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-XGET&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--unix-socket&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;run&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.sock http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;localhost&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;version &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; jq .&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;curl &lt;span class=&quot;re5&quot;&gt;--silent&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-XGET&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--unix-socket&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;run&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.sock http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;localhost&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;info &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; jq .&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;curl &lt;span class=&quot;re5&quot;&gt;--silent&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-XGET&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--unix-socket&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;run&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.sock http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;localhost&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;events &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; jq .&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u044b\u0432\u043e\u0434 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u044b\u0432\u043e\u0434_\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;65-420&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;список_контейнеров&quot;&gt;Список контейнеров&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;curl &lt;span class=&quot;re5&quot;&gt;--silent&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-XGET&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--unix-socket&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;run&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.sock http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;localhost&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;containers&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;json &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; jq .&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;curl &lt;span class=&quot;re5&quot;&gt;--silent&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-XGET&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--unix-socket&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;run&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.sock &lt;span class=&quot;re5&quot;&gt;-H&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;Content-Type: application/json&#039;&lt;/span&gt; http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;localhost&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;containers&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;json &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; jq .&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043f\u0438\u0441\u043e\u043a_\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;421-731&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;вывод_деталей_контейнера&quot;&gt;Вывод деталей контейнера&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;curl  &lt;span class=&quot;re5&quot;&gt;--silent&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-XGET&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--unix-socket&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;run&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.sock http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;localhost&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;containers&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;baa54b9e178b88ec3d2f4eb4939ca4f59d6e5fc77515ebfbf5d8eec0a95aafcf&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;json &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; jq .&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u044b\u0432\u043e\u0434 \u0434\u0435\u0442\u0430\u043b\u0435\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u044b\u0432\u043e\u0434_\u0434\u0435\u0442\u0430\u043b\u0435\u0439_\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;732-968&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;список_изображений&quot;&gt;Список изображений&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;curl &lt;span class=&quot;re5&quot;&gt;--silent&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-XGET&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--unix-socket&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;run&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.sock http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;localhost&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;images&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;json &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; jq .&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043f\u0438\u0441\u043e\u043a_\u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;969-1125&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;создание_контейнера&quot;&gt;Создание контейнера&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;re2&quot;&gt;CONTAINER_NAME&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;java-test&amp;quot;&lt;/span&gt;
$ curl \
  &lt;span class=&quot;re5&quot;&gt;--silent&lt;/span&gt; \
  &lt;span class=&quot;re5&quot;&gt;--unix-socket&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;run&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.sock \
  &lt;span class=&quot;st0&quot;&gt;&amp;quot;http:/containers/create?name=&lt;span class=&quot;es3&quot;&gt;${CONTAINER_NAME}&lt;/span&gt;&amp;quot;&lt;/span&gt; \
  &lt;span class=&quot;re5&quot;&gt;-X&lt;/span&gt; POST \
  &lt;span class=&quot;re5&quot;&gt;-H&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Content-Type: application/json&amp;quot;&lt;/span&gt; \
  &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;{ &amp;quot;Image&amp;quot;: &amp;quot;openjdk:8u111-jre-alpine&amp;quot;, &amp;quot;Cmd&amp;quot;: [ &amp;quot;java&amp;quot;, &amp;quot;-version&amp;quot; ] }&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; jq &lt;span class=&quot;st_h&quot;&gt;&#039;.&#039;&lt;/span&gt;
&amp;nbsp;
  &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;st0&quot;&gt;&amp;quot;Id&amp;quot;&lt;/span&gt;: &lt;span class=&quot;st0&quot;&gt;&amp;quot;602995e0d277e67417d9ad142959db7853a788bcd079ac33a72e24fb2db2f33c&amp;quot;&lt;/span&gt;,
    &lt;span class=&quot;st0&quot;&gt;&amp;quot;Warnings&amp;quot;&lt;/span&gt;: null
  &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435_\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1126-1583&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;запуск_контейнера&quot;&gt;Запуск контейнера&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ curl \
  &lt;span class=&quot;re5&quot;&gt;--silent&lt;/span&gt; \
  &lt;span class=&quot;re5&quot;&gt;--unix-socket&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;run&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.sock \
  &lt;span class=&quot;st0&quot;&gt;&amp;quot;http:/containers/&lt;span class=&quot;es3&quot;&gt;${CONTAINER_NAME}&lt;/span&gt;/start&amp;quot;&lt;/span&gt; \
  &lt;span class=&quot;re5&quot;&gt;-X&lt;/span&gt; POST \
  &lt;span class=&quot;re5&quot;&gt;-H&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Content-Type: application/json&amp;quot;&lt;/span&gt; \
  &lt;span class=&quot;re5&quot;&gt;--output&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dev&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;null \
  &lt;span class=&quot;re5&quot;&gt;--write-out&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;%{http_code}&amp;quot;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u043f\u0443\u0441\u043a \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u043f\u0443\u0441\u043a_\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;1584-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=system:docker">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-12T20:37:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Docker</title>
        <link>http://178.140.10.58:8080/doku.php?id=system:docker</link>
        <description>&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:vagrant&amp;amp;do=showtag&amp;amp;tag=vagrant&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:vagrant&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; vagrant&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:chef&amp;amp;do=showtag&amp;amp;tag=chef&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:chef&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; chef&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:shell&amp;amp;do=showtag&amp;amp;tag=shell&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:shell&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; shell&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:puppet&amp;amp;do=showtag&amp;amp;tag=puppet&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:puppet&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; puppet&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:salt&amp;amp;do=showtag&amp;amp;tag=salt&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:salt&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; salt&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:ansible&amp;amp;do=showtag&amp;amp;tag=ansible&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:ansible&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; ansible&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:docker&amp;amp;do=showtag&amp;amp;tag=docker&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:docker&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; docker&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:devops&amp;amp;do=showtag&amp;amp;tag=devops&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:devops&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; devops&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:virtual&amp;amp;do=showtag&amp;amp;tag=virtual&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:virtual&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; virtual&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:alpine&amp;amp;do=showtag&amp;amp;tag=alpine&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:alpine&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; alpine&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;docker&quot;&gt;Docker&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://178.140.10.58:8080/lib/exe/fetch.php?tok=d440cb&amp;amp;media=https%3A%2F%2Fhabrastorage.org%2Ffiles%2F67f%2F73a%2F551%2F67f73a551a254c19854adf3b4665a7bb.png&quot; class=&quot;media&quot; title=&quot;https://habrastorage.org/files/67f/73a/551/67f73a551a254c19854adf3b4665a7bb.png&quot;&gt;&lt;img src=&quot;http://178.140.10.58:8080/lib/exe/fetch.php?w=300&amp;amp;tok=a37cc0&amp;amp;media=https%3A%2F%2Fhabrastorage.org%2Ffiles%2F67f%2F73a%2F551%2F67f73a551a254c19854adf3b4665a7bb.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Docker&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;docker&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;78-189&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;установка&quot;&gt;Установка&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;190-223&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;ubuntu&quot;&gt;Ubuntu&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ apt update &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; \
apt &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; ca-certificates curl gnupg lsb-release &lt;span class=&quot;re5&quot;&gt;-y&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; \
&lt;span class=&quot;kw2&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-p&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;keyrings &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; \
curl &lt;span class=&quot;re5&quot;&gt;-fsSL&lt;/span&gt; https:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;download.docker.com&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;linux&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ubuntu&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gpg &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; gpg &lt;span class=&quot;re5&quot;&gt;--dearmor&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-o&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;keyrings&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.gpg &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; \
&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;deb [arch=&lt;span class=&quot;es4&quot;&gt;$(dpkg --print-architecture)&lt;/span&gt; signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu &lt;span class=&quot;es4&quot;&gt;$(lsb_release -cs)&lt;/span&gt; stable&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;tee&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;sources.list.d&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.list &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dev&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;null &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; \
apt update &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; \
apt &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; docker-ce docker-ce-cli containerd.io docker-compose-plugin &lt;span class=&quot;re5&quot;&gt;-y&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ubuntu&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ubuntu&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;224-785&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;debian&quot;&gt;Debian&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ apt update &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; \
apt &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; ca-certificates curl gnupg lsb-release &lt;span class=&quot;re5&quot;&gt;-y&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; \
&lt;span class=&quot;kw2&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-p&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;keyrings &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; \
curl &lt;span class=&quot;re5&quot;&gt;-fsSL&lt;/span&gt; https:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;download.docker.com&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;linux&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;debian&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gpg &lt;span class=&quot;re5&quot;&gt;-o&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;keyrings&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.asc &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; \
&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;deb [arch=&lt;span class=&quot;es4&quot;&gt;$(dpkg --print-architecture)&lt;/span&gt; signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian &lt;span class=&quot;es4&quot;&gt;$(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;)&lt;/span&gt; stable&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;tee&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;sources.list.d&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker.list &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dev&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;null &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; \
apt update &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; \
apt &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin &lt;span class=&quot;re5&quot;&gt;-y&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Debian&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;debian&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;786-1382&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit5&quot; id=&quot;docker1&quot;&gt;Docker&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; groupadd docker
$ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; usermod &lt;span class=&quot;re5&quot;&gt;-aG&lt;/span&gt; docker &lt;span class=&quot;re1&quot;&gt;$USER&lt;/span&gt;
$ newgrp docker&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Docker&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;docker1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1383-1496&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit6&quot; id=&quot;docker_swarm&quot;&gt;Docker Swarm&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Если Docker Swarm создается
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ docker swarm init
&lt;span class=&quot;co0&quot;&gt;# В вответ docker swarm join --token SWMTKN-1-54k2k418tw2j0juwm3inq6crp4ow6xogswihcc5azg7oq5qo7e-a3rfeyfwo7d93heq0y5vhyzod 172.31.245.104:2377&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Эту команду необходимо будет выполнить на каждой присоединяймой ноде&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Если необходимо присоеденить к уже существующему
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ docker swarm join-token worker
&lt;span class=&quot;co0&quot;&gt;# В вответ docker swarm join --token SWMTKN-1-54k2k418tw2j0juwm3inq6crp4ow6xogswihcc5azg7oq5qo7e-a3rfeyfwo7d93heq0y5vhyzod 172.31.245.104:2377&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Эту команду необходимо будет выполнить на каждой присоединяймой ноде&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Docker Swarm&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;docker_swarm&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1497-2314&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit7&quot; id=&quot;настройки&quot;&gt;Настройки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2315-2348&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit8&quot; id=&quot;log_driversуправление_логами&quot;&gt;Log drivers: управление логами&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
nano /etc/docker/daemon.json
&lt;/p&gt;
&lt;pre class=&quot;code json&quot;&gt;{
  &amp;quot;log-driver&amp;quot;: &amp;quot;local&amp;quot;,
  &amp;quot;log-opts&amp;quot;: {
    &amp;quot;max-size&amp;quot;: &amp;quot;10m&amp;quot;,
    &amp;quot;max-file&amp;quot;: &amp;quot;3&amp;quot;
  }
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Log drivers: \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u0430\u043c\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;log_drivers\u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435_\u043b\u043e\u0433\u0430\u043c\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2349-2546&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit9&quot; id=&quot;api&quot;&gt;API&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:docker-socket&quot; class=&quot;wikilink1&quot; title=&quot;system:docker-socket&quot; data-wiki-id=&quot;system:docker-socket&quot;&gt;Docker Socket&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;API&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;api&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;2547-2602&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit10&quot; id=&quot;мониторинг&quot;&gt;Мониторинг&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=software:monitoring:promtail-loki-grafana&quot; class=&quot;wikilink1&quot; title=&quot;software:monitoring:promtail-loki-grafana&quot; data-wiki-id=&quot;software:monitoring:promtail-loki-grafana&quot;&gt;Docker Swarm + Promtail + Loki + Grafana&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=software:monitoring:fluent-bit-loki-grafana&quot; class=&quot;wikilink1&quot; title=&quot;software:monitoring:fluent-bit-loki-grafana&quot; data-wiki-id=&quot;software:monitoring:fluent-bit-loki-grafana&quot;&gt;Docker Swarm + Fluent Bit + Loki + Grafana&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=software:monitoring:fluent-bit-fluentd-loki-grafana&quot; class=&quot;wikilink1&quot; title=&quot;software:monitoring:fluent-bit-fluentd-loki-grafana&quot; data-wiki-id=&quot;software:monitoring:fluent-bit-fluentd-loki-grafana&quot;&gt;Docker Swarm + Loki + Fluent Bit + Fluentd + Grafana&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;2603-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=system:backuppc">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-06T03:02:34+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>BackupPC - [client1:] </title>
        <link>http://178.140.10.58:8080/doku.php?id=system:backuppc</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;backuppc&quot;&gt;BackupPC&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;BackupPC&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;backuppc&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-24&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;install_server&quot;&gt;Install server&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code yaml&quot;&gt;&lt;span class=&quot;co1&quot;&gt;# https://github.com/adferrand/docker-backuppc&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;# cat /&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co3&quot;&gt;
version&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;3.7&amp;quot;&lt;/span&gt;
&lt;span class=&quot;co4&quot;&gt;
services&lt;/span&gt;:&lt;span class=&quot;co4&quot;&gt;
  service&lt;/span&gt;:&lt;span class=&quot;co3&quot;&gt;
    image&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;adferrand/backuppc:latest&lt;span class=&quot;co3&quot;&gt;
    restart&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;always&lt;span class=&quot;co4&quot;&gt;
    environment&lt;/span&gt;:&lt;span class=&quot;co3&quot;&gt;
      TZ&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;&#039;Europe/Moscow&#039;&lt;span class=&quot;co4&quot;&gt;
    ports&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - &lt;span class=&quot;st0&quot;&gt;&amp;quot;82:8080&amp;quot;&lt;/span&gt;&lt;span class=&quot;co4&quot;&gt;
    volumes&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;:
&lt;/span&gt;      - &lt;span class=&quot;st0&quot;&gt;&amp;quot;backuppc-etc:/etc/backuppc&amp;quot;&lt;/span&gt;
      - &lt;span class=&quot;st0&quot;&gt;&amp;quot;backuppc-home:/home/backuppc&amp;quot;&lt;/span&gt;
      - &lt;span class=&quot;st0&quot;&gt;&amp;quot;backuppc-src:/usr/local/BackupPC&amp;quot;&lt;/span&gt;
      - &lt;span class=&quot;st0&quot;&gt;&amp;quot;/mnt/BackupPC:/data/backuppc:rw&amp;quot;&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#    networks: &lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#      localnetwork:&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#        ipv4_address: &amp;quot;192.168.1.10&amp;quot;&lt;/span&gt;
&lt;span class=&quot;co4&quot;&gt;
volumes&lt;/span&gt;:&lt;span class=&quot;co3&quot;&gt;
  backuppc-etc&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;co3&quot;&gt;
  backuppc-home&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;co3&quot;&gt;
  backuppc-src&lt;/span&gt;&lt;span class=&quot;sy2&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co1&quot;&gt;#networks:&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#  localnetwork:&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#    name: localnetwork&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#    driver: ipvlan&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#    driver_opts:&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#      parent: eno1&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#      ipvlan_mode: l3&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#    ipam:&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#      config:&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#        - subnet: &amp;quot;192.168.1.0/24&amp;quot;&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#          ip_range: &amp;quot;192.168.1.1/24&amp;quot;&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;#          gateway: &amp;quot;192.168.1.1&amp;quot;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Install server&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;install_server&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;25-884&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;добавление_backup_client&quot;&gt;Добавление Backup client&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 Backup client&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435_backup_client&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;885-934&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit4&quot; id=&quot;client1&quot;&gt;client1:&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw2&quot;&gt;ssh&lt;/span&gt; admin&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;client1
$ apt &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; rsync &lt;span class=&quot;re5&quot;&gt;-y&lt;/span&gt;
$ adduser backuppc
$ &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;backuppc ALL=(ALL:ALL) NOPASSWD: &lt;span class=&quot;es4&quot;&gt;$(which rsync)&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;tee&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;sudoers.d&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;backuppc&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;client1:&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;client1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;935-1123&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit5&quot; id=&quot;backup-server&quot;&gt;backup-server&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
backup-server: backuppc_server_ip
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw2&quot;&gt;ssh&lt;/span&gt; admin&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;backuppc_server_ip
$ apt &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; rsync
$ &lt;span class=&quot;kw2&quot;&gt;su&lt;/span&gt; - backuppc
$ ssh-copy-id backuppc&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;client1&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;backup-server&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;backup-server&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1124-1299&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit6&quot; id=&quot;настройка_buckup_client&quot;&gt;Настройка Buckup client&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Buckup client&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430_buckup_client&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1300-1347&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;для_удаленного_клиента&quot;&gt;Для удаленного клиента&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
RsyncSshArgs
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;-e $sshPath -l backuppc&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043b\u044f_\u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e_\u043a\u043b\u0438\u0435\u043d\u0442\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;1348-1456&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;для_локального_клиента&quot;&gt;Для локального клиента&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
RsyncSshArgs
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;-e /usr/bin/sudo -p&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043b\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043b\u044f_\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e_\u043a\u043b\u0438\u0435\u043d\u0442\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;1457-1561&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit9&quot; id=&quot;ошибки&quot;&gt;Ошибки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0448\u0438\u0431\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0448\u0438\u0431\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;1562-1589&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;bashline_1rsynccommand_not_found&quot;&gt;bash: line 1: rsync: command not found&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;bash: line 1: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(232) [Receiver=3.2.7]&lt;/pre&gt;
&lt;div class=&quot;plugin_note notetip&quot;&gt;&lt;pre class=&quot;code&quot;&gt;Когда BackupPC (или вы вручную) инициирует rsync через SSH, он выполняет следующее:

  * Устанавливает SSH-соединение с клиентом.
  * Запускает на клиенте удаленную команду rsync --server.
  * Если rsync не найден в PATH пользователя backuppc на клиенте, возникает эта ошибка.&lt;/pre&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;bash: line 1: rsync: command not found&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bashline_1rsynccommand_not_found&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;1590-2339&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit11&quot; id=&quot;исправление_backuppc_настроек&quot;&gt;Исправление backuppc настроек&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://178.140.10.58:8080/lib/exe/detail.php?id=system%3Abackuppc&amp;amp;media=system:monosnap_config_edit_2026-01-06_05-55-53.png&quot; class=&quot;media&quot; title=&quot;system:monosnap_config_edit_2026-01-06_05-55-53.png&quot;&gt;&lt;img src=&quot;http://178.140.10.58:8080/lib/exe/fetch.php?media=system:monosnap_config_edit_2026-01-06_05-55-53.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 backuppc \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435_backuppc_\u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;2340-2456&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit12&quot; id=&quot;исправление_на_хосте_для_бекапа&quot;&gt;Исправление на хосте для бекапа&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;apt update &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; apt &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-y&lt;/span&gt; rsync&lt;/pre&gt;

&lt;p&gt;
nano /etc/sudoers.d/backuppc
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;backuppc &lt;span class=&quot;re2&quot;&gt;ALL&lt;/span&gt;=NOPASSWD: &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;rsync&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0445\u043e\u0441\u0442\u0435 \u0434\u043b\u044f \u0431\u0435\u043a\u0430\u043f\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435_\u043d\u0430_\u0445\u043e\u0441\u0442\u0435_\u0434\u043b\u044f_\u0431\u0435\u043a\u0430\u043f\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;2457-&amp;quot;} --&gt;</description>
    </item>
</rdf:RDF>
