Skip to content

fossillogic/squid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Squid Tool Logo

A System Monitoring Power Utility by Fossil Logic

Squid Tool is the ultimate all-in-one system administration and monitoring utility for admins, developers, and system engineers. It consolidates essential process management, system diagnostics, and real-time monitoring into a single command-line interface—eliminating tool fragmentation. Unique commands like health for system diagnostics, audit for security event tracking, and inspect for deep resource analysis provide capabilities rarely found in traditional utilities, delivering the precision and control professionals demand.


Features

  • Process management and monitoringprocess, inspect, watch with filtering, sorting, and signaling
  • System information and diagnostics — CPU, memory, disk, network, kernel, and hardware details
  • Real-time resource monitoring — Live CPU, memory, disk, and network monitoring with customizable intervals
  • System health diagnostics — Quick and comprehensive health checks with detailed reporting
  • Security and audit logging — Track logins, services, processes, and file access events
  • Cross-platform support — Seamless operation on Linux, macOS, and Windows
  • Deep resource inspection — Process details, memory layout, threads, file descriptors, and limits
  • Permission management — Inspect and modify user/group permissions with anomaly detection
  • Service management — Start, stop, restart, reload, and monitor system services
  • Network analysis — Interfaces, connections, ports, routes, and traffic statistics

Why Choose Squid Tool?

Unlike traditional CLI utilities that require juggling multiple tools, Squid consolidates essential system administration and monitoring into a single, intuitive command-line interface. Here's what sets it apart:

  • All-in-One Solution: Eliminate tool switching. Process management, system monitoring, diagnostics, and auditing all in one place.
  • Unique Advanced Features: Commands like health for comprehensive diagnostics, audit for security tracking, and inspect for deep analysis go beyond standard utilities.
  • Admin-Friendly: Built specifically for system administrators and engineers who need power and visibility without complexity.
  • Cross-Platform: Works seamlessly across Linux, macOS, and Windows.
  • Real-Time Insights: Live monitoring with customizable refresh intervals and structured output formats.
  • Modern Architecture: Built with Meson and designed for performance and extensibility.

Squid Tool is the unified solution for professionals who demand more from their system administration utilities.


Prerequisites

Ensure you have the following installed before starting:

  • Meson Build System: This project relies on Meson. For installation instructions, visit the official Meson website.

Setting Up Meson Build

  1. Install Meson:
    • Follow the installation guide on the Meson website for your operating system.

Setting Up, Compiling, Installing, and Running the Project

  1. Clone the Repository:

    git clone https://github.com/fossillogic/squid.git
    cd squid
  2. Configure the Build:

    meson setup builddir
  3. Compile the Project:

    meson compile -C builddir
  4. Install the Project:

    meson install -C builddir
  5. Run the Project:

    squid --help

Command Palette


Core System Commands

Command Description Flags
process Display and manage system processes. -a, --all (show all processes)
-u, --user <name> (filter by user)
-p, --pid <id> (specific process)
--name <pattern> (filter by name)
--sort <key> (cpu/mem/pid/time)
--tree (process hierarchy)
--kill <signal> (send signal to process)
--watch (live refresh)
--limit <n> (limit results)
system Display system configuration and environment information. --cpu (CPU info)
--memory (memory info)
--kernel (kernel version)
--os (operating system)
--hardware (hardware details)
--uptime (system uptime)
--load (load averages)
--env (environment variables)
--json (structured output)
monitor Real-time monitoring of system resources. --cpu
--memory
--disk
--network
--process
--top <n> (top resource consumers)
-t, --interval <n> (refresh interval)
--watch (continuous monitoring)
health Perform system health diagnostics. --quick (basic health check)
--full (complete diagnostics)
--cpu (CPU health)
--memory (memory health)
--disk (disk health)
--network (network health)
--report <file> (export report)
--json (structured report output)
audit Audit system activity and security events. --logins (login history)
--services (service activity)
--process (process activity)
--files (file access events)
--since <time> (time filter)
--user <name> (filter by user)
--export <file> (write audit report)
inspect Deep inspection of system resources. --process <pid> (inspect process)
--memory (memory layout)
--threads (thread usage)
--fds (file descriptors)
--network (network sockets)
--limits (resource limits)
--json (structured output)
perm Inspect and modify system permissions. --user <name> (inspect user permissions)
--group <name> (inspect group permissions)
--set <mode> (set permission mode)
--recursive (apply recursively)
--audit (show permission anomalies)
service Manage system services. start <name> (start service)
stop <name> (stop service)
restart <name> (restart service)
reload <name> (reload service config)
status <name> (service status)
--enable (enable at boot)
--disable (disable at boot)
--watch (monitor service state)
network Display and analyze network information. --interfaces (network interfaces)
--connections (active connections)
--ports (open ports)
--routes (routing table)
--stats (traffic statistics)
--tcp (TCP connections)
--udp (UDP connections)
--watch (live network activity)
help Display help for commands. --examples (usage examples)
--man (full manual)

Global Flags (Available to All Commands)

Flag Description
--help Show command help.
--version Display Shark Tool version.
-v, --verbose Enable detailed output.
-q, --quiet Suppress standard output.
--dry-run Simulate actions without changes.
--color Colorize output where applicable.
--time Display timestamps in output.

Usage Examples

Example Description
squid process -a --sort mem --limit 10 List top 10 processes by memory usage.
squid process --tree --user admin Display process hierarchy for admin user.
squid system --cpu --memory --json Show CPU and memory info in JSON format.
squid monitor --cpu --memory --interval 5 Real-time monitoring with 5-second refresh.
squid health --full --report health.txt Run complete diagnostics and export report.
squid audit --logins --since "2024-01-01" View login history from specific date.
squid inspect --process 1234 --threads Inspect process 1234 with thread details.
squid perm --user john --audit Check john's permissions and anomalies.
squid service status nginx Display nginx service status.
squid service restart apache2 --watch Restart Apache and monitor state changes.
squid network --connections --watch Monitor active network connections live.
squid network --ports --stats Show open ports with traffic statistics.
squid help --examples Display command help with usage examples.

Command Comparison (Squid vs Traditional Tools)

Squid Tool consolidates many common command-line utilities into a single consistent interface.
Below is a comparison between Squid commands and their traditional equivalents.

Squid Command Traditional Commands Purpose
squid process ps, top, pgrep, kill Display, filter, sort, and manage processes with live monitoring.
squid system uname, lsb_release, lscpu, free Comprehensive system information in unified format.
squid monitor top, htop, iotop, nethogs Real-time monitoring of CPU, memory, disk, and network.
squid health systemctl, diagnostics scripts System health checks and diagnostic reports.
squid audit journalctl, ausearch, last, ac Security and activity auditing with event tracking.
squid inspect proc, lsof, nm, objdump Deep inspection of processes and system resources.
squid perm chmod, chown, getfacl, setfacl Permission inspection and modification.
squid service systemctl, service, chkconfig Service lifecycle management.
squid network ifconfig, netstat, ss, route, ping Network configuration and connection analysis.

Contributing

Interested in contributing? Please open pull requests or create issues on the GitHub repository.

Feedback and Support

For issues, questions, or feedback, open an issue on the GitHub repository.

License

This project is licensed under the Apache Public License.

About

Squid Tool is the ultimate all-in-one system administration and monitoring utility for admins, developers, and system engineers. It consolidates essential process management, system diagnostics, and real-time monitoring into a single command-line interface—eliminating tool fragmentation.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Contributors