<?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-06-01T22:04:28+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=system:tor-server"/>
                <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:zapret"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=develop:git"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=nodejs:pnpm"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=develop:nodejs:start"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=nodejs:npm"/>
                <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: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=system:tor-server">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-12T21:00:18+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>TorrServer MatriX - [Обновление] </title>
        <link>http://178.140.10.58:8080/doku.php?id=system:tor-server</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:tv&amp;amp;do=showtag&amp;amp;tag=%5Btv&quot; class=&quot;wikilink1&quot; title=&quot;tag:tv&quot; rel=&quot;tag&quot;&gt;[tv&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:hisense&amp;amp;do=showtag&amp;amp;tag=hisense&quot; class=&quot;wikilink1&quot; title=&quot;tag:hisense&quot; rel=&quot;tag&quot;&gt;hisense&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:vidaa&amp;amp;do=showtag&amp;amp;tag=vidaa%5D&quot; class=&quot;wikilink1&quot; title=&quot;tag:vidaa&quot; rel=&quot;tag&quot;&gt;vidaa]&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;torrserver_matrix&quot;&gt;TorrServer MatriX&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://releases.yourok.ru/&quot; class=&quot;urlextern&quot; title=&quot;https://releases.yourok.ru/&quot; rel=&quot;ugc nofollow&quot;&gt;https://releases.yourok.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;http://192.168.1.2/tools/tor/torr-server&quot; class=&quot;urlextern&quot; title=&quot;http://192.168.1.2/tools/tor/torr-server&quot; rel=&quot;ugc nofollow&quot;&gt;http://192.168.1.2/tools/tor/torr-server&lt;/a&gt; (src)
