<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>HowTo Yggdrasil - yggdrasil:bittorrent</title>
        <description></description>
        <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/</link>
        <lastBuildDate>Thu, 07 May 2026 23:06:18 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_media/wiki:logo.png</url>
            <title>HowTo Yggdrasil</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/</link>
        </image>
        <item>
            <title>BitTorrent</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:bittorrent?rev=1761120798&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;bittorrent&quot;&gt;BitTorrent&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt;BitTorrent&lt;/strong&gt; - пиринговый (&lt;a href=&quot;https://ru.wikipedia.org/wiki/Одноранговая_сеть&quot; class=&quot;interwiki iw_wpru&quot; target=&quot;_blank&quot; title=&quot;https://ru.wikipedia.org/wiki/Одноранговая_сеть&quot; rel=&quot;noopener&quot;&gt;P2P&lt;/a&gt;) сетевой протокол для обмена файлами по сети. 
&lt;/p&gt;

&lt;p&gt;
Протокол имеет ряд преимуществ перед моделью “клиент-сервер”, в виду своей децентрализованной p2p модели: главные из которых - безотказность работы при отключении отдельно взятого узла и снижение затрат на обслуживающие сервера данных. 
Поскольку данные хранятся и распространяются между многими хранилищами, протокол также подразумевает снижение нагрузки на пропускной канал. 
&lt;/p&gt;

&lt;p&gt;
Во многом, эти качества сделали технологию популярной в сфере обмена мультимедийными файлами.
В ряде стран введено ограничение на частное использование BitTorrent посредством сети интернет, таким образом, возможность получить доступ к файлам, используя этот протокол, может быть ограничена или недоступна.
&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;BitTorrent&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bittorrent&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1450&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;yggdrasil&quot;&gt;Yggdrasil&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Протокол Yggdrasil обеспечивает защищенный канал связи, устойчивый к блокировкам глобальных маршрутизаторов а также мониторинга трафика со стороны провайдера (например, факт автоматической отправки анонсов на сомнительные ресурсы, при открытии файла .bittorent). 
Для внутрисетевых сервисов, совмещение протоколов BitTorrent и Yggdrasil позволяет не привязываться к условиям ISP или &lt;abbr title=&quot;Virtual Private Server&quot;&gt;VPS&lt;/abbr&gt; провайдера, &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; и других сервисов, обычно необходимых для работы протокола BitTorrent в сети интернет. 
&lt;/p&gt;

&lt;p&gt;
Адрес узла Yggdrasil статичен и может использоваться в качестве &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; анонс-сервера или пирингового узла, в том числе для построения перманентного DHT, при этом подлинность гарантируется приватным ключем обладателя и не имеет срока истечения.
&lt;/p&gt;

&lt;p&gt;
Для частного пользователя - это возможность заменить использование платных прокси-серверов и &lt;abbr title=&quot;Virtual Private Network&quot;&gt;VPN&lt;/abbr&gt;.
&lt;/p&gt;

&lt;p&gt;
При подключении узлов посредством интернет, то есть наличием в цепи потключения &lt;a href=&quot;https://publicpeers.neilalexander.dev/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://publicpeers.neilalexander.dev/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;транзитного пира&lt;/a&gt;, 
такому узлу будут известны только адреса и &lt;a href=&quot;https://github.com/matrix-org/pinecone/wiki/2.-Spanning-Tree#coordinates&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/matrix-org/pinecone/wiki/2.-Spanning-Tree#coordinates&quot; rel=&quot;ugc nofollow noopener&quot;&gt; внутрисетевые координаты&lt;/a&gt; соединения. 
Порт, заголовки, &lt;abbr title=&quot;Uniform Resource Identifier&quot;&gt;URI&lt;/abbr&gt; и другие данные - передаются в зашифрованном виде и известны только отправителю и получателю Yggdrasil локально. 
&lt;/p&gt;

&lt;p&gt;
Пользователь может осуществлять уникальные настройки маршрутизации без или с привязкой к другим сетям и протоколам, комбинируя различные подходы и технологии приватности, например TOR и I2P.
&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;Yggdrasil&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;yggdrasil&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1451-3975&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;статьи_внутри_раздела&quot;&gt;Статьи внутри раздела&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;div&gt;&lt;div id=&quot;nojs_indexmenu_199479039269283b69890ec&quot; data-jsajax=&quot;%26group%3D1&quot; class=&quot;indexmenu_nojs&quot;&gt;
&lt;ul class=&quot;idx&quot;&gt;
&lt;li class=&quot;open&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:yggtracker&quot; class=&quot;indexmenu_idx_head&quot; data-wiki-id=&quot;yggdrasil:bittorrent:yggtracker&quot;&gt;YGGtracker&lt;/a&gt;&lt;/div&gt;
&lt;ul class=&quot;idx&quot;&gt;
&lt;li class=&quot;level2&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:yggtracker:v2&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:yggtracker:v2&quot; data-wiki-id=&quot;yggdrasil:bittorrent:yggtracker:v2&quot;&gt;YGGtracker v2&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://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:btracker&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:btracker&quot; data-wiki-id=&quot;yggdrasil:bittorrent:btracker&quot;&gt;βtracker&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:dht&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:dht&quot; data-wiki-id=&quot;yggdrasil:bittorrent:dht&quot;&gt;DHT&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:jackett&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:jackett&quot; data-wiki-id=&quot;yggdrasil:bittorrent:jackett&quot;&gt;Jackett&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:opentracker&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:opentracker&quot; data-wiki-id=&quot;yggdrasil:bittorrent:opentracker&quot;&gt;Opentracker&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:qbittorrent&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:qbittorrent&quot; data-wiki-id=&quot;yggdrasil:bittorrent:qbittorrent&quot;&gt;qBittorrent&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:seedbox&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:seedbox&quot; data-wiki-id=&quot;yggdrasil:bittorrent:seedbox&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://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:tools&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:tools&quot; data-wiki-id=&quot;yggdrasil:bittorrent:tools&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://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:transmission&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:transmission&quot; data-wiki-id=&quot;yggdrasil:bittorrent:transmission&quot;&gt;Transmission&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&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;\u0421\u0442\u0430\u0442\u044c\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0442\u0430\u0442\u044c\u0438_\u0432\u043d\u0443\u0442\u0440\u0438_\u0440\u0430\u0437\u0434\u0435\u043b\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3976-4066&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://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:sites_and_services:other_network_services#каталоги&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:sites_and_services:other_network_services&quot; data-wiki-id=&quot;yggdrasil:sites_and_services:other_network_services&quot;&gt;Внутрисетевые каталоги&lt;/a&gt;&lt;br/&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:sites_and_services:other_network_services#трекеры&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:sites_and_services:other_network_services&quot; data-wiki-id=&quot;yggdrasil:sites_and_services:other_network_services&quot;&gt;Внутрисетевые трекеры&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; О BitTorrent на Wikipedia (RU): &lt;a href=&quot;https://ru.wikipedia.org/wiki/BitTorrent&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://ru.wikipedia.org/wiki/BitTorrent&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://ru.wikipedia.org/wiki/BitTorrent&lt;/a&gt;&lt;br/&gt;
&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://iknowwhatyoudownload.com/ru/peer&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://iknowwhatyoudownload.com/ru/peer&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://iknowwhatyoudownload.com/ru/peer&lt;/a&gt;&lt;br/&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;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;4067-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 22 Oct 2025 08:13:18 +0000</pubDate>
        </item>
        <item>
            <title>βtracker</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:btracker?rev=1769353263&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;βtracker&quot;&gt;βtracker&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
βtracker - альтернативная ветка развития &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:yggtracker&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:yggtracker&quot; data-wiki-id=&quot;yggdrasil:bittorrent:yggtracker&quot;&gt;YGGtracker&lt;/a&gt;, предоставляющая программный комплекс для автоматического трекинга и агрегации без участия модератора и ручного добавления торрентов в каталог.
&lt;/p&gt;

&lt;p&gt;
Система создавалась для сети Yggdrasil, но может работать с любой другой, поддерживающей стек IPv4/IPv6 или в гибридном режиме.&lt;br/&gt;

Пользователю, для добавления торрентов в каталог, достаточно добавить актуальные трекеры в свой клиент (раздачу)
&lt;/p&gt;

&lt;p&gt;
Система βtracker включает в себя:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; aquatic_udp - &lt;a href=&quot;https://github.com/YGGverse/aquatic/tree/info-hash-api&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/YGGverse/aquatic/tree/info-hash-api&quot; rel=&quot;ugc nofollow noopener&quot;&gt;форк&lt;/a&gt; UDP трекера &lt;a href=&quot;https://github.com/greatest-ape/aquatic/tree/master/crates/udp&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/greatest-ape/aquatic/tree/master/crates/udp&quot; rel=&quot;ugc nofollow noopener&quot;&gt;aquatic&lt;/a&gt; с поддержкой генерации бинарного дампа info-hash&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://github.com/yggverse/aquatic-crawler&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/yggverse/aquatic-crawler&quot; rel=&quot;ugc nofollow noopener&quot;&gt;aquatic-crawler&lt;/a&gt; - кравлер, собирающий дамп info-hash по &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; и загружающий контент для предпросмотра (jpeg, txt, log и тд по фильтру regex и другим настройкам)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://github.com/YGGverse/btracker&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/YGGverse/btracker&quot; rel=&quot;ugc nofollow noopener&quot;&gt;βtracker &lt;/a&gt; - веб-интерфейс для собранной файловой базы aquatic-crawler с функциями пользовательского поиска по индексу и scrape (статистика активных пиров)&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level4&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://github.com/YGGverse/btracker-gemini&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/YGGverse/btracker-gemini&quot; rel=&quot;ugc nofollow noopener&quot;&gt;btracker-gemini&lt;/a&gt; - опциональная реализация каталожной части для &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/gemini_protocol&quot; class=&quot;wikilink1&quot; title=&quot;gemini_protocol&quot; data-wiki-id=&quot;gemini_protocol&quot;&gt;протокола Gemini&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Схематически, принцип работы выглядит следующим образом:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;torrent client &amp;gt; aquatic_udp &amp;gt; infohash.bin &amp;lt; aquatic-crawler &amp;gt; * /preload/info-hash.torrent &amp;gt; β
torrent client               &amp;lt;-----------------------|          * /preload/info-hash/data      |
               &amp;lt;-------------------------------------|          * /preload/.info-hash/tmp      |
                             &amp;lt;-------------------------- scrape -------------------------------|&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;\u03b2tracker&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u03b2tracker&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-2486&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;https://rustup.rs&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://rustup.rs&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Rust&lt;/a&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;curl --proto &amp;#039;=https&amp;#039; --tlsv1.2 -sSf https://sh.rustup.rs | sh&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; можно выбрать набор “minimal”, требующий меньше дискового пространства&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Все компоненты удобно запускать от общего системного пользователя:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;useradd -m btracker&lt;/pre&gt;

&lt;p&gt;
Общая файловая база данных (которая наполняется aquatic-crawler и которую будет читать пользователь Web-UI) расположена в пространстве Веб-сервера:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mkdir -p /var/www/btracker&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;:1,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;2487-3288&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;aquatic_udp&quot;&gt;aquatic_udp&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;git clone https://github.com/YGGverse/aquatic.git
cd aquatic
git checkout info-hash-api
cargo build --release -p aquatic_udp
sudo install target/release/aquatic_udp /usr/local/bin/aquatic_udp&lt;/pre&gt;

&lt;p&gt;
Стандартная конфигурация генерируется командой:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;aquatic_udp -p &amp;gt; /home/btracker/aquatic_udp.toml&lt;/pre&gt;

&lt;p&gt;
После чего, указываются следующие изменения:
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_export/code/yggdrasil:bittorrent:btracker?codeblock=6&quot; title=&quot;Download Snippet&quot; class=&quot;mediafile mf_toml&quot;&gt;/home/btracker/aquatic_udp.toml&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;file&quot;&gt;#..

[network]
# слушаем соединения пиров на указанном интерфейсе IPv6
use_ipv4 = false
use_ipv6 = true
address_ipv6 = &amp;quot;[302:68d0:f0d5:b88d::fdb]:6969&amp;quot;
set_only_ipv6 = true

[statistics]
# включить дамп info-hash
write_bin_to_file = true

# куда сохранять дамп info-hash (для адресов IPv6)
bin_info_hash_ipv6_file_path = &amp;quot;/path/to/hash.bin&amp;quot;

#..&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_export/code/yggdrasil:bittorrent:btracker?codeblock=7&quot; title=&quot;Download Snippet&quot; class=&quot;mediafile mf_service&quot;&gt;/etc/systemd/system/aquatic-udp.service&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;file&quot;&gt;[Unit]
After=network-online.target
Wants=network-online.target

[Service]
Type=simple

User=btracker
Group=btracker

# если Yggdrasil или другой сервис стартует с задержкой (можно указать в After)
# ExecStartPre=/bin/sleep 10s

ExecStart=/usr/local/bin/aquatic_udp -c /home/btracker/aquatic_udp.toml

# StandardOutput=file:///path/to/aquatic_udp/debug.log
# StandardError=file:///path/to/aquatic_udp/error.log

[Install]
WantedBy=multi-user.target&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; systemctl enable aquatic-udp&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; systemctl start aquatic-udp&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Разрешить входящие подключения к трекеру только для узлов сети Yggdrasil:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ufw allow from 0200::/7 to 302:68d0:f0d5:b88d::fdb port 6969 proto udp&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; заменить “302:68d0:f0d5:b88d::fdb” на актуальный адрес, или указать “any”&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;aquatic_udp&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;aquatic_udp&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3289-5194&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;aquatic-crawler&quot;&gt;aquatic-crawler&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;git clone https://github.com/YGGverse/aquatic-crawler.git
cd aquatic-crawler
cargo build --release
sudo install target/release/aquatic-crawler /usr/local/bin/aquatic-crawler&lt;/pre&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_export/code/yggdrasil:bittorrent:btracker?codeblock=10&quot; title=&quot;Download Snippet&quot; class=&quot;mediafile mf_service&quot;&gt;/etc/systemd/system/aquatic-crawler.service&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;file&quot;&gt;[Unit]
After=network.target
Wants=network.target

[Service]
Type=simple

User=btracker
Group=btracker

# Количество нод,
# требуется для инициализации раздач, содержащих большое количество файлов
# в связи с текущей реализацией librqbit - в частности, при возникновении ошибки:
# &amp;quot;Error opening &amp;#039;/path/to/file&amp;#039; in read/write mode.&amp;quot;
LimitNOFILE=65536

# настройки логирования
# Environment=&amp;quot;RUST_LOG=trace&amp;quot;
Environment=&amp;quot;RUST_LOG=aquatic_crawler=warn&amp;quot;
Environment=&amp;quot;NO_COLOR=1&amp;quot;

# таймер запуска, значение может зависеть от других служб, например сервиса Yggdrasil
# ExecStartPre=/bin/sleep 15

ExecStart=/usr/local/bin/aquatic-crawler\
        # путь к файлу hash.bin (генерируемого aquatic_udp)
        --infohash=/path/to/hash.bin\
        # адрес трекера для получения данных раздачи от активных пиров (используется сервер aquatic_udp)
        # * может быть несколько трекеров, для каждого указывается отдельный аргумент
        --tracker=udp://[302:68d0:f0d5:b88d::fdb]:6969\
        # куда загружать данные (например картинки для предпросмотра в каталоге btracker)
        # в большинстве случаев, это публичное пространство /var/www/...
        --preload=/var/www/btracker/public\
        # опционально: ограничение размера файлов (в байтах)
        --preload-max-filesize=10000000\
        # опционально: ограничение количества файлов
        --preload-max-filecount=5\
        # опционально: условие filename, при котором файл будет сохранён
        # в данном случае, нужны изображения для предпросмотра и текстовые файлы для дополнительной индексации поиска
        --preload-regex=\.(png|gif|jpeg|jpg|webp|svg|log|nfo|txt)$

# куда сохранять журнал
# /var/log или /home/btracker
StandardOutput=file:///path/to/debug.log
StandardError=file:///path/to/error.log

[Install]
WantedBy=multi-user.target&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; приватность: ограничить коммуникацию librqbit посредством PEX, можно по диапазону &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt;: --blocklist=file:///path/to/blocklist.txt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; все доступные опции: aquatic-crawler --help&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; systemctl enable aquatic-crawler&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; systemctl start aquatic-crawler&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
При запуске, кравлер начнёт сканировать hash.bin дамп трекера и наполнять директорию, указанную в –preload, она будет использована в качестве базы данных для каталожной части / Web UI.
&lt;/p&gt;

&lt;p&gt;
Для дополнительной информации, смотрите страницу &lt;a href=&quot;https://github.com/YGGverse/aquatic-crawler/wiki&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/YGGverse/aquatic-crawler/wiki&quot; rel=&quot;ugc nofollow noopener&quot;&gt;wiki&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;aquatic-crawler&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;aquatic-crawler&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;5195-8828&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;btracker&quot;&gt;btracker&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;git clone https://github.com/yggverse/btracker.git
cd btracker
cargo build --release
sudo install target/release/btracker /usr/local/bin/btracker&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; в связи с текущей &lt;a href=&quot;https://rocket.rs/guide/v0.5/deploying/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://rocket.rs/guide/v0.5/deploying/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;реализацией шаблонизатора&lt;/a&gt;, необходимо скопировать директории public и templates в пространство WorkingDirectory (см. настройки systemd)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_export/code/yggdrasil:bittorrent:btracker?codeblock=12&quot; title=&quot;Download Snippet&quot; class=&quot;mediafile mf_service&quot;&gt;/etc/systemd/system/btracker.service&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;file&quot;&gt;[Unit]
After=network.target
Wants=network.target

[Service]
Type=simple

User=btracker
Group=btracker

# реализация фреймворка Rocket, требует наличия рабочей директории
WorkingDirectory=/var/www/btracker

ExecStart=/usr/local/bin/btracker\
        # опционально: заголовок каталога (стандартно βtracker)
        # --title=&amp;quot;Yggdrasil-only BitTorrent tracker&amp;quot;\
        # опционально: описание каталога (также отображается в title)
        --description=&amp;quot;Yggdrasil-only BitTorrent tracker&amp;quot;\
        # локальный порт (для прокси nginx)
        --port=1234\
        # директория с данными aquatic-crawler
        --public=/var/www/btracker/public\
        # опционально: трекер для запросов статистики пиров (scrape)
        --scrape=udp://[302:68d0:f0d5:b88d::fdb]:6969\
        # опционально: трекер (или трекеры) для анонса
        --tracker=udp://[302:68d0:f0d5:b88d::fdb]:6969\
        --tracker=udp://tracker.ygg:6969

# реализация Rocket журналирует сюда события 404, временно отключено
# https://github.com/rwf2/Rocket/issues/2951
# StandardOutput=file:/path/to/debug.log
StandardOutput=null
StandardError=file:///path/to/error.log

[Install]
WantedBy=multi-user.target&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; доступные опции: btracker --help&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Запуск:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;systemctl enable btracker
systemctl start btracker&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;btracker&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;btracker&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;8829-10987&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit6&quot; id=&quot;nginx&quot;&gt;nginx&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_export/code/yggdrasil:bittorrent:btracker?codeblock=14&quot; title=&quot;Download Snippet&quot; class=&quot;mediafile mf_service&quot;&gt;/etc/systemd/system/btracker.service&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;file&quot;&gt;server {
    listen 80;

    location / {
        proxy_pass http://127.0.0.1:1234;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&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/YGGverse/btracker/wiki/Nginx#cache&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/YGGverse/btracker/wiki/Nginx#cache&quot; rel=&quot;ugc nofollow noopener&quot;&gt;вариант с кешированием статики&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Применить настройки: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;systemctl reload nginx&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;:14,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;10988-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 25 Jan 2026 15:01:03 +0000</pubDate>
        </item>
        <item>
            <title>DHT</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:dht?rev=1765876375&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;dht&quot;&gt;DHT&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Сами по себе торрент-пиры в сети Yggdrasil в числе узлов DHT друг у друга не появятся (точнее, это очень маловероятно: два клиента с интерфейсами Yggdrasil должны через публичную сеть запустить одни и те же торренты и обменяться альтернативными адресами, либо попасть при обходе миллионов меняющихся участников DHT на живой анонс такого адреса). С другой стороны, препятствий к работе отдельной DHT внутри сети в целом нет. Более того, она уже существует.
&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;DHT&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dht&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-824&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;
Как известно, узлы DHT в процессе работы поддерживают актуальность набора кандидатов с разной степенью удалённости координат для отправки через них запросов (на первом шаге). Старые и ставшие недоступными узлы удаляются, новые добавляются в процессе обхода сети при поиске хэшей активных торрентов или случайных идентификаторов, выбранных внутри нужного диапазона координат, который требуется пополнить. Имеющий сколько-то живых произвольных узлов клиент быстро находит через них более близкие и нужные. Откуда они берутся изначально? Либо сохраняются в момент завершения прежней сессии (в надежде, что при следующем включении хоть кто-то ещё будет онлайн; это совсем не гарантируется, если пройдёт неделя, месяц или год), либо получаются с публичных серверов инициализации, прописанных в каждом клиенте или библиотеке и готовых любому выдать актуальный набор свежих узлов.
&lt;/p&gt;

&lt;p&gt;
Очевидно,&lt;sup&gt;[citation needed]&lt;/sup&gt; что добавлять отдельную функцию получения внутрисетевых адресов конкретно для клиентов в Yggdrasil либо в код программ и библиотек, либо на узлы DHT по умолчанию никому из их авторов пока не интересно. Некоторые клиенты (например, Tixati) позволяют указать собственный набор узлов для запуска DHT, так что если вы выписали на бумажку или получили от друга перечень адресов и портов торрент-клиентов на адресах Yggdrassil, их можно туда запихнуть.
&lt;/p&gt;

&lt;p&gt;
Но есть и другой полезный источник: все пиры, с которыми клиент соединяется, записываются в потенциальные узлы DHT. В большинстве клиентов порт для приёма сообщений DHT совпадает с портом для связи с пирами (по UDP) так что достаточно его проверить. В тех, где это не так, клиент во время приветствия при соединении может получить от пира отдельное указание на то, на каком порту работает DHT, и использовать его.
&lt;/p&gt;

&lt;p&gt;
Недавно у пользователей древнейших версий uTorrent переставал работать DHT, как раз из-за того, что такой же древний адрес для инициализации их DHT уходил в офлайн. На «Рутрекере», где адреса трекера много лет заблокированы для дорогих россиян, активно жаловались, что почему-то пиров больше нет. Действительно: трекер не работает, DHT не работает, откуда пиры возьмутся? Починить можно было достаточно просто, добавив в клиент хотя бы один гарантированно популярный торрент с гарантированно рабочим трекером (например, свежий образ Debian или Ubuntu). Трекер выдаёт сотню случайных пиров, у них в большинстве случаев включена работа DHT, можно с их помощью стартовать, добавив в список узлов. Сами файлы никакой роли не играют, их можно даже не качать, главное живых пиров получить.
&lt;/p&gt;

&lt;p&gt;
Тем же методом можно пользоваться и в Yggdrasil. Добавляем в клиент торрент, на котором есть внутрисетевые пиры, с добавленными адресами внутрисетевых трекеров (в надежде, что хотя бы один-то рабочий окажется), получаем с них адреса узлов для старта DHT. Если хотя бы несколько участников будут постоянно держать его в клиенте, любой новозапущенный клиент так может стать участником внутрисетевой DHT.
&lt;/p&gt;

&lt;p&gt;
Осталось выбрать этот &lt;em&gt;офффициальный&lt;/em&gt; волшебный торрент. Поскольку подойдёт любой, возникает искушение продемонстрировать собственный вкус и застолбить место тем, что тебе лично нравится, или популярно на этой неделе, или иронично комментирует всю эту затею. Нет, всё-таки полезнее будет что-то абстрактное и воспроизводимое, вроде файла нулевого размера с заданным именем и фиксированного размера блока для создаваемого торрента… А впрочем, зачем нам торрент? Хэша достаточно, чтобы получить пиров, которые в обычной ситуации обменяются метаданными. А нам и метаданные не нужны. Просто берём и используем хэш &lt;code&gt;0000000000000000000000000000000000000000&lt;/code&gt; в качестве места встречи клиентов.
&lt;/p&gt;

&lt;p&gt;
Нет, с ним проблемка. В каких-то программах всё работает как надо, но вот libtorrent считает, что такое значение хэша не разрешено (вероятно, потому, что в коде оно используется для других целей, а для реальных данных случайно не получится никогда), так что клиенты на его основе отпадают. Кроме того, мы не одни такие умные (или криворукие), из публичной IPv4 DHT на этот хэш начинают валиться мусорные пиры, которые, похоже, даже не все являются торрент-клиентами. Зачем нам куча бесполезных соединений? Придётся придумать некий Универсальный Уникальный Идентификатор для нашей задачи… А вот и он: &lt;code&gt;000000000000000059676764726173696c444854&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
С этого момента любой участник сети с работающим торрент-клиентом может просто добавить волшебную магнитную ссылку и автоматически пополнить внутрисетевую IPv6 DHT. Вуаля!
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;magnet:?xt=urn:btih:000000000000000059676764726173696C444854&amp;amp;tr=http%3A%2F%2F%5B200%3A1e2f%3Ae608%3Aeb3a%3A2bf%3A1e62%3A87ba%3Ae2f7%5D%2Fannounce&amp;amp;tr=http%3A%2F%2F%5B21e%3A6565%3A9c87%3Aa49d%3Adafa%3A92c1%3Ab33f%3Af21%5D%3A1337%2Fannounce&amp;amp;tr=udp%3A%2F%2F%5B202%3A68d0%3Af0d5%3Ab88d%3A1d1a%3A555e%3A2f6b%3A3148%5D%3A6969&lt;/pre&gt;

&lt;p&gt;
&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_media/yggdrasil:bittorrent:bittorrent_dht_yggdrasil.png&quot; class=&quot;media&quot; title=&quot;yggdrasil:bittorrent:bittorrent_dht_yggdrasil.png&quot;&gt;&lt;img src=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_media/yggdrasil:bittorrent:bittorrent_dht_yggdrasil.png?w=400&amp;amp;tok=799f65&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Любые торренты, анонсируемые в неё прочими участниками, будут доступны и без указания внутрисетевого трекера, с автоматическим поиском пиров, прямо как в привычной публичной сети. Можете в своём клиенте подсмотреть хранящиеся на вашем узле чужие хэши (если он такое позволяет) и добавить для тестовой загрузки любой.
&lt;/p&gt;

&lt;p&gt;
Теоретически, если число участников станет таким большим, что на одном хэше возникнет толкучка, или кто-то специально запустит ботов, замусоривающих списки пиров, или фиктивные узлы DHT вблизи выбранного, можно добавить альтернативы от &lt;code&gt;100000000000000059676764726173696c444854&lt;/code&gt; до &lt;code&gt;F00000000000000059676764726173696c444854&lt;/code&gt; и так далее для следующих битов. Эти же хэши можно добавить в клиент при первом старте для быстрого пополнения списка узлов, хотя на текущий момент число участников таково, что уже первая парочка автоматических поисковых проходов по узлам DHT перебирает и добавляет всех имеющихся.
&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;\u0422\u0435\u043e\u0440\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0442\u0435\u043e\u0440\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;825-10838&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;практика&quot;&gt;Практика&lt;/h2&gt;
&lt;div class=&quot;level2&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;\u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;10839-11050&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;tixati&quot;&gt;Tixati&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
В Tixati панель DHT подробно выводит всё, что творится в клиенте, вдобавок можно максимально подробный журнал вести. Не могу не привести в пример. Кроме того, при помощи файлика &lt;code&gt;tixati_local_instance_check.txt&lt;/code&gt; (см. инструкцию) можно быстро запустить хоть десять портативных клиентов с разными настройками и тестировать, как они друг с другом работают.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Запускаем программу, после начальных окошек и предупреждений сразу нажимаем на кнопку раздела DHT, а в нём на кнопку Stop.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; В настройках Network — Connections для интерфейса IPv4 выбираем Disabled. Если в системе есть другие сети IPv6, для интерфейса IPv6 выбираем интерфейс или адрес Yggdrasil, чтобы работать только с ним.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Идём обратно в раздел DHT, нажимаем Start. На вкладке Node Table видим, что DHT для IPv4 отключен, а для IPv6 пытается соединиться с публичными адресами, которые получены с сервера разработчика (о чём написано в Event Log), но через Yggdrasil в глобальную IPv6-сеть не выйти, и это бесполезно.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Идём в раздел Transfers и добавляем магнитную ссылку, указанную выше. (Полную, с трекерами, конечно. Если вы хотите добавить без трекеров, вы не поняли, как оно работает.) После добавления на вкладке Trackers в свойствах торрента должны появиться какие-то результаты, а на вкладке Peers — подключившиеся-отключившиеся или ждущие метаданных пиры. Столбец с названием клиента добавляется кнопкой Layout — Select Columns — Peers View — Client.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Опять идём в раздел DHT, видим, что таблицы узлов IPv6 пополняются сначала полученными с трекера пирами, а потом найденными через них. На Port Blocked можно не обращать внимания, это просто догадка на основе успешности соединений. (Ещё видим, что кто-то поленился подкрутить в клиенте случайный идентификатор узла.)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; На вкладке Peer DB наблюдаем, как другие участники анонсируют хэши своих торрентов через наш узел. Пока людей мало, каждый узел видит чуть ли не пол-сети, по мере увеличения числа узлов каждому будут доставаться только всё более и более близкие к его координате хэши.&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;Tixati&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tixati&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;11051-14514&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;qbittorrent&quot;&gt;qBittorrent&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; Запускаем программу, в Tools — Options — Advanced — Network Interface ставим интерфейс Yggdrasil. Если на одном и том же компьютере несколько клиентов одновременно тестируете, можно в настройках libtorrent разрешить несколько соединений с одного &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt;-адреса, иначе они в тех или иных сочетаниях иногда не желают на одном и том же адресе друг друга видеть.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; В строке состояния видим 0 пиров DHT. В qBittorrent DHT всегда при старте инициализируется путём запроса на общий узел libtorrent, и параллельно, кажется, подмешиваются старые пиры, сохранённые вместе с имеющимися в клиенте торрентами. Нам не доступно ни то, ни другое.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Добавляем общую магнитную ссылку. На вкладке трекеров видим результаты запроса, на вкладке пиров иногда видим пиров, но qBittorrent очень быстро их стирает при завершении обмена данными (или не показывает вовсе, если данные не передаются).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; В строке состояния циферки узлов DHT начинают расти и выходят на ожидаемое число. Можно пользоваться.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Можно было бы не отключать сеть IPv4, работало бы точно так же, но в этом клиенте вообще нет никаких данных о работе DHT, кроме общего числа узлов, пришлось ориентироваться по нему.
&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;qBittorrent&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;qbittorrent&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;14515-16546&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;biglybt&quot;&gt;BiglyBT&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
В BiglyBT есть отдельная, исторически не совместимая с остальными клиентами реализация DHT. Думаю, её тоже можно запустить с пирами внутри сети, но для этого потребуется постоянно иметь более одного клиента в Yggdrasil и разбираться с отдельным набором настроек. Поэтому мы рассмотрим только общую Mainline DHT, которая подключается соответствующим плагином.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Запускаем программу, после обновления стандартных плагинов и предложений понаставить новых видим уведомление о том, что в системе обнаружен адрес IPv6 и его работа включена.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ставим плагин mlDHT, открыв ссылку &lt;code&gt;biglybt://install-plugin/mlDHT&lt;/code&gt;. Сервера BiglyBT расположены на AWS, подверженном блокировкам, так что в России быстрее будет скачать файл со странички плагинов руками, чтобы не ждать проверки основного и запасного вариантов автоматического обновления.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Даже если не видим вышеупомянутого уведомления, всё равно идём в Tools — Options — Connection — Advanced Network Settings и проверяем, что IPv6 включен, а интерфейс выбираем Ygdrassil.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; В Tools — Options — Plugins — Mainline DHT проверяем, что IPv6 по умолчанию включен. Можно выбрать Only use Connected Peers to Bootstrap, чтобы он зря не пытался соединиться с публичными узлами.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; View — Mainline DHT (IPv6) открывает панель статистики DHT. Если мы не запускали клиент раньше, там должно быть пусто. Если запускали, то старые пиры могут сами начать слать сообщения на тот же самый порт 49001, который указан по умолчанию (и отличается от случайно выбираемого порта для соединений с пирами в основных настройках). Но в статистике нами добавленных всё равно пока ноль.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Идём в раздел Library, добавляем волшебную ссылку, закрываем окошко ожидания данных с крутилкой. Если не видим добавленного торрента, ищем на панели кнопку Advanced List, показывающую и загрузки, и раздачи одновременно. В свойствах торрента на вкладке Sources отображается активность трекеров (opentrackr.org добавляется по умолчанию, в настройках плагина Magnet &lt;abbr title=&quot;Uniform Resource Identifier&quot;&gt;URI&lt;/abbr&gt; Handler это можно убрать). Рядом вкладка с пирами.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Возвращаемся в статистику DHT, видим, что пиров в таблице теперь не ноль, хранимых данных тоже стало больше, и для иллюстрации расчерчены ёмкости с полосками. Цвет означает наличие или отсутствие отклика, а если догадаетесь навести курсор, увидите в подсказке адрес и прочую информацию для каждого пира. Ещё можно включить нужный уровень отчёта и открыть его через View — Log Views — Mainline DHT Log, там тоже вплоть до каждого сообщения можно отслеживать.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Вообще, для нормальной работы BiglyBT ещё настраивать и настраивать, отключать ненужное (например, встроенные DHT до перезагрузки так и продолжают работать на публичном IPv4 адресе, а вы и не заметили), но для демонстрации сойдёт.
&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;BiglyBT&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;biglybt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;16547-21217&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;несовместимость_с_публичным_ipv6&quot;&gt;Несовместимость с публичным IPv6&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Можно заметить, что иногда в таблице появляются адреса IPv6 публичных диапазонов. Ничего страшного тут нет, их автоматически выкинет из-за недоступности. Происходить это может по разным причинам:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; У каких-то пиров в Yggdrasil есть и публичный IPv6-адрес, позволяющий участвовать в глобальной DHT, или они ещё как-то узнают о пирах, которых передают в ответ на запросы.&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; Если DHT для адресов IPv4 работает, её участники, имеющие оба типа адресов или получившие анонсы с IPv6-адресами, нам их сообщают вместе с IPv4-адресами.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Ирония в том, что если у вас всё-таки есть работающее глобальное IPv6 соединение вдобавок к виртуальной локалке Yggdrasil, то всё описанное выше работать не будет. Поскольку отдельную реализацию DHT строго для диапазона адресов Yggdrasil вдобавок к двум имеющимся в клиентах пока не делают, при наличии обеих сетей местные адреса клиент станет воспринимать так же, как и все прочие публичные. Сам он их хранить не будет, так как не слишком вероятно, что их идентификаторы совпадут с желаемыми, и более подходящие публичные пиры их вытеснят, а в анонсах другим узлам эти адреса будут расцениваться как нерабочий мусор, поскольку почти все участники глобальной сети не имеют доступа к этому диапазону. Они просто затеряются в толпе глобальных.
&lt;/p&gt;

&lt;p&gt;
По этой причине торрент-клиент придётся использовать либо в режиме связи строго внутри Yggdrasil, либо в режиме публичной сети для IPv4 и Yggdrasil для IPv6, если хочется, чтобы DHT внутри сети работал. (Просто получать пиров с внутрисетевых трекеров, без DHT, конечно, можно будет и не отказываясь от публичной сети IPv6.) Ну, или ждать, когда для 20 странных человек в клиентах сделают отдельную независимую DHT.
&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\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c IPv6&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c_\u0441_\u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c_ipv6&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;21218-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 16 Dec 2025 09:12:55 +0000</pubDate>
        </item>
        <item>
            <title>Jackett</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:jackett?rev=1761120798&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;jackett&quot;&gt;Jackett&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Jackett - это агрегатор и поисковый сервер торрентов с &lt;a href=&quot;https://github.com/Jackett/Jackett&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/Jackett/Jackett&quot; rel=&quot;ugc nofollow noopener&quot;&gt;открытым исходным кодом&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
На момент написания материала, включает интеграцию 595 приватных и публичных торрент каталогов.
&lt;/p&gt;

&lt;p&gt;
По своей сути, это проксирующий серер для унификации и обработки поисковых запросов для &lt;a href=&quot;#интеграции&quot; title=&quot;yggdrasil:bittorrent:jackett ↵&quot; class=&quot;wikilink1&quot;&gt;тематического ПО&lt;/a&gt;, поддерживающего протокол &lt;a href=&quot;https://torznab.github.io/spec-1.3-draft/index.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://torznab.github.io/spec-1.3-draft/index.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Torznab&lt;/a&gt;.
Также, может использоваться как локальный сайт для поиска торрентов или интеграции в другие проекты, например &lt;a href=&quot;https://habr.com/ru/articles/505814/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://habr.com/ru/articles/505814/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Telegram&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Пользователю не требуется посещать разные торрент-каталоги, устанавливать для каждого из них плагин в свой торрент-клиент, а также посещать поисковые системы (блокирующие поисковые результаты по торрент тематике).&lt;br/&gt;

Владельцам сайтов - не требуется создавать плагины для каждого программного обеспечения, достаточно интегрировать сервис для Jackett и поиск будет доступен для всех приложений, использующих этот сервер в качестве поискового провайдера.
&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;Jackett&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;jackett&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1797&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;p&gt;
Jackett можно запустить из бинарного файла &lt;em&gt;jackett&lt;/em&gt; или скомпиллировать из исходников и добавить в системный сервис.
&lt;/p&gt;

&lt;p&gt;
После запуска службы, веб интерфейс доступен по адресу:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;http://localhost:9117&lt;/pre&gt;

&lt;p&gt;
Для интеграции &lt;abbr title=&quot;Программное обеспечение&quot;&gt;ПО&lt;/abbr&gt;, необходимо указать этот адрес в качестве &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; провайдера, добавив ключ &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&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;\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;1798-2558&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; Sonarr&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Radarr&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; SickRage&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; CouchPotato&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mylar3&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Lidarr&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; DuckieTV&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:qbittorrent&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:qbittorrent&quot; data-wiki-id=&quot;yggdrasil:bittorrent:qbittorrent&quot;&gt;qBittorrent&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nefarious&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;\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2559-2747&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;ссылки&quot;&gt;Ссылки&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/Jackett/Jackett&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/Jackett/Jackett&quot; rel=&quot;ugc nofollow noopener&quot;&gt; Официальный сайт проекта &lt;/a&gt; &lt;br/&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;\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;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2748-2867&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;похожие_проекты&quot;&gt;Похожие проекты&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/Prowlarr/Prowlarr&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/Prowlarr/Prowlarr&quot; rel=&quot;ugc nofollow noopener&quot;&gt; Prowlarr &lt;/a&gt; - поддерживает те же сайты, что и Jackett&lt;br/&gt;

&lt;a href=&quot;https://github.com/theotherp/nzbhydra2&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/theotherp/nzbhydra2&quot; rel=&quot;ugc nofollow noopener&quot;&gt; NZBHydra &lt;/a&gt; - поддерживает больше функций, но содержит меньше сайтов &lt;br/&gt;

&lt;a href=&quot;https://github.com/cardigann/cardigann&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/cardigann/cardigann&quot; rel=&quot;ugc nofollow noopener&quot;&gt; Cardigann &lt;/a&gt; - последние обновления в 2020 году
&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;\u041f\u043e\u0445\u043e\u0436\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u0445\u043e\u0436\u0438\u0435_\u043f\u0440\u043e\u0435\u043a\u0442\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2868-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 22 Oct 2025 08:13:18 +0000</pubDate>
        </item>
        <item>
            <title>Opentracker</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:opentracker?rev=1761120799&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;opentracker&quot;&gt;Opentracker&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Для организации трекера в сети &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:yggdrasil&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:yggdrasil&quot; data-wiki-id=&quot;yggdrasil:yggdrasil&quot;&gt;Yggdrasil&lt;/a&gt;, подойдет любой сервер, с поддержкой IPv6, одним из таких является &lt;a href=&quot;https://erdgeist.org/arts/software/opentracker/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://erdgeist.org/arts/software/opentracker/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Opentracker&lt;/a&gt; - сервер с открытым исходным кодом, написанный на &lt;a href=&quot;https://ru.wikipedia.org/wiki/Си_(язык_программирования)&quot; class=&quot;interwiki iw_wpru&quot; target=&quot;_blank&quot; title=&quot;https://ru.wikipedia.org/wiki/Си_(язык_программирования)&quot; rel=&quot;noopener&quot;&gt;языке C&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Opentracker не требует базы данных, так как вся информация о пирах хранится в оперативной памяти.
&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;Opentracker&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opentracker&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-631&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;code&gt;-DWANT_V6&lt;/code&gt; в файле &lt;a href=&quot;https://erdgeist.org/gitweb/opentracker/tree/Makefile&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://erdgeist.org/gitweb/opentracker/tree/Makefile&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Makefile&lt;/a&gt;, таким образом сервер будет оперировать исключительно IPv6
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cvs -d :pserver:cvs@cvs.fefe.de:/cvs -z9 co libowfat  
cd libowfat  
make
cd ..
# LEGACY: cvs -d:pserver:anoncvs@cvs.erdgeist.org:/home/cvsroot co opentracker
git clone git://erdgeist.org/opentracker
cd opentracker
make&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;632-1241&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;настройки_доступа&quot;&gt;Настройки доступа&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Opentracker работает на порту 6969, поэтому для входящих подключений добавим правило в iptables с помощью утилиты &lt;code&gt;ufw&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ufw allow 6969&lt;/pre&gt;

&lt;p&gt;
В случае, если хотим обслуживать соединения исключительно в сети yggdrasil
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ufw allow from 0200::/7 to any port 6969&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 \u0434\u043e\u0441\u0442\u0443\u043f\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438_\u0434\u043e\u0441\u0442\u0443\u043f\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1242-1705&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;автозапуск&quot;&gt;Автозапуск&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Добавляем запуск сервера при старте системы, я использовал crontab
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;@reboot /path/opentracker -p 6969 -P 6969&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;:3,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1706-1916&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;проксирование&quot;&gt;Проксирование&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для корректного приема подключений, opentracker должен быть скомпилирован с флагом:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;-DWANT_IP_FROM_PROXY&lt;/pre&gt;

&lt;p&gt;
При этом, прокси-сервер должен передавать серверу opentracker клиентский &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt;, иначе в качестве сидов будет передан локальный &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt;.
&lt;/p&gt;

&lt;p&gt;
О настройке проксирования трафика посредством nginx для различных нужд, например организации кластеров, можно почитать в разделе &lt;a href=&quot;#ссылки&quot; title=&quot;yggdrasil:bittorrent:opentracker ↵&quot; class=&quot;wikilink1&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;\u041f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1917-2629&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;подключение&quot;&gt;Подключение&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для тестирования раздачи, а также приёма подключений в сети Yggdrasil, торрент-клиент необходимо настроить для прослушивания локального интерфейса или адреса, иначе пир будет идентифицирован по &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt; сети по-умолчанию (Интернет) и передавать этот адрес трекеру.
&lt;/p&gt;

&lt;p&gt;
На примере &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:qbittorrent&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:qbittorrent&quot; data-wiki-id=&quot;yggdrasil:bittorrent:qbittorrent&quot;&gt;qBittorrent&lt;/a&gt;, сделать это можно в &lt;strong&gt;Preferences&lt;/strong&gt; - &lt;strong&gt;Advanced&lt;/strong&gt; - &lt;strong&gt;Network interface&lt;/strong&gt; или &lt;strong&gt;Optional &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt; address to bind to&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
При наличии фаервол, условием для проверки сидирования данных в сети Yggdrasil является открытие порта, определенного случайно или заданного явно в настройках BitTorrent клиента.
&lt;/p&gt;

&lt;p&gt;
Также, при смене параметров интернет-подключения (&lt;abbr title=&quot;Virtual Private Network&quot;&gt;VPN&lt;/abbr&gt; или proxy), важно перезапустить BitTorrent клиент.
&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;\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2630-3825&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;https://erdgeist.org/arts/software/opentracker/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://erdgeist.org/arts/software/opentracker/&quot; rel=&quot;ugc nofollow noopener&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://radjik.livejournal.com/195622.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://radjik.livejournal.com/195622.html&quot; rel=&quot;ugc nofollow noopener&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://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:qbittorrent#встроенный_трекер&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:qbittorrent&quot; data-wiki-id=&quot;yggdrasil:bittorrent:qbittorrent&quot;&gt;Торрент-трекер на базе qBittorrent&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;:5,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3826-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 22 Oct 2025 08:13:19 +0000</pubDate>
        </item>
        <item>
            <title>qBittorrent</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:qbittorrent?rev=1761120798&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;qbittorrent&quot;&gt;qBittorrent&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Свободный &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:bittorrent&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:bittorrent&quot; data-wiki-id=&quot;yggdrasil:bittorrent:bittorrent&quot;&gt;BitTorrent&lt;/a&gt; клиент, написанный с использованием фреймворка Qt и библиотеки libtorrent.
&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;qBittorrent&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;qbittorrent&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-221&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;пиринг_в_yggdrasil&quot;&gt;Пиринг в Yggdrasil&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
По-умолчанию, клиент прослушивает все сетевые интерфейсы и отлично подходит для обмена файлами в сети &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:yggdrasil&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:yggdrasil&quot; data-wiki-id=&quot;yggdrasil:yggdrasil&quot;&gt;Yggdrasil&lt;/a&gt;. 
&lt;/p&gt;

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

&lt;p&gt;
Для этого, достаточно указать интерфейс или адрес Yggdrasil из списка доступных:
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Preferences → Advanced → Network interface&lt;/strong&gt; или &lt;strong&gt;Optional &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt; address to bind to&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Поскольку трафик между пирами Yggdrasil шифруется по-умолчанию, для снижения нагрузки, штатное шифрование можно отключить: 
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Preferences → BitTorrent → Privacy → Encription mode → Disable&lt;/strong&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;\u041f\u0438\u0440\u0438\u043d\u0433 \u0432 Yggdrasil&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0438\u0440\u0438\u043d\u0433_\u0432_yggdrasil&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;222-1298&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;сидирование&quot;&gt;Сидирование&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

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

&lt;p&gt;
Для этого достаточно открыть порт в фаервол:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ufw allow from 0200::/7 to any port [Listening Port]&lt;/pre&gt;

&lt;p&gt;
[Listening Port] - автоматически выданный клиентом порт в разделе &lt;strong&gt;Preferences&lt;/strong&gt; → &lt;strong&gt;Connections&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Обратите внимание, что UPnP в контексте Yggdrasil не используется, поэтому включение этой опции никак не влияет на участие в сидинге.
&lt;/p&gt;

&lt;p&gt;
Не забываем анонсировать свою раздачу как минимум одному &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:sites_and_services:other_network_services#torrent&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:sites_and_services:other_network_services&quot; data-wiki-id=&quot;yggdrasil:sites_and_services:other_network_services&quot;&gt;трекеру в сети Yggrasil&lt;/a&gt;. Сделать это можно выбрав соответствующий файл, во вкладке &lt;strong&gt;Trackers&lt;/strong&gt; → &lt;strong&gt;Add trackers…&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Подробная настройка сид-сервера на базе qBittorrent, описана в разделе &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:seedbox#сервер_на_базе_qbittorrent&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:seedbox&quot; data-wiki-id=&quot;yggdrasil:bittorrent:seedbox&quot;&gt;Сервер на базе qBittorrent&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;\u0421\u0438\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0438\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1299-2599&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;встроенный_трекер&quot;&gt;Встроенный трекер&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
В клиенте qBittorrent имеется встроенный торрент-трекер, активировать который можно в разделе меню:
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Advanced → Enable embedded tracker&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Разрешаем покдключение к трекеру из сети Yggdrasil (по-умолчанию 9000):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ufw allow from 0200::/7 to any port 9000&lt;/pre&gt;

&lt;p&gt;
Затем, можно поделиться ссылкой вида &lt;a href=&quot;http://[address]:9000/announce&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://[address]:9000/announce&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://[address]:9000/announce&lt;/a&gt; с другими или добавить в список &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:sites_and_services:other_network_services#torrent&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:sites_and_services:other_network_services&quot; data-wiki-id=&quot;yggdrasil:sites_and_services:other_network_services&quot;&gt;внутрисетевых сервисов&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
* Организовать легковесный торрент-трекер можно также с помощью специализированного &lt;abbr title=&quot;Программное обеспечение&quot;&gt;ПО&lt;/abbr&gt;, например &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:opentracker&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:opentracker&quot; data-wiki-id=&quot;yggdrasil:bittorrent:opentracker&quot;&gt;Opentracker&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;\u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0442\u0440\u0435\u043a\u0435\u0440&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439_\u0442\u0440\u0435\u043a\u0435\u0440&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2600-3536&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;темы_оформления&quot;&gt;Темы оформления&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Клиент поддерживает &lt;a href=&quot;https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-qBittorrent-themes&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-qBittorrent-themes&quot; rel=&quot;ugc nofollow noopener&quot;&gt;альтернативные темы&lt;/a&gt; оформления в формате .qbttheme 
&lt;/p&gt;

&lt;p&gt;
Следует учитывать, что темы для десктоп клиента несовместимы с клиентом Web UI.&lt;br/&gt;

Для изменения внешнего вида Web UI, вместо файла .qbttheme, используются &lt;a href=&quot;https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-alternate-WebUIs&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-alternate-WebUIs&quot; rel=&quot;ugc nofollow noopener&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;\u0422\u0435\u043c\u044b \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0442\u0435\u043c\u044b_\u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3537-4183&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;альтернативный_web_ui&quot;&gt;Альтернативный Web UI&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Чтобы создать альтернативный Web UI, достаточно скопировать директорию
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cp src/webui/www /somelocation/newtheme&lt;/pre&gt;

&lt;p&gt;
Минимальный набор файлов представлен директориями:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/private - все страницы клиента, доступные после авторизации
/public - страница логина&lt;/pre&gt;

&lt;p&gt;
После нужных изменений, путь к альтернативному клиенту можно в опции:
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Preferences → Web UI → Use alternative Web UI&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
В последних версиях qBittorrent была убрана поддержка обработки мульти-язычных строк, поэтому придется удалить конструкции из файлов html авто-заменой
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;QBT_TR\((.*)\)QBT_TR\[CONTEXT=.*\]&lt;/pre&gt;

&lt;p&gt;
Результатом можно поделиться на GitHub, добавив страницу проекта в список &lt;a href=&quot;https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-alternate-WebUIs&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-alternate-WebUIs&quot; rel=&quot;ugc nofollow noopener&quot;&gt;List of known alternate WebUIs&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;\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 Web UI&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439_web_ui&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;4184-5420&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;контрибуция&quot;&gt;Контрибуция&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Для отправки PR в официальный репозиторий, чтобы исключить конфликты обновлений, желательно разбивать правки на отдельные ветки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;git checout master
git checkout -b my-webui-fix&lt;/pre&gt;

&lt;p&gt;
Важно перед отправкой тестировать форматирование и валидность кода:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cd src/webui/www
npm install
npm run lint &amp;amp;&amp;amp; npm run format&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\u0440\u0438\u0431\u0443\u0446\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u043e\u043d\u0442\u0440\u0438\u0431\u0443\u0446\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;5421-5960&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;сборка_из_исходников&quot;&gt;Сборка из исходников&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Актуальные инструкции по компиляции, описаны в файле &lt;a href=&quot;https://raw.githubusercontent.com/qbittorrent/qBittorrent/master/INSTALL&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://raw.githubusercontent.com/qbittorrent/qBittorrent/master/INSTALL&quot; rel=&quot;ugc nofollow noopener&quot;&gt;INSTALL&lt;/a&gt; а также разделе официальной &lt;a href=&quot;https://github.com/qbittorrent/qBittorrent/wiki#compilation&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/qbittorrent/qBittorrent/wiki#compilation&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Wiki&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
При использовании последней версии из репозитория, с большой вероятностью, версии зависимостей в штатных репозиториях окажутся устаревшими.&lt;br/&gt;

В частности, может дополнительно понадобиться сборка последних версий &lt;a href=&quot;https://www.boost.org/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.boost.org/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;libboost&lt;/a&gt;, &lt;a href=&quot;https://www.libtorrent.org/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.libtorrent.org/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;libtorrent&lt;/a&gt; и &lt;a href=&quot;https://www.qt.io&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.qt.io&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Qt&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;\u0421\u0431\u043e\u0440\u043a\u0430 \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0431\u043e\u0440\u043a\u0430_\u0438\u0437_\u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;5961-6821&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;автоматическая_сборка&quot;&gt;Автоматическая сборка&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Для сборки серверного клиента без графической оболочки (qbittorrent-nox), есть удобная утилита &lt;a href=&quot;https://github.com/userdocs/qbittorrent-nox-static&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/userdocs/qbittorrent-nox-static&quot; rel=&quot;ugc nofollow noopener&quot;&gt;qbittorrent-nox-static&lt;/a&gt;, которая соберет все зависимости автоматически. 
&lt;/p&gt;

&lt;p&gt;
Удобна тем, что также поддерживает различные платформы, в том числе ARM.
&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;\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f_\u0441\u0431\u043e\u0440\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;6822-7333&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&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;\u0420\u0443\u0447\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0443\u0447\u043d\u0430\u044f_\u0441\u0431\u043e\u0440\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;7334-7370&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit11&quot; id=&quot;libboost&quot;&gt;libboost&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Официальная инструкция:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;git clone --recursive https://github.com/boostorg/boost.git
cd boost
./bootstrap.sh
./b2&lt;/pre&gt;

&lt;p&gt;
Главная ветка включает межверсионные изменения последней версии.&lt;br/&gt;

На практике, для разрешения зависимостей, используются &lt;a href=&quot;https://github.com/boostorg/boost/releases&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/boostorg/boost/releases&quot; rel=&quot;ugc nofollow noopener&quot;&gt;релизы&lt;/a&gt; (это касается и остальных пакетов).
Загружаем архив нужной версии и пропускаем шаг git/clone.
&lt;/p&gt;

&lt;p&gt;
Для глобальной установки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;./b2 install&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;libboost&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;libboost&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;7371-8066&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit12&quot; id=&quot;libtorrent&quot;&gt;libtorrent&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;git clone --recurse-submodules https://github.com/arvidn/libtorrent.git
cd libtorrent
./configure
make&lt;/pre&gt;

&lt;p&gt;
&lt;em&gt;* возможно для конфигурации потребуется указать путь к boost, например ./configure –with-boost-libdir=/usr/lib/arm-linux-gnueabihf&lt;/em&gt;/
&lt;/p&gt;

&lt;p&gt;
Для глобальной установки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;make install&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;libtorrent&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;libtorrent&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;8067-8474&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit13&quot; id=&quot;qt&quot;&gt;qt&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Необходимую для qBittorrent версию проще всего установить из официального онлайн-установщика (для загрузки потребуется регистрация на сайте).
&lt;/p&gt;

&lt;p&gt;
Также библиотеки (qtbase и qttools) можно загрузить &lt;a href=&quot;https://download.qt.io/official_releases/qt/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://download.qt.io/official_releases/qt/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;из архива релизов&lt;/a&gt; и собрать вручную.
&lt;/p&gt;

&lt;p&gt;
В таком случае, важно учитывать наличие доступных ресурсов - для сборки qtbase понадобится порядка 3Гб ОЗУ и до 5Гб дискового пространства.
&lt;/p&gt;

&lt;p&gt;
Если есть возможность подключения внешнего накопителя, буфер памяти можно увеличить через файл подкачки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;fallocate -l 4G /mount/swapfile
chmod 600 /mount/swapfile
mkswap /mount/swapfile
swapon /mount/swapfile&lt;/pre&gt;

&lt;p&gt;
по завершению:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;swapoff /mount/swapfile
rm /mount/swapfile&lt;/pre&gt;

&lt;p&gt;
При монтировании дополнительного дискового пространства посредством /etc/fstab, важно добавить флаги user,exec иначе при сборке cmake выдаст ошибку “Permission denied”.&lt;br/&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;qt&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;qt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;8475-9869&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit14&quot; id=&quot;qtbase&quot;&gt;qtbase&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Процесс компиляции выглядит примерно так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cd /mount/qtbase-everywhere-src-6.5.3
cmake -B build
cmake --build build --parallel 4&lt;/pre&gt;

&lt;p&gt;
&lt;em&gt;* 4 - количество потоков&lt;/em&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Можно указать параметры для отдельных дистрибутивов, например Debian/Ubuntu
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;-DCMAKE_BUILD_TYPE=RelWithDebInfo 
-DCMAKE_INSTALL_PREFIX=/usr/local&lt;/pre&gt;

&lt;p&gt;
В этом примере, собранные файлы будут расположены в директории 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/mount/qtbase-everywhere-src-6.5.3/build/lib/cmake&lt;/pre&gt;

&lt;p&gt;
Для глобальной установки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cd /mount/qtbase-everywhere-src-6.5.3/build
cmake --install .&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;qtbase&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;qtbase&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;9870-10641&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit15&quot; id=&quot;qttools&quot;&gt;qttools&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Как указано в файле dependencies.yaml, сборка требует предустановленной библиотеки qtbase, приступаем только если выполнили &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:qbittorrent#qtbase&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:qbittorrent&quot; data-wiki-id=&quot;yggdrasil:bittorrent:qbittorrent&quot;&gt;предыдущий шаг&lt;/a&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cd /mount/qttools-everywhere-src-6.5.3
qt-configure-module .
cmake --build .&lt;/pre&gt;

&lt;p&gt;
Для глобальной установки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cmake --install .&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;qttools&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;qttools&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:17,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;10642-11115&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit16&quot; id=&quot;qbittorrent-nox&quot;&gt;qbittorrent-nox&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Для сборки серверной версии с помощью cmake - отключаем графическую среду флагом
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;-DGUI=OFF&lt;/pre&gt;

&lt;p&gt;
Если пакеты Qt не установлены глобально, при компиляции qBittorrent с помощью cmake, нужно указать дополнительный флаг c префиксом директории:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;-DCMAKE_PREFIX_PATH=&amp;#039;/home/USERNAME/Qt/6.5.3/gcc_64/lib/cmake&amp;#039;&lt;/pre&gt;

&lt;p&gt;
Подробнее о доступных опциях сборки и их значениями по-умолчанию, можно почитать в разделе &lt;a href=&quot;https://github.com/qbittorrent/qBittorrent/wiki/#compilation&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/qbittorrent/qBittorrent/wiki/#compilation&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Compilation&lt;/a&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;git clone https://github.com/qbittorrent/qBittorrent.git
cd qBittorrent
cmake -B build -G &amp;quot;Ninja&amp;quot; -DCMAKE_BUILD_TYPE=Release -DGUI=OFF
cmake --build build&lt;/pre&gt;

&lt;p&gt;
Готовый бинарный пакет qbittorrent-nox будет доступен в директории /build
&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;qbittorrent-nox&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;qbittorrent-nox&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:19,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;11116-12170&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit17&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;\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0448\u0435\u043d\u0438\u0435_\u043f\u0440\u043e\u0431\u043b\u0435\u043c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:22,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;12171-12213&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit18&quot; id=&quot;потребление_памяти&quot;&gt;Потребление памяти&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
При большом количестве раздач, в qBittorrent 4, &lt;a href=&quot;https://github.com/qbittorrent/qBittorrent/issues/16612&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/qbittorrent/qBittorrent/issues/16612&quot; rel=&quot;ugc nofollow noopener&quot;&gt;наблюдается&lt;/a&gt; проблема повышенного расхода памяти с активным использованием swap и зависанием интерфейса. 
&lt;/p&gt;

&lt;p&gt;
Чтобы избежать перебоев в работе других служб, можно добавить лимиты на процесс, указав объем доступной памяти:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nano /etc/systemd/system/qbittorrent-nox.service&lt;/pre&gt;

&lt;p&gt;
* qbittorrent-nox - серверный клиент qbittorrent
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[Service]
MemoryHigh=256M
MemoryMax=512M
MemorySwapMax=512M&lt;/pre&gt;

&lt;p&gt;
В версии 5 (из ветки unstable) проблема пока что не наблюдалась. 
&lt;/p&gt;

&lt;p&gt;
Установить альфа версию для требуемого дистрибутива можно из списка на &lt;a href=&quot;https://www.qbittorrent.org/download&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.qbittorrent.org/download&quot; rel=&quot;ugc nofollow noopener&quot;&gt;официальной странице загрузок&lt;/a&gt;, раздел “Other Binary Packages”&lt;br/&gt;

Например, репозиторий Ubuntu:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;add-apt-repository ppa:qbittorrent-team/qbittorrent-unstable &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\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435_\u043f\u0430\u043c\u044f\u0442\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:22,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;12214-13507&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit19&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;\u0421\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:25,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;13508-13545&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit20&quot; id=&quot;протоколы&quot;&gt;Протоколы&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
qBittorrent по-умолчанию генерирует торрент-файлы гибридного формата. 
&lt;/p&gt;

&lt;p&gt;
Клиенты (например, &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:transmission&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:transmission&quot; data-wiki-id=&quot;yggdrasil:bittorrent:transmission&quot;&gt;Transmission&lt;/a&gt;) не имеющие поддержку протокола 2 версии, не смогут открыть файл.
&lt;/p&gt;

&lt;p&gt;
Таким образом, при создании торрент-файлов лучше явно указывать формат версии 1.
&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;\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;:25,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;13546-14047&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit21&quot; id=&quot;magnet&quot;&gt;Magnet&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Автоматически сгенерированный из magnet ссылки .torrent файл (при включенной опции авто-сохранения .torrent файлов), может не содержать фрагментов (pieces) что сделает его не совместимым при импорте.
&lt;/p&gt;

&lt;p&gt;
В качестве решения, для раздач лучше генерировать новый .torrent файл после загрузки содержимого.
&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;Magnet&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;magnet&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:25,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;14048-14578&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit22&quot; id=&quot;зависание_скачиваний&quot;&gt;Зависание скачиваний&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
В 4 версии клиента замечено зависание (stalled) при скачивании файлов. Частой причиной этому может быть использование только первого трекера (оффлайн) из списка доступных.
&lt;/p&gt;

&lt;p&gt;
Решение описано в &lt;a href=&quot;https://github.com/qbittorrent/qBittorrent/wiki/Frequently-Asked-Questions#Only_one_tracker_is_working_The_others_arent_contacted_yet&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/qbittorrent/qBittorrent/wiki/Frequently-Asked-Questions#Only_one_tracker_is_working_The_others_arent_contacted_yet&quot; rel=&quot;ugc nofollow noopener&quot;&gt;официальной инструкции&lt;/a&gt; по дополнительным настройкам:
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Preferences → Advanced → Always announce to all trackers&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Также можно отметить
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Preferences → Advanced → Always announce to all trackers in a tier&lt;/strong&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;\u0417\u0430\u0432\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0439&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u0432\u0438\u0441\u0430\u043d\u0438\u0435_\u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0439&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:25,&amp;quot;secid&amp;quot;:22,&amp;quot;range&amp;quot;:&amp;quot;14579-15391&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit23&quot; id=&quot;webui_открывается_как_файл&quot;&gt;WebUI открывается как файл&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
В большинстве случаев связано с настройками MIME.
&lt;/p&gt;

&lt;p&gt;
В дистрибутивах Linux, можно попробовать очистить кеш в директории
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/home/USERNAME/local/share/mime&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;WebUI \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0444\u0430\u0439\u043b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;webui_\u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f_\u043a\u0430\u043a_\u0444\u0430\u0439\u043b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:25,&amp;quot;secid&amp;quot;:23,&amp;quot;range&amp;quot;:&amp;quot;15392-15704&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit24&quot; id=&quot;ошибка_авторизации_плагинов&quot;&gt;Ошибка авторизации плагинов&lt;/h3&gt;
&lt;div class=&quot;level3&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; Зайти на сайт и авторизироваться из браузера, возможно есть запрос Captcha&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;/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 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0448\u0438\u0431\u043a\u0430_\u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438_\u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:26,&amp;quot;secid&amp;quot;:24,&amp;quot;range&amp;quot;:&amp;quot;15705-16299&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit25&quot; id=&quot;ссылки&quot;&gt;Ссылки&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.qbittorrent.org/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.qbittorrent.org/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Официальный сайт qBittorrent&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://github.com/qbittorrent/qBittorrent/wiki/Frequently-Asked-Questions&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/qbittorrent/qBittorrent/wiki/Frequently-Asked-Questions&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Частые вопросы&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-qBittorrent-themes&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-qBittorrent-themes&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Альтернативные темы (Десктоп)&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-alternate-WebUIs&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-alternate-WebUIs&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Альтернативные клиенты (Web UI)&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://github.com/qbittorrent/search-plugins/wiki/Unofficial-search-plugins&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/qbittorrent/search-plugins/wiki/Unofficial-search-plugins&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Поисковые плагины&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&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;a href=&quot;https://github.com/YGGverse/qbittorrent-yggtracker-search-plugin&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/YGGverse/qbittorrent-yggtracker-search-plugin&quot; rel=&quot;ugc nofollow noopener&quot;&gt;YGGtracker&lt;/a&gt; - (&lt;a href=&quot;https://github.com/YGGverse/qbittorrent-yggtracker-search-plugin/blob/main/nodes.json&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/YGGverse/qbittorrent-yggtracker-search-plugin/blob/main/nodes.json&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Реестр узлов&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Порты &lt;a href=&quot;https://github.com/imDMG/qBt_SE&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/imDMG/qBt_SE&quot; rel=&quot;ugc nofollow noopener&quot;&gt;qBt_SE&lt;/a&gt;:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://raw.githubusercontent.com/YGGverse/qBt_SE/yggdrasil/engines/rutor_yggdrasil_321_c99a_91a1_cd2c__16.py&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://raw.githubusercontent.com/YGGverse/qBt_SE/yggdrasil/engines/rutor_yggdrasil_321_c99a_91a1_cd2c__16.py&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Rutor&lt;/a&gt; (&lt;a href=&quot;http://[321:c99a:91a1:cd2c::16]/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://[321:c99a:91a1:cd2c::16]/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://[321:c99a:91a1:cd2c::16]/&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://raw.githubusercontent.com/YGGverse/qBt_SE/yggdrasil/engines/rutracker_yggdrasil_321_c99a_91a1_cd2c__18.py&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://raw.githubusercontent.com/YGGverse/qBt_SE/yggdrasil/engines/rutracker_yggdrasil_321_c99a_91a1_cd2c__18.py&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Rutracker&lt;/a&gt; (&lt;a href=&quot;http://[321:c99a:91a1:cd2c::18]/forum/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://[321:c99a:91a1:cd2c::18]/forum/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://[321:c99a:91a1:cd2c::18]/forum/&lt;/a&gt;) - для поиска необходима авторизация&lt;/div&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;\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;:26,&amp;quot;secid&amp;quot;:25,&amp;quot;range&amp;quot;:&amp;quot;16300-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 22 Oct 2025 08:13:18 +0000</pubDate>
        </item>
        <item>
            <title>Сидбокс</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:seedbox?rev=1761559435&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;сидбокс&quot;&gt;Сидбокс&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Сидбокс (англ. Seedbox) - частное автономное устройство, выполняющее функцию сбора, хранения и распространения данных или сетевых мета-данных (информации об узлах) другим узлам в сети.
&lt;/p&gt;

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

&lt;p&gt;
В отличии от десктоп сидирования, устройство обеспечивает высокий показатель up-time.
&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;\u0421\u0438\u0434\u0431\u043e\u043a\u0441&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0438\u0434\u0431\u043e\u043a\u0441&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-713&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://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_detail/yggdrasil:bittorrent:seedbox:orange-pi-pc-plus-1tb-seed-box.png?id=yggdrasil%3Abittorrent%3Aseedbox&quot; class=&quot;media&quot; title=&quot;yggdrasil:bittorrent:seedbox:orange-pi-pc-plus-1tb-seed-box.png&quot;&gt;&lt;img src=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_media/yggdrasil:bittorrent:seedbox:orange-pi-pc-plus-1tb-seed-box.png?w=200&amp;amp;tok=279616&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;OrangePi PC Plus / 1 Tb&quot; alt=&quot;OrangePi PC Plus / 1 Tb&quot; width=&quot;200&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_detail/yggdrasil:bittorrent:seedbox:orange-pi-pc-plus-1tb-seed-box-side-view.png?id=yggdrasil%3Abittorrent%3Aseedbox&quot; class=&quot;media&quot; title=&quot;yggdrasil:bittorrent:seedbox:orange-pi-pc-plus-1tb-seed-box-side-view.png&quot;&gt;&lt;img src=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_media/yggdrasil:bittorrent:seedbox:orange-pi-pc-plus-1tb-seed-box-side-view.png?w=196&amp;amp;tok=7206c3&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;OrangePi PC Plus / 1 Tb&quot; alt=&quot;OrangePi PC Plus / 1 Tb&quot; width=&quot;196&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;\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u0438\u043c\u0435\u0440\u044b_\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;714-965&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;сидбоксинг&quot;&gt;Сидбоксинг&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Культура и сообщество энтузиастов, мотивированных свободой обмена данными: метео, bittorrent, и другие направления.
&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;\u0421\u0438\u0434\u0431\u043e\u043a\u0441\u0438\u043d\u0433&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0438\u0434\u0431\u043e\u043a\u0441\u0438\u043d\u0433&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;966-1204&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;yggdrasil&quot;&gt;Yggdrasil&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Yggdrasil является отличным инструментом для организации сид-сервера, без необходимости аренды выделенного &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt; адреса или порта; 
сквозное шифрование обеспечивает защиту трафика, повышая устойчивость к прослушиванию и блокировкам со стороны провайдеров.
&lt;/p&gt;

&lt;p&gt;
Программное обеспечение может быть использовано как для нужд сидирования непосредственно в локальную сеть Yggdrasil, так и в качестве шлюза-ретранслятора данных между удаленными точками, находящихся за &lt;abbr title=&quot;Network Address Translation&quot;&gt;NAT&lt;/abbr&gt; или чувствительных к мониторингу трафика. 
&lt;/p&gt;

&lt;p&gt;
Поскольку Yggdrasil обеспечивает соединение пиров путем туннелирования, не нужно настраивать маршрутизацию (проброс) портов на роутере, активировать опцию UPnP, достаточно разрешить выданный BitTorrent клиентом порт в настройках фаервол (при использовании модели whitelist)
&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;Yggdrasil&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;yggdrasil&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1205-2618&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&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;\u0410\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0430\u044f_\u0447\u0430\u0441\u0442\u044c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2619-2663&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;\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2664-2695&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit7&quot; id=&quot;выбор_устройства&quot;&gt;Выбор устройства&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Для организации раздач в локальной сети Yggdrasil, требования к производительности минимальны, в большинстве случаев подойдет ARM платформа с 1 Гб оперативной памяти и внешним накопителем.
&lt;/p&gt;

&lt;p&gt;
Использование для этой цели старого ноутбука, с постоянно подключенным зарядным устройством нежелательно для АКБ, если в устройстве не предусмотрен аппаратный модуль активной зарядки, обеспечивающий питание устройства напрямую, в случае, когда аккумулятор заряжен.
&lt;/p&gt;

&lt;p&gt;
Оптимальным выбором для создания сид-бокса будет &lt;a href=&quot;https://www.raspberrypi.com/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.raspberrypi.com/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Raspbery Pi&lt;/a&gt;. Из бюджетных вариантов, существует множество альтернатив, например для BitTorrent раздач подойдет &lt;a href=&quot;http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-PC-Plus.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-PC-Plus.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Orange Pi PC Plus&lt;/a&gt;, имеющий на борту процессор Allwinner H3 SoC Quad-core Cortex-A7, 1GB LPDDR3 SDRAM и встроенную память 8GB eMMC Flash.
&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;\u0412\u044b\u0431\u043e\u0440 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u044b\u0431\u043e\u0440_\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2696-4156&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit8&quot; id=&quot;операционные_системы&quot;&gt;Операционные системы&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Обычно для обслуживания сид-сервера, используется операционные системы семейства Linux.
&lt;/p&gt;

&lt;p&gt;
Например, Orange Pi &lt;a href=&quot;http://www.orangepi.org/html/serviceAndSupport&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.orangepi.org/html/serviceAndSupport&quot; rel=&quot;ugc nofollow noopener&quot;&gt;предоставляет&lt;/a&gt; для загрузки свои официальные образы - Android, Linux, и другие, с адаптацией под характеристики каждой модели.
&lt;/p&gt;

&lt;p&gt;
Также, существуют независимые проекты с открытым исходным кодом для множества устройств, например &lt;a href=&quot;https://www.armbian.com/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.armbian.com/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Armbian&lt;/a&gt;, &lt;a href=&quot;https://dietpi.com/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://dietpi.com/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;DietPi&lt;/a&gt; и другие.
&lt;/p&gt;

&lt;p&gt;
Не смотря на то, что большинство одноплатных компьютеров поставляется с предустановленной &lt;abbr title=&quot;Операционная система&quot;&gt;ОС&lt;/abbr&gt;, лучше установить последнюю версию подходящего для своих нужд дистрибутива.
&lt;/p&gt;

&lt;p&gt;
Для установки операционной системы, после создания установочного образа (удобно использовать &lt;a href=&quot;https://etcher.balena.io&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://etcher.balena.io&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Balena etcher&lt;/a&gt;), подключаемся с помощью SSH, VNC или локально, если имеется внешний монитор, например, с HDMI адаптером. 
Если используется портативный LCD дисплей, лучше запитывать его от отдельного источника питания USB, так как потребление тока может превышать 2 Ампера, что нежелательно для питания от микрокомпьютера напрямую.
&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;\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435_\u0441\u0438\u0441\u0442\u0435\u043c\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4157-6028&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit9&quot; id=&quot;охлаждение&quot;&gt;Охлаждение&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Основной нагрузкой на процессор, при организации сида BitTorrent, является вычисление Info Hash при создании и валидации содержимого раздач (что в прочем можно оптимизировать в настройках выбранного клиента). 
&lt;/p&gt;

&lt;p&gt;
Поэтому желательно установить на модули процессора, питания и памяти дополнительные радиаторы пассивного охлаждения, которые можно приобрести в радио-любительских магазинах.
В операционной системе Linux, контроль температуры датчиков удобно осуществлять с помощью утилиты sensors, установить которую можно командой:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apt install lm-sensors&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\u0445\u043b\u0430\u0436\u0434\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0445\u043b\u0430\u0436\u0434\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;6029-7045&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit10&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;\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435_\u043f\u0430\u043c\u044f\u0442\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;7046-7088&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit11&quot; id=&quot;программное_расширение&quot;&gt;Программное расширение&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Если контроллер обладает малым объемом ОЗУ, расширить встроенную оперативную память можно с помощью файла подкачки на диске.
&lt;/p&gt;

&lt;p&gt;
Чтобы добавить раздел swap на встроенную память, выполняем команды
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;fallocate -l 2G /swapfile&lt;/pre&gt;

&lt;p&gt;
назначаем права root
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;chmod 600 /swapfile&lt;/pre&gt;

&lt;p&gt;
форматируем файл
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mkswap /swapfile&lt;/pre&gt;

&lt;p&gt;
после чего подключаем командой 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;swapon /swapfile&lt;/pre&gt;

&lt;p&gt;
для подключения /swapfile при загрузке системы, добавим в /etc/fstab
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# &amp;lt;file system&amp;gt;   &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;   &amp;lt;options&amp;gt;   &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;
/swapfile         none            swap     sw          0      0&lt;/pre&gt;

&lt;p&gt;
Память swap желательно размещать на легко заменяемых носителях с высокой скоростью записи/чтения. 
&lt;/p&gt;

&lt;p&gt;
Если накопитель используется также и для других нужд, важно предусмотреть отдельный раздел. На дисках HDD, желательно размещать swap в начале разделов.
&lt;/p&gt;

&lt;p&gt;
Подробнее о подготовке внешнего носителя данных, можно прочитать в разделе &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:seedbox#подготовка_носителя&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:seedbox&quot; data-wiki-id=&quot;yggdrasil:bittorrent:seedbox&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;\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435_\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;7089-8726&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;хранение_данных&quot;&gt;Хранение данных&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Объем внутренней памяти устройства минимален и ориентирован для установки операционной системы и программного обеспечения к ней. Чтобы превратить компьютер в полноценный сервер файло-обмена, необходимо подключить внешний накопитель.
Помимо расширения объема штатной памяти, внешний носитель удобен возможностью легкой замены, масштабированием или организацией массива RAID для ускорения операций чтения/записи, а также репликации данных.
&lt;/p&gt;

&lt;p&gt;
Для небольшого файло-обменного сервера, может быть использована обычная USB “флешка” на 128 Gb или внешний HDD диск, например Seagate Basic STJL1000400 2.5 USB 3.0 с 1TB ST1000LM035-FR на борту.
&lt;/p&gt;

&lt;p&gt;
Внешние SSD накопители имеют большую скорость обмена данными в мульти-поточном режиме, но бюджетные диски бытового класса особенно чувствительны к циклам записи. 
Для HDD характерны долговечность но вместе с тем, ограниченная скорость чтения данных, что заметно при нескольких одновременных подключениях к серверу или работой с реляционными базами данных.
&lt;/p&gt;

&lt;p&gt;
Поскольку внешний накопитель будет использоваться для раздач BitTorrent, лучше отдать предпочтение HDD.
&lt;/p&gt;

&lt;p&gt;
Для надежности хранения и обеспечения целостности данных при аварийных отключениях питания, предпочтительнее использовать журналируемую файловую систему, например Ext4.
&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;\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435_\u0434\u0430\u043d\u043d\u044b\u0445&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;8727-11025&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit13&quot; id=&quot;внешний_накопитель&quot;&gt;Внешний накопитель&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Рассмотрим пример создания разделов и форматирования с помощью утилит parted и mkfs.
&lt;/p&gt;

&lt;p&gt;
Подключаем накопитель и находим его в списке:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;parted -l&lt;/pre&gt;

&lt;p&gt;
В моем случае это /dev/sda, поэтому он будет указан в качестве примеров ниже и важно заменить актуальным, во избежание потери данных.
&lt;/p&gt;

&lt;p&gt;
Переходим в редактирование разделов
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;parted /dev/sda&lt;/pre&gt;

&lt;p&gt;
Документацию интерфейса можно получить командой
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;help mkpart&lt;/pre&gt;

&lt;p&gt;
Указываем стандарт разметки, GPT
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mklabel gpt&lt;/pre&gt;

&lt;p&gt;
В зависимости от целей и способа монтирования диска, можно создать несколько разделов.
&lt;/p&gt;

&lt;p&gt;
Поскольку не знаю, сколько места может потребоваться для каждого пользователя (планируется расширять память новыми устройствами аппаратно) 
создаю один общий логический раздел для директории /home и указываю размер 0-100%. Отступы (alignment) раздела при этом будут созданы автоматически.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mkpart logical ext4 0% 100%&lt;/pre&gt;

&lt;p&gt;
Проверяем разметку разделов
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;print free&lt;/pre&gt;

&lt;p&gt;
Если всё устраивает, сохраняем изменения командой
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;quit&lt;/pre&gt;

&lt;p&gt;
Форматируем раздел, например в журналируемую файловую систему Ext4
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mkfs -t ext4 /dev/sda1&lt;/pre&gt;

&lt;p&gt;
Далее необходимо узнать UUID раздела командой
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;lsblk -o PATH,SIZE,RO,TYPE,MOUNTPOINT,UUID,MODEL&lt;/pre&gt;

&lt;p&gt;
и для автоматического монтирования после запуска системы, указать в
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/etc/fstab&lt;/pre&gt;

&lt;p&gt;
результат должен быть примерно таким:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# &amp;lt;file system&amp;gt;                                 &amp;lt;mount point&amp;gt;       &amp;lt;type&amp;gt;      &amp;lt;options&amp;gt;                                                       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;
UUID=cf3151b5-dc12-1248-95d4-4de43dga3273       /mnt/sda1           ext4        defaults,noatime,rw,user,auto                                   0       2&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; если на монтируемом устройстве планируется запускать исполняемые файлы или производить сборку (например cargo), следует в “options” добавить флаг “exec”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; для съемных накопителей желательно добавить флаг “nofail”, что позволит системе загружаться независимо от наличия (и состояния) устройства&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\u043d\u0435\u0448\u043d\u0438\u0439 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u043d\u0435\u0448\u043d\u0438\u0439_\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;11026-14176&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit14&quot; id=&quot;пример_подключения_в_home&quot;&gt;Пример подключения в home&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Копируем данные пользователей, предварительно остановив все службы, работающие с домашним каталогом, например, qbittorent-nox
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;service qbittorent-nox stop&lt;/pre&gt;

&lt;p&gt;
производим резервное копирование и удаляем каталог /home
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cp /home /home.bak
rm -R /home &lt;/pre&gt;

&lt;p&gt;
монтируем диск
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mount /dev/sda1 /home&lt;/pre&gt;

&lt;p&gt;
копируем (или переносим) данные на носитель
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cp /home.bak /home&lt;/pre&gt;

&lt;p&gt;
каждому пользователю рекурсивно возвращаем права
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;chown -R qbittorent-nox:qbittorent-nox /home/qbittorent-nox&lt;/pre&gt;

&lt;p&gt;
запускаем службы
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;service qbittorent-nox start&lt;/pre&gt;

&lt;p&gt;
По аналогии, можно создать несколько разделов, задав при этом нужные точки монтирования.
&lt;/p&gt;

&lt;p&gt;
Желательно размещать swap, временные файлы и журналы на внешних дисках для увеличения срока эксплуатации внутренней памяти микрокомпьютера.
&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;\u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 home&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u0438\u043c\u0435\u0440_\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f_\u0432_home&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:17,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;14177-15500&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit15&quot; id=&quot;сетевой_накопитель&quot;&gt;Сетевой накопитель&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;\u0421\u0435\u0442\u0435\u0432\u043e\u0439 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0435\u0442\u0435\u0432\u043e\u0439_\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:23,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;15501-15697&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit16&quot; id=&quot;curlftpfs&quot;&gt;curlftpfs&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Утилита для монтирования удалённой директории посредством &lt;abbr title=&quot;File Transfer Protocol&quot;&gt;FTP&lt;/abbr&gt; и CURL.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/usr/bin/curlftpfs -o allow_other ftp://user:password@[host]:21/source /target&lt;/pre&gt;

&lt;p&gt;
Поскольку монтирование происходит от root, права доступа к ресурсу будут ограничены для остальных служб. Чтобы разрешить доступ к директории другим службам/пользователям, добавлен флаг -o allow_other.
&lt;/p&gt;

&lt;p&gt;
Для подключения диска при авто-запуске, можно использовать crontab, fstab и другие утилиты, но в виду зависимости использующего софта от этой директории, лучше всего добавить команды в инициализацию сервиса:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[Service]
Type=forking
ExecStartPre=+/usr/bin/curlftpfs -o allow_other ftp://user:password@[host]:21/source /target
ExecStop=+/usr/bin/umount /target&lt;/pre&gt;

&lt;p&gt;
* &lt;em&gt;Знак “+” нужен для выполнения данных команд от root, в то время как основной сервис в ExecStart выполняется от своего пользователя.&lt;/em&gt;&lt;br/&gt;

* * &lt;em&gt;Разрешить монтирование для других пользователей можно в файле /etc/fuse.conf раскомментировав параметр user_allow_other&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Следует заметить, что curlftpfs имеет ряд недостатков, например очистка памяти, проблемы с правами доступа на виртуальных машинах и тд.
&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;curlftpfs&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;curlftpfs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:23,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;15698-17507&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit17&quot; id=&quot;sshfs&quot;&gt;sshfs&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Смонтировать сетевое устройство можно также с помощью SSH.
&lt;/p&gt;

&lt;p&gt;
Подключение осуществляется с помощью пары ключей RSA или с помощью пароля одной командой:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/usr/bin/sshfs -o password_stdin user@server:/source &amp;#039;/target&amp;#039; &amp;lt;&amp;lt;&amp;lt; &amp;#039;password&amp;#039;&lt;/pre&gt;

&lt;p&gt;
К недостаткам такого метода можно отнести вопрос повышенных привилегий SSH и дополнительной нагрузки на процессор, особенно, если подключение к удалённому хосту происходит средствами Yggdrasil.
&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;sshfs&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sshfs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:25,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;17508-18235&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit18&quot; id=&quot;rclone&quot;&gt;rclone&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Многофункциональная утилита для синхронизации с популярными облачными платформами, также поддерживает различные протоколы - SSH, &lt;abbr title=&quot;File Transfer Protocol&quot;&gt;FTP&lt;/abbr&gt; и другие.
&lt;/p&gt;

&lt;p&gt;
Для монтирования сетевого диска, используется команда &lt;a href=&quot;https://rclone.org/commands/rclone_mount&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://rclone.org/commands/rclone_mount&quot; rel=&quot;ugc nofollow noopener&quot;&gt;rclone mount&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Прежде, чем смонтировать удалённый ресурс, необходимо настроить подключение с помощью &lt;a href=&quot;https://rclone.org/commands/rclone_config/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://rclone.org/commands/rclone_config/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;rclone config&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Монтирование:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/usr/bin/rclone mount remote:/source /target &amp;amp;&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; при операциях записи, необходимо включить минимальный уровень кеширования, указав флаг &lt;em&gt;–vfs-cache-mode writes&lt;/em&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; при запуске через systemd, важно указывать путь к файлу профиля через &lt;em&gt;–config&lt;/em&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; rclone, в отличии от других альтернатив, не требует запуска от администратора&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; пример локального зеркала &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:yggtracker:v2#rclone&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:yggtracker:v2&quot; data-wiki-id=&quot;yggdrasil:bittorrent:yggtracker:v2&quot;&gt;FTP для qbittorrent-nox&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;rclone&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;rclone&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:26,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;18236-19582&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit19&quot; id=&quot;маршрутизация&quot;&gt;Маршрутизация&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
В локальной сети, обычно, сидирующее устройство подключается к роутеру посредством интерфейса Ethernet, не занимая при этом эфир Wifi. 
&lt;/p&gt;

&lt;p&gt;
При одновременном сидировании в различные сети, в том числе - интернет, обойти ограничения &lt;abbr title=&quot;Network Address Translation&quot;&gt;NAT&lt;/abbr&gt; и расширить географию раздач можно добавлением интерфейса &lt;abbr title=&quot;Virtual Private Network&quot;&gt;VPN&lt;/abbr&gt;, например с помощью &lt;a href=&quot;https://github.com/angristan/openvpn-install&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/angristan/openvpn-install&quot; rel=&quot;ugc nofollow noopener&quot;&gt;CLI установщика OpenVPN&lt;/a&gt;.
Таким образом, раздачи будут осуществляться на интерфейсы eth0 (ISP), tun0 (Yggdrasil), tun1 (&lt;abbr title=&quot;Virtual Private Network&quot;&gt;VPN&lt;/abbr&gt;) и т.д.
&lt;/p&gt;

&lt;p&gt;
Использование каналов можно проверить с помощью утилиты ifstat
&lt;/p&gt;

&lt;p&gt;
* Проброс портов и активация UPnP на роутере для работы BitTorrent-сервера в сети Yggdrasil не требуется.
&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;\u041c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:27,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;19583-20708&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit20&quot; id=&quot;сервер_на_базе_qbittorrent&quot;&gt;Сервер на базе qBittorrent&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_round wrap_info plugin_wrap&quot; style=&quot;width: 60%;&quot;&gt;
&lt;p&gt;
Общая информация о клиенте, доступна в разделе &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:qbittorrent&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:qbittorrent&quot; data-wiki-id=&quot;yggdrasil:bittorrent:qbittorrent&quot;&gt;qBittorrent&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:22,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
Устанавливаем серверный клиент qbittorrent-nox
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apt install qbittorrent-nox&lt;/pre&gt;

&lt;p&gt;
добавляем пользователя
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;adduser --system --group qbittorrent-nox&lt;/pre&gt;

&lt;p&gt;
настраиваем авто-запуск
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nano /etc/systemd/system/qbittorrent-nox.service&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;[Unit]
Description=qBittorrent Command Line Client
After=network.target

[Service]
Type=forking
User=qbittorrent-nox
Group=qbittorrent-nox
UMask=007
ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8080
Restart=on-failure

[Install]
WantedBy=multi-user.target&lt;/pre&gt;

&lt;p&gt;
* чтобы ограничить использование памяти, можно добавить лимиты в секцию [Service]:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;MemoryHigh=256M
MemoryMax=512M
MemorySwapMax=512M&lt;/pre&gt;

&lt;p&gt;
активируем
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;systemctl enable qbittorrent-nox&lt;/pre&gt;

&lt;p&gt;
запускаем
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;systemctl start qbittorrent-nox&lt;/pre&gt;

&lt;p&gt;
проверяем сервис и порт
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;systemctl status qbittorrent-nox
netstat -tupnl | grep 8080&lt;/pre&gt;

&lt;p&gt;
добавляем правила iptables для подключения к веб-панели 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ufw allow from ADMIN_REMOTE_IP to any port 8080&lt;/pre&gt;

&lt;p&gt;
заходим в админ-панель указав admin/adminadmin в качестве логина по-умолчанию
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;http://SEED_SERVER_IP:8080&lt;/pre&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;Connection → Listening Port&lt;/strong&gt; - этот порт необходимо добавить в правила iptables для сидирования раздач в Yggdrasil (см. далее)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Speed → Global Rate Limits&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;Web UI → Authentication → Username / Password&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;BitTorrent → Automatically add these trackers to new downloads&lt;/strong&gt; - удобно указать адреса трекеров для автоматического добавления к загружаемым торрентам и магнет-ссылкам, например &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:sites_and_services:other_network_services#torrent&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:sites_and_services:other_network_services&quot; data-wiki-id=&quot;yggdrasil:sites_and_services:other_network_services&quot;&gt;трекеры в сети Yggdrasil&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Advanced → Always announce to all trackers, Always announce to all trackers in a tier&lt;/strong&gt; - активируем работу со всеми доступными трекерами в списке каждого торрента (&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:qbittorrent#зависание_скачиваний&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:qbittorrent&quot; data-wiki-id=&quot;yggdrasil:bittorrent:qbittorrent&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;strong&gt;Advanced → qBittorrent Section → Optional &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt; address to bind to&lt;/strong&gt; - IPv6 из списка, если хотим делиться только в сети Yggdrasil или оставляем по-умолчанию для раздач всем сетям (адрес своего узла в сети Yggdrasil можно получить с помощью команды yggdrasilctl getSelf)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Advanced → Enable embedded tracker&lt;/strong&gt; - Включив данную опцию, можно активировать сервер торрент-трекера и опубликовать его в списке &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:sites_and_services:other_network_services#torrent&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:sites_and_services:other_network_services&quot; data-wiki-id=&quot;yggdrasil:sites_and_services:other_network_services&quot;&gt;внутрисетевых сервисов&lt;/a&gt; (см. также &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:opentracker&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:opentracker&quot; data-wiki-id=&quot;yggdrasil:bittorrent:opentracker&quot;&gt;Opentracker&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Сохраняем настройки и открываем Listening Port (для раздач в сеть интернет, достаточно поддержки роутером и наличия включённой опции UPnP)
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ufw allow from 0200::/7 to any port [Listening Port]&lt;/pre&gt;

&lt;p&gt;
данные профиля сохранены в директории пользователя qbittorrent-nox
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/home/qbittorrent-nox/.config/qBittorrent&lt;/pre&gt;

&lt;p&gt;
в частности, журналы для отладки проблем
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/home/qbittorrent-nox/.local/share/qBittorrent/logs&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\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0431\u0430\u0437\u0435 qBittorrent&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0435\u0440\u0432\u0435\u0440_\u043d\u0430_\u0431\u0430\u0437\u0435_qbittorrent&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:27,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;20709-25077&amp;quot;} --&gt;
&lt;h5 class=&quot;sectionedit23&quot; id=&quot;расширение_доступа&quot;&gt;Расширение доступа&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
По умолчанию, qbittorrent-nox работает с файлами только в рамках собственного каталога /home/qbittorrent-nox 
&lt;/p&gt;

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

&lt;p&gt;
Для этого, добавляем пользователя qbittorrent-nox в соответствующую группу, указав флаг append:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;usermod -a -G family qbittorrent-nox&lt;/pre&gt;

&lt;p&gt;
Разрешаем bash в файле /etc/passwd
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;qbittorrent-nox:...:/home/qbittorrent-nox:/usr/bin/bash&lt;/pre&gt;

&lt;p&gt;
Совместным каталогам группы family назначаем права не ниже 0770
&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\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435_\u0434\u043e\u0441\u0442\u0443\u043f\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:40,&amp;quot;secid&amp;quot;:23,&amp;quot;range&amp;quot;:&amp;quot;25078-26102&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit24&quot; id=&quot;общий_доступ_к_файлам&quot;&gt;Общий доступ к файлам&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

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

&lt;p&gt;
Таким образом, загрузив файл с одного устройства и продолжив его раздачу, можно открыть файл на другом, при этом не занимать дисковое пространство клиентской машины.
&lt;/p&gt;

&lt;p&gt;
Файловые менеджеры различных дистрибутивов достаточно удобны в настройке. 
&lt;/p&gt;

&lt;p&gt;
Например в графической среде Gnome, в файловом менеджере переходим в левом меню &lt;strong&gt;+ Other Locations&lt;/strong&gt; и указываем в нижнем трее адрес подключения - ftp, ssh, smb или другой.
&lt;/p&gt;

&lt;p&gt;
Соответственно на файловом сервере должно быть установлен и настроен соответствующий сервис, а также разрешено подключение в правилах iptables.
&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;\u041e\u0431\u0449\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0430\u0439\u043b\u0430\u043c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0431\u0449\u0438\u0439_\u0434\u043e\u0441\u0442\u0443\u043f_\u043a_\u0444\u0430\u0439\u043b\u0430\u043c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:42,&amp;quot;secid&amp;quot;:24,&amp;quot;range&amp;quot;:&amp;quot;26103-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 27 Oct 2025 10:03:55 +0000</pubDate>
        </item>
        <item>
            <title>Утилиты</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:tools?rev=1761120798&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;утилиты&quot;&gt;Утилиты&lt;/h1&gt;
&lt;div class=&quot;level1&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;\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;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-222&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;\u0412\u0435\u0431&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u0435\u0431&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;223-242&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;wget&quot;&gt;wget&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Локальное зеркало веб-сайта:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;wget -e robots=off --relative --recursive --timestamping --page-requisites --convert-links --adjust-extension --no-remove-listing &amp;quot;url&amp;quot;&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; в поздних версиях GNU Wget2 / 2.2.0 команды --relative, --no-remove-listing являются устаревшими&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; некоторые сайты могут зависеть от внешних ресурсов, в таком случае, необходимо добавить аргумент --domains, например --domains=pbs.twimg.com&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;wget&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wget&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;243-861&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;git&quot;&gt;GIT&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Собрать только измененные файлы в архив &lt;code&gt;.zip&lt;/code&gt; - удобно для дополнений к раздачам при выпуске обновлений:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;zip modified-files.zip $(git ls-files --modified)&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&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;git&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;862-1135&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;youtube&quot;&gt;YouTube&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;YouTube&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;youtube&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1136-1157&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;yt-dlp&quot;&gt;yt-dlp&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/yt-dlp/yt-dlp&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/yt-dlp/yt-dlp&quot; rel=&quot;ugc nofollow noopener&quot;&gt;yt-dlp&lt;/a&gt; - это форк известной CLI утилиты &lt;a href=&quot;https://github.com/ytdl-org/youtube-dl&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/ytdl-org/youtube-dl&quot; rel=&quot;ugc nofollow noopener&quot;&gt;youtube-dl&lt;/a&gt;, позволяющий загружать плейлисты и отдельные ролики с YouTube.
&lt;/p&gt;

&lt;p&gt;
&lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; YouTube постоянно обновляется, и прежде чем приступить к загрузке контента, важно установить последнюю версию из исходников или загрузить готовую сборку в разделе &lt;a href=&quot;https://github.com/yt-dlp/yt-dlp/releases&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/yt-dlp/yt-dlp/releases&quot; rel=&quot;ugc nofollow noopener&quot;&gt;релизов&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Создадим целевую директорию для загружаемого плейлиста:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mkdir NAME&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;cd NAME&lt;/pre&gt;

&lt;p&gt;
Загрузка осуществляется одной командой, по-умолчанию используется формат оригинала, на момент написания материала - &lt;a href=&quot;https://ru.wikipedia.org/wiki/WebM&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://ru.wikipedia.org/wiki/WebM&quot; rel=&quot;ugc nofollow noopener&quot;&gt;webm&lt;/a&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;yt-dlp CHANNEL_URL|PLAYLIST_URL|VIDEO_URL&lt;/pre&gt;

&lt;p&gt;
По-умолчанию, будет загружена версия в максимально возможном качестве. Если нужно уменьшить размер файлов в релизе, например до 1080p, нужно указать дополнительный флаг:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;yt-dlp CHANNEL_URL|PLAYLIST_URL|VIDEO_URL -S res:1080&lt;/pre&gt;

&lt;p&gt;
Чтобы загрузить весь канал и автоматически разложить видео по директориям с названием плей-листа, можно использовать флаг &lt;em&gt;output&lt;/em&gt; и &lt;a href=&quot;https://github.com/yt-dlp/yt-dlp#output-template-examples&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/yt-dlp/yt-dlp#output-template-examples&quot; rel=&quot;ugc nofollow noopener&quot;&gt;макросы&lt;/a&gt;, например:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;yt-dlp CHANNEL_URL/playlists -o &amp;#039;%(uploader)s/%(playlist)s/%(title)s.%(ext)s&amp;#039;&lt;/pre&gt;

&lt;p&gt;
Если нужно сохранить только аудио-дорожку, указываем флаг &lt;em&gt;extract-audio&lt;/em&gt; или сокращенно - &lt;em&gt;x&lt;/em&gt;&lt;br/&gt;

По-умолчанию, будет использован оригинальный аудио-кодек или opus, если нужно осуществить пост-конвертацию, например в mp3 или vorbis (ogg), добавляется флаг &lt;em&gt;audio-format&lt;/em&gt;&lt;br/&gt;

Качество аудио указывается параметром &lt;em&gt;audio-quality&lt;/em&gt; в значении от 0-10 (5 по-молчанию)&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;yt-dlp CHANNEL_URL|PLAYLIST_URL|VIDEO_URL --extract-audio --audio-format vorbis&lt;/pre&gt;

&lt;p&gt;
Узнать все доступные опции, можно командой
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;yt-dlp --help&lt;/pre&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;yt-dlp&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;yt-dlp&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1158-4234&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit7&quot; id=&quot;yt-dlp-web-ui&quot;&gt;yt-dlp-web-ui&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Локально-ориентированная графическая оболочка для загрузки в браузере:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/marcopeocchi/yt-dlp-web-ui&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/marcopeocchi/yt-dlp-web-ui&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://github.com/marcopeocchi/yt-dlp-web-ui&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;yt-dlp-web-ui&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;yt-dlp-web-ui&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;4235-4442&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;freetube&quot;&gt;FreeTube&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/FreeTubeApp/FreeTube&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/FreeTubeApp/FreeTube&quot; rel=&quot;ugc nofollow noopener&quot;&gt;FreeTube&lt;/a&gt; - это альтернативный клиент, с открытым исходным кодом, для приватного просмотра и загрузки видео с YouTube. 
&lt;/p&gt;

&lt;p&gt;
Характерной особенностью проекта является возможность создания локальных коллекций и подписок, без передачи данных третьим лицам.&lt;br/&gt;

В качестве шлюза, используется случайная инстанция &lt;a href=&quot;https://api.invidious.io/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://api.invidious.io/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Invidious&lt;/a&gt;. 
&lt;/p&gt;

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

&lt;p&gt;
На момент написания материала, к недостаткам можно отнести отсутствие возможности загружать видео в более высоком качестве, чем 720p/25fps&lt;br/&gt;

Поэтому проект больше подойдет для локального просмотра видео YouTube без наличия аккаунта, рекламы а также без географических ограничений.
&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;FreeTube&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;freetube&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4443-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 22 Oct 2025 08:13:18 +0000</pubDate>
        </item>
        <item>
            <title>Transmission</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:transmission?rev=1761120798&amp;do=diff</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;p&gt;
Популярный &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:bittorrent&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:bittorrent&quot; data-wiki-id=&quot;yggdrasil:bittorrent:bittorrent&quot;&gt;BitTorrent&lt;/a&gt; клиент с открытым исходным кодом, отличающийся простотой интерфейса. 
&lt;/p&gt;

&lt;p&gt;
Для работы в сети &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:yggdrasil&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:yggdrasil&quot; data-wiki-id=&quot;yggdrasil:yggdrasil&quot;&gt;Yggdrasil&lt;/a&gt; требует дополнительных настроек, так как по-умолчанию прослушивает интерфейс сетевой карты, не имея соответствующих опций в графической оболочке. 
Таким образом, при наличии подключения к интернет, вероятной точкой выхода в сеть будет &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt; провайдера, в то время как подключения Yggdrasil, например, на tun0 - будут недоступны.
&lt;/p&gt;

&lt;p&gt;
Transmission оптимально использовать в паре с другими клиентами: например, Transmission - для интернет раздач и &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:qbittorrent&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:qbittorrent&quot; data-wiki-id=&quot;yggdrasil:bittorrent:qbittorrent&quot;&gt;qBittorrent&lt;/a&gt; - для сидирования в локальную сеть Yggdrasil.
&lt;/p&gt;

&lt;p&gt;
На момент написания материала, Transmission поддерживает работу magnet-ссылок только 1-й версии.
&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;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-1341&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;\u0413\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439_\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1342-1397&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;создание_торрент-файлов&quot;&gt;Создание торрент-файлов&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Для создания “раздачи”, сначала необходимо сегенерировать torrent-файл, указав в клиенте путь к файлу или директории. Сделать это можно в пункте меню “File” - “New…”
&lt;/p&gt;

&lt;p&gt;
Файл с расширением .torrent будет включать в себя основной компонент протокола - info-hash - своего рода контрольную сумму файла, разделенного на фрагменты. 
Значение этой хеш-суммы позволяет идентифицировать файл в сети BitTorrent, подобно тому, как это реализовано в протоколе IPFS.
&lt;/p&gt;

&lt;p&gt;
Вычисление info-hash требует некоторого времени, и во многом зависит от мощности процессора и размера файла.
&lt;/p&gt;

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

&lt;p&gt;
Теперь, чтобы поделиться файлом с другими, достаточно передать принимающей стороне файл .torrent или скопировать magnet-ссылку в пункте меню “Torrent” - “Copy magnet link to clipboard”
Если идентичный info-hash (то есть файл) уже имеется в реестре DHT принимающего узла, он также будет загружаться с узлов, находящихся в сети.
&lt;/p&gt;

&lt;p&gt;
После загрузки файла (а также в процессе загрузки его фрагментов), при условии наличия открытого порта или UPnP, принимающий узел также может начинать раздавать файл (или его загруженные фрагменты) другим.
&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;\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u043e\u0440\u0440\u0435\u043d\u0442-\u0444\u0430\u0439\u043b\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435_\u0442\u043e\u0440\u0440\u0435\u043d\u0442-\u0444\u0430\u0439\u043b\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1398-3513&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;transmission-cli&quot;&gt;transmission-cli&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;transmission-cli&lt;/strong&gt; - набор утилит transmission для работы из командной строки.
&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;transmission-cli&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;transmission-cli&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3514-3662&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;создание_торрент-файлов1&quot;&gt;Создание торрент-файлов&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;transmission-create -o ПутьКФайлу.torrent -c &amp;quot;Комментарий&amp;quot; -t &amp;quot;http://[201:23b4:991a:634d:8359:4521:5576:15b7]:2023/announce&amp;quot; ПутьКфайлу.mkv&lt;/pre&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;code&gt;http://[201:23b4:991a:634d:8359:4521:5576:15b7]:2023/announce&lt;/code&gt; - это адрес трекера, который будет использоваться для анонса&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;Комментарий&lt;/code&gt; - опциональный параметр, также используется в протоколе &lt;a href=&quot;https://en.wikipedia.org/wiki/Magnet_URI_scheme#Format&quot; class=&quot;interwiki iw_wp&quot; target=&quot;_blank&quot; title=&quot;https://en.wikipedia.org/wiki/Magnet_URI_scheme#Format&quot; rel=&quot;noopener&quot;&gt;Magnet&lt;/a&gt; для поиска в локальном и P2P реестрах&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
По-желанию или при необходимости можно вывести на экран magnet-ссылку, получаемую из torrent-файла:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;transmission-show -m ПутьКФайлу.torrent&lt;/pre&gt;

&lt;p&gt;
Торрент-файлом или полученной magnet-ссылкой можно поделиться с сообществом, разместив их на &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:yggtracker&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:yggtracker&quot; data-wiki-id=&quot;yggdrasil:bittorrent:yggtracker&quot;&gt;YGGtracker&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;\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u043e\u0440\u0440\u0435\u043d\u0442-\u0444\u0430\u0439\u043b\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435_\u0442\u043e\u0440\u0440\u0435\u043d\u0442-\u0444\u0430\u0439\u043b\u043e\u04321&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3663-4840&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;ссылки&quot;&gt;Ссылки&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://transmissionbt.com/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://transmissionbt.com/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Официальный сайт Transmission&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;\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;:2,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;4841-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 22 Oct 2025 08:13:18 +0000</pubDate>
        </item>
        <item>
            <title>YGGtracker</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:yggtracker?rev=1761120798&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;yggtracker&quot;&gt;YGGtracker&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Проект c открытым исходным кодом для организации раздач BitTorrent в сети Yggdrasil
&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://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/archive:yggdrasil:bittorrent:yggtracker:v1&quot; class=&quot;wikilink1&quot; title=&quot;archive:yggdrasil:bittorrent:yggtracker:v1&quot; data-wiki-id=&quot;archive:yggdrasil:bittorrent:yggtracker:v1&quot;&gt;Версия 1&lt;/a&gt; (архив)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:bittorrent:yggtracker:v2&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:bittorrent:yggtracker:v2&quot; data-wiki-id=&quot;yggdrasil:bittorrent:yggtracker:v2&quot;&gt;Версия 2&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;YGGtracker&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;yggtracker&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-304&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;https://github.com/YGGverse/YGGtracker&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/YGGverse/YGGtracker&quot; rel=&quot;ugc nofollow noopener&quot;&gt; Исходный код на GitHub &lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;https://github.com/YGGverse/YGGtracker/wiki&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/YGGverse/YGGtracker/wiki&quot; rel=&quot;ugc nofollow noopener&quot;&gt; Рецепты &lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;https://crowdin.com/project/yggtracker&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://crowdin.com/project/yggtracker&quot; rel=&quot;ugc nofollow noopener&quot;&gt; Локализация &lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;https://mastodon.social/@YGGverse&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://mastodon.social/@YGGverse&quot; rel=&quot;ugc nofollow noopener&quot;&gt; Новости проекта &lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;https://github.com/YGGverse/qbittorrent-yggtracker-search-plugin&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/YGGverse/qbittorrent-yggtracker-search-plugin&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Поисковый плагин для qBittorrent&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://github.com/YGGverse/yggtracker-wanted-torrents-receiver&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/YGGverse/yggtracker-wanted-torrents-receiver&quot; rel=&quot;ugc nofollow noopener&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;\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;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;305-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 22 Oct 2025 08:13:18 +0000</pubDate>
        </item>
    </channel>
</rss>
