Skip to content

RafaelBatistaDev/neofetch-python-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ–ฅ๏ธ System Monitor - Python Engine

A lightweight, real-time system monitoring dashboard written in Python. Displays network information, system resources, and uptime in a colorful, animated terminal interface.

No dependencies beyond Python 3 and standard Unix tools. Cross-platform (Linux).

GitHub license Version Python Platform Stars


๐Ÿ“‹ Features

  • Real-time Dashboard - Live system information with 2-second refresh intervals
  • Geolocation - Display public IP, city, country, and ISP
  • Resource Monitoring - Memory usage, disk space, system uptime
  • Beautiful UI - ANSI colors, ASCII art, animated banner
  • Lightweight - No external Python dependencies, uses stdlib only
  • Configurable - Environment variables for cycles, interval, offline mode
  • Secure - Safe subprocess execution, JSON validation, error handling

๐Ÿš€ Quick Start

โšก One-Liner Install

For Linux users who want to test immediately:

curl -sSL https://raw.githubusercontent.com/RafaelBatistaDev/neofetch-python-engine/main/install.sh | bash && source ~/.bashrc && monitor

Standard Installation

```bash

Clone the repository

git clone https://github.com/RafaelBatistaDev/neofetch-python-engine.git cd neofetch-python-engine

Run the installer (requires: python3, curl, free, df, uptime, ip, tput)

bash install.sh

Reload your shell

source ~/.bashrc

Run the monitor

monitor ```

Usage

```bash

Default: infinite cycles, 2-second refresh

monitor

Run 10 cycles

MONITOR_CYCLES=10 monitor

Update every 3 seconds

MONITOR_INTERVAL=3 monitor

Offline mode (no geolocation lookup)

MONITOR_OFFLINE=1 monitor

Debug output

MONITOR_DEBUG=1 monitor

Stop anytime

Ctrl+C ```


๐Ÿ“‹ Requirements

  • Python 3.6+
  • Linux (tested on Fedora, Ubuntu, Debian)
  • Standard tools:
    • `curl` - Geolocation API calls
    • `free` - Memory info
    • `df` - Disk usage
    • `uptime` - System uptime
    • `ip` - Network interface detection
    • `tput` - Terminal dimensions

Install Dependencies

Ubuntu/Debian: ```bash sudo apt install curl net-tools bsdmainutils ```

Fedora/RHEL: ```bash sudo dnf install curl net-tools procps-ng ```

Arch Linux: ```bash sudo pacman -S curl net-tools procps-ng ```


๐Ÿ”ง Configuration

Environment variables control behavior:

Variable Default Description
`MONITOR_CYCLES` `0` (infinite) Number of cycles to run
`MONITOR_INTERVAL` `2` Refresh interval in seconds
`MONITOR_TIMEOUT` `2` API timeout in seconds
`MONITOR_OFFLINE` `0` Disable geolocation lookup (1=enabled)
`MONITOR_DEBUG` `0` Enable debug logging (1=enabled)
`INSTALL_DIR` `~/.local/bin` Custom installation directory

Example: ```bash MONITOR_CYCLES=5 MONITOR_INTERVAL=3 monitor ```


๐Ÿ”’ Privacy & Security

Geolocation Data

By default, this tool queries your public IP address to determine location. This request is sent to ip-api.com.

What we send:

  • Your public IP address only

What we receive:

  • Country, city, ISP information

Privacy Control: ```bash MONITOR_OFFLINE=1 monitor ``` This disables geolocation and shows "Unknown" for location data.

For details, see PRIVACY.md.

Security Notes

  • Uses safe subprocess execution (no shell injection)
  • Validates all external API responses (JSON schema checking)
  • Proper error handling and logging
  • No credentials stored or transmitted
  • MIT licensed - fully auditable code

๐Ÿ“‚ Project Structure

``` neofetch-python-engine/ โ”œโ”€โ”€ src/ โ”‚ โ””โ”€โ”€ monitor.py # Main Python script โ”œโ”€โ”€ tests/ โ”‚ โ””โ”€โ”€ (test files) โ”œโ”€โ”€ install.sh # Installation script โ”œโ”€โ”€ README.md # This file โ”œโ”€โ”€ CONTRIBUTING.md # Contributing guidelines โ”œโ”€โ”€ PRIVACY.md # Privacy policy โ”œโ”€โ”€ LICENSE # MIT License โ”œโ”€โ”€ requirements.txt # Python dependencies (none) โ””โ”€โ”€ .gitignore # Git ignore rules ```


๐Ÿค Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Quick Contribute:

  1. Fork the repository
  2. Create a feature branch: `git checkout -b feature/my-feature`
  3. Commit your changes: `git commit -m "Add my feature"`
  4. Test your changes
  5. Push to your fork: `git push origin feature/my-feature`
  6. Submit a pull request

๐Ÿ› Known Limitations

  • Linux only - Windows/macOS not supported (PRs welcome!)
  • Requires shell - Must be bash, zsh, or compatible
  • External API - Geolocation requires internet connection
  • Terminal width - Requires at least 40 character wide terminal

๏ฟฝ๏ธ Roadmap

Version 1.x (Current)

  • โœ… Real-time system dashboard
  • โœ… Geolocation with privacy controls
  • โœ… Resource monitoring (CPU, memory, disk)

Version 2.0 (Planned)

  • ๐Ÿ”ถ Extended system metrics (network I/O, process list)
  • ๐Ÿ”ถ Configuration file support
  • ๐Ÿ”ถ Multiple dashboard themes
  • ๐Ÿ”ถ Historical data logging

Version 3.0+ (Future Vision)

  • ๐Ÿ“ C#/.NET Integration - Web dashboard for remote server monitoring
    • Real-time dashboards via ASP.NET Core
    • Multi-server centralized monitoring
    • RESTful API for data integration
    • Windows Server support
    • Cloud provider compatibility (Azure, AWS)

๏ฟฝ๐Ÿ“„ License

This project is licensed under the MIT License - see LICENSE for details.


๐Ÿ“ฎ Support


๐Ÿ™‹ Author

Rafael Batista - @RafaelBatistaDev


โญ If you found this useful, please star the repository!

About

๐Ÿ† neofetch-python-engine - ๐Ÿš€ The next-generation system fetch & security auditor. Written in Python for speed, privacy, and atomic systems. Optimized for Fedora Kinoite. ๐Ÿ›ก๏ธ

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors