Armly is a combination of a Soldiers (Clients) and Commanders(Server). Each Commander has a list of Commands/orders, which it sends to its Soldiers, what it can have many Soldiers simultaneously. The Soldiers follow the Commander's orders and, when all orders have been run, it sends back the reports with the output from commands.
A direct link to the app could be problematic because it is not prepared for some attacks, but I can show how to test it yourself.
git clone https://github.com/henrybarreto/Armly cd Armly/
From here it just runs the commander and the soldier to see the commands inside "config.ron" file to be executed.
cd commander cargo r
cd soldier cargo r
I deployed little Droplet on Digital Ocean to test. If you want to try, put "armly.henrybarreto.dev:14114" in the soldier's config.ron file and run it. No worries, it will just run echo "Hello, world" on your machine.
Screenshots from a CLI application is not useful...
Armly is a bundle of a server(Commander) and clients(Soldiers) to serve and execute commands.
When I had have been studying about Linux networks, I have used many utilities what I liked too much, but one have awoken me interest, the netcat. This "nc" (netcat) is a utility for reading from and writing to network connections using TCP or UDP.
In somewhere I found someone explaining how to use to execute commands directly to Windows's CMD. I thought it is interesting and could have many other good applications, but I have been letting aside, until the Hashnode and Digital Ocean Hackathons incentivized my try to implement what I thought. I first post in my blog, but now I got up the courage to try here en dev.to.
In 2020, I have decided to begin a blog and write about the things I have been learning, to try to build a portfolio because I guess I know a good variety of things, but I do not feel prepared enough to apply for a job. I'm changing this mindset...
This adventure makes my start to looking for new things, one of this was Rust, a programming language what have the promise makes the application built on it be memory safe and so others magic features. I loved and began to read about and decided to write about it.
As I know the best way to prove a new skill is testing it, so I have begun to write a simple app on Rust, using some features what I knew it could be a challenge to implement, thus it was born the Armly, implementing networking, threads and encrypting.
I also want to implement a clean "protocol", over TCP, for the application.