&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;TorrServer MatriX&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;torrserver_matrix&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;29-145&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 bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;curl &lt;span class=&quot;re5&quot;&gt;-s&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;YouROK&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;TorrServer&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;master&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;installTorrServerLinux.sh &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;bash&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;:2,&amp;quot;range&amp;quot;:&amp;quot;146-304&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;
 Размер кэша = 200 Мбайт (кол-во Мегабайт зарезервированных в ОЗУ для стрима выбранного медиа контента)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Размер буфера предварительной загрузки = 40 Мбайт (кол-во Мегабайт выделяемые для старта медиа контента)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Соединений на торрент = 20 (кол-во постоянных соединений с торрент клиентами, т.е. ограничение не больше этого количества)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Ограничение скорости загрузки/отдачи = 0 (без ограничений)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Зайти броузером на сервер (например, &lt;a href=&quot;http://192.168.1.10:8090&quot; class=&quot;urlextern&quot; title=&quot;http://192.168.1.10:8090&quot; rel=&quot;ugc nofollow&quot;&gt;http://192.168.1.10:8090&lt;/a&gt;, то есть на IP-адрес, где установлен сервер) и изменить кол-во DHT соединений с 500 на 0 (без ограничений), чтобы быстрее шел поиск сидов/пиров
&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&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;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;305-1396&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;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;bash&lt;/span&gt; .&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;installTorrServerLinux.sh &lt;span class=&quot;re5&quot;&gt;--update&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--silent&lt;/span&gt;&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;-s&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;YouROK&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;TorrServer&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;master&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;installTorrServerLinux.sh &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;bash&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--update&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--silent&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\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;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1397-&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-05-11T23:44:07+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;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;$ systemctl edit transmission-daemon.service
$ systemctl daemon-reload
$ systemctl reset-failed transmission-daemon
$ systemctl start transmission-daemon&lt;/pre&gt;

&lt;p&gt;
Увеличение таймаута поможет, если серверу просто нужно больше времени на индексацию 1000+ торрентов
nano /etc/systemd/system/transmission-daemon.service.d/override.conf
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[Service]
TimeoutStartSec=600&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\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435_\u0442\u0430\u0439\u043c\u0430\u0443\u0442\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3273-3792&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;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;find&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;transmission-daemon&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;info&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;torrents&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-name&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;*.torrent&amp;quot;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-exec&lt;/span&gt; &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;strings &#039;{}&#039; | grep -c &#039;pieces&#039; | grep -v &#039;^1$&#039; &amp;gt; /dev/null&amp;quot;&lt;/span&gt; \; &lt;span class=&quot;re5&quot;&gt;-print&lt;/span&gt;&lt;/pre&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;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3793-20333&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&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;:6,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;20334-20416&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&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;:7,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;20417-20503&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&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;:7,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;20504-20527&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit9&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;:7,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;20528-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=router:zapret">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-09T22:24:31+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Zapret - DPI bypass multi platform Topics (NFQWS) - [v2] </title>
        <link>http://178.140.10.58:8080/doku.php?id=router:zapret</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&quot; class=&quot;wikilink1&quot; title=&quot;tag:asus&quot; rel=&quot;tag&quot;&gt;[asus&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:merlin&amp;amp;do=showtag&amp;amp;tag=merlin&quot; class=&quot;wikilink1&quot; title=&quot;tag:merlin&quot; rel=&quot;tag&quot;&gt;merlin&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:amtm&amp;amp;do=showtag&amp;amp;tag=amtm&quot; class=&quot;wikilink1&quot; title=&quot;tag:amtm&quot; rel=&quot;tag&quot;&gt;amtm&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:entware&amp;amp;do=showtag&amp;amp;tag=entware&quot; class=&quot;wikilink1&quot; title=&quot;tag:entware&quot; rel=&quot;tag&quot;&gt;entware&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:router&amp;amp;do=showtag&amp;amp;tag=router%5D&quot; class=&quot;wikilink1&quot; title=&quot;tag:router&quot; rel=&quot;tag&quot;&gt;router]&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;zapret_-_dpi_bypass_multi_platform_topics_nfqws&quot;&gt;Zapret - DPI bypass multi platform Topics (NFQWS)&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=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;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Zapret - DPI bypass multi platform Topics (NFQWS)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;zapret_-_dpi_bypass_multi_platform_topics_nfqws&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;44-125&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 bash&quot;&gt;$ amtm 
 ep
 &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mnt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;SYS&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\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u0434\u0433\u043e\u0442\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;126-206&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;установка_и_настройка_zapret&quot;&gt;Установка и настройка zapret&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/bol-van/zapret&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/bol-van/zapret&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/bol-van/zapret&lt;/a&gt;
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw2&quot;&gt;wget&lt;/span&gt; https:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;github.com&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bol-van&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;zapret&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;releases&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;download&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;v72.3&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;zapret-v72.3.tar.gz
$ &lt;span class=&quot;kw2&quot;&gt;tar&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-xvzf&lt;/span&gt; zapret-v72.3.tar.gz
$ &lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; zapret-v72.3
$ .&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;install_easy.sh
- Y
- Y
- Y
- Y
- &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; : iptables
- Y
- N
- N
- Y
- N
- &lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt; - br0
- &lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt; - eth0
- &lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw2&quot;&gt;wget&lt;/span&gt; https:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;github.com&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bol-van&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;zapret2&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;releases&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;download&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;v0.9.5.2&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;zapret2-v0.9.5.2.tar.gz
$ &lt;span class=&quot;kw2&quot;&gt;tar&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-xvzf&lt;/span&gt; zapret2-v0.9.5.2.tar.gz
$ &lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; zapret2-v0.9.5.2
$ .&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;install_easy.sh&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;Выбираем iptables&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;Выбираем имя внутреннего сетевого интерфейса (&lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;), br0 - обычно в роутере&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;Выбираем режим фильтрации трафика (none, ipset, hostlist, autohostlist). - none&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;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 zapret&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430_\u0438_\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430_zapret&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;207-1036&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;$ &lt;span class=&quot;kw2&quot;&gt;wget&lt;/span&gt; https:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;github.com&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bol-van&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;zapret&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;releases&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;download&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;v72.3&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;zapret-v72.3.tar.gz
$ &lt;span class=&quot;kw2&quot;&gt;tar&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-xvzf&lt;/span&gt; zapret-v72.3.tar.gz
$ &lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; zapret-v72.3
$ .&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;install_bin.sh&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;:3,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1037-1245&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&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;
 none - фильтрация отключена, весь трафик обрабатывается утилитой. Простейший вариант. Рекомендую его использовать, если не хотите заморачиваться настройкой списков адресов, а хотите просто, чтобы быстро и просто все работало.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 ipset - фильтрация трафика с помощью ipset. Сложный режим, как работает читаем в инструкции.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 hostlist - фильтрация списком хостов из файлов: /opt/zapret/ipset/zapret-hosts-user.txt - прописывайте свои домены, которые нужно обрабатывать или в файле/opt/zapret/ipset/zapret-hosts-user-exclude.txt - домены, которые нужно исключить из обработки. Пишется по одному доменному имени или IP-адресу на строчку. То что там изначально написано в файлах - удаляем. Рекомендую это режим использовать, если хотите обрабатывать только определенные адреса или наоборот если хотите исключить из обработки некоторые адреса.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 autohostlist -режим hostlist + распознавание блокировок и ведение автоматического листа.
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;
Режим фильтра также можно потом менять через параметр MODE_FILTER в /opt/zapret/config.
&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;\u0420\u0435\u0436\u0438\u043c\u044b \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0436\u0438\u043c\u044b_\u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1246-3014&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&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;\u0422\u0435\u043a\u0443\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0442\u0435\u043a\u0443\u0449\u0438\u0435_\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3015-3059&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit7&quot; id=&quot;v1&quot;&gt;v1&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
nano /opt/zapret/config
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;re2&quot;&gt;WS_USER&lt;/span&gt;=nobody
&lt;span class=&quot;re2&quot;&gt;FWTYPE&lt;/span&gt;=iptables
&lt;span class=&quot;re2&quot;&gt;SET_MAXELEM&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1048576&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;IPSET_OPT&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;hashsize 262144 maxelem &lt;span class=&quot;es2&quot;&gt;$SET_MAXELEM&lt;/span&gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;IP2NET_OPT4&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;--prefix-length=22-30 --v4-threshold=3/4&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;IP2NET_OPT6&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;--prefix-length=48-64 --v6-threshold=3&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;AUTOHOSTLIST_RETRANS_THRESHOLD&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;AUTOHOSTLIST_FAIL_THRESHOLD&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;AUTOHOSTLIST_FAIL_TIME&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;AUTOHOSTLIST_DEBUGLOG&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;MDIG_THREADS&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;50&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;GZIP_LISTS&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;DESYNC_MARK&lt;/span&gt;=0x40000000
&lt;span class=&quot;re2&quot;&gt;DESYNC_MARK_POSTNAT&lt;/span&gt;=0x20000000
&lt;span class=&quot;re2&quot;&gt;TPWS_SOCKS_ENABLE&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;TPPORT_SOCKS&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;987&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;TPWS_SOCKS_OPT&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;
--filter-tcp=80 --methodeol  &amp;lt;HOSTLIST&amp;gt; --new
--filter-tcp=443 --split-pos=1,midsld --disorder &amp;lt;HOSTLIST&amp;gt;
&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;TPWS_ENABLE&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;TPWS_PORTS&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;80&lt;/span&gt;,&lt;span class=&quot;nu0&quot;&gt;443&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;TPWS_OPT&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;
--filter-tcp=80 --methodeol --split-pos=2,midsld --hostlist=/opt/zapret/ipset/youtube_domain_list.txt --new
--filter-tcp=443 --split-pos=2,midsld --disorder --hostlist=/opt/zapret/ipset/youtube_domain_list.txt
&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS_ENABLE&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS_PORTS_TCP&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;80&lt;/span&gt;,&lt;span class=&quot;nu0&quot;&gt;443&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS_PORTS_UDP&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;443&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS_TCP_PKT_OUT&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;6&lt;/span&gt;+&lt;span class=&quot;re1&quot;&gt;$AUTOHOSTLIST_RETRANS_THRESHOLD&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;re2&quot;&gt;NFQWS_TCP_PKT_IN&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS_UDP_PKT_OUT&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;6&lt;/span&gt;+&lt;span class=&quot;re1&quot;&gt;$AUTOHOSTLIST_RETRANS_THRESHOLD&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;re2&quot;&gt;NFQWS_UDP_PKT_IN&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;MODE_HTTP&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;MODE_HTTPS&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;MODE_QUIC&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS_OPT&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;
# YouTube rules
--filter-tcp=80 --dpi-desync=fake,multisplit --dpi-desync-ttl=1 --hostlist=/opt/zapret/ipset/youtube_domain_list.txt --new
--filter-tcp=443 --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1 --dpi-desync-ttl=1 --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin --hostlist=/opt/zapret/ipset/youtube_domain_list.txt --new
#--filter-udp=443 --dpi-desync=fake --dpi-desync-ttl=1 --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin --hostlist=/opt/zapret/ipset/youtube_domain_list.txt
--filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-ttl=0 --dpi-desync-any-protocol --dpi-desync-cutoff=d4 --dpi-desync-fooling=md5sig,badsum --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin --hostlist=/opt/zapret/ipset/youtube_domain_list.txt
&amp;nbsp;
# Main rules
--filter-tcp=80,443 --dpi-desync=fake --dpi-desync-ttl=0
--filter-udp=443 --dpi-desync=fake --dpi-desync-ttl=0
&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS_OPT_DESYNC&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;--dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=0 --dpi-desync-fooling=md5sig,badsum --dpi-desync-repeats=6 --dpi-desync-any-protocol --dpi-desync-cutoff=d4 --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS_OPT_DESYNC_QUIC&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;--dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-ttl=0 --dpi-desync-any-protocol --dpi-desync-cutoff=d4 --dpi-desync-fooling=md5sig,badsum --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Network settings&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;MODE_FILTER&lt;/span&gt;=none
&lt;span class=&quot;re2&quot;&gt;FLOWOFFLOAD&lt;/span&gt;=disable
&lt;span class=&quot;re2&quot;&gt;IFACE_LAN&lt;/span&gt;=br0
&lt;span class=&quot;re2&quot;&gt;IFACE_WAN&lt;/span&gt;=eth0
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Initialization&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;INIT_APPLY_FW&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;DISABLE_IPV6&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;DEBUGLOG&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;0&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;v1&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;v1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3060-5843&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit8&quot; id=&quot;v2&quot;&gt;v2&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
nano /opt/zapret2/config
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# zapret2 configuration for Asus (Entware)&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# General settings&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;WS_USER&lt;/span&gt;=nobody
&lt;span class=&quot;re2&quot;&gt;FWTYPE&lt;/span&gt;=iptables
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# IPSET limits for your domain lists&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;SET_MAXELEM&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;522288&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;IPSET_OPT&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;hashsize 262144 maxelem &lt;span class=&quot;es2&quot;&gt;$SET_MAXELEM&lt;/span&gt;&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# List management options&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;IP2NET_OPT4&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;--prefix-length=22-30 --v4-threshold=3/4&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;IP2NET_OPT6&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;--prefix-length=56-64 --v6-threshold=5&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;MDIG_THREADS&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;GZIP_LISTS&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Marks to prevent infinite loops in nfqws&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;DESYNC_MARK&lt;/span&gt;=0x40000000
&lt;span class=&quot;re2&quot;&gt;DESYNC_MARK_POSTNAT&lt;/span&gt;=0x20000000
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Enable the engine (NFQWS2 is mandatory for zapret2)&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS2_ENABLE&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS2_PORTS_TCP&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;80&lt;/span&gt;,&lt;span class=&quot;nu0&quot;&gt;443&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS2_PORTS_UDP&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;443&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Packet counters (how many packets to analyze in a stream)&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS2_TCP_PKT_OUT&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;20&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS2_TCP_PKT_IN&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS2_UDP_PKT_OUT&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS2_UDP_PKT_IN&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Main bypass strategy (Fixed LUA &#039;blob&#039; errors)&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Note: Ensure the file /opt/zapret2/ipset/youtube_domain_list.txt exists!&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NFQWS2_OPT&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;
--filter-tcp=80 --filter-l7=http --hostlist=/opt/zapret2/ipset/youtube_domain_list.txt --payload=http_req --lua-desync=fake:blob=fake_default_http --lua-desync=multisplit:pos=2 --new
--filter-tcp=443 --filter-l7=tls --hostlist=/opt/zapret2/ipset/youtube_domain_list.txt --payload=tls_client_hello --lua-desync=fake:blob=fake_default_tls --lua-desync=multidisorder:pos=1,midsld --new
--filter-udp=443 --filter-l7=quic --hostlist=/opt/zapret2/ipset/youtube_domain_list.txt --payload=quic_initial --lua-desync=fake:blob=fake_default_quic:repeats=6 --new
--filter-tcp=80,443 --payload=tls_client_hello,http_req --lua-desync=fake:blob=fake_default_tls --new
--filter-udp=443 --payload=quic_initial --lua-desync=fake:blob=fake_default_quic
&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Filtering mode (Using hostlist to match your iptables output)&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;MODE_FILTER&lt;/span&gt;=hostlist
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Disable hardware acceleration (Required for Asus)&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;FLOWOFFLOAD&lt;/span&gt;=disable
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Network interfaces (Matches your verified iptables rules)&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;IFACE_LAN&lt;/span&gt;=br0
&lt;span class=&quot;re2&quot;&gt;IFACE_WAN&lt;/span&gt;=eth0
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Initialization settings&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;INIT_APPLY_FW&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;DISABLE_IPV6&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;FILTER_TTL_EXPIRED_ICMP&lt;/span&gt;=&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;v2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;v2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;5844-7833&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&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;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;&#039;&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;opt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;zapret&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ipset&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;youtube_domain_list.txt&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\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043b\u0438\u0441\u0442\u0430 \u0434\u043e\u043c\u0435\u043d\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430_\u043b\u0438\u0441\u0442\u0430_\u0434\u043e\u043c\u0435\u043d\u043e\u0432_\u0434\u043b\u044f_\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;7834-7992&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit10&quot; id=&quot;только_для_теста&quot;&gt;Только для теста&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://178.140.10.58:8080/doku.php?id=config-default&quot; class=&quot;wikilink1&quot; title=&quot;config-default&quot; data-wiki-id=&quot;config-default&quot;&gt;config-default&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;\u0422\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0442\u043e\u043b\u044c\u043a\u043e_\u0434\u043b\u044f_\u0442\u0435\u0441\u0442\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;7993-8057&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;nwqws_opt&quot;&gt;NWQWS_OPT&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;--debug=0|1                                               ; 1=выводить отладочные сообщения
--dry-run                                                 ; проверить опции командной строки и выйти. код 0 - успешная проверка.
--version                                                 ; вывести версию и выйти
--comment                                                 ; любой текст (игнорируется)
--daemon                                                  ; демонизировать прогу
--pidfile=&amp;lt;file&amp;gt;                                          ; сохранить PID в файл
--user=&amp;lt;username&amp;gt;                                         ; менять uid процесса
--uid=uid[:gid]                                           ; менять uid процесса
--qnum=N                                                  ; номер очереди N
--bind-fix4                                               ; пытаться решить проблему неверного выбора исходящего интерфейса для сгенерированных ipv4 пакетов
--bind-fix6                                               ; пытаться решить проблему неверного выбора исходящего интерфейса для сгенерированных ipv6 пакетов
--ctrack-timeouts=S:E:F[:U]                               ; таймауты внутреннего conntrack в состояниях SYN, ESTABLISHED, FIN, таймаут udp. по умолчанию 60:300:60:60
--ctrack-disable=[0|1]                                    ; 1 или остутствие аргумента отключает conntrack
--ipcache-lifetime=&amp;lt;int&amp;gt;                                  ; время жизни записей кэша IP в секундах. 0 - без ограничений.
--ipcache-hostname=[0|1]                                  ; 1 или отсутствие аргумента включают кэширование имен хостов для применения в стратегиях нулевой фазы
--wsize=&amp;lt;winsize&amp;gt;[:&amp;lt;scale_factor&amp;gt;]                        ; менять tcp window size на указанный размер в SYN,ACK. если не задан scale_factor, то он не меняется (устарело !)
--wssize=&amp;lt;winsize&amp;gt;[:&amp;lt;scale_factor&amp;gt;]                       ; менять tcp window size на указанный размер в исходящих пакетах. scale_factor по умолчанию 0. (см. conntrack !)
--wssize-cutoff=[n|d|s]N                                  ; изменять server window size в исходящих пакетах (n), пакетах данных (d), относительных sequence (s) по номеру меньше N
--wssize-forced-cutoff=0|1                                ; 1(default)=автоматически отключать wssize в случае обнаружения известного протокола
--synack-split=[syn|synack|acksyn]                        ; выполнить tcp split handshake. вместо SYN,ACK отсылать только SYN, SYN+ACK или ACK+SYN
--orig-ttl=&amp;lt;int&amp;gt;                                          ; модифицировать TTL оригинального пакета
--orig-ttl6=&amp;lt;int&amp;gt;                                         ; модифицировать ipv6 hop limit оригинальных пакетов.  если не указано, используется значение --orig-ttl
--orig-autottl=[&amp;lt;delta&amp;gt;[:&amp;lt;min&amp;gt;[-&amp;lt;max&amp;gt;]]|-]                ; режим auto ttl для ipv4 и ipv6. по умолчанию: +5:3-64. &amp;quot;0:0-0&amp;quot; или &amp;quot;-&amp;quot; отключает функцию
--orig-autottl6=[&amp;lt;delta&amp;gt;[:&amp;lt;min&amp;gt;[-&amp;lt;max&amp;gt;]]|-]               ; переопределение предыдущего параметра для ipv6
--orig-tcp-flags-set=&amp;lt;int|0xHEX|flaglist&amp;gt;                 ; устанавливать указанные tcp флаги (flags |= value). число , либо список через запятую : FIN,SYN,RST,PSH,ACK,URG,ECE,CWR,AE,R1,R2,R3
--orig-tcp-flags-unset=&amp;lt;int|0xHEX|flaglist&amp;gt;               ; удалять указанные tcp флаги (flags &amp;amp;= ~value)
--orig-mod-start=[n|d|s]N                                 ; применять orig-mod только в исходящих пакетах (n), пакетах данных (d), относительных sequence (s) по номеру больше или равно N
--orig-mod-cutoff=[n|d|s]N                                ; применять orig-mod только в исходящих пакетах (n), пакетах данных (d), относительных sequence (s) по номеру меньше N
--dup=&amp;lt;int&amp;gt;                                               ; высылать N дубликатов до оригинала
--dup-replace=[0|1]                                       ; 1 или отсутствие аргумента блокирует отправку оригинала. отправляются только дубликаты.
--dup-ttl=&amp;lt;int&amp;gt;                                           ; модифицировать TTL дубликатов
--dup-ttl6=&amp;lt;int&amp;gt;                                          ; модифицировать ipv6 hop limit дубликатов. если не указано, используется значение --dup-ttl
--dup-autottl=[&amp;lt;delta&amp;gt;[:&amp;lt;min&amp;gt;[-&amp;lt;max&amp;gt;]]|-]                 ; режим auto ttl для ipv4 и ipv6. по умолчанию: +1:3-64. &amp;quot;0:0-0&amp;quot; или &amp;quot;-&amp;quot; отключает функцию
--dup-autottl6=[&amp;lt;delta&amp;gt;[:&amp;lt;min&amp;gt;[-&amp;lt;max&amp;gt;]]|-]                ; переопределение предыдущего параметра для ipv6
--dup-tcp-flags-set=&amp;lt;int|0xHEX|flaglist&amp;gt;                  ; устанавливать указанные tcp флаги (flags |= value). число , либо список через запятую : FIN,SYN,RST,PSH,ACK,URG,ECE,CWR,AE,R1,R2,R3
--dup-tcp-flags-unset=&amp;lt;int|0xHEX|flaglist&amp;gt;                ; удалять указанные tcp флаги (flags &amp;amp;= ~value)
--dup-fooling=&amp;lt;fooling&amp;gt;                                   ; дополнительные методики как сделать, чтобы дубликат не дошел до сервера. none md5sig badseq badsum datanoack ts hopbyhop hopbyhop2
--dup-ts-increment=&amp;lt;int|0xHEX&amp;gt;                            ; инкремент TSval для ts. по умолчанию -600000
--dup-badseq-increment=&amp;lt;int|0xHEX&amp;gt;                        ; инкремент sequence number для badseq. по умолчанию -10000
--dup-badack-increment=&amp;lt;int|0xHEX&amp;gt;                        ; инкремент ack sequence number для badseq. по умолчанию -66000
--dup-ip-id=same|zero|seq|rnd                             ; режим назначения ip_id для пакетов dup
--dup-start=[n|d|s]N                                      ; применять dup только в исходящих пакетах (n), пакетах данных (d), относительных sequence (s) по номеру больше или равно N
--dup-cutoff=[n|d|s]N                                     ; применять dup только в исходящих пакетах (n), пакетах данных (d), относительных sequence (s) по номеру меньше N
--hostcase                                                ; менять регистр заголовка &amp;quot;Host:&amp;quot; по умолчанию на &amp;quot;host:&amp;quot;.
--hostnospace                                             ; убрать пробел после &amp;quot;Host:&amp;quot; и переместить его в конец значения &amp;quot;User-Agent:&amp;quot; для сохранения длины пакета
--methodeol                                               ; добавить перевод строки в unix стиле (&amp;#039;\n&amp;#039;) перед методом и убрать пробел из Host: : &amp;quot;GET / ... Host: domain.com&amp;quot; =&amp;gt; &amp;quot;\nGET  / ... Host:domain.com&amp;quot;
--hostspell=HoST                                          ; точное написание заголовка Host (можно &amp;quot;HOST&amp;quot; или &amp;quot;HoSt&amp;quot;). автоматом включает --hostcase
--domcase                                                 ; домен после Host: сделать таким : TeSt.cOm
--ip-id=seq|seqgroup|rnd|zero                             ; режим назначения ip_id для генерированных пакетов
--dpi-desync=[&amp;lt;mode0&amp;gt;,]&amp;lt;mode&amp;gt;[,&amp;lt;mode2]                    ; атака по десинхронизации DPI. mode : synack syndata fake fakeknown rst rstack hopbyhop destopt ipfrag1 multisplit multidisorder fakedsplit hostfakesplit fakeddisorder ipfrag2 udplen tamper
--dpi-desync-fwmark=&amp;lt;int|0xHEX&amp;gt;                           ; бит fwmark для пометки десинхронизирующих пакетов, чтобы они повторно не падали в очередь. default = 0x40000000
--dpi-desync-ttl=&amp;lt;int&amp;gt;                                    ; установить ttl для десинхронизирующих пакетов
--dpi-desync-ttl6=&amp;lt;int&amp;gt;                                   ; установить ipv6 hop limit для десинхронизирующих пакетов. если не указано, используется значение --dpi-desync-ttl
--dpi-desync-autottl=[&amp;lt;delta&amp;gt;[:&amp;lt;min&amp;gt;[-&amp;lt;max&amp;gt;]]|-]          ; режим auto ttl для ipv4 и ipv6. по умолчанию: 1:3-20. &amp;quot;0:0-0&amp;quot; или &amp;quot;-&amp;quot; отключает функцию
--dpi-desync-autottl6=[&amp;lt;delta&amp;gt;[:&amp;lt;min&amp;gt;[-&amp;lt;max&amp;gt;]]|-]         ; переопределение предыдущего параметра для ipv6
--dpi-desync-tcp-flags-set=&amp;lt;int|0xHEX|flaglist&amp;gt;           ; устанавливать указанные tcp флаги (flags |= value). число , либо список через запятую : FIN,SYN,RST,PSH,ACK,URG,ECE,CWR,AE,R1,R2,R3
--dpi-desync-tcp-flags-unset=&amp;lt;int|0xHEX|flaglist&amp;gt;         ; удалять указанные tcp флаги (flags &amp;amp;= ~value)
--dpi-desync-fooling=&amp;lt;fooling&amp;gt;                            ; дополнительные методики как сделать, чтобы фейковый пакет не дошел до сервера. none md5sig badseq badsum datanoack ts hopbyhop hopbyhop2
--dpi-desync-repeats=&amp;lt;N&amp;gt;                                  ; посылать каждый генерируемый в nfqws пакет N раз (не влияет на остальные пакеты)
--dpi-desync-skip-nosni=0|1                               ; 1(default)=не применять dpi desync для запросов без hostname в SNI, в частности для ESNI
--dpi-desync-split-pos=N|-N|marker+N|marker-N             ; список через запятую маркеров для tcp сегментации в режимах split и disorder
--dpi-desync-split-seqovl=N|-N|marker+N|marker-N          ; единичный маркер, определяющий величину перекрытия sequence в режимах split и disorder. для split поддерживается только положительное число.
--dpi-desync-split-seqovl-pattern=[+ofs]@&amp;lt;filename&amp;gt;|0xHEX ; чем заполнять фейковую часть overlap
--dpi-desync-fakedsplit-pattern=[+ofs]@&amp;lt;filename&amp;gt;|0xHEX   ; чем заполнять фейки в fakedsplit/fakeddisorder
--dpi-desync-fakedsplit-mod=mod[,mod]                     ; может быть none, altorder=0|1|2|3 + 0|8|16
--dpi-desync-hostfakesplit-midhost=marker+N|marker-N      ; маркер дополнительного разреза сегмента с оригинальным хостом. должен попадать в пределы хоста.
--dpi-desync-hostfakesplit-mod=mod[,mod]                  ; может быть none, host=&amp;lt;hostname&amp;gt;, altorder=0|1
--dpi-desync-ts-increment=&amp;lt;int|0xHEX&amp;gt;                     ; инкремент TSval для ts. по умолчанию -600000
--dpi-desync-badseq-increment=&amp;lt;int|0xHEX&amp;gt;                 ; инкремент sequence number для badseq. по умолчанию -10000
--dpi-desync-badack-increment=&amp;lt;int|0xHEX&amp;gt;                 ; инкремент ack sequence number для badseq. по умолчанию -66000
--dpi-desync-any-protocol=0|1                             ; 0(default)=работать только по http request и tls clienthello  1=по всем непустым пакетам данных
--dpi-desync-fake-tcp-mod=mod[,mod]                       ; список через запятую режимов runtime модификации tcp фейков (любых) : none, seq
--dpi-desync-fake-http=[+ofs]@&amp;lt;filename&amp;gt;|0xHEX	          ; файл, содержащий фейковый http запрос для dpi-desync=fake, на замену стандартному www.iana.org
--dpi-desync-fake-tls=[+ofs]@&amp;lt;filename&amp;gt;|0xHEX|![+offset]  ; файл, содержащий фейковый tls clienthello для dpi-desync=fake, на замену стандартному. &amp;#039;!&amp;#039; = стандартный фейк
--dpi-desync-fake-tls-mod=mod[,mod]                       ; список через запятую режимов runtime модификации фейков : none,rnd,rndsni,sni=&amp;lt;sni&amp;gt;,dupsid,padencap
--dpi-desync-fake-unknown=[+ofs]@&amp;lt;filename&amp;gt;|0xHEX         ; файл, содержащий фейковый пейлоад неизвестного протокола для dpi-desync=fake, на замену стандартным нулям 256 байт
--dpi-desync-fake-syndata=[+ofs]@&amp;lt;filename&amp;gt;|0xHEX         ; файл, содержащий фейковый пейлоад пакета SYN для режима десинхронизации syndata
--dpi-desync-fake-quic=[+ofs]@&amp;lt;filename&amp;gt;|0xHEX            ; файл, содержащий фейковый QUIC Initial
--dpi-desync-fake-wireguard=[+ofs]@&amp;lt;filename&amp;gt;|0xHEX       ; файл, содержащий фейковый wireguard handshake initiation
--dpi-desync-fake-dht=[+ofs]@&amp;lt;filename&amp;gt;|0xHEX             ; файл, содержащий фейковый пейлоад DHT протокола для dpi-desync=fake, на замену стандартным нулям 64 байт
--dpi-desync-fake-discord=[+ofs]@&amp;lt;filename&amp;gt;|0xHEX         ; файл, содержащий фейковый пейлоад Discord протокола нахождения IP адреса для голосовых чатов для dpi-desync=fake, на замену стандартным нулям 64 байт
--dpi-desync-fake-stun=[+ofs]@&amp;lt;filename&amp;gt;|0xHEX            ; файл, содержащий фейковый пейлоад STUN протокола для dpi-desync=fake, на замену стандартным нулям 64 байт
--dpi-desync-fake-unknown-udp=[+ofs]@&amp;lt;filename&amp;gt;|0xHEX     ; файл, содержащий фейковый пейлоад неизвестного udp протокола для dpi-desync=fake, на замену стандартным нулям 64 байт
--dpi-desync-udplen-increment=&amp;lt;int&amp;gt;                       ; на сколько увеличивать длину udp пейлоада в режиме udplen
--dpi-desync-udplen-pattern=[+ofs]@&amp;lt;filename&amp;gt;|0xHEX       ; чем добивать udp пакет в режиме udplen. по умолчанию - нули
--dpi-desync-start=[n|d|s]N                               ; применять dpi desync только в исходящих пакетах (n), пакетах данных (d), относительных sequence (s) по номеру больше или равно N
--dpi-desync-cutoff=[n|d|s]N                              ; применять dpi desync только в исходящих пакетах (n), пакетах данных (d), относительных sequence (s) по номеру меньше N
--hostlist=&amp;lt;filename&amp;gt;                                     ; действовать только над доменами, входящими в список из filename. поддомены автоматически учитываются, если хост не начинается с &amp;#039;^&amp;#039;.
                                                          ; в файле должен быть хост на каждой строке.
                                                          ; список читается при старте и хранится в памяти в виде иерархической структуры для быстрого поиска.
                                                          ; при изменении времени модификации файла он перечитывается автоматически по необходимости
                                                          ; список может быть запакован в gzip. формат автоматически распознается и разжимается
                                                          ; списков может быть множество. пустой общий лист = его отсутствие
                                                          ; хосты извлекаются из Host: хедера обычных http запросов и из SNI в TLS ClientHello.
--hostlist-domains=&amp;lt;domain_list&amp;gt;                          ; фиксированный список доменов через зяпятую. можно использовать # в начале для комментирования отдельных доменов.
--hostlist-exclude=&amp;lt;filename&amp;gt;                             ; не применять дурение к доменам из листа. может быть множество листов. схема аналогична include листам.
--hostlist-exclude-domains=&amp;lt;domain_list&amp;gt;                  ; фиксированный список доменов через зяпятую. можно использовать # в начале для комментирования отдельных доменов.
--hostlist-auto=&amp;lt;filename&amp;gt;                                ; обнаруживать автоматически блокировки и заполнять автоматический hostlist (требует перенаправления входящего трафика)
--hostlist-auto-fail-threshold=&amp;lt;int&amp;gt;                      ; сколько раз нужно обнаружить ситуацию, похожую на блокировку, чтобы добавить хост в лист (по умолчанию: 3)
--hostlist-auto-fail-time=&amp;lt;int&amp;gt;                           ; все эти ситуации должны быть в пределах указанного количества секунд (по умолчанию: 60)
--hostlist-auto-retrans-threshold=&amp;lt;int&amp;gt;                   ; сколько ретрансмиссий запроса считать блокировкой (по умолчанию: 3)
--hostlist-auto-debug=&amp;lt;logfile&amp;gt;                           ; лог положительных решений по autohostlist. позволяет разобраться почему там появляются хосты.
--new                                                     ; начало новой стратегии (новый профиль)
--skip                                                    ; не использовать этот профиль . полезно для временной деактивации профиля без удаления параметров.
--filter-l3=ipv4|ipv6                                     ; фильтр версии ip для текущей стратегии
--filter-tcp=[~]port1[-port2]|*                           ; фильтр портов tcp для текущей стратегии. ~ означает инверсию. установка фильтра tcp и неустановка фильтра udp запрещает udp. поддерживается список через запятую.
--filter-udp=[~]port1[-port2]|*                           ; фильтр портов udp для текущей стратегии. ~ означает инверсию. установка фильтра udp и неустановка фильтра tcp запрещает tcp. поддерживается список через запятую.
--filter-l7=&amp;lt;proto&amp;gt;                                       ; фильтр протокола L6-L7. поддерживается несколько значений через запятую. proto : http tls quic wireguard dht discord stun unknown
--filter-ssid=ssid1[,ssid2,ssid3,...]                     ; фильтр по имени wifi сети (только для linux)
--ipset=&amp;lt;filename&amp;gt;                                        ; включающий ip list. на каждой строчке ip или cidr ipv4 или ipv6. поддерживается множество листов и gzip. перечитка автоматическая.
--ipset-ip=&amp;lt;ip_list&amp;gt;                                      ; фиксированный список подсетей через запятую. можно использовать # в начале для комментирования отдельных подсетей.
--ipset-exclude=&amp;lt;filename&amp;gt;                                ; исключающий ip list. на каждой строчке ip или cidr ipv4 или ipv6. поддерживается множество листов и gzip. перечитка автоматическая.
--ipset-exclude-ip=&amp;lt;ip_list&amp;gt;                              ; фиксированный список подсетей через запятую. можно использовать # в начале для комментирования отдельных подсетей.&lt;/pre&gt;
&lt;div class=&quot;table sectionedit12&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;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; –dpi-desync=fake,multisplit &amp;amp; –dpi-desync=fake,multidisorder  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Слишком агрессивные методы для TLS 1.2 могут нарушать стабильность соединения, что критично для Android-плееров и Smart TV.         &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; –dpi-desync-split-pos=10                                       &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Слишком высокое значение может не работать для обхода и негативно влиять на производительность.                                     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; –dpi-desync-ttl=1 / –dpi-desync-ttl=0                         &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Слишком низкий TTL может помешать пакетам достигать серверов Google, которые находятся &amp;quot;близко&amp;quot; к провайдеру, что приводит к сбоям  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; –dpi-desync-repeats=6                                          &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Может быть недостаточно для стабильного обхода, что приводит к подвисаниям YouTube на Android                                       &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; Отсутствие –dpi-desync-fooling                                 &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Без ограничителей фейки могут применяться ко всем подключениям, ломая легитимные                                                    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;                                                                 &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;                                                                                                                                     &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;:12,&amp;quot;range&amp;quot;:&amp;quot;30340-32200&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;NWQWS_OPT&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nwqws_opt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;8058-32201&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;фильтры&quot;&gt;Фильтры&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
nano /opt/zapret/ipset/zapret-hosts-user.txt
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;www.youtube.com
youtube.com&lt;/pre&gt;

&lt;p&gt;
nano /opt/zapret/ipset/zapret-hosts-user-exclude.txt 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&lt;/pre&gt;

&lt;p&gt;
nano /opt/zapret/ipset/youtube_domain_list.txt
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;10tv.app
1e100.net
7tv.app
7tv.gg
7tv.io
api.7tv.app
api.ffzap.com
api.frankerfacez.com
apis.google.com
betterttv.net
cdn.7tv.app
cdn.7tv.gg
cdn.betterttv.net
cdn.frankerfacez.com
cdn2.frankerfacez.com
doubleclick.net
emotes.7tv.app
events.7tv.app
frankerfacez.com
ggpht.com
googleapis.com
googleusercontent.com
googlevideo.com
gstatic.com
gvt1.com
jnn-pa.googleapis.com
l.google.com
m.youtube.com
nhacmp3youtube.com
play.google.com
static.7tv.app
video.google.com
wide-youtube.l.google.com
www.youtube.com
youtu.be
youtube.be
youtube.ca
youtube.co
youtube.co.in
youtube.co.uk
youtube.com
youtube.com.au
youtube.com.br
youtube.com.mx
youtube.com.tr
youtube.com.ua
youtube.de
youtube.es
youtube.fr
youtube.googleapis.com
youtube.jp
youtube.nl
youtube.pl
youtube.pt
youtube.ru
youtubeapi.com
youtubechildren.com
youtubecommunity.com
youtubecreators.com
youtubeeducation.com
youtubeembeddedplayer.googleapis.com
youtubei.googleapis.com
youtubekids.com
youtube-nocookie.com
youtube-studio.com
youtube-ui.l.google.com
yt.be
yt-video-upload.l.google.com
yt3.ggpht.com
ytimg.com
i.ytimg.com
static.doubleclick.net
googleads.g.doubleclick.net&lt;/pre&gt;

&lt;p&gt;
nano /opt/zapret/ipset/zapret-ip-exclude.txt
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;0.0.0.0/8
10.0.0.0/8
192.168.0.0/16
172.16.0.0/12
100.64.0.0/10
169.254.0.0/16
224.0.0.0/3
255.255.255.255/32&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;\u0424\u0438\u043b\u044c\u0442\u0440\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0444\u0438\u043b\u044c\u0442\u0440\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;32202-33758&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit14&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;http://178.140.10.58:8080/doku.php?id=discord&quot; class=&quot;wikilink1&quot; title=&quot;discord&quot; data-wiki-id=&quot;discord&quot;&gt;discord&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\u043a\u0440\u0438\u043f\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043a\u0440\u0438\u043f\u0442\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;33759-33802&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit15&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;opkg &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; procps-ng-sysctl&lt;/pre&gt;

&lt;p&gt;
nano /opt/etc/init.d/S00fix
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/sh&lt;/span&gt;
start&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;#123;&lt;/span&gt;
    sysctl &lt;span class=&quot;re5&quot;&gt;-w&lt;/span&gt; net.netfilter.nf_conntrack_checksum=&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&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;br0&quot;&gt;&amp;#125;&lt;/span&gt;
stop&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;#123;&lt;/span&gt;
    sysctl &lt;span class=&quot;re5&quot;&gt;-w&lt;/span&gt; net.netfilter.nf_conntrack_checksum=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&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;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt;
    &lt;span class=&quot;st_h&quot;&gt;&#039;start&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        start
        &lt;span class=&quot;sy0&quot;&gt;;;&lt;/span&gt;
    &lt;span class=&quot;st_h&quot;&gt;&#039;stop&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        stop
        &lt;span class=&quot;sy0&quot;&gt;;;&lt;/span&gt;
    &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        stop
        start
        &lt;span class=&quot;sy0&quot;&gt;;;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;esac&lt;/span&gt;
&lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&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;chmod&lt;/span&gt; +x &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;opt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;init.d&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;S00fix&lt;/pre&gt;

&lt;p&gt;
/tmp/mnt/SYS/entware/zapret/ipset/get_refilter_domains.sh
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/sh&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;IPSET_DIR&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(dirname &amp;quot;$0&amp;quot;)&lt;/span&gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;IPSET_DIR&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(cd &amp;quot;$IPSET_DIR&amp;quot;; pwd)&lt;/span&gt;&amp;quot;&lt;/span&gt;
&amp;nbsp;
. &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$IPSET_DIR&lt;/span&gt;/def.sh&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;TMPLIST&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$TMPDIR&lt;/span&gt;/list.txt&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;URL&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;https://github.com/1andrevich/Re-filter-lists/releases/latest/download/domains_all.lst&amp;quot;&lt;/span&gt;
&amp;nbsp;
dl&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;#123;&lt;/span&gt;
  &lt;span class=&quot;co0&quot;&gt;# $1 - url&lt;/span&gt;
  &lt;span class=&quot;co0&quot;&gt;# $2 - file&lt;/span&gt;
  &lt;span class=&quot;co0&quot;&gt;# $3 - minsize&lt;/span&gt;
  &lt;span class=&quot;co0&quot;&gt;# $4 - maxsize&lt;/span&gt;
  curl &lt;span class=&quot;re5&quot;&gt;-L&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-H&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Accept-Encoding: gzip&amp;quot;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-k&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--fail&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--max-time&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;60&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--connect-timeout&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--retry&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--max-filesize&lt;/span&gt; &lt;span class=&quot;re4&quot;&gt;$4&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-o&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$TMPLIST&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&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;kw3&quot;&gt;echo&lt;/span&gt; list download failed : &lt;span class=&quot;re4&quot;&gt;$1&lt;/span&gt;
   &lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;
  &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
  &lt;span class=&quot;re2&quot;&gt;dlsize&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;LC_ALL&lt;/span&gt;=C &lt;span class=&quot;re2&quot;&gt;LANG&lt;/span&gt;=C &lt;span class=&quot;kw2&quot;&gt;wc&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$TMPLIST&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;xargs&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;cut&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-f&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039; &#039;&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;kw3&quot;&gt;test&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$dlsize&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-lt&lt;/span&gt; &lt;span class=&quot;re4&quot;&gt;$3&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
   &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; list is too small : &lt;span class=&quot;re1&quot;&gt;$dlsize&lt;/span&gt; bytes. can be bad.
   &lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;
  zzcopy &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$TMPLIST&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$2&amp;quot;&lt;/span&gt;
  &lt;span class=&quot;kw2&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-f&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$TMPLIST&lt;/span&gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# useful in case ipban set is used in custom scripts&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;FAIL&lt;/span&gt;=
getipban &lt;span class=&quot;sy0&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;FAIL&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$IPSET_DIR&lt;/span&gt;/create_ipset.sh&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-n&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$FAIL&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt;
&amp;nbsp;
dl &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$URL&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$ZHOSTLIST&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;32768&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;4194304&lt;/span&gt;
&amp;nbsp;
hup_zapret_daemons
&amp;nbsp;
&lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&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\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b \u043f\u0430\u043a\u0435\u0442\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435_\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438_\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439_\u0441\u0443\u043c\u043c\u044b_\u043f\u0430\u043a\u0435\u0442\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;33803-35331&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit16&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;sy0&quot;&gt;/&lt;/span&gt;tmp&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mnt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;SYS&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;entware&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;zapret&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ipset&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;get_refilter_domains.sh
$ &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;opt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;zapret&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;init.d&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;sysv&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;zapret restart
$ &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;opt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;init.d&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;S00fix start
$ iptables &lt;span class=&quot;re5&quot;&gt;-S&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&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u043f\u0443\u0441\u043a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:16,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;35332-35522&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit17&quot; id=&quot;автозапуск&quot;&gt;Автозапуск&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
nano /jffs/scripts/firewall-start  
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/sh&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;sleep&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;
&amp;nbsp;
logger &lt;span class=&quot;st0&quot;&gt;&amp;quot;hostlist&amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Update domains list&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mnt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;SYS&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;entware&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;zapret&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ipset&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;get_refilter_domains.sh
&amp;nbsp;
logger &lt;span class=&quot;st0&quot;&gt;&amp;quot;firewall&amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Applying dpi-start rules&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;opt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;zapret&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;init.d&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;sysv&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;zapret restart
&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;opt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;init.d&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;S00fix start&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;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;firewall-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;\u0410\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:17,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;35523-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=develop:git">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-20T14:36:24+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Git - распределённая система управления версиями.</title>
        <link>http://178.140.10.58:8080/doku.php?id=develop:git</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:scm&amp;amp;do=showtag&amp;amp;tag=scm&quot; class=&quot;wikilink1&quot; title=&quot;tag:scm&quot; rel=&quot;tag&quot;&gt;scm&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:git&amp;amp;do=showtag&amp;amp;tag=git&quot; class=&quot;wikilink1&quot; title=&quot;tag:git&quot; rel=&quot;tag&quot;&gt;git&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;git_-_распределённая_система_управления_версиями&quot;&gt;Git - распределённая система управления версиями.&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;Git - \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438.&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;git_-_\u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u0430\u044f_\u0441\u0438\u0441\u0442\u0435\u043c\u0430_\u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f_\u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;18-121&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;инструкции&quot;&gt;Инструкции&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=develop%3Agit&amp;amp;media=071433372a.png&quot; class=&quot;media&quot; title=&quot;071433372a.png&quot;&gt;&lt;img src=&quot;http://178.140.10.58:8080/lib/exe/fetch.php?w=200&amp;amp;tok=0e1ca8&amp;amp;media=071433372a.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;  &lt;a href=&quot;http://178.140.10.58:8080/lib/exe/detail.php?id=develop%3Agit&amp;amp;media=18333fig0106-tn.png&quot; class=&quot;media&quot; title=&quot;18333fig0106-tn.png&quot;&gt;&lt;img src=&quot;http://178.140.10.58:8080/lib/exe/fetch.php?w=200&amp;amp;tok=a60e96&amp;amp;media=18333fig0106-tn.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;200&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\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;122-215&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;инициализация_init&quot;&gt;Инициализация / init&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw2&quot;&gt;git init&lt;/span&gt;
$ &lt;span class=&quot;kw2&quot;&gt;git config&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--global&lt;/span&gt; user.name &lt;span class=&quot;st0&quot;&gt;&amp;quot;John Doe&amp;quot;&lt;/span&gt;
$ &lt;span class=&quot;kw2&quot;&gt;git config&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--global&lt;/span&gt; user.email johndoe&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;example.com&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\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \/ init&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f_init&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;216-390&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit4&quot; id=&quot;linux_unix_macos&quot;&gt;Linux/Unix/Macos&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Linux\/Unix\/Macos&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;linux_unix_macos&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;391-416&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit5&quot; id=&quot;global&quot;&gt;global&lt;/h5&gt;
&lt;div class=&quot;level5&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;git config&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--global&lt;/span&gt; core.filemode &lt;span class=&quot;kw2&quot;&gt;false&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;global&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;global&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;417-493&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit6&quot; id=&quot;local&quot;&gt;local&lt;/h5&gt;
&lt;div class=&quot;level5&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;git config&lt;/span&gt; core.filemode &lt;span class=&quot;kw2&quot;&gt;false&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;local&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;local&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;494-560&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit7&quot; id=&quot;windows&quot;&gt;Windows&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Windows&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;windows&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;561-577&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit8&quot; id=&quot;global1&quot;&gt;global&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw2&quot;&gt;git config&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--global&lt;/span&gt; core.filemode &lt;span class=&quot;kw2&quot;&gt;false&lt;/span&gt;
$ &lt;span class=&quot;kw2&quot;&gt;git config&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--global&lt;/span&gt; core.preloadindex &lt;span class=&quot;kw2&quot;&gt;true&lt;/span&gt;
$ &lt;span class=&quot;kw2&quot;&gt;git config&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--global&lt;/span&gt; core.fscache &lt;span class=&quot;kw2&quot;&gt;true&lt;/span&gt;
$ &lt;span class=&quot;kw2&quot;&gt;git config&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--global&lt;/span&gt; gc.auto &lt;span class=&quot;nu0&quot;&gt;256&lt;/span&gt;
$ &lt;span class=&quot;kw2&quot;&gt;git config&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--global&lt;/span&gt; status.submoduleSummary &lt;span class=&quot;kw2&quot;&gt;false&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;global&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;global1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;578-825&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit9&quot; id=&quot;local1&quot;&gt;local&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw2&quot;&gt;git config&lt;/span&gt; core.filemode &lt;span class=&quot;kw2&quot;&gt;false&lt;/span&gt;
$ &lt;span class=&quot;kw2&quot;&gt;git config&lt;/span&gt; core.preloadindex &lt;span class=&quot;kw2&quot;&gt;true&lt;/span&gt;
$ &lt;span class=&quot;kw2&quot;&gt;git config&lt;/span&gt; core.fscache &lt;span class=&quot;kw2&quot;&gt;true&lt;/span&gt;
$ &lt;span class=&quot;kw2&quot;&gt;git config&lt;/span&gt; gc.auto &lt;span class=&quot;nu0&quot;&gt;256&lt;/span&gt;
$ &lt;span class=&quot;kw2&quot;&gt;git config&lt;/span&gt; status.submoduleSummary &lt;span class=&quot;kw2&quot;&gt;false&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;local&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;local1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;826-1027&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&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;\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;1028-1065&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&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;git config&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--local&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-l&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;\u0412\u044b\u0432\u043e\u0434 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u044b\u0432\u043e\u0434_\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445_\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;1066-1180&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;&lt;span class=&quot;kw2&quot;&gt;git config&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--local&lt;/span&gt; core.filemode &lt;span class=&quot;kw2&quot;&gt;true&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 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430_\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;1181-1289&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;актуализация_изменений&quot;&gt;Актуализация изменений&lt;/h2&gt;
&lt;div class=&quot;level2&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;git checkout&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--&lt;/span&gt; . &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;git pull&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;git submodule&lt;/span&gt; update &lt;span class=&quot;re5&quot;&gt;--init&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--recursive&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;\u0410\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f_\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;1290-1442&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit14&quot; id=&quot;локальное_хранилище_stage&quot;&gt;Локальное хранилище / stage&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;/div&gt;&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git add &amp;lt;имя_файла&amp;gt;&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git add * &lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git add .&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git add -A&lt;/strong&gt; - Добавить в индекс только удаленные файлы
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Удаление из индекса 
&lt;/div&gt;&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git rm &amp;lt;имя_файла&amp;gt;&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git rm *.php&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git reset&lt;/strong&gt; - Отменить индексацию последних изменений
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git rm –cached &amp;lt;ИМЯ_ФАЙЛА&amp;gt;&lt;/strong&gt; - Удалить из индекса файл и добавить в игнор. Файл останется в каталоге.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git reset HEAD benchmarks.rb&lt;/strong&gt; - Отменить индексацию файла benchmarks.rb
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&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;\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \/ stage&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0435_\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435_stage&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;1443-2221&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit15&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;strong&gt;git clone&lt;/strong&gt; &lt;a href=&quot;http://site.com/git&quot; class=&quot;urlextern&quot; title=&quot;http://site.com/git&quot; rel=&quot;ugc nofollow&quot;&gt;http://site.com/git&lt;/a&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Фиксация изменений
&lt;/div&gt;&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git commit -m &amp;quot;Описание коммита&amp;quot;&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git checkout &amp;lt;hash-коммита&amp;gt;&lt;/strong&gt; - Переключиться на определенный коммит
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git commit –amend&lt;/strong&gt; - Удаление последнего коммита
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Восстановление файлов из репозитория
&lt;/div&gt;&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git checkout &amp;lt;branch&amp;gt;&lt;/strong&gt; # Перемещение указателя HEAD на комит или ветку
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git reset –hard HEAD~n&lt;/strong&gt; # Перемещение указателя HEAD на комит
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git checkout – &amp;lt;имя_файла&amp;gt;&lt;/strong&gt; - восстановление файла из репозитория
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git reset –hard origin/master&lt;/strong&gt; - удалить все локальные изменения и коммиты
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git reset –hard origin/master&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git reset –hard HEAD^&lt;/strong&gt; # Сбросить все локальные измеения до текущего состояния
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Перемещение комитов
&lt;/div&gt;&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git rebase -i HEAD~n&lt;/strong&gt; # Позволяет переупорядочивать, менять комменты, выборочно удалять и прочее
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Ветвление branch
&lt;/div&gt;&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git branch bug1&lt;/strong&gt; Создать ветку bug1 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git branch -d bug1&lt;/strong&gt; Удалить ветку bug1
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Пересадка веток / rebase 
&lt;/div&gt;&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git rebase master&lt;/strong&gt; 
&lt;/div&gt;&lt;ol&gt;
&lt;li class=&quot;level4&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 git checkout master # переключаемся на бранч master
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level4&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 git rebase bug1 # пересаживаем историю изменений ветки bug1 в master
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 или
&lt;/div&gt;&lt;ol&gt;
&lt;li class=&quot;level4&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 git checkout bug1
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level4&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 git rebase master
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level4&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 git checkout master
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level4&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 git merge bug1 # При этом произойдет fast-forward merge
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&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;\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439_\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;2222-4160&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit16&quot; id=&quot;log&quot;&gt;log&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
выводит хеш и заголовок сообщения (первая строка) в одну строку
&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;git log&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--oneline&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
рисует граф веток, показывает их объединения и названия, но оставляет вывод кратким
&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;git log&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--oneline&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--graph&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--all&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Показывает только короткий хэш коммита, полностью убирая текст сообщения
&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;git log&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--format&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;%h&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;log&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;log&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;4161-4722&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit17&quot; id=&quot;отмена_коммитов&quot;&gt;Отмена коммитов&lt;/h4&gt;
&lt;div class=&quot;level4&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\u043c\u0435\u043d\u0430 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0442\u043c\u0435\u043d\u0430_\u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;4723-4761&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit18&quot; id=&quot;до_комита&quot;&gt;До комита&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 git reset –hard HEAD
&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\u043e\u043c\u0438\u0442\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043e_\u043a\u043e\u043c\u0438\u0442\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;4762-4813&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit19&quot; id=&quot;после_комита&quot;&gt;После комита&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 git reset –hard ORIG_HEAD
&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\u0441\u043b\u0435 \u043a\u043e\u043c\u0438\u0442\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u0441\u043b\u0435_\u043a\u043e\u043c\u0438\u0442\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;4814-4876&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit20&quot; id=&quot;документация&quot;&gt;Документация&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://githowto.com/ru/undoing_committed_changes&quot; class=&quot;urlextern&quot; title=&quot;http://githowto.com/ru/undoing_committed_changes&quot; rel=&quot;ugc nofollow&quot;&gt;http://githowto.com/ru/undoing_committed_changes&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://uleming.github.io/gitbook/3_%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D0%B5%D1%82%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D0%B8_%D1%81%D0%BB%D0%B8%D1%8F%D0%BD%D0%B8%D0%B5%D0%BC.html&quot; class=&quot;urlextern&quot; title=&quot;http://uleming.github.io/gitbook/3_%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D0%B5%D1%82%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D0%B8_%D1%81%D0%BB%D0%B8%D1%8F%D0%BD%D0%B8%D0%B5%D0%BC.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://uleming.github.io/gitbook/3_%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D0%B5%D1%82%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D0%B8_%D1%81%D0%BB%D0%B8%D1%8F%D0%BD%D0%B8%D0%B5%D0%BC.html&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;:11,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;4877-5183&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit21&quot; id=&quot;временное_хранилище_stash&quot;&gt;Временное хранилище / Stash&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Часто возникает такая ситуация, что пока вы работаете над частью своего проекта, всё находится в беспорядочном состоянии, а вам нужно переключить ветки, чтобы немного поработать над чем-то другим.
&lt;a href=&quot;http://git-scm.com/book/ru/v1/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-Git-%D0%9F%D1%80%D1%8F%D1%82%D0%B0%D0%BD%D1%8C%D0%B5&quot; class=&quot;urlextern&quot; title=&quot;http://git-scm.com/book/ru/v1/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-Git-%D0%9F%D1%80%D1%8F%D1%82%D0%B0%D0%BD%D1%8C%D0%B5&quot; rel=&quot;ugc nofollow&quot;&gt;Подробнее...&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Вместо &lt;strong&gt;git reset –hard&lt;/strong&gt;, можно сначала файлы сохранять во временное хранилище, затем применять изменения.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git stash&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;git stash apply&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;git stash drop&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;git stash list&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;git stash show&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;git stash pop&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;git stash clear&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;\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \/ Stash&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0435_\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435_stash&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;5184-6763&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit22&quot; id=&quot;удаленный_репозиторий_origin&quot;&gt;Удаленный репозиторий / origin&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;/div&gt;&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git push origin master&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git remote add origin &amp;lt;адрес_сервера&amp;gt;&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&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\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \/ origin&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0439_\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439_origin&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:22,&amp;quot;range&amp;quot;:&amp;quot;6764-6956&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit23&quot; id=&quot;submodule_субмодули&quot;&gt;Submodule / Субмодули&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;
 git submodule add git@github.com:Mirocow/express-chat.git
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 git submodule update –init [express-chat]
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 git submodule update –init –recursive - обновить все зависимые модули (репозитории)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 git rm -r yii2-mongodb - Удалить сабмодуль yii2-mongodb
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;git rm -r yii2-redactor&lt;/strong&gt; - Удалить сабмодуль yii2-redactor &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;strong&gt;git submodule add – /to/path/git/dir&lt;/strong&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;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Submodule \/ \u0421\u0443\u0431\u043c\u043e\u0434\u0443\u043b\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;submodule_\u0441\u0443\u0431\u043c\u043e\u0434\u0443\u043b\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:23,&amp;quot;range&amp;quot;:&amp;quot;6957-7592&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit24&quot; id=&quot;как_вынести_код_в_отдельный_репозитоий&quot;&gt;Как вынести код в отдельный репозитоий&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Дано:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Основной репозиторий &lt;strong&gt;app/&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;app/vendor/mirocow/yii2-redactor&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;путь-до-репозитория/yii2-redactor&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; удаляем если есть уже ранее созданный модуль git rm -rf yii2-redactor&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; обязательно переходим в добавляемую папку &lt;strong&gt;app/vendor/mirocow&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;git submodule add -f путь-до-репозитория/yii2-redactor/&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;\u041a\u0430\u043a \u0432\u044b\u043d\u0435\u0441\u0442\u0438 \u043a\u043e\u0434 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0438\u0439&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u0430\u043a_\u0432\u044b\u043d\u0435\u0441\u0442\u0438_\u043a\u043e\u0434_\u0432_\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439_\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0438\u0439&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:24,&amp;quot;range&amp;quot;:&amp;quot;7593-8376&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit25&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&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0442\u043b\u0430\u0434\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:25,&amp;quot;range&amp;quot;:&amp;quot;8377-8404&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit26&quot; id=&quot;git_curl_verbose&quot;&gt;GIT_CURL_VERBOSE&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;re2&quot;&gt;GIT_CURL_VERBOSE&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;git clone&lt;/span&gt; htps:&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;GIT_CURL_VERBOSE&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;git_curl_verbose&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:26,&amp;quot;range&amp;quot;:&amp;quot;8405-8495&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit27&quot; id=&quot;git_trace&quot;&gt;GIT_TRACE&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Принимает значаения 1, 2 или true
&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;re2&quot;&gt;GIT_TRACE&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;git clone&lt;/span&gt; htps:&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;GIT_TRACE&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;git_trace&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:27,&amp;quot;range&amp;quot;:&amp;quot;8496-8628&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit28&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;git config color.ui true&lt;/strong&gt; - использовать цветной вывод в терминале
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;
&lt;a href=&quot;http://marklodato.github.io/visual-git-guide/index-ru.html?no-svg&quot; class=&quot;urlextern&quot; title=&quot;http://marklodato.github.io/visual-git-guide/index-ru.html?no-svg&quot; rel=&quot;ugc nofollow&quot;&gt;http://marklodato.github.io/visual-git-guide/index-ru.html?no-svg&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;\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;:13,&amp;quot;secid&amp;quot;:28,&amp;quot;range&amp;quot;:&amp;quot;8629-8836&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit29&quot; id=&quot;настройка_deploy_on_github&quot;&gt;Настройка deploy on github&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Настройка github для работы с &lt;strong&gt;Deploy keys&lt;/strong&gt;
&lt;/p&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=git:github:deploy&quot; class=&quot;wikilink1&quot; title=&quot;git:github:deploy&quot; data-wiki-id=&quot;git:github:deploy&quot;&gt;Настройка deploy on github&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\u0430 deploy on github&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430_deploy_on_github&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:29,&amp;quot;range&amp;quot;:&amp;quot;8837-8979&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit30&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\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;:13,&amp;quot;secid&amp;quot;:30,&amp;quot;range&amp;quot;:&amp;quot;8980-9005&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit31&quot; id=&quot;ошибкаthere_is_no_tracking_information_for_the_current_branch&quot;&gt;Ошибка: There is no tracking information for the current branch&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
При возникновении ошибки вида
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw2&quot;&gt;git pull&lt;/span&gt;
There is no tracking information &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; the current branch.
Please specify &lt;span class=&quot;kw2&quot;&gt;which&lt;/span&gt; branch you want to rebase against.
See &lt;span class=&quot;kw2&quot;&gt;git-pull&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; &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; details
&amp;nbsp;
    &lt;span class=&quot;kw2&quot;&gt;git pull&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;remote&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;branch&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;
If you wish to &lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; tracking information &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; this branch you can &lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt; so with:
&amp;nbsp;
    &lt;span class=&quot;kw2&quot;&gt;git branch&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--set-upstream-to&lt;/span&gt;=origin&lt;span class=&quot;sy0&quot;&gt;/&amp;lt;&lt;/span&gt;branch&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; master&lt;/pre&gt;

&lt;p&gt;
следует выполнить
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ &lt;span class=&quot;kw2&quot;&gt;git pull&lt;/span&gt; origin master
$ &lt;span class=&quot;kw2&quot;&gt;git branch&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--set-upstream-to&lt;/span&gt;=origin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;master master
$ &lt;span class=&quot;kw2&quot;&gt;git pull&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\u0448\u0438\u0431\u043a\u0430: There is no tracking information for the current branch&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0448\u0438\u0431\u043a\u0430there_is_no_tracking_information_for_the_current_branch&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:31,&amp;quot;range&amp;quot;:&amp;quot;9006-9625&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit32&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.youtube.com/playlist?list=PLY4rE9dstrJyTdVJpv7FibSaXB4BHPInb&quot; class=&quot;urlextern&quot; title=&quot;https://www.youtube.com/playlist?list=PLY4rE9dstrJyTdVJpv7FibSaXB4BHPInb&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.youtube.com/playlist?list=PLY4rE9dstrJyTdVJpv7FibSaXB4BHPInb&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;\u0412\u0438\u0434\u0435\u043e\u0443\u0440\u043e\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u0438\u0434\u0435\u043e\u0443\u0440\u043e\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:15,&amp;quot;secid&amp;quot;:32,&amp;quot;range&amp;quot;:&amp;quot;9626-9737&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit33&quot; id=&quot;документация1&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;&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=unix:git:mini-doc&quot; class=&quot;wikilink1&quot; title=&quot;unix:git:mini-doc&quot; data-wiki-id=&quot;unix:git:mini-doc&quot;&gt;Мини документация&lt;/a&gt;&lt;/strong&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;strong&gt;&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=unix:git:history-change&quot; class=&quot;wikilink1&quot; title=&quot;unix:git:history-change&quot; data-wiki-id=&quot;unix:git:history-change&quot;&gt;Редактирование истории в git&lt;/a&gt;&lt;/strong&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;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://git-scm.com/book/ru/v2/&quot; class=&quot;urlextern&quot; title=&quot;https://git-scm.com/book/ru/v2/&quot; rel=&quot;ugc nofollow&quot;&gt;https://git-scm.com/book/ru/v2/&lt;/a&gt; - Pro Git (русский) ver 2 &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=unix:git:gitignore&quot; class=&quot;wikilink1&quot; title=&quot;unix:git:gitignore&quot; data-wiki-id=&quot;unix:git:gitignore&quot;&gt;.gitignore файл&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&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:github:deploy&quot; class=&quot;wikilink1&quot; title=&quot;git:github:deploy&quot; data-wiki-id=&quot;git:github:deploy&quot;&gt;Настройка deploy on github&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&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: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;wikilink1&quot; title=&quot;system:git-репозиторий_под_ubuntu&quot; data-wiki-id=&quot;system:git-репозиторий_под_ubuntu&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=drupal:workflow-git&quot; class=&quot;wikilink1&quot; title=&quot;drupal:workflow-git&quot; data-wiki-id=&quot;drupal:workflow-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_vs_hg&quot; class=&quot;wikilink1&quot; title=&quot;git_vs_hg&quot; data-wiki-id=&quot;git_vs_hg&quot;&gt;GIT vs HG&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&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:git&quot; class=&quot;wikilink1&quot; title=&quot;unix:git&quot; data-wiki-id=&quot;unix:git&quot;&gt;Скрипт автоматической загрузки c github&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&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_vs_hg&quot; class=&quot;wikilink1&quot; title=&quot;git_vs_hg&quot; data-wiki-id=&quot;git_vs_hg&quot;&gt;GIT vs HG&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&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:git:gitignore&quot; class=&quot;wikilink1&quot; title=&quot;unix:git:gitignore&quot; data-wiki-id=&quot;unix:git:gitignore&quot;&gt;.gitignore&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://gitimmersion.ru/&quot; class=&quot;urlextern&quot; title=&quot;http://gitimmersion.ru/&quot; rel=&quot;ugc nofollow&quot;&gt;http://gitimmersion.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;http://git-scm.com/book/ru&quot; class=&quot;urlextern&quot; title=&quot;http://git-scm.com/book/ru&quot; rel=&quot;ugc nofollow&quot;&gt;http://git-scm.com/book/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;http://git-scm.com/book/ru/v1&quot; class=&quot;urlextern&quot; title=&quot;http://git-scm.com/book/ru/v1&quot; rel=&quot;ugc nofollow&quot;&gt;http://git-scm.com/book/ru/v1&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://www-cs-students.stanford.edu/~blynn/gitmagic/intl/ru&quot; class=&quot;urlextern&quot; title=&quot;http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/ru&quot; rel=&quot;ugc nofollow&quot;&gt;http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/ru&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=develope:gitlab&quot; class=&quot;wikilink2&quot; title=&quot;develope:gitlab&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;develope:gitlab&quot;&gt;gitlab&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\u044f1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:15,&amp;quot;secid&amp;quot;:33,&amp;quot;range&amp;quot;:&amp;quot;9738-10440&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit34&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://about.gitlab.com/&quot; class=&quot;urlextern&quot; title=&quot;https://about.gitlab.com/&quot; rel=&quot;ugc nofollow&quot;&gt;https://about.gitlab.com/&lt;/a&gt; / &lt;a href=&quot;https://github.com/gitlabhq/gitlabhq&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/gitlabhq/gitlabhq&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/gitlabhq/gitlabhq&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&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0435\u0440\u0432\u0435\u0440&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:15,&amp;quot;secid&amp;quot;:34,&amp;quot;range&amp;quot;:&amp;quot;10441-10536&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit35&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=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;https://github.com/rowanj/gitx&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/rowanj/gitx&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/rowanj/gitx&lt;/a&gt;
&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.sourcetreeapp.com/&quot; class=&quot;urlextern&quot; title=&quot;https://www.sourcetreeapp.com/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.sourcetreeapp.com/&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;:15,&amp;quot;secid&amp;quot;:35,&amp;quot;range&amp;quot;:&amp;quot;10537-10660&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit36&quot; id=&quot;code_review&quot;&gt;Code Review&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.google.com/p/gerrit/&quot; class=&quot;urlextern&quot; title=&quot;https://code.google.com/p/gerrit/&quot; rel=&quot;ugc nofollow&quot;&gt;https://code.google.com/p/gerrit/&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;Code Review&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;code_review&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:15,&amp;quot;secid&amp;quot;:36,&amp;quot;range&amp;quot;:&amp;quot;10661-10723&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit37&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;http://habrahabr.ru/post/174467/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/174467/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/174467/&lt;/a&gt;
&lt;/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.redmine.org/boards/2/topics/15536&quot; class=&quot;urlextern&quot; title=&quot;http://www.redmine.org/boards/2/topics/15536&quot; rel=&quot;ugc nofollow&quot;&gt;How to link to Git commit&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://book.git-scm.com/4_undoing_in_git_-_reset,_checkout_and_revert.html&quot; class=&quot;urlextern&quot; title=&quot;http://book.git-scm.com/4_undoing_in_git_-_reset,_checkout_and_revert.html&quot; rel=&quot;ugc nofollow&quot;&gt;Undoing in Git - Reset, Checkout and Revert&lt;/a&gt;
&lt;/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-cs-students.stanford.edu/~blynn/gitmagic/intl/ru/index.html&quot; class=&quot;urlextern&quot; title=&quot;http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/ru/index.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/ru/index.html&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://marklodato.github.com/visual-git-guide/index-ru.html&quot; class=&quot;urlextern&quot; title=&quot;http://marklodato.github.com/visual-git-guide/index-ru.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://marklodato.github.com/visual-git-guide/index-ru.html&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/106912/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/106912/&quot; rel=&quot;ugc nofollow&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://habrahabr.ru/post/60030/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/60030/&quot; rel=&quot;ugc nofollow&quot;&gt;Git Workflow&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://blog.nsws.ru/rabota-s-git-dlya-nachinayushhix.html&quot; class=&quot;urlextern&quot; title=&quot;http://blog.nsws.ru/rabota-s-git-dlya-nachinayushhix.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://blog.nsws.ru/rabota-s-git-dlya-nachinayushhix.html&lt;/a&gt;
&lt;/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-cs-students.stanford.edu/~blynn/gitmagic/intl/ru/ch02.html&quot; class=&quot;urlextern&quot; title=&quot;http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/ru/ch02.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/ru/ch02.html&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://lezhnevs.ru/git&quot; class=&quot;urlextern&quot; title=&quot;http://lezhnevs.ru/git&quot; rel=&quot;ugc nofollow&quot;&gt;http://lezhnevs.ru/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://lezhnevs.ru/git/submodule&quot; class=&quot;urlextern&quot; title=&quot;http://lezhnevs.ru/git/submodule&quot; rel=&quot;ugc nofollow&quot;&gt;http://lezhnevs.ru/git/submodule&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://lezhnevs.ru/git/kontrol-bazyi-dannyih-vmeste-s-faylami&quot; class=&quot;urlextern&quot; title=&quot;http://lezhnevs.ru/git/kontrol-bazyi-dannyih-vmeste-s-faylami&quot; rel=&quot;ugc nofollow&quot;&gt;http://lezhnevs.ru/git/kontrol-bazyi-dannyih-vmeste-s-faylami&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://rogerdudler.github.com/git-guide/index.ru.html&quot; class=&quot;urlextern&quot; title=&quot;http://rogerdudler.github.com/git-guide/index.ru.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://rogerdudler.github.com/git-guide/index.ru.html&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://programilla.com/blog/siteconstruction/325.html&quot; class=&quot;urlextern&quot; title=&quot;http://programilla.com/blog/siteconstruction/325.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://programilla.com/blog/siteconstruction/325.html&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://ignar.name/articles/git-create-remote-branch.html&quot; class=&quot;urlextern&quot; title=&quot;http://ignar.name/articles/git-create-remote-branch.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://ignar.name/articles/git-create-remote-branch.html&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://blog.sectorit.net/development/430&quot; class=&quot;urlextern&quot; title=&quot;http://blog.sectorit.net/development/430&quot; rel=&quot;ugc nofollow&quot;&gt;http://blog.sectorit.net/development/430&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/75990/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/75990/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/75990/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://jetwalker.blogspot.ru/2012/01/receivedenycurrentbranch.html&quot; class=&quot;urlextern&quot; title=&quot;http://jetwalker.blogspot.ru/2012/01/receivedenycurrentbranch.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://jetwalker.blogspot.ru/2012/01/receivedenycurrentbranch.html&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://stackoverflow.com/questions/2816369/git-push-error-remote-rejected-master-master-branch-is-currently-checked&quot; class=&quot;urlextern&quot; title=&quot;http://stackoverflow.com/questions/2816369/git-push-error-remote-rejected-master-master-branch-is-currently-checked&quot; rel=&quot;ugc nofollow&quot;&gt;http://stackoverflow.com/questions/2816369/git-push-error-remote-rejected-master-master-branch-is-currently-checked&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://stepansuvorov.com/blog/2014/07/how-to-update-the-git-fork/&quot; class=&quot;urlextern&quot; title=&quot;http://stepansuvorov.com/blog/2014/07/how-to-update-the-git-fork/&quot; rel=&quot;ugc nofollow&quot;&gt;How to update the git fork&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/161009/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/161009/&quot; rel=&quot;ugc nofollow&quot;&gt;Git Rebase: руководство по использованию&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/195674/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/195674/&quot; rel=&quot;ugc nofollow&quot;&gt;Тонкости благополучного git-merge&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/157175/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/157175/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/157175/&lt;/a&gt;
&lt;/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-cs-students.stanford.edu/~blynn/gitmagic/intl/ru/ch02.html&quot; class=&quot;urlextern&quot; title=&quot;http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/ru/ch02.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/ru/ch02.html&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://found-notes.blogspot.ru/&quot; class=&quot;urlextern&quot; title=&quot;http://found-notes.blogspot.ru/&quot; rel=&quot;ugc nofollow&quot;&gt;http://found-notes.blogspot.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://proglib.io/p/git-cheatsheet/&quot; class=&quot;urlextern&quot; title=&quot;https://proglib.io/p/git-cheatsheet/&quot; rel=&quot;ugc nofollow&quot;&gt;https://proglib.io/p/git-cheatsheet/&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\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:15,&amp;quot;secid&amp;quot;:37,&amp;quot;range&amp;quot;:&amp;quot;10724-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=nodejs:pnpm">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-18T06:05:34+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>PNPM - Пакетный менеджер для nodejs</title>
        <link>http://178.140.10.58:8080/doku.php?id=nodejs:pnpm</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:npm&amp;amp;do=showtag&amp;amp;tag=%5Bnpm&quot; class=&quot;wikilink1&quot; title=&quot;tag:npm&quot; rel=&quot;tag&quot;&gt;[npm&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:pnpm&amp;amp;do=showtag&amp;amp;tag=pnpm%5D&quot; class=&quot;wikilink1&quot; title=&quot;tag:pnpm&quot; rel=&quot;tag&quot;&gt;pnpm]&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pnpm_-_пакетный_менеджер_для_nodejs&quot;&gt;PNPM - Пакетный менеджер для nodejs&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;PNPM - \u041f\u0430\u043a\u0435\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0434\u043b\u044f nodejs&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pnpm_-_\u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0439_\u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440_\u0434\u043b\u044f_nodejs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;21-90&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 bash&quot;&gt;$ npm &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-g&lt;/span&gt; pnpm
$ npm &lt;span class=&quot;re5&quot;&gt;--registry&lt;/span&gt; http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;192.168.1.132:&lt;span class=&quot;nu0&quot;&gt;8081&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;repository&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;npm&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-g&lt;/span&gt; pnpm&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;:2,&amp;quot;range&amp;quot;:&amp;quot;91-240&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;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;pnpm config &lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; network-concurrency &lt;span class=&quot;nu0&quot;&gt;10&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\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;:3,&amp;quot;range&amp;quot;:&amp;quot;241-334&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;использование&quot;&gt;Использование&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;plugin_note noteimportant&quot;&gt;&lt;strong&gt;В pnpm v10 появилась новая фича безопасности&lt;/strong&gt;: скрипты сборки по умолчанию блокируются, пока ты явно не одобришь пакеты. postinstall скрипт electron (который скачивает бинарник) не выполнился, поэтому файл не загрузился.
&lt;/div&gt;&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# 1️⃣ Запусти&lt;/span&gt;
$ pnpm approve-builds
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# 2️⃣ В меню НАЙДИ строку:&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#    ☐ electron@33.4.11&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# 3️⃣ НАЖМИ ПРОБЕЛ на клавиатуре → строка изменится на:&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#    ☑ electron@33.4.11   ← галочка появилась!&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# 4️⃣ Нажми ENTER для сохранения&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# 5️⃣ Переустанови&lt;/span&gt;
$ pnpm &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--force&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# 1️⃣ Проверь, что electron теперь работает&lt;/span&gt;
$ pnpm &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; electron &lt;span class=&quot;re5&quot;&gt;--version&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Должно вывести: v33.4.11 ✅&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# 2️⃣ Если хочешь убрать warning про ollama — собери CLI&lt;/span&gt;
$ pnpm &lt;span class=&quot;re5&quot;&gt;--filter&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;ollama-code&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ollama-code run build
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# 3️⃣ Запусти electron-приложение&lt;/span&gt;
$ pnpm &lt;span class=&quot;re5&quot;&gt;--filter&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;ollama-code&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;electron run dev&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\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;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;335-1597&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&quot;&gt;{
  &amp;quot;pnpm&amp;quot;: {
    &amp;quot;allowedBuilds&amp;quot;: [&amp;quot;electron&amp;quot;]
  }
}&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;pnpm &lt;span class=&quot;re5&quot;&gt;--filter&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;ollama-code&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;electron &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; electron&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;33.4.11 &lt;span class=&quot;re5&quot;&gt;--force&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ npm &lt;span class=&quot;re5&quot;&gt;--registry&lt;/span&gt; http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;192.168.1.132:&lt;span class=&quot;nu0&quot;&gt;8081&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;repository&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;npm&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-g&lt;/span&gt; pnpm
$ pnpm &lt;span class=&quot;re5&quot;&gt;--registry&lt;/span&gt; http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;192.168.1.132:&lt;span class=&quot;nu0&quot;&gt;8081&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;repository&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;npm&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--filter&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;ollama-code&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;electron &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; electron&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;33.4.11 &lt;span class=&quot;re5&quot;&gt;--force&lt;/span&gt;
$ pnpm &lt;span class=&quot;re5&quot;&gt;--registry&lt;/span&gt; http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;192.168.1.132:&lt;span class=&quot;nu0&quot;&gt;8081&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;repository&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;npm&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--force&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--network-concurrency&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;
$ pnpm &lt;span class=&quot;re5&quot;&gt;--filter&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;ollama-code&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;electron add electron&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;33.4.11 &lt;span class=&quot;re5&quot;&gt;--force&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\u0433\u043e\u043b\u043e\u0432\u043e\u043a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1598-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=develop:nodejs:start">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-18T02:27:41+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>Node.JS</title>
        <link>http://178.140.10.58:8080/doku.php?id=develop:nodejs:start</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:node&amp;amp;do=showtag&amp;amp;tag=node&quot; class=&quot;wikilink1&quot; title=&quot;tag:node&quot; rel=&quot;tag&quot;&gt;node&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:languages&amp;amp;do=showtag&amp;amp;tag=languages&quot; class=&quot;wikilink1&quot; title=&quot;tag:languages&quot; rel=&quot;tag&quot;&gt;languages&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;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:supervisor&amp;amp;do=showtag&amp;amp;tag=supervisor&quot; class=&quot;wikilink1&quot; title=&quot;tag:supervisor&quot; rel=&quot;tag&quot;&gt;supervisor&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:initd&amp;amp;do=showtag&amp;amp;tag=initd&quot; class=&quot;wikilink1&quot; title=&quot;tag:initd&quot; rel=&quot;tag&quot;&gt;initd&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:service&amp;amp;do=showtag&amp;amp;tag=service&quot; class=&quot;wikilink1&quot; title=&quot;tag:service&quot; rel=&quot;tag&quot;&gt;service&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:script&amp;amp;do=showtag&amp;amp;tag=script&quot; class=&quot;wikilink1&quot; title=&quot;tag:script&quot; rel=&quot;tag&quot;&gt;script&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;nodejs&quot;&gt;Node.JS&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;Node.JS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nodejs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;64-86&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;установка_nodejs_npm&quot;&gt;Установка nodejs + npm&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;plugin_note notetip&quot;&gt;&lt;pre class=&quot;code bash&quot;&gt;$ npm &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; will &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; both &lt;span class=&quot;st0&quot;&gt;&amp;quot;dependencies&amp;quot;&lt;/span&gt; and &lt;span class=&quot;st0&quot;&gt;&amp;quot;devDependencies&amp;quot;&lt;/span&gt;
$ npm &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--production&lt;/span&gt; will only &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;dependencies&amp;quot;&lt;/span&gt;
$ npm &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--dev&lt;/span&gt; will only &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;devDependencies&amp;quot;&lt;/span&gt;&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;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 nodejs + npm&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430_nodejs_npm&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;87-355&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;debian&quot;&gt;Debian&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;div class=&quot;plugin_note notetip&quot;&gt;&lt;pre class=&quot;code bash&quot;&gt;$ curl &lt;span class=&quot;re5&quot;&gt;-sL&lt;/span&gt; https:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;deb.nodesource.com&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;setup &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;bash&lt;/span&gt; -
$ curl &lt;span class=&quot;re5&quot;&gt;-L&lt;/span&gt; https:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;npmjs.com&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;install.sh &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sh&lt;/span&gt;&lt;/pre&gt;

&lt;/div&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/nodesource/distributions/blob/master/README.md&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/nodesource/distributions/blob/master/README.md&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/nodesource/distributions/blob/master/README.md&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;Debian&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;debian&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;356-579&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;пакетный_менеджер_npm&quot;&gt;Пакетный менеджер npm&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;http://178.140.10.58:8080/doku.php?id=develop:nodejs:npm&quot; class=&quot;wikilink2&quot; title=&quot;develop:nodejs:npm&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;develop:nodejs:npm&quot;&gt;npm&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&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:nodejs:pnpm&quot; class=&quot;wikilink2&quot; title=&quot;develop:nodejs:pnpm&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;develop:nodejs:pnpm&quot;&gt;pnpm&lt;/a&gt;
&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://npmjs.org/&quot; class=&quot;urlextern&quot; title=&quot;https://npmjs.org/&quot; rel=&quot;ugc nofollow&quot;&gt;https://npmjs.org/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/133363/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/133363/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/133363/&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\u0430\u043a\u0435\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 npm&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0439_\u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440_npm&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;580-714&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&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/joyent/node/wiki/Installing-Node.js-via-package-manager&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager&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;\u0441 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441_\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;715-831&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;strong&gt;installing from npm fails&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class=&quot;code&quot;&gt;npm config set registry http://registry.npmjs.org/&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 \u043e\u0448\u0438\u0431\u043e\u043a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435_\u043e\u0448\u0438\u0431\u043e\u043a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;832-969&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;демонизируем_nodejs_forever&quot;&gt;Демонизируем Node.Js / Forever&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
forever - модуль разработанный nodejitsu, - нужен для того, чтобы запускать приложения в виде демона (режиме постоянного выполнения - отсюда и название модуля). Если приложение по каким-то причинам прекращает свое выполнение, то forever его перезапускает. Также, данный модуль имеет &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt;, так что вы можете использовать его в коде своих проектов.
&lt;/p&gt;

&lt;p&gt;
forver может быть установлен при помощи npm:
&lt;/p&gt;
&lt;pre class=&quot;code js&quot;&gt;sudo npm -g install forever&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\u0435\u043c\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u043c Node.Js \/ Forever&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u0435\u043c\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u043c_nodejs_forever&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;970-1748&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&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&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0442\u043b\u0430\u0434\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;1749-1777&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;a href=&quot;https://nodejs.org/dist/latest-v5.x/docs/api/&quot; class=&quot;urlextern&quot; title=&quot;https://nodejs.org/dist/latest-v5.x/docs/api/&quot; rel=&quot;ugc nofollow&quot;&gt;https://nodejs.org/dist/latest-v5.x/docs/api/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&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:npm&quot; class=&quot;wikilink1&quot; title=&quot;nodejs:npm&quot; data-wiki-id=&quot;nodejs:npm&quot;&gt;npm&lt;/a&gt; - Пакетный менеджер
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&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:index&quot; class=&quot;wikilink1&quot; title=&quot;nodejs:index&quot; data-wiki-id=&quot;nodejs:index&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=nodejs:debug&quot; class=&quot;wikilink1&quot; title=&quot;nodejs:debug&quot; data-wiki-id=&quot;nodejs:debug&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=nodejs:architecture&quot; class=&quot;wikilink1&quot; title=&quot;nodejs:architecture&quot; data-wiki-id=&quot;nodejs:architecture&quot;&gt;Архитектура&lt;/a&gt; - Событийная работа в nodejs осуществляется библиотекой libUV
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&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:timers&quot; class=&quot;wikilink2&quot; title=&quot;nodejs:timers&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;nodejs:timers&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=nodejs:events&quot; class=&quot;wikilink2&quot; title=&quot;nodejs:events&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;nodejs:events&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=nodejs:io&quot; class=&quot;wikilink2&quot; title=&quot;nodejs:io&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;nodejs:io&quot;&gt;IO/Ввод-Вывод&lt;/a&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=nodejs:io:fs&quot; class=&quot;wikilink1&quot; title=&quot;nodejs:io:fs&quot; data-wiki-id=&quot;nodejs:io:fs&quot;&gt;Работа с файловой системой&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&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:modules&quot; class=&quot;wikilink1&quot; title=&quot;nodejs:modules&quot; data-wiki-id=&quot;nodejs:modules&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=nodejs:try_catch:async&quot; class=&quot;wikilink1&quot; title=&quot;nodejs:try_catch:async&quot; data-wiki-id=&quot;nodejs:try_catch:async&quot;&gt;Асинхронный try..catch&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&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:app-framework&quot; class=&quot;wikilink1&quot; title=&quot;nodejs:app-framework&quot; data-wiki-id=&quot;nodejs:app-framework&quot;&gt;Фреймворки&lt;/a&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=nodejs:templates&quot; class=&quot;wikilink1&quot; title=&quot;nodejs:templates&quot; data-wiki-id=&quot;nodejs:templates&quot;&gt;Шаблонизаторы&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&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:apps&quot; class=&quot;wikilink1&quot; title=&quot;nodejs:apps&quot; data-wiki-id=&quot;nodejs:apps&quot;&gt;Программы&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;:9,&amp;quot;range&amp;quot;:&amp;quot;1778-2669&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;
 GM &lt;a href=&quot;http://aheckmann.github.io/gm/&quot; class=&quot;urlextern&quot; title=&quot;http://aheckmann.github.io/gm/&quot; rel=&quot;ugc nofollow&quot;&gt;http://aheckmann.github.io/gm/&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;\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;2670-2742&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;парсинг_web_console_webkit&quot;&gt;Парсинг / Web console (webkit)&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;http://178.140.10.58:8080/doku.php?id=node:phantomjs&quot; class=&quot;wikilink2&quot; title=&quot;node:phantomjs&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;node:phantomjs&quot;&gt;phantomjs&lt;/a&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li class=&quot;level2&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;/ul&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\u0440\u0441\u0438\u043d\u0433 \/ Web console (webkit)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0430\u0440\u0441\u0438\u043d\u0433_web_console_webkit&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;2743-2842&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&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;strong&gt;&lt;a href=&quot;https://nodejs.org/api/&quot; class=&quot;urlextern&quot; title=&quot;https://nodejs.org/api/&quot; rel=&quot;ugc nofollow&quot;&gt;https://nodejs.org/api/&lt;/a&gt;&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;&lt;a href=&quot;http://nodeguide.ru/doc/&quot; class=&quot;urlextern&quot; title=&quot;http://nodeguide.ru/doc/&quot; rel=&quot;ugc nofollow&quot;&gt;http://nodeguide.ru/doc/&lt;/a&gt;&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;&lt;a href=&quot;http://nodebeginner.ru/&quot; class=&quot;urlextern&quot; title=&quot;http://nodebeginner.ru/&quot; rel=&quot;ugc nofollow&quot;&gt;http://nodebeginner.ru/&lt;/a&gt;&lt;/strong&gt; (&lt;a href=&quot;https://github.com/Artod/nodebeginner.ru&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/Artod/nodebeginner.ru&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/Artod/nodebeginner.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;http://bonsaiden.github.io/JavaScript-Garden/ru/&quot; class=&quot;urlextern&quot; title=&quot;http://bonsaiden.github.io/JavaScript-Garden/ru/&quot; rel=&quot;ugc nofollow&quot;&gt;http://bonsaiden.github.io/JavaScript-Garden/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;http://usefuldevops.ru/blog/2013/08/23/znakomstvo-s-phantomjs-na-praktikie/&quot; class=&quot;urlextern&quot; title=&quot;http://usefuldevops.ru/blog/2013/08/23/znakomstvo-s-phantomjs-na-praktikie/&quot; rel=&quot;ugc nofollow&quot;&gt;http://usefuldevops.ru/blog/2013/08/23/znakomstvo-s-phantomjs-na-praktikie/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/222761/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/222761/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/222761/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/123154/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/123154/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/123154/&lt;/a&gt;
&lt;/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.tosterdev.net/post/141042/&quot; class=&quot;urlextern&quot; title=&quot;http://www.tosterdev.net/post/141042/&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.tosterdev.net/post/141042/&lt;/a&gt;
&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/rvagg/workshopper&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/rvagg/workshopper&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/rvagg/workshopper&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://nodeguide.ru/doc/&quot; class=&quot;urlextern&quot; title=&quot;http://nodeguide.ru/doc/&quot; rel=&quot;ugc nofollow&quot;&gt;http://nodeguide.ru/doc/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/143538/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/143538/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/143538/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/127525/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/127525/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/127525/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/154755/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/154755/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/154755/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://vremenno.net/js/node-js-for-beginners/&quot; class=&quot;urlextern&quot; title=&quot;http://vremenno.net/js/node-js-for-beginners/&quot; rel=&quot;ugc nofollow&quot;&gt;http://vremenno.net/js/node-js-for-beginners/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://robotushka.blogspot.ru/2014/01/arduino-web-server-nodejs-serialport.html&quot; class=&quot;urlextern&quot; title=&quot;http://robotushka.blogspot.ru/2014/01/arduino-web-server-nodejs-serialport.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://robotushka.blogspot.ru/2014/01/arduino-web-server-nodejs-serialport.html&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://code.tutsplus.com/tutorials/build-a-complete-mvc-website-with-expressjs--net-34168&quot; class=&quot;urlextern&quot; title=&quot;http://code.tutsplus.com/tutorials/build-a-complete-mvc-website-with-expressjs--net-34168&quot; rel=&quot;ugc nofollow&quot;&gt;http://code.tutsplus.com/tutorials/build-a-complete-mvc-website-with-expressjs--net-34168&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://web.archive.org/web/20140625034821/http://nodebeginner.ru/&quot; class=&quot;urlextern&quot; title=&quot;http://web.archive.org/web/20140625034821/http://nodebeginner.ru/&quot; rel=&quot;ugc nofollow&quot;&gt;http://web.archive.org/web/20140625034821/http://nodebeginner.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;http://net-comp.ru/javascript/javascript/razrabotka-rest-api-na-express-restify-hapi-i-loopback-perevod-tutorial-node-js-javascript-veb-razrabotka-esli-vy-rabotaete-nad-node-js-prilozheniem-t&quot; class=&quot;urlextern&quot; title=&quot;http://net-comp.ru/javascript/javascript/razrabotka-rest-api-na-express-restify-hapi-i-loopback-perevod-tutorial-node-js-javascript-veb-razrabotka-esli-vy-rabotaete-nad-node-js-prilozheniem-t&quot; rel=&quot;ugc nofollow&quot;&gt;http://net-comp.ru/javascript/javascript/razrabotka-rest-api-na-express-restify-hapi-i-loopback-perevod-tutorial-node-js-javascript-veb-razrabotka-esli-vy-rabotaete-nad-node-js-prilozheniem-t&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://kuroikaze85.wordpress.com/2010/03/31/express-nodejs-framework/&quot; class=&quot;urlextern&quot; title=&quot;http://kuroikaze85.wordpress.com/2010/03/31/express-nodejs-framework/&quot; rel=&quot;ugc nofollow&quot;&gt;http://kuroikaze85.wordpress.com/2010/03/31/express-nodejs-framework/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://frontender.info/absolute-beginners-guide-to-nodejs/&quot; class=&quot;urlextern&quot; title=&quot;http://frontender.info/absolute-beginners-guide-to-nodejs/&quot; rel=&quot;ugc nofollow&quot;&gt;http://frontender.info/absolute-beginners-guide-to-nodejs/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://catethysis.ru/tag/node-js/&quot; class=&quot;urlextern&quot; title=&quot;http://catethysis.ru/tag/node-js/&quot; rel=&quot;ugc nofollow&quot;&gt;http://catethysis.ru/tag/node-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://frontender.info/absolute-beginners-guide-to-nodejs/&quot; class=&quot;urlextern&quot; title=&quot;http://frontender.info/absolute-beginners-guide-to-nodejs/&quot; rel=&quot;ugc nofollow&quot;&gt;http://frontender.info/absolute-beginners-guide-to-nodejs/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/161943/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/161943/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/161943/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://catethysis.ru/express-node-js/&quot; class=&quot;urlextern&quot; title=&quot;http://catethysis.ru/express-node-js/&quot; rel=&quot;ugc nofollow&quot;&gt;http://catethysis.ru/express-node-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;https://github.com/DavidKlassen/node-tutorial/wiki/Web-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-%D0%BD%D0%B0-node.js-%D0%B8-express&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/DavidKlassen/node-tutorial/wiki/Web-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-%D0%BD%D0%B0-node.js-%D0%B8-express&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/DavidKlassen/node-tutorial/wiki/Web-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-%D0%BD%D0%B0-node.js-%D0%B8-express&lt;/a&gt;
&lt;/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.itlessons.info/nodejs/auth-with-express-and-passportjs/&quot; class=&quot;urlextern&quot; title=&quot;http://www.itlessons.info/nodejs/auth-with-express-and-passportjs/&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.itlessons.info/nodejs/auth-with-express-and-passportjs/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/143538/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/143538/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/143538/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/146983/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/146983/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/146983/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/207930/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/207930/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/207930/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/207930/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/207930/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/207930/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://blog.nodejitsu.com/&quot; class=&quot;urlextern&quot; title=&quot;http://blog.nodejitsu.com/&quot; rel=&quot;ugc nofollow&quot;&gt;http://blog.nodejitsu.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://nodeguide.ru/doc/&quot; class=&quot;urlextern&quot; title=&quot;http://nodeguide.ru/doc/&quot; rel=&quot;ugc nofollow&quot;&gt;http://nodeguide.ru/doc/&lt;/a&gt;
&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/manuelkiessling/nodebeginner.org&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/manuelkiessling/nodebeginner.org&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/manuelkiessling/nodebeginner.org&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://web.archive.org/web/20140625034821/http://nodebeginner.ru/&quot; class=&quot;urlextern&quot; title=&quot;http://web.archive.org/web/20140625034821/http://nodebeginner.ru/&quot; rel=&quot;ugc nofollow&quot;&gt;http://web.archive.org/web/20140625034821/http://nodebeginner.ru/&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\u0442\u0430\u0442\u044c\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0442\u0430\u0442\u044c\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;2843-4808&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&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;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLDyvV36pndZFWfEQpNixIHVvp191Hb3Gg&quot; class=&quot;urlextern&quot; title=&quot;https://www.youtube.com/playlist?list=PLDyvV36pndZFWfEQpNixIHVvp191Hb3Gg&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.youtube.com/playlist?list=PLDyvV36pndZFWfEQpNixIHVvp191Hb3Gg&lt;/a&gt;&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://learn.javascript.ru/nodejs-screencast&quot; class=&quot;urlextern&quot; title=&quot;http://learn.javascript.ru/nodejs-screencast&quot; rel=&quot;ugc nofollow&quot;&gt;http://learn.javascript.ru/nodejs-screencast&lt;/a&gt;
&lt;/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.youtube.com/results?search_query=Node.js&quot; class=&quot;urlextern&quot; title=&quot;http://www.youtube.com/results?search_query=Node.js&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.youtube.com/results?search_query=Node.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://bit.ly/1LEUglc&quot; class=&quot;urlextern&quot; title=&quot;http://bit.ly/1LEUglc&quot; rel=&quot;ugc nofollow&quot;&gt;http://bit.ly/1LEUglc&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;\u0412\u0438\u0434\u0435\u043e&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u0438\u0434\u0435\u043e&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;4809-5045&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;https://groups.google.com/forum/#!forum/nodejs&quot; class=&quot;urlextern&quot; title=&quot;https://groups.google.com/forum/#!forum/nodejs&quot; rel=&quot;ugc nofollow&quot;&gt;https://groups.google.com/forum/#!forum/nodejs&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://jsman.ru/&quot; class=&quot;urlextern&quot; title=&quot;http://jsman.ru/&quot; rel=&quot;ugc nofollow&quot;&gt;http://jsman.ru/&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\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;5046-5145&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit15&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://www.jiiframework.ru/&quot; class=&quot;urlextern&quot; title=&quot;http://www.jiiframework.ru/&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.jiiframework.ru/&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\u0435\u043a\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0435\u043a\u0442\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;5146-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=nodejs:npm">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-18T02:25:04+00:00</dc:date>
        <dc:creator>mirocow (mirocow@undisclosed.example.com)</dc:creator>
        <title>NPM - Пакетный менеджер для nodejs</title>
        <link>http://178.140.10.58:8080/doku.php?id=nodejs:npm</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:npm&amp;amp;do=showtag&amp;amp;tag=%5Bnpm&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:npm&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; [npm&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:pnpm&amp;amp;do=showtag&amp;amp;tag=pnpm%5D&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:pnpm&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; pnpm]&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;npm_-_пакетный_менеджер_для_nodejs&quot;&gt;NPM - Пакетный менеджер для nodejs&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=nodejs:pnpm&quot; class=&quot;wikilink1&quot; title=&quot;nodejs:pnpm&quot; data-wiki-id=&quot;nodejs:pnpm&quot;&gt;PNPM - Пакетный менеджер для nodejs&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;NPM - \u041f\u0430\u043a\u0435\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0434\u043b\u044f nodejs&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;npm_-_\u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0439_\u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440_\u0434\u043b\u044f_nodejs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;21-102&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;документация&quot;&gt;Документация&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
# Обновляем пакетный менеджер
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;npm update npm &lt;span class=&quot;re5&quot;&gt;-g&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
# Устанавливает все пакеты, перечисленные в package.json
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;npm &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
# Устанавливает express и вносит запись о нем в package.json в секцию dependencies
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;npm &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; express &lt;span class=&quot;re5&quot;&gt;--save&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
# Устанавливает grunt и вносит запись о нем в package.json в секцию devDependencies
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;npm &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; grunt &lt;span class=&quot;re5&quot;&gt;--save-dev&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
# Устанавливает только зависимости, перечисленные в подразделе «dependencies» в package.json,
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;npm &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--production&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
# Внесем информацию об авторе &amp;quot;по умолчанию&amp;quot;
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ npm &lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; init.author.name &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$NAME&lt;/span&gt;&amp;quot;&lt;/span&gt;
$ npm &lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; init.author.email &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$EMAIL&lt;/span&gt;&amp;quot;&lt;/span&gt;
$ npm &lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; init.author.url &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$SITE&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
# Выведет список всех возможных настроек
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;npm config &lt;span class=&quot;kw2&quot;&gt;ls&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-l&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
# Проверить не устарели ли пакеты
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;npm outdated&lt;/pre&gt;

&lt;p&gt;
# Фиксируем пакеты перед отправкой на продакшен
# Cоздает файл shrinkwrap.json в котором фиксируются также все версии ВСЕХ зависимостей
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;npm shrinkwrap&lt;/pre&gt;

&lt;p&gt;
# Очистка локальный пакетов и установка их заново из package.json
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;$ npm &lt;span class=&quot;kw2&quot;&gt;prune&lt;/span&gt;
$ npm &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;\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;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;103-1755&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://habrahabr.ru/post/133363/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/133363/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/133363/&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\u0442\u0430\u0442\u044c\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0442\u0430\u0442\u044c\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1756-&amp;quot;} --&gt;</description>
    </item>
    <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 tag label label-default mx-1&quot; title=&quot;tag:asus&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&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&quot; title=&quot;tag:strace&quot; rel=&quot;tag&quot;&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&quot; title=&quot;tag:proc&quot; rel=&quot;tag&quot;&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>
</rdf:RDF>
