https://github.com/rickmageddon/ricks-scripts
A terminal program for all handy scripts!
https://github.com/rickmageddon/ricks-scripts
bash bash-script linux linux-app script scripts scripts-collection terminal terminal-based
Last synced: 2 months ago
JSON representation
A terminal program for all handy scripts!
- Host: GitHub
- URL: https://github.com/rickmageddon/ricks-scripts
- Owner: RickMageddon
- License: mit
- Created: 2025-08-18T23:11:15.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-18T23:22:33.000Z (10 months ago)
- Last Synced: 2025-08-29T06:43:24.524Z (10 months ago)
- Topics: bash, bash-script, linux, linux-app, script, scripts, scripts-collection, terminal, terminal-based
- Language: Shell
- Homepage:
- Size: 52.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# Rick's Scripts
A comprehensive multi-tool for system management with a beautiful terminal-based menu interface.
## Quick Start
```bash
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)
```bash
# 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:
```bash
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
```bash
# 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! 🎉