Skip to content

ADRSH99/SysEcho

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SysEcho 🚀

SysEcho is a terminal-based system summary and monitoring tool for Linux (x86_64 only), written in Rust. It fetches key system metrics, displays Docker container stats, and provides a color-enhanced overview of your machine — all from a single binary.


🛠️ Features

  • System Summary:
    • Hostname, user, kernel version
    • Uptime, CPU info, memory, disk
    • Battery status (if available)
    • Network interfaces
  • Docker Container Stats:
    • Container ID, name, CPU usage, memory usage
  • Colorful, clean terminal output
  • Optional config support via TOML
  • CLI argument parsing using clap

🔧 Crates & Technologies Used

Crate Purpose
sysinfo Core system info (CPU, memory, disk)
whoami Fetch current user info
battery Battery status (if supported)
get_if_addrs Network interface details
duct Run shell commands (e.g. Docker)
colored Terminal color formatting
console Terminal cursor, styling
tui-logger Logging utilities for TUI/logs
serde + toml Config file parsing (TOML format)
clap CLI argument parsing

📁 Repository Structure

SysEcho/
├── src/                     # Rust source files
│   ├── main.rs
│   └── modules/
|    ├── battery.rs
|    ├── containers.rs
|    ├── hostinfo.rs
|    ├── mod.rs
|    ├── network.rs
|    └── systeminfo.rs
├── dist/                     # Precompiled binaries
│   └── sysecho-linux-x86_64
├── config.toml (optional)   # Sample config
├── Cargo.toml               # Project metadata
└── README.md                # You're here

Available Commands

You can run sysecho with various subcommands:

Command Description
sysecho all Show full system summary: CPU, memory, disk, battery, containers, uptime, etc.
sysecho net Display network interface details and IP addresses
sysecho battery Show battery status and charge level (if applicable)
sysecho host Show hostname, current user, and kernel version
sysecho sys Show system metrics: CPU usage, RAM usage, load average, disk space
sysecho proc Show basic process info or count (optional feature)
sysecho containers Show Docker container stats using docker stats --no-stream

Prerequisites

  • You are on Linux x86_64
  • You have downloaded the SysEcho repo or just the binary
  • The binary is located at dist/sysecho-linux-x86_64

1. Make the Binary Executable

chmod +x dist/sysecho-linux-x86_64

2. Run It Directly

./dist/sysecho-linux-x86_64

You should now see system stats and Docker container information.


🛠️ 3. (Optional) Install the Binary

If you have root access:

sudo mv dist/sysecho-linux-x86_64 /usr/local/bin/sysecho

Now you can run it anywhere:

sysecho

If you don’t have root access:

  1. Move the binary:

    mkdir -p ~/.local/bin
    mv dist/sysecho-linux-x86_64 ~/.local/bin/sysecho
  2. Add to your PATH (if not already):

    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc
  3. Run:

    sysecho

🐳 Docker Access

To use Docker container monitoring:

sudo usermod -aG docker $USER
newgrp docker

Docker must be installed and running. Otherwise, container stats will be skipped gracefully.


🏗️ Build from Source (Linux Only)

📦 Install Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

🔨 Build

cargo build --release

Optional: strip debug symbols and prepare for distribution:

strip target/release/sysecho
cp target/release/sysecho bin/sysecho-linux-x86_64

About

a ubuntu cli tool written in rust for me

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published