Squid Tool is a powerful all-in-one system administration and monitoring utility for admins, developers, and engineers. It unifies essential process management, system diagnostics, and system profiling into a single, consistent command-line interface—eliminating the need for multiple fragmented tools.
- Process Management — Use the
processcommand to display, filter, and manage system processes. Supports actions like showing all processes, filtering by PID or name, checking existence, viewing details, managing priorities, sending signals, suspending/resuming, terminating, killing, waiting for exit, and spawning new processes. - Service Management — The
servicecommand allows you to list, check status, start, stop, restart, enable, and disable system services. - System Operations — Use the
systemcommand for system-level actions such as displaying system info, uptime, shutdown, reboot, updating, and loading configuration files. - Resource Inspection — The
inspectcommand examines files, directories, processes, and services, with support for structured JSON output. - Permission Management — The
permitcommand inspects and modifies permissions for users, files, and services, including granting and revoking permissions. - Environment Variable Management — The
envcommand lists, gets, sets, unsets, and exports environment variables. - Flexible Output — The
echocommand prints text or system information, with options for environment variables, JSON, and colored output. - Comprehensive System Profiling — The
thiscommand provides a detailed system profile, including OS, hardware, CPU, memory, storage, network, virtualization, uptime, limits, and more, with structured output options. - Built-in Help — The
helpcommand displays usage information, examples, and manual pages for all commands.
Squid Tool delivers unified, professional-grade system administration features with a modern, extensible interface.
Ensure you have the following installed before starting:
- Meson Build System: This project relies on Meson. For installation instructions, visit the official Meson website.
- Install Meson:
- Follow the installation guide on the Meson website for your operating system.
-
Clone the Repository:
git clone https://github.com/fossillogic/squid.git cd squid -
Configure the Build:
meson setup builddir
-
Compile the Project:
meson compile -C builddir
-
Install the Project:
meson install -C builddir
-
Run the Project:
squid --help
| Command | Description | Flags / Options |
|---|---|---|
process |
Display and manage system processes. | -a, --all (show all processes)-p, --pid <id> (select specific process)--name <pattern> (filter by process name)--exists <pid> (check if process exists)--info <pid> (show detailed info)--env <pid> (show environment variables)--exe <pid> (show executable path)--ppid <pid> (show parent process ID)--priority <pid> (show process priority)--set-priority <pid> <value> (change process priority)--suspend <pid> (pause process)--resume <pid> (resume process)--terminate <pid> (terminate process gracefully)--kill <pid> (force kill process)--signal <pid> <sig> (send signal)--wait <pid> [--timeout <ms>] (wait for process exit)--spawn <exe> [args...] (start new process) |
service |
Manage system services. | --list (show services)--status <name>--start <name>--stop <name>--restart <name>--enable <name>--disable <name> |
system |
System-level operations (like systemctl). |
--info (system info)--uptime--shutdown--reboot--update--config <file> |
permit |
Adjust permissions for users, files, or services. | --user <name>--file <path>--service <name>--grant <perm>--revoke <perm> |
env |
Inspect or set environment variables. | --list--get <key>--set <key>=<value>--unset <key>--export <file> |
echo |
Print text or system information. | --text <msg>--env <key>--json--color--mocking (mocking SpongeBob case)--rot13 (ROT13 transform)--shuffle (randomize characters)--piglatin (Pig Latin transform)--leet (Leet speak transform)--upper-snake (UPPER_SNAKE_CASE)--silly (random case/symbols)--cipher <type> (encode text using a named cipher: caesar, vigenere, base64, base32, binary, morse, baconian, railfence, haxor, leet, rot13, atbash) |
this |
Display a comprehensive system profile, with lookup features for each major host property. | --system (OS, kernel, hostname, user, domain, platform)--arch (architecture, CPU, cores, threads, frequency)--memory (total, free, used, available, swap)--endianness (little/big endian)--power (AC/battery, charging, battery %/time left)--cpu (model, vendor, cores, threads, frequency, features)--gpu (name, vendor, driver, memory)--storage (device, mount, total/free/used, filesystem)--env (shell, home, lang, path, term, user)--virtualization (VM/container detection, hypervisor, container type)--uptime (uptime, boot time)--network (hostname, IP, MAC, interface, status)--process (PID, PPID, exe, cwd, name, privileges)--limits (max open files, max processes, page size)--time (timezone, UTC offset, locale)--hardware (manufacturer, product, serial, BIOS)--display (count, resolution, refresh rate)--all (show everything)--json (structured output) |
ping |
Test reachability and latency to a host (ICMP-style or TCP fallback). | --host <addr> (target hostname or IP)--count <n> (number of packets to send)--interval <ms> (delay between pings)--timeout <ms> (per-packet timeout)--ipv4 / --ipv6 (force protocol)--tcp <port> (use TCP ping instead of ICMP)--stats (show summary stats only)--flood (rapid ping mode)--json |
scan |
Scan ports and detect open services on a host. | --host <addr>--ports <range> (e.g. 1-1024)--top <n> (scan top common ports)--timeout <ms>--tcp / --udp--service (attempt service detection)--banner (grab service banners)--open (show only open ports)--json |
help |
Display help for commands. | --examples--man--command <cmd> |
| Flag | Description |
|---|---|
--help |
Show command help. |
--version |
Display Squid 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. |
| Example | Description |
|---|---|
squid process -a |
List all system processes. Uses -a/--all. |
squid service --list |
List all system services. Uses --list. |
squid system --info |
Show system information. Uses --info. |
squid permit --user alice --grant sudo |
Grant sudo permission to user alice. Uses --user and --grant. |
squid env --get PATH |
Display the value of the PATH environment variable. Uses --get PATH. |
squid echo --text "Hello, Squid!" --upper-snake |
Print "Hello, Squid!" in UPPER_SNAKE_CASE. Uses --text and --upper-snake. |
squid this --all --json |
Show a full system profile in JSON format. Uses --all and --json. |
squid ping --host example.com --count 4 |
Ping a host 4 times to measure latency and reachability. |
squid ping --host 1.1.1.1 --tcp 443 --stats |
Perform TCP-based ping on port 443 and show summary statistics only. |
squid scan --host example.com --ports 1-1024 |
Scan ports 1–1024 on a host. |
squid scan --host 192.168.1.1 --top 100 --service |
Scan top 100 ports and attempt service detection. |
squid help --command process |
Show help for the process command. Uses --command process. |
Squid Tool consolidates many common system administration utilities into a single consistent interface.
| Squid Command | Traditional Commands | Purpose |
|---|---|---|
squid process |
ps, top, pgrep, kill, renice, nice |
Display, filter, and manage system processes, including signals and priorities. |
squid service |
systemctl, service, chkconfig |
Manage system services: list, start, stop, enable, disable, restart. |
squid system |
uname, uptime, shutdown, reboot, cat /etc/os-release |
System-level operations: info, uptime, shutdown, reboot, update. |
squid permit |
chmod, chown, usermod, setfacl |
Inspect and modify permissions for users, files, and services. |
squid env |
env, printenv, export, unset |
List, get, set, unset, and export environment variables. |
squid echo |
echo, printf, env, jq, tr, awk |
Print text or system info, transform output, and format data. |
squid this |
hostnamectl, lscpu, lsblk, free, ifconfig, dmidecode |
Display a comprehensive system profile (OS, hardware, CPU, memory, storage, network, etc.). |
squid ping |
ping, hping, nc |
Test host reachability and latency using ICMP or TCP fallback. |
squid scan |
nmap, nc, masscan |
Scan ports, detect services, and optionally grab banners. |
squid help |
man, --help, info |
Show help, usage, and examples for all commands. |
This table highlights how Squid Tool unifies and extends the capabilities of many traditional Linux/Unix utilities.
Interested in contributing? Please open pull requests or create issues on the GitHub repository.
For issues, questions, or feedback, open an issue on the GitHub repository.
This project is licensed under the Apache Public License.
