Skip to content

Masriyan/FedChecks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FedChecker

FedChecker Banner

Fedora Linux Health & Setup Tool
by sudo3rs

Issues Stars License Python 3.11+ Fedora Linux


Overview

FedChecker is a comprehensive command-line tool designed to help Fedora Linux users maintain a healthy system. Whether you're a new user setting up Fedora for the first time or an experienced administrator performing routine maintenance, FedChecker provides an all-in-one solution for:

  • System health diagnostics
  • Driver detection and configuration
  • Security auditing
  • Desktop environment optimization
  • Post-installation setup automation
  • Professional PDF report generation

Features

Interactive TUI Menu

Navigate through options using an intuitive terminal interface with keyboard controls:

╔══════════════════════════════════════════╗
β•‘     FedChecker - Fedora Health Tool      β•‘
β•‘              by sudo3rs                  β•‘
╠══════════════════════════════════════════╣
β•‘  [1] Health Check                        β•‘
β•‘  [2] Drivers Check                       β•‘
β•‘  [3] Security Check                      β•‘
β•‘  [4] Desktop Environment Check           β•‘
β•‘  [5] Post-Install Setup                  β•‘
β•‘  [6] Auto-Fix All Issues                 β•‘
β•‘  [7] Generate PDF Report                 β•‘
β•‘  [8] Settings                            β•‘
β•‘  [0] Exit                                β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

System Health Check

  • Disk Space Analysis - Monitor usage across all partitions
  • Memory Usage - RAM and swap utilization tracking
  • CPU Temperature - Thermal monitoring for overheating prevention
  • Systemd Services - Detect failed units and service issues
  • Package Integrity - Verify RPM package consistency
  • Orphaned Packages - Find and clean unused dependencies

Driver Detection

  • GPU Drivers - NVIDIA, AMD, and Intel graphics detection
  • WiFi Drivers - Wireless adapter status and firmware
  • Audio Drivers - Sound system configuration check
  • Bluetooth - Bluetooth adapter and service status
  • Printer Drivers - CUPS and printer configuration
  • Missing Firmware - Detect and report missing firmware files

Security Audit

  • Firewall Status - firewalld configuration check
  • SELinux Status - Security policy enforcement verification
  • Failed Logins - Authentication failure monitoring
  • Open Ports - Network service exposure scan
  • SSH Configuration - Secure shell hardening audit
  • Root Account - Root login and sudo configuration
  • Password Policy - Password strength requirements check
  • Automatic Updates - DNF automatic update status

Desktop Environment Check

  • DE Detection - GNOME, KDE, XFCE, and other environments
  • Display Server - X11/Wayland detection
  • Compositor Status - Window compositor health
  • Theme Integrity - GTK/Qt theme verification
  • GNOME Extensions - Extension status and compatibility
  • Missing Dependencies - Desktop package verification

Post-Installation Setup

Automate common post-install tasks:

Feature Description
DNF Optimization Enable fastest mirror, parallel downloads, deltarpm
Repository Setup RPM Fusion (free + nonfree), Flathub
Multimedia Codecs FFmpeg, GStreamer plugins, VA-API/VDPAU
Development Tools Git, GCC, Make, Python dev packages

Auto-Fix System

FedChecker can automatically fix detected issues:

  • User confirmation before applying any changes
  • Detailed logging of all fix actions
  • Rollback information where applicable
  • Safe, non-destructive operations

PDF Report Generation

Generate professional reports with:

  • Executive summary with overall health score
  • System information overview
  • Color-coded check results
  • Graphical charts (pie charts, bar charts, gauges)
  • Prioritized recommendations
  • Fix command suggestions

Installation

Prerequisites

  • Fedora Linux (38 or later recommended)
  • Python 3.11 or higher
  • pip package manager

From Source

# Clone the repository
git clone https://github.com/Masriyan/FedChecks.git
cd FedChecks

# Install dependencies
pip install -r requirements.txt

