Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

157 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ulh - unknown linux helper

v0.5 | 45 system management scripts for all Linux distributions

🚀 Installation

One-liner (Auto-install wget)

wget -qO - https://raw.githubusercontent.com/sorglos-it/ulh/main/install.sh | bash && cd ~/ulh && bash ulh.sh

One-liner (Auto-install curl)

curl -sSL https://raw.githubusercontent.com/sorglos-it/ulh/main/install.sh | bash && cd ~/ulh && bash ulh.sh

Manual Install

git clone https://github.com/sorglos-it/ulh.git
cd ulh
bash ulh.sh

✨ Features

  • Multi-Distribution - Debian, Ubuntu, Red Hat, Arch, SUSE, Alpine, Proxmox
  • 45 Scripts - Network, system management, web servers, databases, languages, tools
  • Auto-Updates - Self-updates on startup with transparent restart
  • Custom Repos - Clone your own script repositories with git authentication (SSH, Token, Basic Auth)
  • Per-Action Automation - answer.yaml enables automated execution for specific script actions
  • Interactive Menu - Clean, intuitive box-based CLI interface
  • All Distros - Every script supports all 5 major distribution families
  • Zero Dependencies - Just bash, git, and standard Linux tools

📖 Usage

cd ~/ulh
bash ulh.sh

Menu flow:

1. Repository Selector
   ├─ ulh Scripts
   │  └─ Categories
   │     └─ Scripts
   │        └─ Actions
   └─ Custom Repos
      └─ Scripts
         └─ Actions

🛠️ System Scripts (45)

See SCRIPTS.md for complete reference.

⚙️ Automation with answer.yaml

Define defaults and enable per-action automation:

# custom/answer.yaml
scripts:
  ubuntu:
    install:
      - default: "no"               # Interactive: user sees prompt
    pro:
      autoscript: true              # Automated: no prompts
      answers:
        - default: "token123"

Works for both system and custom repo scripts. See DOCS.md for details.

🔧 Custom Repositories

Add your own script repositories with git authentication:

# custom/repo.yaml
repositories:
  my-scripts:
    name: "My Custom Scripts"
    url: "git@github.com:user/my-scripts.git"
    path: "my-scripts"
    auth_method: "ssh"
    enabled:              # Show in menu
    auto_update:          # Auto-pull on startup

Authentication Methods: SSH (with custom/keys/), HTTPS Token, Basic Auth, or none.

See DOCS.md#custom-repositories for complete setup guide.

🏗️ Architecture

ulh/
├── ulh.sh              # Entry point (self-updating)
├── lib/                  # 7 focused libraries
├── scripts/              # 45 system management scripts + custom repos
├── custom/               # Your custom repos
├── config.yaml           # System scripts config
├── README.md            # This file
├── DOCS.md              # Comprehensive guide
└── SCRIPTS.md           # Script reference

📚 Documentation

  • DOCS.md - Complete guide: architecture, configuration, templates, troubleshooting
  • SCRIPTS.md - All 45 scripts with categories and descriptions

🖥️ Supported Distributions

  • ✅ Debian / Ubuntu / Linux Mint
  • ✅ Red Hat / Fedora / CentOS / Rocky / AlmaLinux
  • ✅ Arch / Manjaro
  • ✅ SUSE / openSUSE
  • ✅ Alpine
  • ✅ Proxmox VE
  • ⚠️ PiKVM v3 (Arch-based appliance, limited package management)

💾 Requirements

  • Linux (any major distro)
  • Bash 4.0+
  • Git
  • sudo access (for system-level operations)

🚀 Quick Start

  1. Install: bash install.sh or clone repo
  2. Run: bash ulh.sh
  3. Select: Choose System Management or Custom Repo
  4. Navigate: Category → Script → Action
  5. Configure: Follow prompts (or accept defaults)

🔐 Security

  • Scripts run individually with sudo (ulh stays unprivileged)
  • SSH keys stored in custom/keys/ (protected by .gitignore)
  • No hardcoded credentials (use environment variables)
  • All scripts pass syntax validation (bash -n)

📝 Creating Custom Scripts

To add scripts to your custom repository:

mkdir -p custom/myrepo/scripts
cp scripts/_template.sh custom/myrepo/scripts/my-script.sh

See DOCS.md - Script Development for detailed guide and how to integrate custom repositories.

🤝 Contributing

Contributions welcome! See DOCS.md for script development guidelines.

📄 License

MIT License - Free for personal and commercial use


Questions? Check DOCS.md or open an issue on GitHub.

💝 Support ulh

If ulh helps you save time and reduces your Linux headaches, consider supporting the project:

Donate with PayPal

📖 The Story Behind ulh

Curious how "unknown linux helper" came to be? Read BACKSTORY.md — the chaotic naming odyssey featuring Kevin, the Unknown Man, and why naming things is impossible.


GitHub: https://github.com/sorglos-it/ulh

About

ulh - unknown linux helper: Unified system management across all Linux distributions. auto-updates, custom repositories, and presence-based YAML configuration. Supports Debian, Red Hat, Arch, SUSE, Alpine, Proxmox & PiKVM.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages