- add main entrypoint with interactive menu and CLI dispatcher (lxs.sh) - add shared helpers library with colors, loggers, and spinner (lib/common.sh) - add app installers for coolify, pterodactyl, uptime-kuma, cloudpanel, and proxmox (apps/) - add system tools for monitoring, benchmarking, and hardening (tools/) - add VERSION file (0.1.0) as single source of truth for releases - add MIT LICENSE - expand README with usage, project structure, and release workflow
3.1 KiB
LXS
Linux multi-tool — a Bash menu and CLI for installing common server apps and running system tools on Debian/Ubuntu.
Quick install
sudo bash <(curl -fsSL https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.sh) setup
This downloads the repo tarball, installs every file to /usr/local/share/lxs/, and creates the symlink /usr/local/bin/lxs. After install, sub-scripts run from disk — no network calls per command.
Or run once without installing:
bash <(curl -fsSL https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.sh)
When a new version is published in this repo, the interactive menu shows a "Nouvelle version disponible" banner; run lxs update to pull all updated files.
Usage
lxs # Interactive menu (checks for updates, cached 24h)
lxs setup # First-time install of all files to /usr/local/share/lxs
lxs update # Update all installed files to latest
lxs install <app> # Install an application
lxs tool <name> [args] # Run a system tool
lxs info # Show system info
lxs version # Show version
lxs help # Show help
Applications
| Command | Description |
|---|---|
lxs install coolify |
Self-hosted PaaS |
lxs install pterodactyl |
Game server management panel |
lxs install uptime-kuma |
Monitoring tool |
lxs install cloudpanel |
Web hosting control panel |
lxs install proxmox |
Proxmox VE management tools |
Tools
| Command | Description |
|---|---|
lxs tool system |
System monitoring and diagnostics |
lxs tool benchmark |
Server benchmark (CPU / RAM / disk / network) |
lxs tool harden |
Baseline hardening: UFW + fail2ban + SSH key-only + unattended-upgrades |
Project structure
lxs/
├── lxs.sh # Main entrypoint (menu + CLI dispatcher)
├── VERSION # Single source of truth for the version (bump on every release)
├── lib/
│ └── common.sh # Shared helpers (colors, loggers, spinner)
├── apps/ # Application installers
│ ├── coolify.sh
│ ├── pterodactyl.sh
│ ├── uptime-kuma.sh
│ ├── cloudpanel.sh
│ └── proxmox.sh
└── tools/ # System tools
├── system-tools.sh
├── server-benchmark.sh
└── harden.sh
After lxs setup, the full tree lives in /usr/local/share/lxs/ and sub-scripts execute from disk. If lxs.sh is run without being installed (the one-liner mode), it falls back to downloading sub-scripts on demand.
Releasing a new version
Bump only the VERSION file — lxs.sh reads it at startup. Installed clients also fetch this file (cached 24 h in ~/.cache/lxs/) to detect updates. In one-shot mode (bash <(curl …lxs.sh)) the file isn't readable from the process substitution, so lxs version reports dev.
Requirements
- Debian or Ubuntu (other distros may work but are not tested)
curl- Some sub-scripts require root; they will auto-elevate via
sudowhen run.
License
MIT