Files
lxs/README.md
T

141 lines
4.9 KiB
Markdown

# LXS
Multi-machine toolbox — one menu, two platforms. A Bash entrypoint for
Debian/Ubuntu servers and a PowerShell entrypoint for Windows workstations,
sharing the same interface, the same install flow and the same update
mechanism.
```
lxs.sh → linux/ server apps, hardening, benchmarks, MOTD
lxs.ps1 → windows/ diagnostics, cleanup, hardening, debloat, winget apps
VERSION shared by both
```
## Install
### Linux (Debian / Ubuntu)
```bash
curl -fsSL https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.sh | sudo bash -s -- setup
```
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.
> Avoid `sudo bash <(curl …)` — process substitution opens `/dev/fd/63` in your
> shell, which the root `bash` spawned by `sudo` cannot read
> (`bash: /dev/fd/63: No such file or directory`). Pipe through
> `sudo bash -s --` instead.
Or run once without installing (no `sudo` needed for the entrypoint —
sub-scripts auto-elevate when they need root):
```bash
curl -fsSL https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.sh | bash
```
### Windows (10 1809+ / 11 / Server 2019+)
In PowerShell:
```powershell
& ([scriptblock]::Create((irm https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.ps1))) setup
```
Installs to `%LOCALAPPDATA%\lxs`, adds `%LOCALAPPDATA%\lxs\bin` to your **user**
PATH and drops an `lxs.cmd` shim there — so the install itself never needs
administrator rights. Open a new terminal afterwards and run `lxs`. Tools that
change the machine request elevation on their own, in a separate window.
Or open the menu once without installing:
```powershell
irm https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.ps1 | iex
```
Windows PowerShell 5.1 (preinstalled on every supported Windows) is enough;
PowerShell 7 works too.
## Usage
The same verbs on both platforms:
```
lxs # Interactive menu (checks for updates, cached 24h)
lxs setup # First-time install
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
```
When a new version is published in this repo, the interactive menu shows an
`UPDATE_AVAILABLE` banner; run `lxs update` to pull all updated files.
## What is in the box
### Linux — `lxs install <app>`
| Name | What it installs |
|---|---|
| `coolify` | Coolify self-hosted PaaS |
| `pterodactyl` | Pterodactyl game server panel |
| `uptime-kuma` | Uptime Kuma monitoring |
| `cloudpanel` | CloudPanel server control panel |
| `proxmox` | Proxmox VE post-install tools |
### Linux — `lxs tool <name>`
| Name | What it does |
|---|---|
| `system` | System information and diagnostics |
| `benchmark` | CPU, disk and network benchmark |
| `harden` | UFW, fail2ban, unattended-upgrades |
| `root-password` | Change the root password |
| `update` | apt update / upgrade / autoremove |
| `root-ssh-login` | Toggle root SSH password login |
| `welcome`, `motd` | Custom MOTD banner |
### Windows — `lxs install <app>`
| Name | What it installs (via winget) |
|---|---|
| `dev` | Git, VS Code, Node.js, Python, PowerShell 7, Windows Terminal, WSL 2 |
| `utilities` | 7-Zip, Notepad++, PowerToys, Sysinternals, Everything, ShareX |
| `browsers` | LibreWolf, Firefox, Brave, Chrome, VLC, OBS Studio |
| `containers` | WSL 2, Hyper-V, Docker Desktop, VirtualBox |
| `claude-code` | Claude Code CLI (+ Git for Windows) |
### Windows — `lxs tool <name>`
| Name | What it does |
|---|---|
| `system` | Hardware, OS, disks, memory, event logs, SMART, activation |
| `network` | IP config, listening ports, DNS flush, ping/traceroute, stack reset |
| `cleanup` | Temp files, Windows Update cache, recycle bin, Prefetch, WinSxS |
| `repair` | SFC, DISM RestoreHealth, chkdsk |
| `restore-point` | Enable System Protection, create/list/roll back checkpoints |
| `update` | Windows Update (built-in COM API) + `winget upgrade --all` |
| `harden` | Firewall, SMBv1 off, UAC, Defender, LLMNR/NetBIOS, account audit |
| `remote-access` | Remote Desktop (with NLA) and the OpenSSH server |
| `debloat` | Remove preinstalled apps you pick, disable telemetry/ads/Copilot |
The Windows tools that change the system create a **restore point first**,
show exactly what they will change and ask before doing it. `debloat` never
removes an app you have not selected by number, and its registry, service and
scheduled-task changes can be reverted from its own menu.
## Requirements
- **Linux**: Debian or Ubuntu (other distros may work but are not tested),
`curl`. Some sub-scripts require root and auto-elevate via `sudo`.
- **Windows**: Windows 10 1809+, Windows 11 or Server 2019+. `winget`
(App Installer) is needed for the application installers only.
## License
MIT