Files
fressh/packages/react-native-uniffi-russh
2025-10-07 20:48:24 -04:00
..
2025-09-22 01:14:29 -04:00
2025-10-06 23:31:28 -04:00
2025-10-06 23:31:28 -04:00
2025-09-14 01:52:02 -04:00
2025-10-07 20:48:24 -04:00
2025-09-19 22:31:46 -04:00
2025-10-07 15:40:00 -04:00
2025-10-06 23:31:28 -04:00
2025-10-06 23:31:28 -04:00
2025-10-06 23:31:28 -04:00
2025-10-07 20:48:24 -04:00
2025-10-06 23:31:28 -04:00
2025-10-06 23:31:28 -04:00
2025-10-07 10:19:45 -04:00
2025-10-06 23:31:28 -04:00
2025-10-06 23:31:28 -04:00
2025-10-07 10:19:45 -04:00
2025-09-13 12:34:41 -04:00

@fressh/react-native-uniffi-russh

React Native bindings (via UniFFI) for the Rust SSH library russh.

npm version

Install

pnpm add @fressh/react-native-uniffi-russh

Peer dependencies (you manage): react, react-native.

Usage

This package exposes a native Rust module for SSH transport. For a complete, working integration, see the example app:

API overview

High-level API surface (see code for full types):

import { RnRussh } from '@fressh/react-native-uniffi-russh';

await RnRussh.uniffiInitAsync();

const conn = await RnRussh.connect({
	host: 'example.com',
	port: 22,
	username: 'me',
	security: { type: 'password', password: '...' },
	onServerKey: async () => true,
});

const shell = await conn.startShell({ term: 'Xterm' });
shell.addListener(
	(ev) => {
		// handle TerminalChunk or DropNotice
	},
	{ cursor: { mode: 'live' } },
);