# Run FedChecker
python run.py

Using pip

# Install from the repository
pip install git+https://github.com/Masriyan/FedChecks.git

# Run FedChecker
fedchecker

Development Installation

# Clone and install in editable mode
git clone https://github.com/Masriyan/FedChecks.git
cd FedChecks
pip install -e .

Usage

Quick Start

# Run with the launcher script
python run.py

# Or if installed via pip
fedchecker

Navigation

Key Action
↑ / ↓ Navigate menu items
Enter Select option
1-9 Quick select menu item
0 / q Exit / Go back

Command Line Options

# Show version
fedchecker --version

# Show help
fedchecker --help

Dependencies

Package Purpose
rich Terminal UI, progress bars, tables
reportlab PDF generation
matplotlib Charts and graphs
psutil System information
distro Linux distribution detection

Project Structure

FedChecks/
β”œβ”€β”€ fedchecker/
β”‚   β”œβ”€β”€ __init__.py          # Package initialization
β”‚   β”œβ”€β”€ main.py               # Main application entry
β”‚   β”œβ”€β”€ banner.py             # ASCII art banner
β”‚   β”œβ”€β”€ ui/
β”‚   β”‚   β”œβ”€β”€ colors.py         # Color definitions
β”‚   β”‚   β”œβ”€β”€ menu.py           # Interactive menu system
β”‚   β”‚   └── progress.py       # Progress bar animations
β”‚   β”œβ”€β”€ checks/
β”‚   β”‚   β”œβ”€β”€ health.py         # System health checks
β”‚   β”‚   β”œβ”€β”€ drivers.py        # Driver detection
β”‚   β”‚   β”œβ”€β”€ security.py       # Security audit
β”‚   β”‚   └── desktop.py        # Desktop environment
β”‚   β”œβ”€β”€ fixes/
β”‚   β”‚   β”œβ”€β”€ health_fix.py     # Health issue fixes
β”‚   β”‚   β”œβ”€β”€ driver_fix.py     # Driver fixes
β”‚   β”‚   β”œβ”€β”€ security_fix.py   # Security fixes
β”‚   β”‚   └── desktop_fix.py    # Desktop fixes
β”‚   β”œβ”€β”€ postinstall/
β”‚   β”‚   β”œβ”€β”€ dnf_optimizer.py  # DNF configuration
β”‚   β”‚   β”œβ”€β”€ repos.py          # Repository setup
β”‚   β”‚   β”œβ”€β”€ codecs.py         # Multimedia codecs
β”‚   β”‚   └── devtools.py       # Development tools
β”‚   └── reports/
β”‚       β”œβ”€β”€ generator.py      # PDF report generator
β”‚       β”œβ”€β”€ charts.py         # Chart generation
β”‚       └── templates.py      # Report templates
β”œβ”€β”€ requirements.txt          # Python dependencies
β”œβ”€β”€ setup.py                  # Package setup
└── run.py                    # Launcher script

Screenshots

Main Menu

The interactive main menu provides quick access to all features with visual status indicators.

Health Check Results

Detailed results with pass/fail/warning status for each check, including fix availability.

PDF Report

Professional reports with charts, color-coded results, and actionable recommendations.

Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow PEP 8 style guidelines
  • Add docstrings to new functions and classes
  • Update tests for new features
  • Keep commits atomic and well-described

Roadmap

  • Configuration file support
  • Custom check plugins
  • Network diagnostics module
  • Backup and restore functionality
  • Multi-language support
  • Web-based dashboard

License

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

Acknowledgments

  • The Fedora Project for an amazing Linux distribution
  • Rich library for beautiful terminal output
  • ReportLab for PDF generation capabilities
  • All contributors and users of FedChecker

Support


Made with love for the Fedora community
FedChecker by sudo3rs

About

A comprehensive Python tool for Fedora Linux that automates post-installation setup, performs system health checks, and generates rich PDF reports with animated progress bars.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages