A lightweight, blazing-fast system information tool written in pure C.
- Blazing Fast: Built with pure C and Direct System APIs for minimal resource usage and maximum performance.
- Dynamic ASCII Art: Automatically detects your Linux distribution (
Fedora,Arch,Debian, etc.) and renders the corresponding logo. - Terminal Color Palette: Displays a colorful 16-color block palette at the bottom for aesthetic screenshots.
- Detailed System Insights: Displays CPU specs, real-time temperatures, RAM type & usage (Linux, requires root or
cap_dac_read_search— granted automatically bymake install), display resolution, disk space, GPU, and OS uptime. - Standard Build System: Uses a clean
Makefilefor simple, scalable compilation across platforms.
SmartFetch needs gcc/make and the libcurl development headers (used by the --update checker) to build. libcap is optional but recommended — without it, SmartFetch can still read the RAM type when run with sudo, but not as a regular user.
# Debian / Ubuntu
sudo apt install build-essential libcurl4-openssl-dev libcap2-bin
# Fedora
sudo dnf install gcc make libcurl-devel libcap
# Arch
sudo pacman -S base-devel curl libcapClone the repository and compile using make:
git clone https://github.com/Yassine-Jemi01/SmartFetch.git
cd SmartFetch
make
sudo make installDuring sudo make install, SmartFetch also grants itself the cap_dac_read_search capability (if setcap is available) so it can read your RAM type from /sys/firmware/dmi/tables/DMI without needing sudo every time you run it afterward.
Compile using GCC / MinGW from the project root:
gcc C_code/main.c C_code/ui.c C_code/collect_windows.c -I./H_code -o sfetch.exe -lcurl -ladvapi32
sfetch.exeNote: Windows builds require a MinGW-compatible libcurl development package.
RAM Type,CPU Temp,OS Age, andFlatpakare not currently implemented on Windows and will showN/A.


