Skip to content

RickMageddon/Ricks-Scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Visitors

Rick's Scripts

A comprehensive multi-tool for system management with a beautiful terminal-based menu interface.

Quick Start

git clone https://github.com/RickMageddon/Ricks-Scripts.git
cd ricksscripts
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
rs menu

Deactivate with: deactivate.

πŸš€ Features

System Management

  • Desktop Environment Manager: Install, remove, and switch between desktop environments
  • Terminal Switcher: Install and manage different terminal emulators
  • System Health Checker: Comprehensive system health monitoring and diagnostics

Network & Security

  • Network Manager: Network interface management, WiFi configuration, and connectivity testing
  • Firewall Manager: UFW firewall configuration and rule management
  • Security Scanner: System security auditing and vulnerability assessment

Storage & Backup

  • Disk Manager: Disk health monitoring, partition management, and I/O monitoring
  • Backup Tool: System and home directory backup with scheduling capabilities

Software Management

  • Software Removal Tool: Safe software removal with dependency checking
  • Extension Manager: Browser and system extension management

πŸ“¦ Installation

Development Installation (Recommended for testing)

# Clone the repository
git clone https://github.com/RickMageddon/Ricks-Scripts.git
cd rickscripts

# Run the development installation script
./install_dev.sh

# Activate the virtual environment
source venv/bin/activate

# Run the tool
rs menu

🎯 Usage

Main Menu Navigation

Launch the main menu:

rs menu

Use arrow keys to navigate and Enter to select options.

Menu Structure

Rick's Scripts Main Menu:
β”œβ”€β”€ System Management
β”‚   β”œβ”€β”€ Desktop Environment Manager
β”‚   β”œβ”€β”€ Terminal Switcher
β”‚   └── System Health Checker
β”œβ”€β”€ Network & Security
β”‚   β”œβ”€β”€ Network Manager
β”‚   β”œβ”€β”€ Firewall Manager
β”‚   └── Security Scanner
β”œβ”€β”€ Storage & Backup
β”‚   β”œβ”€β”€ Disk Manager
β”‚   └── Backup Tool
β”œβ”€β”€ Software Management
β”‚   β”œβ”€β”€ Software Removal Tool
β”‚   └── Extension Manager
└── Exit

Navigation Controls

All menus support the same navigation:

  • ↑↓ Arrow Keys: Navigate through menu options
  • Enter or Space: Select highlighted option
  • q: Quit/return to previous menu
  • Escape: Alternative quit option

Consistent Interface:

  • Selected items are highlighted with β–Ά and green text
  • Clear visual feedback for current selection
  • Professional terminal-based user experience
  • Smooth navigation between all menu levels

πŸ› οΈ Script Details

System Health Checker

  • Disk Usage: Monitors disk space with color-coded warnings
  • Memory & Swap: Tracks memory usage and swap utilization
  • CPU Load: Monitors CPU load and performance
  • Network: Tests connectivity, DNS resolution, and speed
  • Temperature: System temperature monitoring (if sensors available)
  • Services: Critical service status checking
  • Updates: Package update availability

Network Manager

  • Interface Status: Shows all network interfaces and their status
  • Connectivity Tests: Internet, DNS, and gateway connectivity testing
  • WiFi Configuration: Scan and manage WiFi networks
  • Network Configuration: View network config files and settings
  • Troubleshooting: Network diagnostic tools and commands

Firewall Manager

  • UFW Status: Check firewall status and active rules
  • Rule Management: Add/remove common port rules (SSH, HTTP, HTTPS, etc.)
  • Custom Rules: Create custom firewall rules
  • Logs: View firewall activity logs
  • Reset: Reset firewall to default configuration

Security Scanner

  • Security Updates: Check for available security patches
  • Open Ports: Identify and analyze listening ports
  • User Accounts: Check for security issues in user accounts
  • File Permissions: Verify critical file permissions
  • SSH Security: SSH configuration security analysis
  • Process Monitoring: Detect suspicious system processes

Disk Manager

  • Disk Information: Comprehensive disk usage and partition information
  • Health Monitoring: Bad block detection and SMART status checking
  • Partition Management: Access to fdisk, parted, and gparted
  • Backup Tools: Disk cloning and backup utilities
  • I/O Monitoring: Real-time disk performance monitoring

Backup Tool

  • Home Directory: Complete home directory backup with exclusions
  • System Configuration: Backup critical system configuration files
  • Package Lists: Backup installed package lists and sources
  • Scheduling: Automated backup scheduling (daily, weekly, monthly)
  • Restore: Backup restoration capabilities

Extension Manager

  • GNOME Extensions: Install, enable, and manage GNOME shell extensions
  • Browser Extensions: Firefox and Chrome/Chromium extension management
  • Popular Extensions: Quick access to recommended browser extensions
  • System Extensions: System-level extension package management

πŸ”§ Development

Prerequisites

  • Python 3.7+
  • Virtual environment support
  • Bash shell

Setup Development Environment

# Create virtual environment
make venv

# Install development dependencies
make install-dev

# Run tests
make test

# Launch menu
make run

Project Structure

rickscripts/
β”œβ”€β”€ rickscripts/
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ main.py          # Main entry point
β”‚   β”œβ”€β”€ menu.py          # Menu system
β”‚   └── scripts.py       # Script manager
β”œβ”€β”€ rickscripts/bash_scripts/
β”‚   β”œβ”€β”€ desktop_manager.sh
β”‚   β”œβ”€β”€ terminal_switcher.sh
β”‚   β”œβ”€β”€ system_health_checker.sh
β”‚   β”œβ”€β”€ network_manager.sh
β”‚   β”œβ”€β”€ firewall_manager.sh
β”‚   β”œβ”€β”€ security_scanner.sh
β”‚   β”œβ”€β”€ disk_manager.sh
β”‚   β”œβ”€β”€ backup_tool.sh
β”‚   β”œβ”€β”€ software_removal.sh
β”‚   └── extension_manager.sh
β”œβ”€β”€ debian/               # Debian packaging
β”œβ”€β”€ requirements.txt      # Python dependencies
β”œβ”€β”€ setup.py             # Python package setup
β”œβ”€β”€ Makefile             # Development commands
β”œβ”€β”€ install_dev.sh       # Development installation
β”œβ”€β”€ build.sh             # Package building
└── README.md            # This file

Available Make Commands

  • make venv: Create Python virtual environment
  • make install-dev: Install development dependencies
  • make test: Run tests
  • make run: Launch the menu
  • make clean: Clean build artifacts
  • make clean-build: Comprehensive cleanup

πŸ“‹ Dependencies

Python Dependencies

  • blessed>=1.20.0: Terminal handling and UI
  • psutil>=5.9.0: System and process utilities

System Dependencies

  • sudo: For system-level operations
  • apt: Package management
  • bash: Shell scripting

🚨 Important Notes

  • Root Access: Many operations require sudo privileges
  • Backup First: Always backup important data before making system changes
  • Virtual Environment: Use the provided virtual environment for development
  • Testing: Test scripts in a safe environment before production use

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

πŸ“„ License

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

πŸ†˜ Support

For issues and questions:

  1. Check the documentation
  2. Review existing issues
  3. Create a new issue with detailed information

Rick's Scripts - Making system management simple and powerful! πŸŽ‰

Releases

No releases published

Packages

 
 
 

Contributors