<?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 - reticulum</title>
        <description></description>
        <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/</link>
        <lastBuildDate>Fri, 08 May 2026 02:53:49 +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>MeshChat</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/reticulum:meshchat?rev=1764732508&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;meshchat&quot;&gt;MeshChat&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/liamcottle/reticulum-meshchat&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/liamcottle/reticulum-meshchat&quot; rel=&quot;ugc nofollow noopener&quot;&gt;MeshChat&lt;/a&gt; - комплексное приложение (Web UI) для обмена сообщениями, голосовых звонков и встроенным браузером для просмотра страниц (в формате Micron) посредством протокола &lt;a href=&quot;https://github.com/markqvist/lxmf&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/markqvist/lxmf&quot; rel=&quot;ugc nofollow noopener&quot;&gt;LXMF&lt;/a&gt; в сети &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/reticulum&quot; class=&quot;wikilink1&quot; title=&quot;reticulum&quot; data-wiki-id=&quot;reticulum&quot;&gt;Reticulum&lt;/a&gt;. В отличии от &lt;a href=&quot;https://github.com/markqvist/nomadnet&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/markqvist/nomadnet&quot; rel=&quot;ugc nofollow noopener&quot;&gt;NomadNet&lt;/a&gt; (TUI) является более интуитивным для ознакомления с возможностями сети Reticulum на уровне бытового пользователя. Также содержит гибкие настройки подключения и удобную визуализацию доступной части сети:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_detail/reticulum:meshchat_reticulum-network-map.jpg?id=reticulum%3Ameshchat&quot; class=&quot;media&quot; title=&quot;reticulum:meshchat_reticulum-network-map.jpg&quot;&gt;&lt;img src=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_media/reticulum:meshchat_reticulum-network-map.jpg?w=200&amp;amp;tok=c985aa&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;MeshChat&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;meshchat&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-948&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;
Подобно NomadNet, серверная часть реализована на языке Python:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo apt install git python3-pip&lt;/pre&gt;

&lt;p&gt;
Для сборки клиента, потребуется установка последней версии Node.js:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/nodesource.gpg
NODE_MAJOR=22
echo &amp;quot;deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main&amp;quot; | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt update
sudo apt install nodejs&lt;/pre&gt;

&lt;p&gt;
Для предотвращения &lt;a href=&quot;https://github.com/liamcottle/reticulum-meshchat/issues/110&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/liamcottle/reticulum-meshchat/issues/110&quot; rel=&quot;ugc nofollow noopener&quot;&gt;ошибки запуска&lt;/a&gt;, желательно сразу выполнить следующую команду:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mkdir -p ~/reticulum-meshchat/public&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\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435_\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;949-1911&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;
Для запуска сервера MeshChat, далее будет создан сервис systemd, для него можно сразу создать пользователя с домашней директорией:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo useradd -m reticulum&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;:3,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1912-2212&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;сборка_с_исходного_кода&quot;&gt;Сборка с исходного кода&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
В директорию пользователя клонируется последняя версия из репозитория, производится инициализация зависимостей Python и компиляция Front-end:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;su reticulum
cd ~
git clone https://github.com/liamcottle/reticulum-meshchat
cd reticulum-meshchat
pip install -r requirements.txt --break-system-packages
npm install --omit=dev
npm run build-frontend&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0431\u043e\u0440\u043a\u0430 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0431\u043e\u0440\u043a\u0430_\u0441_\u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e_\u043a\u043e\u0434\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2213-2737&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;systemd&quot;&gt;systemd&lt;/h3&gt;
&lt;div class=&quot;level3&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/reticulum:meshchat?codeblock=5&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_service&quot;&gt;/etc/systemd/system/reticulum-meshchat.service&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;file&quot;&gt;[Unit]
Description=reticulum-meshchat

After=network.target
Wants=network-online.target
StartLimitIntervalSec=0

[Service]
Type=simple

User=reticulum
Group=reticulum

WorkingDirectory=/home/reticulum/reticulum-meshchat

ExecStart=/usr/bin/env /usr/bin/python3 /home/reticulum/reticulum-meshchat/meshchat.py --headless --host 127.0.0.1 --port 1234

# можно указать null
StandardOutput=file:///home/reticulum/debug.log
StandardError=file:///home/reticulum/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; «127.0.0.1» - или хост сервера&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;systemd&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;systemd&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2738-3387&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;iptables&quot;&gt;iptables&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;p&gt;
Если подключение удалённое, открываем порт для соответствующих from/to хостов:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ufw allow from xx.xx.xx.xx to xx.xx.xx.xx port 1234 proto tcp&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;iptables&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;iptables&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3388-3839&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;настройка&quot;&gt;Настройка&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
MeshChat реализует типичный узел Reticulum, для подключения к сети в оверлейном режиме, нужно добавить как минимум один пир:
&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/reticulum:meshchat?codeblock=7&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_reticulum_config&quot;&gt;~/.reticulum/config&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;file&quot;&gt;[interfaces]
  [[rothbard_RNS_transport_ZA_ygg]]
    type = TCPClientInterface
    enabled = true
    target_host = 200:73eb:2e4:14be:aac7:90b3:784b:71a3
    target_port = 4242&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/markqvist/Reticulum/wiki/Community-Node-List&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/markqvist/Reticulum/wiki/Community-Node-List&quot; rel=&quot;ugc nofollow noopener&quot;&gt;актуальный список доступных узлов&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3840-4437&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;режим_ретрансляции&quot;&gt;Режим ретрансляции&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Поддержать сеть Reticulum, можно став «публичным пиром» например, для пользователей Yggdrasil
&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/reticulum:meshchat?codeblock=8&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_reticulum_config&quot;&gt;~/.reticulum/config&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;file&quot;&gt;enable_transport = true
[interfaces]
  [[TCP Server Interface]]
    type = TCPServerInterface
    interface_enabled = true
    listen_ip = ::
    listen_port = 4242&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; можно указать вместо «::» - конкретный адрес Yggdrasil&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/markqvist/Reticulum/wiki/Community-Node-List#yggdrasil&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/markqvist/Reticulum/wiki/Community-Node-List#yggdrasil&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;sudo ufw allow from 0200::/7 to xxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx port 4242 proto tcp&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;\u0420\u0435\u0436\u0438\u043c \u0440\u0435\u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0436\u0438\u043c_\u0440\u0435\u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4438-5325&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;запуск&quot;&gt;Запуск&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
При использовании systemd:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo systemctl restart reticulum-meshchat&lt;/pre&gt;

&lt;p&gt;
Проверка статуса:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo systemctl status reticulum-meshchat
netstat -tulpn | grep 4242&lt;/pre&gt;

&lt;p&gt;
В браузере:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://localhost:1234&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://localhost:1234&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://localhost:1234&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;\u0417\u0430\u043f\u0443\u0441\u043a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u043f\u0443\u0441\u043a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;5326-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 03 Dec 2025 03:28:28 +0000</pubDate>
        </item>
    </channel>
</rss>
