Быстрый старт¶
Лучший способ начать работу с сетью Reticulum зависит от ваших целей. В этом руководстве изложены разумные варианты начала для разных сценариев.
Автономная установка Reticulum¶
Если вы просто хотите установить Reticulum и сопутствующие утилиты, самый простой
способ — использовать менеджер пакетов:
pip
pip install rns
Если pip еще не установлен, вы можете установить его с помощью менеджера пакетов вашей системы,
выполнив команду:
sudo
apt
install
python3-pip,
sudo
pamac
install
python-pip
или аналогичную.
Вы также можете скачать готовые
wheel‑пакеты Reticulum с GitHub или
других каналов выпуска и установить их офлайн с помощью
pip:
pip install ./rns-1.1.2-py3-none-any.whl
На платформах, где установка пользовательских пакетов через
pip ограничена, может потребоваться вручную разрешить её с помощью флага командной строки
--break-system-packages
при установке. Этот флаг не повредит никакие пакеты,
если только вы не устанавливали Reticulum напрямую через менеджер пакетов вашей операционной системы.
pip install rns --break-system-packages
Более подробные инструкции по установке см. в разделе Примечания по установке для конкретных платформ
После завершения установки может быть полезно обратиться к главе Использование Reticulum на вашей системе
Решение проблем с зависимостями и установкой¶
На некоторых платформах могут отсутствовать бинарные пакеты для всех зависимостей, и установка через
pip
может завершаться с ошибкой.
В таких случаях проблему обычно можно решить,
установив пакеты
development essentials для вашей платформы:
# Debian / Ubuntu / Derivatives
sudo apt install build-essential
# Arch / Manjaro / Derivatives
sudo pamac install base-devel
# Fedora
sudo dnf groupinstall "Development Tools" "Development Libraries"
# openSUSE
sudo zypper install -t pattern devel_basis
После установки базовых пакетов разработки
pip
должен быть в состоянии скомпилировать любые отсутствующие зависимости из исходного кода и
завершить установку даже на платформах, на которых нет готовых скомпилированных пакетов.
Попробовать программу на базе Reticulum¶
Если вы просто хотите попробовать использовать программу, построенную на Reticulum, существует множество разных программ, которые обеспечивают базовую связь и различные другие полезные функции, даже в сетях Reticulum с чрезвычайно низкой пропускной способностью.
Использование встроенных утилит¶
Reticulum поставляется с набором встроенных утилит, которые упрощают управление сетью, проверку подключения и делают Reticulum доступным для других программ в вашей системе.
Вы можете использовать
rnsd
для запуска Reticulum в фоне или в режиме
foreground,
а утилиты
rnstatus,
rnpath
и
rnprobe
— для просмотра и запроса состояния сети и подключения.
Чтобы узнать больше об этих утилитах, обратитесь к разделу Использование Reticulum на вашей системе в данном руководстве.
Создание сети с помощью Reticulum¶
Чтобы создать сеть, вам необходимо указать один или несколько
интерфейсов, которые будет использовать Reticulum.
Это делается в конфигурационном файле Reticulum, который по умолчанию находится в
~/.reticulum/config. Вы можете получить пример конфигурационного файла со всеми опциями с помощью
rnsd
--exampleconfig.
При первом запуске Reticulum создает файл конфигурации по умолчанию с одним активным интерфейсом. Этот интерфейс по умолчанию использует существующие сети Ethernet и WiFi (если таковые имеются).
Для дальнейшей связи вам необходимо будет добавить один или несколько интерфейсов. В стандартной конфигурации содержится ряд примеров, начиная от использования TCP через Интернет и заканчивая интерфейсами LoRa и Packet Radio.
С Reticulum вам нужно только настроить интерфейсы, через которые вы хотите осуществлять связь. Нет необходимости настраивать адресные пространства, подсети, таблицы маршрутизации или другие вещи, привычные для традиционных сетей.
Когда Reticulum определит, какие интерфейсы использовать, он автоматически определит топологию сети и настроит передачу данных ко всем известным ему пунктам назначения.
В ситуациях, когда у вас уже есть настроенная сеть WiFi или Ethernet и множество устройств, которые хотят использовать одни и те же внешние сетевые пути Reticulum (например, через LoRa), часто достаточно позволить одной системе действовать в качестве шлюза Reticulum, добавив любые внешние интерфейсы в конфигурацию этой системы, а затем включив на ней транспорт. Любое другое устройство в вашей локальной сети WiFi сможет подключиться к этой более широкой сети Reticulum, используя только настройки по умолчанию (AutoInterface).
Возможно, примеров в конфигурационном файле будет достаточно для начала работы. Если вам нужна дополнительная информация, вы можете прочитать главы Создание сетей и Настройка интерфейсов данного руководства, но самое главное — начать с чтения следующего раздела Настройка подключения, поскольку он дает наиболее важное понимание того, как обеспечить надежную связь с минимальными затратами на обслуживание.
Настройка подключения¶
Reticulum — это не услуга, на которую вы подписываетесь, и не единая глобальная сеть, к которой вы “присоединяетесь”. Это сетевой стек, набор инструментов для построения систем связи, которые соответствуют вашим конкретным ценностям, требованиям и рабочей среде. Способ, которым вы выбираете подключаться к другим узлам Reticulum, полностью зависит от вас.
Одним из самых сильных преимуществ Reticulum является наличие множества инструментов для создания, поддержания и оптимизации связи. Вы можете использовать эти инструменты по отдельности или комбинировать их в сложных конфигурациях для достижения широкого спектра целей.
Независимо от того, является ли вашей целью создание полностью частной сети, изолированной от внешних сетей (air‑gapped) для вашей семьи; построение устойчивой общественной mesh‑сети, способной выдержать крах инфраструктуры; подключение к максимально большому количеству узлов; или просто поддержание надежного зашифрованного соединения с конкретной организацией, которая вам важна, Reticulum предоставляет механизмы, позволяющие это реализовать.
Не существует «правильного» или «неправильного» способа построения сети Reticulum, и вам не нужно быть сетевым инженером, чтобы начать работу. Если информация передается так, как вы предполагали, и ваши требования к конфиденциальности и безопасности выполняются, ваша конфигурация является успешной. Reticulum разработан так, чтобы работать даже в самых сложных и трудных сценариях, когда другие сетевые технологии оказываются бессильными.
Ориентация в системе¶
Когда вы впервые начинаете использовать Reticulum, вам необходимо найти способ установить связь с одноранговыми узлами, с которыми вы хотите обмениваться данными — это процесс инициализации связи.
Важно
Распространенной ошибкой в современных сетях является зависимость от нескольких централизованных, жестко запрограммированных точек входа. Если каждый пользователь просто подключается к одному и тому же списку публичных IP-адресов, указанных на веб-сайте, сеть становится уязвимой, централизованной и, в конечном итоге, не способной обеспечить децентрализацию и отказоустойчивость. Здесь вы несете ответственность.
Reticulum поощряет подход органического роста. Вместо того чтобы полагаться на постоянные статические соединения с удаленными серверами, вы можете использовать временные bootstrap соединения для непрерывного обнаружения более релевантной или локальной инфраструктуры. После обнаружения ваша система может автоматически формировать более прочные и прямые связи с этими одноранговыми узлами и отбрасывать временные bootstrap соединения. В результате получается сеть, географически релевантная, устойчивая и эффективная.
Можно просто добавить несколько общих точек входа в раздел
[interfaces]
конфигурации Reticulum и подключиться,
но лучшим вариантом будет включить
обнаружение интерфейсов
и либо вручную выбрать соответствующие
локальные интерфейсы, либо включить автоматическое подключение к обнаруженным интерфейсам.
В данном контексте важна
bootstrap only
опция для интерфейса. Это автоматический инструмент, для более эффективного распределения подключений.
Включив обнаружение интерфейса и автоматическое подключение, пометив интерфейс как
bootstrap_only,
вы указываете Reticulum использовать этот интерфейс в первую очередь для поиска вариантов подключения,
а затем отключать его, как только будет найдено достаточное количество точек входа.
Это способствует формированию топологии сети, где приоритет отдаётся локальности и устойчивости,
а не простой централизации через несколько статических точек входа.
Хорошие места для поиска определений интерфейсов, которые можно использовать для начального подключения, — это такие веб-сайты, как directory.rns.recipes и rmap.world.
Создание личной инфраструктуры¶
Вам не нужен дата‑центр, чтобы стать значимой частью экосистемы Reticulum. На самом деле самые важные узлы сети часто оказываются самыми маленькими.
Мы настоятельно советуем всем, включая домашних пользователей, мыслить в терминах создания личной инфраструктуры. Не подключайте каждый телефон, планшет и компьютер в доме напрямую к публичному интернет‑шлюзу. Вместо этого переоборудуйте старый компьютер, Raspberry Pi или поддерживаемый роутер, чтобы он действовал как ваш личный транспортный узел:
-
Ваш локальный транспортный узел находится у вас дома, подключен к вашей WiFi сети и, возможно, к радиоинтерфейсу (например, RNode).
-
Вы настраиваете этот узел с помощью интерфейса
bootstrap_only(возможно, TCP-туннель к более широкой сети) и включаете обнаружение интерфейса. -
Пока вы спите, работаете или готовите, ваш узел прослушивает сеть. Он обнаруживает других участников местного сообщества, проверяет их сетевые идентификаторы и автоматически устанавливает прямые соединения.
-
Ваши личные устройства теперь подключаются к вашему локальному узлу, который является частью живой локальной mesh‑сети. Ваш трафик проходит по локальным маршрутам, организованным другими реальными людьми сообщества, а не через удалённый сервер.
[Примечание переводчика: в Reticulum ваш трафик не проходит через центральный сервер (посредник). Вместо этого он передаётся напрямую между соседними узлами сети (через локальные маршруты), что делает связь более децентрализованной, быстрой и менее зависимой от удалённых серверов.]
Не ждите, пока другие создадут сети, которые вы хотите видеть. Каждая сеть важна, возможно, даже больше всего те, которые поддерживают отдельные семьи и частные лица. Как только появится достаточное количество такой личной, локальной инфраструктуры, их прямое соединение друг с другом, без прохождения через общедоступный Интернет, станет неизбежным.
Сочетание стратегий¶
Нет необходимости придерживаться одной стратегии. Наиболее надежные конфигурации часто сочетают в себе статические, динамические и [автоматически] обнаруженные интерфейсы.
-
Статические интерфейсы: Вы поддерживаете постоянный интерфейс с надежным другом или организацией, используя статическую конфигурацию.
-
Bootstrap‑ссылки: Вы подключаете интерфейс
bootstrap_onlyк общедоступному шлюзу в Интернете, чтобы сканировать новые доступные узлы или восстановить связь в случае сбоя других интерфейсов. -
Локальная широкополосная связь: Вы запускаете
RNodeInterfaceна общей частоте, что дает вам полностью независимый и частный широкополосный доступ как к вашей собственной сети, так и к другим узлам Reticulum по всему миру, без каких-либо «поставщиков услуг», которые могли бы контролировать или отслеживать ваши взаимодействия с другими людьми.
Комбинируя эти методы, вы создаете систему, которая защищена от единичных точек отказа, адаптируется к меняющимся условиям сети и лучше интегрируется в вашу физическую и социальную реальность.
Состояние сети и ответственность¶
Участвуя в более широких сетях, которые вы открываете и создаете, вы неизбежно столкнетесь с одноранговыми узлами, которые настроены неправильно, являются вредоносными или просто неисправны. Для защиты своих ресурсов и ресурсов локальных одноранговых узлов вы можете использовать систему управления Blackhole.
Независимо от того, блокируете ли вы спам‑идентификатор вручную или подписываетесь на чёрный список, поддерживаемый надёжным сетевым участником, эти инструменты гарантируют, что ваша транспортная ёмкость используется для того, что вы считаете корректным общением. Это обеспечивает эффективность локального сегмента и улучшает состояние всей сети.
Вклад в глобальную сеть Reticulum¶
Если у вас есть возможность разместить стабильный узел с публичным IP-адресом, рассмотрите возможность стать публичной точкой входа. Публикуя свой интерфейс как обнаруживаемый, вы предоставляете потенциальную точку подключения для других, помогая сети расти и охватывать новые области.
Рекомендации по правильной настройке публичной точки входа смотрите в разделе Размещение публичных точек входа.
Подключение к распределенной магистрали¶
Глобальная распределенная магистральная сеть транспортных узлов Reticulum управляется добровольцами со всего мира. Эта сеть представляет собой гетерогенное собрание как публичных, так и частных узлов, которые образуют некоординированную добровольную межсетевую магистральную сеть, которая в настоящее время обеспечивает глобальные транспортные и межсетевые возможности для Reticulum.
В качестве хорошей отправной точки вы можете найти определения интерфейсов для подключения ваших собственных сетей к этой магистрали на таких веб-сайтах, как directory.rns.recipes и rmap.world.
Совет
Не полагайтесь только на одно подключение к распределенной магистрали для повседневного использования. Гораздо лучше настроить несколько резервных подключений и включить параметры обнаружения интерфейсов, чтобы ваши узлы могли постоянно обнаруживать возможности пиринга по мере развития сети. Ознакомьтесь с разделом Настройка подключения, чтобы понять эти параметры.
Размещение публичных точек входа¶
Если вы хотите помочь в создании мощной глобальной магистральной сети, вы можете разместить публичную (или частную) точку входа в сеть Reticulum через Интернет. В этом разделе приведены некоторые полезные рекомендации. После настройки публичной точки входа рекомендуется сделать ее доступной для поиска через Reticulum.
Вам понадобится физический или виртуальный компьютер с публичным IP-адресом, к которому могут подключаться другие устройства в Интернете.
Наиболее эффективным и производительным способом хостинга подключаемой точки входа,
поддерживающей множество пользователей, является использование
BackboneInterface.
Этот тип интерфейса полностью совместим с типами
TCPClientInterface
и
TCPServerInterface
но работает гораздо быстрее и использует меньше системных ресурсов,
что позволяет вашему устройству обрабатывать тысячи подключений даже на небольших системах.
Также важно настроить подключаемый интерфейс в режиме
шлюза,
так как это значительно улучшит время сходимости сетей и
разрешение маршрута для всех, кто подключается к вашей точке входа.
# В этом примере показан интерфейс магистральной сети,
# настроенный для работы в качестве шлюза, через который пользователи
# подключаются к публичной или частной сети.
[[Public Gateway]]
type = BackboneInterface
enabled = yes
mode = gateway
listen_on = 0.0.0.0
port = 4242
Если же вы хотите создать частную точку входа (entry‑point) из Интернета, вы можете использовать опции ifac_name и passphrase для защиты вашего интерфейса с помощью сетевого имени и пароля.
# Частная точка входа, требующая предварительно согласованного
# имени сети и пароля для подключения.
[[Private Gateway]]
type = BackboneInterface
enabled = yes
mode = gateway
listen_on = 0.0.0.0
port = 4242
network_name = private_ret
passphrase = 2owjajquafIanPecAc
Если вы размещаете точку входа в операционной системе, которая не поддерживает
BackboneInterface, вы можете использовать
TCPServerInterface, хотя она будет менее производительной.
Подключение экземпляров Reticulum через Интернет¶
В настоящее время Reticulum предлагает три интерфейса, подходящих для подключения экземпляров через Интернет: Backbone, TCP and I2P. Каждый интерфейс предлагает свой набор функций, и пользователям Reticulum следует тщательно выбирать интерфейс, который наилучшим образом соответствует их требованиям.
TCPServerInterface
позволяет пользователям размещать экземпляр, доступный через TCP/IP.
Этот метод, как правило, быстрее, имеет меньшую задержку и более энергоэффективен,
чем использование
I2PInterface,
однако он также раскрывает больше данных о хосте сервера.
BackboneInterface
— это очень быстрый и эффективный тип интерфейса, доступный в операционных системах POSIX,
предназначенный для одновременной обработки тысяч соединений с низкими затратами памяти,
вычислительных ресурсов и ввода-вывода.
Он полностью совместим с типами интерфейсов на основе TCP.
TCP-соединения раскрывают IP-адрес вашего экземпляра и сервера любому,
кто может проверить соединение. Кто-то может использовать эту информацию,
чтобы определить ваше местоположение или личность.
Злоумышленники, проверяющие ваши пакеты, могут записывать метаданные пакетов,
такие как время передачи и размер пакета.
Несмотря на то, что Reticulum шифрует трафик,
TCP этого не делает, поэтому злоумышленник может использовать проверку пакетов, чтобы узнать,
что система работает под управлением Reticulum, и какие другие IP-адреса подключаются к ней.
Для хостинга общедоступного экземпляра через TCP также требуется общедоступный IP-адрес,
который большинство интернет-соединений больше не предоставляют.
I2PInterface
маршрутизирует сообщения через
Invisible Internet Protocol (I2P).
Чтобы использовать этот интерфейс, пользователи должны также запустить
демон I2P параллельно с
rnsd.
Для постоянно включенных узлов I2P рекомендуется использовать
i2pd.
По умолчанию I2P шифрует и смешивает весь трафик, отправляемый через Интернет, и скрывает IP-адреса как отправителя, так и получателя Reticulum. Запуск узла I2P также будет ретранслировать зашифрованные пакеты других пользователей I2P, что потребует дополнительных ресурсов пропускной способности и вычислительной мощности, но также значительно усложнит атаки по времени и другие формы глубокого анализа пакетов.
I2P также позволяет пользователям размещать глобально доступные экземпляры Reticulum с непубличных IP-адресов, за брандмауэрами и NAT.
В целом рекомендуется использовать узел I2P, если вы хотите разместить общедоступный экземпляр, сохранив при этом анонимность. Если вам важнее производительность и немного более простая настройка, используйте TCP.
Добавление радиоинтерфейсов¶
После установки и запуска Reticulum вы можете добавить радиоинтерфейсы с любым совместимым оборудованием, которое у вас есть. Reticulum поддерживает широкий спектр радиооборудования, и если у вас уже есть какое-либо оборудование, скорее всего, оно будет работать с Reticulum. Информацию о том, как настроить это, см. в разделе Интерфейсы данного руководства.
Если у вас еще нет оборудования для трансивера, вы можете легко и недорого собрать RNode, — универсальный цифровой радиотрансивер дальнего действия, который легко интегрируется с Reticulum.
Чтобы собрать его самостоятельно, необходимо установить пользовательскую прошивку на поддерживаемую плату разработчика LoRa с помощью скрипта автоматической установки или веб-программы для прошивки. Руководство см. в главе Коммуникационное оборудование. Если вы предпочитаете приобрести готовое устройство, обратитесь к списку поставщиков.
Другие радиоинтерфейсы разрабатываются и становятся доступными для широкой аудитории сообщества Reticulum. Более подробную информацию по этим темам можно найти в разделе Системы обмена информацией на базе Reticulum.
Если у вас есть коммуникационное оборудование, которое еще не поддерживается ни одним из существующих типов интерфейсов, можно легко написать (и, возможно, опубликовать) пользовательский модуль интерфейса, который сделает его совместимым с Reticulum.
Создание и использование пользовательских интерфейсов¶
Хотя Reticulum включает гибкий и широкий набор встроенных интерфейсов, они не охватывают каждый возможный тип коммуникационного оборудования, которое Reticulum потенциально может использовать для связи.
Поэтому легко написать собственные модули интерфейсов, которые можно загрузить во время выполнения и использовать наряду со всеми встроенными типами интерфейсов.
Для получения дополнительной информации по этой теме и примеров кода, для дальнейшей работы см. главу Настройка интерфейсов.
Разработка программы с Reticulum¶
Если вы хотите разрабатывать программы, использующие Reticulum, самый простой способ начать — установить последнюю версию Reticulum с помощью pip:
pip install rns
Эта команда установит Reticulum и все зависимости, после чего вы сможете импортировать и использовать RNS в своих программах. Далее, скорее всего, стоит ознакомиться с некоторыми примерами программ.
Весь API Reticulum задокументирован в главе API Reference данного руководства. Прежде чем погружаться в детали, рекомендуется полностью прочитать руководство, но минимум — начать с главы Понимание Reticulum.
Инструкции по установке для конкретных платформ¶
Некоторые платформы требуют немного другой процедуры установки или имеют различные особенности, о которых стоит знать. Они перечислены здесь.
Android¶
Reticulum можно использовать на Android по-разному. Самый простой способ начать — использовать приложение типа Sideband.
Если нужен больший контроль и дополнительные функции, Reticulum и сопутствующие программы можно запускать в приложении Termux, на момент написания доступно в F-droid.
Termux — это эмулятор терминала и среда Linux для устройств на базе Android, которая включает в себя возможность использования множества различных программ и библиотек, в том числе Reticulum.
Чтобы использовать Reticulum в среде Termux, необходимо установить
python
и библиотеку
python-cryptography
с помощью
pkg, диспетчера пакетов, встроенного в Termux.
После этого Reticulum ставится через
pip.
Выполните в Termux следующие команды:
# Сначала убедитесь, что индексы и пакеты обновлены.
pkg update
pkg upgrade
# Затем установите Python и библиотеку python cryptography.
pkg install python python-cryptography
# Убедитесь, что pip обновлен, и установите модуль wheel.
pip install wheel pip --upgrade
# Установите Reticulum.
pip install rns
Если по какой-то причине пакет
python-cryptography
недоступен для вашей платформы через диспетчер пакетов Termux, вы можете попробовать
скомпилировать его локально на своем устройстве с помощью следующей команды:
# Сначала убедитесь, что индексы и пакеты обновлены.
pkg update
pkg upgrade
# Затем установите зависимости для библиотеки криптографии.
pkg install python build-essential openssl libffi rust
# Убедитесь, что pip обновлен, и установите модуль wheel.
pip install wheel pip --upgrade
# Чтобы установщик мог скомпилировать модуль криптографии,
# нам нужно сообщить ему, для какой платформы мы компилируем:
export CARGO_BUILD_TARGET="aarch64-linux-android"
# Запустите процесс установки модуля cryptography.
# В зависимости от вашего устройства это может занять несколько минут,
# поскольку модуль должен быть скомпилирован локально на вашем устройстве.
pip install cryptography
# Если вышеуказанная установка прошла успешно, теперь вы можете установить
# Reticulum и любое связанное с ним программное обеспечение.
pip install rns
Также можно включить Reticulum в приложения, скомпилированные и распространяемые в виде APK-файлов для Android. Подробное руководство и пример исходного кода будут добавлены сюда позднее. До тех пор вы можете использовать исходный код Sideband в качестве примера и отправной точки.
ARM64¶
В некоторых архитектурах, включая
ARM64,
не все зависимости имеют предварительно скомпилированные
бинарные файлы. В таких системах может потребоваться установка
python3-dev(или аналогичного пакета) перед установкой Reticulum или программ, зависящих от Reticulum.
# Установите Python и пакеты для разработки
sudo apt update
sudo apt install python3 python3-pip python3-dev
# Установите Reticulum
python3 -m pip install rns
После установки этих пакетов
pip сможет локально скомпилировать любые отсутствующие зависимости в вашей системе.
Debian Bookworm¶
В версиях Debian, выпущенных после апреля 2023 года, по умолчанию больше нельзя использовать
pip
для установки пакетов в систему.
К сожалению, вам нужно будет использовать вместо этого замену
pipx
которая помещает установленные пакеты в изолированную среду.
Это не должно негативно повлиять на Reticulum, но не будет работать для включения и
использования Reticulum в ваших собственных скриптах и программах.
# Установите pipx
sudo apt install pipx
# Сделайте установленные программы доступными в командной строке
pipx ensurepath
# Установите Reticulum
pipx install rns
В качестве альтернативы вы можете восстановить нормальное поведение
pip,
создав или отредактировав файл конфигурации, расположенный в
~/.config/pip/pip.conf, и добавив следующий раздел:
[global]
break-system-packages = true
Для однократной установки Reticulum без глобальной активации опции
break-system-packages
можно использовать следующую команду:
pip install
rns --break-system-packages
Примечание
Директива
--break-system-packages
является несколько вводящей в заблуждение формулировкой.
Ее установка, конечно, не повредит никакие системные пакеты, а просто позволит устанавливать
пакеты
pip
для текущего пользователя и глобально для всей системы.
Хотя в редких случаях это может привести к конфликтам версий,
в целом это не создает никаких проблем, особенно в случае установки Reticulum.
MacOS¶
Для установки Reticulum на macOS необходимо иметь установленные Python и менеджер пакетов
pip.
Системы под управлением macOS могут значительно различаться по наличию предустановленного Python,
а если он предустановлен, то по версии, а также по наличию и настройке пакетного менеджера
pip.
Если у вас есть сомнения, вы можете
загрузить и установить Python вручную.
Если Python и
pip
доступны в вашей системе, просто откройте окно терминала и используйте одну из следующих команд:
# Установите Reticulum и утилиты с помощью pip:
pip3 install rns
# В некоторых версиях может потребоваться использовать
# параметр --break-system-packages для установки:
pip3 install rns --break-system-packages
Примечание
Директива
--break-system-packages
является несколько вводящей в заблуждение формулировкой.
Ее установка, конечно, не повредит никакие системные пакеты, а просто позволит устанавливать
пакеты
pip
для текущего пользователя и глобально для всей системы.
Хотя в редких случаях это может привести к конфликтам версий,
в целом это не создает никаких проблем, особенно в случае установки Reticulum.
Кроме того, некоторые комбинации версий macOS и Python требуют, чтобы вы вручную добавили каталог
установленных пакетов
pip
в переменную среды PATH прежде чем вы сможете использовать
установленные команды в терминале.
Обычно достаточно добавить следующую строку в скрипт инициализации оболочки
~/.zshrc):
export PATH=$PATH:~/Library/Python/3.9/bin
Настройте версию Python и расположение скрипта инициализации оболочки в соответствии с вашей системой.
OpenWRT¶
На системах OpenWRT с достаточным объемом памяти и хранилища можно установить Reticulum и связанные утилиты с помощью диспетчера пакетов opkg и pip.
Примечание
На момент выпуска данного руководства ведется работа над созданием готовых
пакетов Reticulum для OpenWRT с полной
конфигурацией, интеграцией сервисов и
uci.
Для получения дополнительной информации см. репозитории
feed-reticulum
и
reticulum-openwrt.
Чтобы установить Reticulum на OpenWRT, сначала войдите в сеанс командной строки, а затем выполните следующие инструкции:
# Установить зависимости
opkg install python3 python3-pip python3-cryptography python3-pyserial
# Установить Reticulum
pip install rns
# Запустить rnsd с включенной отладкой
rnsd -vvv
Примечание
Вышеуказанные инструкции были проверены и протестированы только на OpenWRT 21.02. Вероятно, что для других версий могут потребоваться слегка измененные команды установки или названия пакетов. Также необходимо иметь достаточно свободного места в overlay‑файловой системе и достаточно свободной оперативной памяти для запуска Reticulum и связанных программ и утилит.
В зависимости от конфигурации вашего устройства, вам может потребоваться настроить правила брандмауэра для подключения Reticulum к вашему устройству и от него, чтобы оно работало. Пока не будет готова полноценная упаковка, вам также придётся вручную создать службу или скрипт автозапуска, чтобы Reticulum автоматически запускался при загрузке системы.
Также обратите внимание, что для AutoInterface необходимо включить локальные
IPv6-адреса для всех Ethernet и WiFi-устройств, которые вы собираетесь использовать.
Если команда
ip a
показывает адрес, начинающийся с
fe80::
для данного устройства,
AutoInterface
должен работать для этого устройства.
Raspberry Pi¶
В настоящее время рекомендуется использовать 64-разрядную версию ОС Raspberry Pi, если вы хотите запустить Reticulum на компьютерах Raspberry Pi, поскольку в 32-разрядных версиях не всегда доступны пакеты для некоторых зависимостей. Если Python и менеджер пакетов pip еще не установлены, сначала установите их, а затем установите Reticulum с помощью pip.
# Установка зависимостей
sudo apt install python3 python3-pip python3-cryptography python3-pyserial
# Установка Reticulum
pip install rns --break-system-packages
Примечание
Директива
--break-system-packages
является несколько вводящей в заблуждение формулировкой.
Ее установка, конечно, не повредит никакие системные пакеты, а просто позволит устанавливать
пакеты
pip
для текущего пользователя и глобально для всей системы.
Хотя в редких случаях это может привести к конфликтам версий,
в целом это не создает никаких проблем, особенно в случае установки Reticulum.
Хотя Reticulum можно установить и запустить на 32-разрядных ОС Raspberry Pi, для этого потребуется вручную настроить и установить необходимые зависимости для сборки, что не описано в данном руководстве.
RISC-V¶
В некоторых архитектурах, включая
RISC-V,
не все зависимости имеют предварительно скомпилированные бинарные файлы.
В таких системах может потребоваться установка
python3-dev
(или аналогичного пакета)
перед установкой Reticulum или программ, зависящих от Reticulum.
# Установите Python и пакеты для разработки
sudo apt update
sudo apt install python3 python3-pip python3-dev
# Установите Reticulum
python3 -m pip install rns
После установки этих пакетов
pip
сможет локально скомпилировать любые отсутствующие зависимости в вашей системе.
Ubuntu Lunar¶
В версиях Ubuntu, выпущенных после апреля 2023 года, по умолчанию больше нельзя использовать
pip
для установки пакетов в вашу систему.
К сожалению, вам нужно будет использовать вместо этого замену
pipx, которая помещает
установленные пакеты в изолированную среду.
Это не должно негативно повлиять на Reticulum,
но не будет работать для включения и использования Reticulum в
ваших собственных скриптах и программах.
# Установить pipx
sudo apt install pipx
# Сделать установленные программы доступными в командной строке
pipx ensurepath
# Установить Reticulum
pipx install rns
В качестве альтернативы вы можете восстановить нормальное поведение
pip,
создав или отредактировав файл конфигурации, расположенный в
~/.config/pip/pip.conf,
и добавив следующий раздел:
[global]
break-system-packages = true
Для однократной установки Reticulum без глобальной активации опции
break-system-packages,
можно использовать следующую команду:
pip install rns --break-system-packages
Примечание
Директива
--break-system-packages
является несколько вводящей в заблуждение формулировкой.
Ее установка, конечно, не повредит никакие системные пакеты, а просто позволит устанавливать
пакеты
pip
для текущего пользователя и глобально для всей системы.
Хотя в редких случаях это может привести к конфликтам версий,
в целом это не создает никаких проблем, особенно в случае установки Reticulum.
Windows¶
В операционных системах Windows самый простой способ установить Reticulum — использовать менеджер
пакетов
pip
из командной строки (командная строка или Windows Powershell).
Если у вас ещё не установлен Python, скачайте и установите его. На момент публикации данного руководства рекомендуется версия Python 3.12.7.
Важно! Когда установщик спросит, обязательно добавьте программу Python в переменные среды PATH.
Если вы этого не сделаете, вы не сможете использовать установщик
pip
или запускать включённые утилиты Reticulum (такие как
rnsd
и
rnstatus) из командной строки.
После установки Python откройте командную строку или Windows Powershell и введите:
pip install rns
Теперь вы можете использовать Reticulum и все входящие в него утилиты непосредственно из вашего любимого интерфейса командной строки.
Pure-Python Reticulum¶
Предупреждение
Если вы используете пакет
rnspure
для запуска Reticulum в системах, которые не поддерживают
PyCA/криптографию, важно прочитать и понять раздел
Криптографические примитивы
данного руководства.
В некоторых редких случаях и на более редких типах систем установка одной или нескольких
зависимостей может быть невозможна.
В таких ситуациях можно использовать пакет
rnspure
вместо пакета
rns
или использовать
pip
с опцией командной строки
--no-dependencies.
Пакет
rnspure
не требует внешних зависимостей для установки.
Обратите внимание, что фактическое содержимое пакетов
rns
и
rnspure
полностью идентично.
Единственное различие заключается в том, что пакет
rnspure
не содержит списка зависимостей, необходимых для установки.
Независимо от того, как Reticulum установлен и запущен, он будет загружать внешние зависимости
только в том случае, если они необходимы и доступны.
Если, например, вы хотите использовать Reticulum в системе, которая не поддерживает
pyserial,
это вполне возможно с помощью пакета rnspure, но Reticulum не сможет использовать
интерфейсы на основе последовательного соединения.
Все остальные доступные модули по-прежнему будут загружаться при необходимости.