Skip to content
/ cliws Public

Cross platform interactive bind/reverse PTY shell

License

Notifications You must be signed in to change notification settings

b23r0/cliws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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