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).
- 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
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```bash
git clone https://github.com/RafaelBatistaDev/neofetch-python-engine.git cd neofetch-python-engine
bash install.sh
source ~/.bashrc
monitor ```
```bash
monitor
MONITOR_CYCLES=10 monitor
MONITOR_INTERVAL=3 monitor
MONITOR_OFFLINE=1 monitor
MONITOR_DEBUG=1 monitor
Ctrl+C ```
- 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
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 ```
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 ```
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.
- 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
``` 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 ```
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch: `git checkout -b feature/my-feature`
- Commit your changes: `git commit -m "Add my feature"`
- Test your changes
- Push to your fork: `git push origin feature/my-feature`
- Submit a pull request
- 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
- โ Real-time system dashboard
- โ Geolocation with privacy controls
- โ Resource monitoring (CPU, memory, disk)
- ๐ถ Extended system metrics (network I/O, process list)
- ๐ถ Configuration file support
- ๐ถ Multiple dashboard themes
- ๐ถ Historical data logging
- ๐ 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)
This project is licensed under the MIT License - see LICENSE for details.
- ๐ Documentation
- ๐ Report Issues
- ๐ฌ Discussions
Rafael Batista - @RafaelBatistaDev