18 Commits

Author SHA1 Message Date
hykocx db3f5d6652 docs(readme): remove applications, tools, project structure, and release sections 2026-05-12 22:49:10 -04:00
hykocx 2a50724328 fix(benchmark): prevent disk exhaustion during benchmark runs
- add EXIT/INT/TERM trap to clean up /tmp artifacts on script exit or interrupt
- introduce DISK_SAFETY_MARGIN_MB constant to reserve 200MB free at all times
- build disk test configurations dynamically based on available space instead of a fixed list
- re-check free space before each test pass and skip configs that no longer fit
- return early with SCORE_DISK_WRITE=0 when no test fits in available space
2026-05-12 22:43:14 -04:00
hykocx 15c42e1f24 feat(lib): add require_disk_space helper and enforce pre-flight disk checks
- add `require_disk_space` function to lib/common.sh with dedup logic for shared filesystems
- gate cloudpanel, coolify, pterodactyl installs behind a 2–3 GB disk check
- gate uptime-kuma, proxmox update, harden, update-server, and server-benchmark behind 300–1024 MB disk checks
- fail early with a clear error before apt installs or config writes can leave the system in a partial state
2026-05-12 22:39:19 -04:00
hykocx 173b3bd581 refactor(nav): use exit code 75 to suppress redundant "Press Enter" prompt
- app submenus return 75 on back/exit instead of 0
- index menus capture child exit code and skip pause when rc is 75
- applies to apps (coolify, pterodactyl, uptime-kuma, cloudpanel, proxmox) and tools (server-benchmark, system-infos) indexes
2026-05-12 22:28:16 -04:00
hykocx c7dcaed0bf refactor(ui): replace neon palette and ad-hoc echo with minimal design system
- reduce color palette to red/cyan/white/gray; alias legacy vars onto CYAN
- add show_box_top/mid/bottom, show_separator, show_menu_item, show_prompt helpers to lib/common.sh
- update apps/index.sh and tools/index.sh to use new UI helpers instead of inline echo/ANSI
- drop BLINK, REV escape codes and remove hardcoded prompt strings from callers
2026-05-12 22:20:36 -04:00
hykocx ade8e76a68 style(ui): apply cyberpunk neon theme across all menus
- replace color palette with Cyberpunk 2077 neon variants in lib/common.sh
- add DIM, BLINK, REV attributes and show_title ui helper
- make show_separator terminal-width-aware via tput cols
- restyle menus with ◢ numbered items and ▸_ prompt indicator
- support two-digit input aliases (01-05, 00) alongside single-digit
- update status tokens: [✓]/[✗] → [OK]/[KO], PURPLE → MAGENTA
- apply consistent ui changes to lxs.sh and tools/index.sh
2026-05-12 22:01:57 -04:00
hykocx e0bd8e0a97 feat(lxs): reload script automatically after successful update 2026-05-12 21:50:21 -04:00
hykocx db6b349bc4 chore(tools): prompt user to reboot when running interactively after updates 2026-05-12 21:46:57 -04:00
hykocx cdcd89b5b2 feat(tools): add welcome message (MOTD) management tool
- add `tools/welcome-message.sh` with view, set, and reset actions
- register `lxs tool welcome|motd` command in `lxs.sh`
- add option 7 to interactive tools menu in `tools/index.sh`
- document `lxs tool welcome` in README
2026-05-12 21:44:05 -04:00
hykocx c3002ef274 feat(tools): add root-ssh-login tool to enable or disable root SSH password login
- add tools/root-ssh-login.sh with interactive menu, --enable/--disable/--status flags, and sshd drop-in config management
- register root-ssh-login in lxs.sh dispatch and tools/index.sh interactive menu
- document new tool in README.md command reference and project structure
2026-05-12 21:42:12 -04:00
hykocx fc50a71763 feat(tools): add root-password and update-server tools
- add `tools/root-password.sh` to change root password interactively or generate a random one
- add `tools/update-server.sh` to run apt update/upgrade/autoremove/autoclean
- register both tools in `lxs.sh` dispatcher and `tools/index.sh` interactive menu
- document new tools in README.md
2026-05-12 21:39:38 -04:00
hykocx 8383612fe8 refactor(harden): remove ssh key-only module and improve port detection
- drop DO_SSH flag, --no-ssh option, and setup_ssh() function entirely
- replace inline sshd_config port read with sshd_effective_port() that also scans sshd_config.d drop-ins
- replace raw DEBIAN_FRONTEND export with apt_noninteractive helper and add wait_for_apt guard
- replace hardcoded separator strings with show_separator calls
2026-05-12 21:35:25 -04:00
hykocx dc1475c64a refactor: extract interactive menus into dedicated index scripts
- move apps menu from inline lxs.sh function to apps/index.sh
- add tools/index.sh as entry point for tools menu
- rename system-tools.sh to system-infos.sh
- simplify help text to point users to the interactive menu
- update README directory tree to reflect new structure
2026-05-12 18:16:33 -04:00
hykocx dbe4b95190 refactor: rename system-tools.sh to system-infos.sh 2026-05-12 18:16:19 -04:00
hykocx dda32051ac feat(ufw): auto-open firewall ports after app installation
- cloudpanel: allow ftp, smtp, dns, http, https, smtps, imaps, pop3s, and admin panel ports
- coolify: allow http, https, and dashboard port after install
- pterodactyl: allow http, https, wings daemon (8080), and sftp (2022) ports
- uptime-kuma: allow app port on install
- proxmox: add open_firewall_ports() with ufw guard checks and new menu option [9]
2026-05-12 17:46:31 -04:00
hykocx aba84b26f7 docs(readme): replace process substitution with pipe syntax in install commands
- swap `sudo bash <(curl …)` for `curl … | sudo bash -s -- setup` to fix `/dev/fd/63` errors under sudo
- add callout explaining why process substitution fails with `sudo bash`
- update one-shot command to `curl … | bash` and clarify auto-elevation behavior
- fix version-reporting note to reflect pipe mode instead of process substitution
2026-05-12 17:33:53 -04:00
hykocx eadae693a5 feat: initial project scaffold for lxs multi-tool
- 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
2026-05-12 17:29:21 -04:00
hykocx aad89c1778 Initial commit 2026-05-12 16:44:10 -04:00