https://github.com/brakmic/ecr
Execute Collect Report - a tool set for remote code execution, data collection and reporting
https://github.com/brakmic/ecr
Last synced: 10 months ago
JSON representation
Execute Collect Report - a tool set for remote code execution, data collection and reporting
- Host: GitHub
- URL: https://github.com/brakmic/ecr
- Owner: brakmic
- License: mit
- Created: 2019-04-14T19:49:51.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-04-18T14:29:49.000Z (over 7 years ago)
- Last Synced: 2025-09-11T13:04:59.970Z (11 months ago)
- Language: C
- Homepage:
- Size: 111 KB
- Stars: 0
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ECR
*Execute*, *Collect*, and *Report* - a tool set for remote code execution, data collection and reporting
### Work in Progress
The idea is to develop a set of networking tools for:
* preparing jobs which can be simple one-liners or complex scripts
* sending them to remote machines for execution
* collecting data and reporting it back
The underlying tech is based on [ØMQ](http://zeromq.org/), [Redis](https://redis.io/) and [cJSON](https://github.com/DaveGamble/cJSON).
The code is based on [C99](https://en.wikipedia.org/wiki/C99) and can be compiled under **Windows**, **macOS** and **Linux**.


### Building
This project uses [CMake](https://cmake.org/download/) to generate project files for your preferred build environment.
Create a `build` folder and enter it: `mkdir build && cd build`.
Then let CMake generate Makefiles: `cmake ..`
Build the binaries: `make`.
For verbose output use `make VERBOSE=1`.
For a simple showcase of available functions use the binary based on [ecrprog.c](https://github.com/brakmic/ECR/blob/master/ecrprog.c) which is located in `build/bin`.
### Testing
Tests are based on [Criterion Testing Framework](https://github.com/Snaipe/Criterion)
Enter directory `test` and compile the suite with `clang -o test_ecr_all test_ecr_all.c -lcriterion -lhiredis` (*applies to GCC as well*)
```shell
$ ./test_ecr_all
[====] Synthesis: Tested: 13 | Passing: 13 | Failing: 0 | Crashing: 0
```
### Use-Cases
* Managing server farms via script-execution
* Automatized reporting
* Software delivery and updates
* Health-checks & heartbeats
# LICENSE
[MIT](https://github.com/brakmic/ECR/blob/master/LICENSE)