custom fork of rnsh
Find a file
Ivan 2c0d246dba
Update SIGINT handling in initiator to improve signal management
- Replaced the existing SIGINT handler with a new function that manages state and data buffer more effectively.
2025-11-23 01:27:44 -06:00
.gitea/workflows update 2025-11-11 08:36:31 -06:00
rnsh Update SIGINT handling in initiator to improve signal management 2025-11-23 01:27:44 -06:00
tests Fix test stability by adding a delay in test_rnsh_no_ident to ensure proper response handling. 2025-11-13 12:02:07 -06:00
.gitignore Updated .gitignore 2023-09-16 17:11:05 +02:00
LICENSE Added license and made a few more packaging tweaks. 2023-02-10 22:34:32 -06:00
Makefile Add Makefile 2025-11-13 12:02:30 -06:00
pyproject.toml Update rns dependency version specification in pyproject.toml to allow for any version greater than or equal to 1.0.2. 2025-11-11 08:32:42 -06:00
README.md Add Russian translation of README and link to English version 2025-11-23 01:27:19 -06:00
README_RU.md Add Russian translation of README and link to English version 2025-11-23 01:27:19 -06:00
tty_test.py Support for pipes. #3 2023-02-16 00:18:34 -06:00

rnsh - Shell over Reticulum

Русский | English

Custom fork of rnsh

rnsh is a utility written in Python that facilitates shell sessions over Reticulum networks. It provides a similar experience to SSH.

Installation

pip install git+https://git.quad4.io/Ivan/rnsh.git
# or
pipx install git+https://git.quad4.io/Ivan/rnsh.git

Configure Reticulum interfaces and check with rnstatus.

Usage

Setup

Get the identity hashes:

# On listener
rnsh -l -p

# On initiator
rnsh -p

Listener

rnsh -l -a <initiator_identity_hash> -- /bin/zsh

Initiator

rnsh <listener_destination_hash>

Options

Run rnsh --help for complete usage information.

Key options:

  • -l, --listen: Listen mode (server)
  • -a, --allowed HASH: Allow specific identity to connect
  • -p, --print-identity: Print identity information
  • -c, --config DIR: Alternate Reticulum config directory
  • -i, --identity FILE: Specific identity file
  • -s, --service NAME: Service name for identity file
  • -v, --verbose: Increase verbosity
  • -q, --quiet: Decrease verbosity

How it works

  • Listeners are servers that accept connections using RNS identities and service names
  • Initiators are clients that connect to listeners using destination hashes
  • Authentication is handled through identity verification
  • Commands can be executed remotely with various configuration options