Git Product home page Git Product logo

remote_terminal's Introduction

Remote Terminal

Remote administration tool for Linux written in Ruby.

Clients are persistent and will stay active waiting to reconnect if the server closes. You can launch clients before starting the server and they will attempt to connect every 2 seconds.

Gems Required

  • colorize
  • etc
  • net/http
  • socket

Server Usage

The server is a single standalone file.
Host is always "localhost", Port defaults to 3200.
./server.rb <PORT>

Client Usage

client.rb relies on helpers.rb for some commands.
Host defaults to "localhost", Port defaults to 3200.
./client.rb <HOST> <PORT>

How To Use

First the Server must be running and client(s) have connected.
Type help to see a list of available commands.
Type clients to see all connected clients.

The exe command requires a client to be selected with select <ID>.
exe <BASH_COMMAND> e.g. exe touch new_file.txt, exe shutdown now, exe wget -r --tries=10 www.google.com.
Some specific commands that Ruby cannot execute will have no effect, such as exe cd /opt.

hardexit will close the server, and also send a destroy message to clients, closing them too. exit will close the server only and clients will continue to listen for a server restart. Use destroy <ID> to remove a specific client.

Shell Output Issue

Most commands like exe ls will return text output to the server.
Other commands such as exe wget www.google.com will work but there will be no output to the server until you run exe ls to see the downloaded file. The server cannot see all I/O on the client side as its not a full reverse shell.

If you have a fix or any other improvements feel free to contribute it!

remote_terminal's People

Contributors

mark-ruddy avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.