# Altruistic Angelshark ![GitHub all releases](https://img.shields.io/github/downloads/adpllc/altruistic-angelshark/total) ![GitHub](https://img.shields.io/github/license/adpllc/altruistic-angelshark) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/adpllc/altruistic-angelshark/Publish) ![Conventional git style](https://img.shields.io/badge/git%20style-conventional%20commit-blue) Altruistic Angelshark is a project devoted to making Communication Manager (ACM) automation easier. It uses the OSSI protocol over SSH to run user commands on one or more configurable ACMs. This functionality is exposed as a developer library ([`libangelshark`](./libangelshark)), a command line application ([`angelsharkcli`](./angelsharkcli)), and an HTTP daemon ([`angelsharkd`](./angelsharkd)). ## Detailed User Guides These guides give an overview of the end-user Angelshark applications, their capabilities, and common use cases. It assumes the user has familiarity with using a shell and the command line. Most commands are formatted for \*nix. They should all be directly translatable to Windows, just make sure you're using (for example) `angelsharkcli` for \*nix and `angelsharkcli.exe` for Windows. - [`angelsharkcli`](angelsharkcli/README.md): a command line application for running OSSI-formatted commands on one or more ACMs and parses the output data into useful formats (CSV, JSON, etc.) - [`angelsharkd`](angelsharkd/README.md): a HTTP service for running OSSI-formatted commands formatted in JSON on one or more ACMs, by one or more clients ## Installation `angelsharkcli` is available as a prebuilt binary for many platforms in the GitHub releases. To install `angelsharkcli` from source, use [`cargo`](https://rustup.rs): ``` cargo install --git https://github.com/adpllc/altruistic-angelshark.git angelsharkcli ``` To install `angelsharkd` from source: ``` cargo install --git https://github.com/adpllc/altruistic-angelshark.git angelsharkd ``` ## Quick Examples Get the numbers and names of all stations on a single ACM via the CLI. ```sh $ printf 'a03\nclist stat\nf8005ff00\nf8003ff00\nt\n' | angelsharkcli print 17571230001 Arnold, Ray 17571230002 Muldoon, Robert 17571230003 Panic Rm. 1 ``` Check three ACMs for a station and print it as JSON via the CLI. ```sh $ angelsharkcli print --format json < ^x: rx_ =]~ `-' _^**^**=` -V, X]*!=:,-`'-,,:=!~><<^^^^**^^^^<<~~!=:,,-'` !i H 5 `````.''-__,,,::" =.-q^*x H :rrr>~!!==::,,,_--'.Z , y`6@= -e` r` xr=**rr" n_ ??"!~]` !|? .. `}r:` '(` ,Hx^^^^*- -<***^^^^r(