Remote-Cmd is a lightweight client-server application designed for executing remote shell commands securely. Built in C, it offers a robust solution for system administrators and developers who need to manage servers efficiently. With features like authentication, syslog logging, optional system updates, and support for both IPv4 and IPv6, Remote-Cmd is tailored for Linux Debian environments and requires no external dependencies.
- Secure Execution: Execute commands securely with built-in authentication.
- Logging: Log activities using syslog for easy monitoring.
- System Updates: Optionally update the system through the client.
- IPv4/IPv6 Support: Use the application in diverse network environments.
- Dry-Run Mode: Test commands without making changes to the system.
- Lightweight: Minimal resource usage, making it ideal for various server configurations.
To install Remote-Cmd, follow these steps:
-
Clone the repository:
git clone https://github.com/ihesti/server-and-client.git
-
Navigate to the directory:
cd server-and-client
-
Compile the application:
make
-
The compiled binaries will be located in the
bin
directory.
For the latest release, you can also download the precompiled binaries from the Releases section. Download the appropriate file for your system and execute it.
After installation, you can start using Remote-Cmd. Here’s how:
To start the server, run:
./bin/server
To connect to the server and execute commands, run:
./bin/client
You will need to provide the server's IP address and your credentials.
Once connected, you can execute commands like:
execute ls -l
This command lists files in the current directory.
Configuration is essential for tailoring Remote-Cmd to your needs. You can modify the configuration file located at config/config.yaml
. Here are some key settings:
- Server Port: Change the port on which the server listens.
- Log Level: Adjust the verbosity of logs (info, debug, error).
- Allowed IPs: Specify which IPs can connect to the server.
server:
port: 8080
allowed_ips:
- 192.168.1.1
- 192.168.1.2
log:
level: info
We welcome contributions to Remote-Cmd! If you have ideas for improvements or new features, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or fix.
- Make your changes and commit them.
- Push to your branch and create a pull request.
Your contributions help make Remote-Cmd better for everyone.
Remote-Cmd is open-source software licensed under the MIT License. You can freely use, modify, and distribute it, provided you include the original license in any copies of the software.
If you encounter any issues or have questions, please check the Releases section for updates and documentation. You can also open an issue in the repository for help.
We thank all contributors and users who have supported the development of Remote-Cmd. Your feedback and contributions are invaluable.
For more information, visit the Releases section to download the latest version and stay updated on new features and fixes.