Git Product home page Git Product logo

rheolaeth's Introduction

Rheolaeth

Ballerina Build GitHub Issues GitHub Stars GitHub repo size License

Rheolaeth is a Ballerina program designed for secure remote execution on devices. It consists of two parts: "puppet" and "puppetmaster." The "puppet" creates a local HTTP server, accepting shell payloads to execute on the device where it is installed. The "puppetmaster" acts as a terminal shell, executing input payloads on a specified target device. Both parts use the AES-ECB encryption algorithm for secure connections, requiring a defined key for the connection password on both ends.

  • Remote Execution: Execute shell payloads on a target device remotely, allowing for flexible and convenient management of devices.
  • Secure Connection: Utilizes AES-ECB encryption for secure communication between the puppet and puppetmaster, ensuring data confidentiality and integrity.
  • Configurability: Easy configuration through the Config.toml file, allowing users to customize the port, connection password, and other settings according to their preferences.
  • HTTP Server: The puppet sets up a lightweight HTTP server, providing a simple and standardized interface for receiving and handling shell payloads.
  • Terminal Shell Interface: The puppetmaster transforms into a terminal shell, enabling users to interactively execute commands on the target device.
  • Cross-Platform Compatibility: Built with Ballerina, Rheolaeth is designed to be cross-platform, allowing ease of deployment on various operating systems.

Usage

Prequesites

On macOS, you can easily install require softwares using brew.

brew install openjdk ballerina

On Linux systems, you have to install OpenJDK and configure it first. Then download the Ballerina from the official website's download page.

Building from source

Upon installation of OpenJDK and Ballerina on the system, you can now proceed with:

git clone https://github.com/nthnn/rheolaeth.git
cd rheolaeth
qrepo run puppet-build          # Or `cd ./puppet && bal build`
qrepo run puppetmaster-build    # Or `cd ./puppetmaster && bal build`

Configuration

The Config.toml file contains configuration settings for both the puppet and puppetmaster.

port = 5173
password = "00112233445566778899aabbccddeeff"
  • port: The port on which the puppet HTTP server listens.
  • password: The connection password for secure communication. And should be 128 bits (16 bytes), for AES-192, it should be 192 bits (24 bytes), and for AES-256, it should be 256 bits (32 bytes).

License

Rheolaeth is open-source software released under the terms of the Mozilla Public License, version 2.0 (MPL-2.0). The MPL-2.0 is a permissive open-source license that allows you to freely use, modify, distribute, and contribute to the project.

For a detailed understanding of your rights and obligations under the MPL-2.0, please review the full text of the license, which is available here.

Disclaimer

By using Rheolaeth, you acknowledge and agree that the developer(s) and maintainer(s) of Rheolaeth are not liable for any direct or indirect damages, losses, or consequences resulting from the use of Rheolaeth, including but not limited to security incidents, data breaches, or any other adverse outcomes. Users are responsible for their own use of Rheolaeth and should take appropriate measures to ensure the security of their systems.

rheolaeth's People

Contributors

nthnn avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

fossabot

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.