An open API service indexing awesome lists of open source software.

https://github.com/JayanAXHF/filessh

A fast and convenient TUI file browser for remote servers
https://github.com/JayanAXHF/filessh

Last synced: about 2 months ago
JSON representation

A fast and convenient TUI file browser for remote servers

Awesome Lists containing this project

README

          

# FileSSH

[![Built With Ratatui](https://ratatui.rs/built-with-ratatui/badge.svg)](https://ratatui.rs/)
![crates.io](https://img.shields.io/crates/v/filessh)
![GitHub Tag](https://img.shields.io/github/v/tag/jayanaxhf/filessh)

A TUI-based file explorer for SSH servers.

![Made with VHS](https://vhs.charm.sh/vhs-3VcUb6HOgvuo8mtaeDbRSe.gif)

## Installation
### Cargo
```sh
cargo install --locked filessh
```
### Build from source

1. Ensure you have Rust and Cargo installed. You can find installation instructions at [rust-lang.org](https://www.rust-lang.org/tools/install).
2. Clone the repository:
```sh
git clone https://github.com/your-username/filessh.git
cd filessh
```
3. Build the project:
```sh
cargo build --release
```
The executable will be located at `target/release/filessh`.

## Todo

- [ ] Add support for rsync and scp
- [ ] Iron out bugs

## Usage

```sh
filessh [OPTIONS]
```
### Features
1. Modift, delete and browse files on a remote server
2. Recursively download directories with parallel directory traversal
3. Quickly open SSH sessions to directories.

### Arguments

- ``: The hostname or IP address of the SSH server.
- ``: The starting path to explore on the remote server.

### Options

- `--port `: The port number for the SSH connection (default: 22).
- `--username `: The username for the SSH connection (default: "root").
- `-k`, `--private-key `: The path to your SSH private key.
- `-o`, `--openssh-certificate `: The path to your OpenSSH certificate.

### Example

```sh
./target/release/filessh \
--username myuser \
--private-key ~/.ssh/id_rsa \
example.com \
/home/myuser
```