Перейти к содержанию

rnx

rnx — утилита для удалённого выполнения команд на системах в сети Reticulum. Позволяет запускать команды на удалённых узлах через Reticulum и просматривать результат их выполнения. Для полностью интерактивного удалённого терминала также рекомендуется использовать утилиту rnsh.


Примеры использования

Запуск rnx в режиме прослушивания с указанием разрешённых Identity:

$ rnx --listen -a 941bed5e228775e5a8079fc38b1ccf3f -a 1b03013c25f1c2ca068a4f080b844a10

Выполнение команды на удалённой системе:

$ rnx 7a55144adf826958a9529a3bcf08b149 "cat /proc/cpuinfo"

Вход в интерактивный режим (псевдо-оболочка):

$ rnx 7a55144adf826958a9529a3bcf08b149 -x

Использование альтернативного файла Identity:

По умолчанию файл Identity хранится в ~/.reticulum/identities/rnx. Если файл не существует, он будет создан:

$ rnx 7a55144adf826958a9529a3bcf08b149 -i /path/to/identity -x

Все опции командной строки (переведены для понимания)

usage: rnx [-h] [--config path] [-v] [-q] [-p] [-l] [-i identity] [-x] [-b] [-n] [-N]
           [-d] [-m] [-a allowed_hash] [-w seconds] [-W seconds] [--stdin STDIN]
           [--stdout STDOUT] [--stderr STDERR] [--version] [destination] [command]

Утилита удалённого выполнения команд Reticulum

Позиционные аргументы:
  destination        шестнадцатеричный хеш слушателя
  command            команда для выполнения

Опции:
  -h, --help         показать это сообщение и выйти
  --config path      путь к альтернативной директории конфигурации Reticulum
  -v, --verbose      увеличить подробность вывода
  -q, --quiet        уменьшить подробность вывода
  -p, --print-identity
                     вывести информацию об Identity и назначении и выйти
  -l, --listen       прослушивать входящие команды
  -i identity        путь к файлу Identity для использования
  -x, --interactive  войти в интерактивный режим
  -b, --no-announce  не объявлять службу при запуске программы
  -a allowed_hash    разрешить выполнение команд от этой Identity
  -n, --noauth       принимать команды от кого угодно (без аутентификации)
  -N, --noid         не идентифицироваться перед слушателем
  -d, --detailed     показать подробный вывод результата
  -m                 зеркально отразить код выхода удалённой команды
  -w seconds         таймаут подключения и запроса перед отказом
  -W seconds         максимальное время загрузки результата
  --stdin STDIN      передать входные данные в stdin
  --stdout STDOUT    максимальный размер возвращаемого stdout в байтах
  --stderr STDERR    максимальный размер возвращаемого stderr в байтах
  --version          показать номер версии программы и выйти

Расположение файлов

  • Файл Identity по умолчанию: ~/.reticulum/identities/rnx
  • Директория конфигурации Reticulum: ~/.reticulum/ (или указывается через --config)

Типичные сценарии использования

1. Настройка сервера для приёма команд

# Запуск в режиме прослушивания с разрешением конкретных Identity
$ rnx --listen -a <hash1> -a <hash2>

2. Выполнение разовой команды

$ rnx <destination_hash> "команда"

3. Интерактивный удалённый терминал

$ rnx <destination_hash> -x

4. Безопасное выполнение с ограничением доступа

# На принимающей стороне:
$ rnx --listen -a <trusted_identity_hash>

# На отправляющей стороне:
$ rnx <destination_hash> "команда" -i /path/to/trusted_identity

5. Выполнение команды с передачей входных данных

$ rnx <destination_hash> "команда" --stdin <input_file>

См. также

  • Основы RNS — введение в протокол Reticulum
  • Утилиты RNS — обзор всех утилит командной строки
  • rnid — управление идентичностями и шифрование файлов
  • rncp — копирование файлов через сеть Reticulum