syst
is a CLI system utility tool. There are multiple subcommands for getting/showing platform info, creating .zip
backups, and pinging sites/hosts. More functionality will be added over time.
Warning
This app is a personal project I'm using to learn Go. There is no warranty or guarantee when using this app, use at your own risk.
You can download & install syst
on Linux & Mac using the install-syst.sh
script.
To download & install in 1 command, do:
curl -LsSf https://raw.githubusercontent.com/redjax/syst/refs/heads/main/scripts/install-syst.sh | bash -s -- --auto
For Windows, use:
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/redjax/syst/refs/heads/main/scripts/install-syst.ps1))) -Auto
Install a release from the releases page. You can check the Verfied Manual Release pipeline to see the results of a secret & vulnerability scan done before the release.
Clone this repository and run one of the build scripts.
To enable tab-completion for syst
commands, run one of the following:
- Bash:
syst completion bash > ~/.local/share/bash-completion/completions/syst
8BC2 li> - Zsh:
syst completion zsh > ~/.local/share/zsh/completions/_syst
- Add the completion to your
$fpath
in your.zshrc
:fpath=(~/.local/share/zsh/completions $fpath)
- Then initialize your completions by adding these lines to
~/.zshrc
:autoload -U compinit
compinit
- Add the completion to your
- Powershell:
syst completion powershell > syst.ps1
- Open your
$PROFILE
path by running:ii (Split-Path -Path $PROFILE -Parent)
- Create a directory, i.e.
completions/
- Move the
syst.ps1
into thecompletions/
directory - In your
$PROFILE
, source the completions by adding the following:$PROFILE_PATH = (Split-Path -Path $PROFILE -Parent)
. "$($PROFILE_PATH)/completions/syst.ps1
- Open your
Each release undergoes a scan for secret leaks & Go vulnerabilities (insecure code, malicious dependencies, etc) before a release is created. If the scans detect a vulnerability, the release is cancelled.
This repository also undergoes nightly scans for secret leaks, vulnerabilities, and codeQL. You can see the results in one of the following places:
Scan | Description |
---|---|
codeQL Analysis | codeQL does "variant analysis" on code to detect problems similar to existing vulnerabilities. |
OSV scan | Open Source Vulnerabilities (OSV) is a distributed vulnerabilities database for open source projects. |
secrets scan | Scans repository for strings that look like secrets. Uses the gitlinks scanner. |
vulnerability scan | Scans Go code for vulnerabilities using the govulncheck Github Action. |
The CLI includes a self
subcommand, which allows for running syst self upgrade
to download a new release. The new version will be downloaded to syst.new
in the same path as the existing syst
binary, and on the next execution syst
will replace the old binary with the new one.
Run syst --help
to print the help menu. For each subcommand, i.e. syst show
, you can also run --help
to see scoped parameters for that subcommand.
Each subcommand has a README.md
file explaining its purpose/usage.
Browse the commands/ directory to read more about subcommands for this CLI.
On Linux, run sudo rm $(which syst)
to uninstall syst
.
If you have an issue with the self upgrade
command, you can uninstall & reinstall syst
with this:
Linux:
command -v syst >/dev/null 2>&1 && sudo rm "$(command -v syst)" &>/dev/null
curl -LsSf https://raw.githubusercontent.com/redjax/syst/refs/heads/main/scripts/install-syst.sh | bash -s -- --auto
You can also uninstall syst
, then reinstall using the one-liner at the top of this page.