{"id":20120823,"url":"https://github.com/nthnn/rheolaeth","last_synced_at":"2026-03-04T20:31:41.047Z","repository":{"id":213924906,"uuid":"735013643","full_name":"nthnn/rheolaeth","owner":"nthnn","description":"Rheolaeth is a remote tool for controlling shell via HTTP connection using another device in network.","archived":false,"fork":false,"pushed_at":"2023-12-24T10:10:56.000Z","size":37,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T20:18:49.465Z","etag":null,"topics":["ballerina-service","ballerinahackathon","network-security","network-server","remote-access-tool","remote-administrator-tool","remote-control","remote-desktop"],"latest_commit_sha":null,"homepage":"","language":"Ballerina","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nthnn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":"nthnn","custom":"https://www.buymeacoffee.com/nthnn"}},"created_at":"2023-12-23T11:01:58.000Z","updated_at":"2024-08-13T04:36:21.000Z","dependencies_parsed_at":"2023-12-24T11:21:21.467Z","dependency_job_id":"353bc9d1-26dc-4bef-8abb-1b03e493f444","html_url":"https://github.com/nthnn/rheolaeth","commit_stats":null,"previous_names":["nthnn/rheolaeth"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/nthnn/rheolaeth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nthnn%2Frheolaeth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nthnn%2Frheolaeth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nthnn%2Frheolaeth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nthnn%2Frheolaeth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nthnn","download_url":"https://codeload.github.com/nthnn/rheolaeth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nthnn%2Frheolaeth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30091771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T19:41:02.502Z","status":"ssl_error","status_checked_at":"2026-03-04T19:40:05.550Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ballerina-service","ballerinahackathon","network-security","network-server","remote-access-tool","remote-administrator-tool","remote-control","remote-desktop"],"created_at":"2024-11-13T19:23:18.943Z","updated_at":"2026-03-04T20:31:41.019Z","avatar_url":"https://github.com/nthnn.png","language":"Ballerina","funding_links":["https://github.com/sponsors/nthnn","https://www.buymeacoffee.com/nthnn"],"categories":[],"sub_categories":[],"readme":"# Rheolaeth\n\n![Ballerina Build](https://github.com/nthnn/rheolaeth/actions/workflows/puppet-build.yml/badge.svg)\n[![GitHub Issues](https://img.shields.io/github/issues/nthnn/rheolaeth.svg)](https://github.com/nthnn/rheolaeth/issues)\n[![GitHub Stars](https://img.shields.io/github/stars/nthnn/rheolaeth.svg)](https://github.com/nthnn/rheolaeth/stargazers)\n![GitHub repo size](https://img.shields.io/github/repo-size/nthnn/rheolaeth?logo=git\u0026label=Repository%20Size)\n[![License](https://img.shields.io/badge/license-MPL-blue.svg)](https://github.com/nthnn/rheolaeth/blob/main/LICENSE)\n\u003ca href=\"https://www.buymeacoffee.com/nthnn\"\u003e\u003cimg src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\" height=\"20px\"\u003e\u003c/a\u003e\n\nRheolaeth 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.\n\n- **Remote Execution**: Execute shell payloads on a target device remotely, allowing for flexible and convenient management of devices.\n- **Secure Connection**: Utilizes AES-ECB encryption for secure communication between the puppet and puppetmaster, ensuring data confidentiality and integrity.\n- **Configurability**: Easy configuration through the Config.toml file, allowing users to customize the port, connection password, and other settings according to their preferences.\n- **HTTP Server**: The puppet sets up a lightweight HTTP server, providing a simple and standardized interface for receiving and handling shell payloads.\n- **Terminal Shell Interface**: The puppetmaster transforms into a terminal shell, enabling users to interactively execute commands on the target device.\n- **Cross-Platform Compatibility**: Built with Ballerina, Rheolaeth is designed to be cross-platform, allowing ease of deployment on various operating systems.\n\n## Usage\n\n### Prequesites\n\nOn macOS, you can easily install require softwares using `brew`.\n\n```bash\nbrew install openjdk ballerina\n```\n\nOn Linux systems, you have to install OpenJDK and configure it first. Then download the Ballerina from the official website's [download page](https://ballerina.io/downloads/).\n\n### Building from source\n\nUpon installation of OpenJDK and Ballerina on the system, you can now proceed with:\n\n```bash\ngit clone https://github.com/nthnn/rheolaeth.git\ncd rheolaeth\nqrepo run puppet-build          # Or `cd ./puppet \u0026\u0026 bal build`\nqrepo run puppetmaster-build    # Or `cd ./puppetmaster \u0026\u0026 bal build`\n```\n\n### Configuration\n\nThe `Config.toml` file contains configuration settings for both the puppet and puppetmaster.\n\n```toml\nport = 5173\npassword = \"00112233445566778899aabbccddeeff\"\n```\n\n- `port`: The port on which the puppet HTTP server listens.\n- `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).\n\n## License\n\nRheolaeth 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.\n\nFor 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](LICENSE).\n\n## Disclaimer\n\nBy 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnthnn%2Frheolaeth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnthnn%2Frheolaeth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnthnn%2Frheolaeth/lists"}