• Stars
    star
    100
  • Rank 340,703 (Top 7 %)
  • Language
    Rust
  • License
    MIT License
  • Created about 3 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Cross platform interactive bind/reverse PTY shell

Cliws Build Status ChatOnDiscord LastCommit Crate

Lightweight interactive bind/reverse PTY shell implementation by Rust.

Features

  • WebSocket
  • Full pty support: VIM, SSH, readline, Ctrl+X
  • Auto set terminal window size.
  • Reverse connection / Bind port
  • Support Win10+(Windows Server 2019+) & Linux & BSD & OSX

Build & Run

$> cargo build --release

$> ./target/release/cliws

Installation

$> cargo install cliws

Usage

Bind Mode

You can run a bash and listen port at 8000

$> ./cliws -p 8000 bash -i

then connect and get a comfortable shell.

$> ./cliws -c ws://127.0.0.1:8000

Reverse Mode

First listen a port wait for shell

$> ./cliws -l 8000

then build a reverse connection

$> ./cliws -r ws://127.0.0.1:8000 bash -i

Example

Linux

image

Windows(Reverse Mode)

image

Invalid Characters

In Windows(Windows Terminal), the default CodePage encoding is UTF-8. When encountering the target of other language operating systems, invalid characters may occur. You can try the following methods to solve it.

Open Regedit and modified [Machine]\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP value is 65001(DEC).

Reference