thehardwarestore.ai

where AI agents shop for the right tools

── 98924 repos indexed ── | filtered by tag: #bash-script
xykt/HardwareQuality β˜… 674 54 APPLICATION

This repository contains a comprehensive hardware diagnostic and benchmarking tool implemented as a single bash script (hardware.sh). The tool collects detailed system information including OS, virtualization, motherboard, CPU, GPU, memory, and storage devices. It runs performance benchmarks using sysbench, fio, and Geekbench5 to evaluate hardware quality, presenting results in a formatted terminal interface with optional JSON output for further analysis. The script features robust dependency handling, automatic installation of missing tools, and cross-platform support for numerous Linux distributions. It demonstrates strong bash scripting practices with sophisticated progress bars, intelligent fallback mechanisms for network services, and modular design for gathering diverse system metrics.

RATING: 8.1/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
xykt/IPQuality β˜… 10704 738 APPLICATION

IPQuality is a comprehensive bash-based CLI tool for evaluating the quality and risk profile of an IP address. It performs geolocation lookups (via Maxmind and IPinfo), IP type classification (ISP, hosting, business, etc.), risk scoring from multiple threat intelligence providers (AbuseIPDB, IP2Location, IPQS, Scamalytics, etc.), streaming media unlock detection (TikTok, Disney+, Netflix, YouTube, Amazon Prime Video, Reddit, ChatGPT), email service connectivity tests (Gmail, Outlook, Yahoo, etc.), and DNS blacklist checks against 400+ databases. The script is designed for VPS owners and network administrators to quickly assess whether an IP is clean, blocked, or associated with proxies/VPNs. It supports dual-stack IPv4/IPv6, multiple operating systems, Docker, and various output formats (ANSI, JSON, plain text). The architecture is a single monolithic bash script (~78000 tokens) with modular functions, progress bars, and extensive error handling. While not a reusable library, it demonstrates advanced bash scripting patterns for network diagnostics.

RATING: 8.0/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
postmodern/ruby-install β˜… 1975 258 APPLICATION

This is a CLI tool for installing multiple Ruby implementations (CRuby, JRuby, TruffleRuby, mruby) from source. It auto-detects the operating system, package manager, and downloader, then downloads, verifies checksums, applies patches, compiles, and installs the Ruby. The architecture is a collection of sourced bash scripts organized into a plugin system: each Ruby implementation has its own `functions.sh` and `dependencies.sh` that override generic steps. The main entry point is `bin/ruby-install`, which orchestrates the process using utility functions from `share/ruby-install/`. The codebase is well-structured with extensive test coverage using shunit2, and follows a strict coding style. It does not handle data pipelines or analytics; it is purely a system administration tool.

RATING: 7.8/10 MAINT: maintained DRIFT: low
β–Έ 3 reusable components found
fscarmen/sing-box β˜… 5559 1116 APPLICATION

This repository contains a comprehensive Bash script (sing-box.sh) for deploying and managing the sing-box proxy server with multi-protocol support (VLESS, Hysteria2, TUIC, ShadowTLS, Shadowsocks, Trojan, VMess/VLess over WebSocket, H2/gRPC Reality, AnyTLS, NaiveProxy) and integrated Cloudflare Argo Tunnel for inbound connectivity. The script automates installation, configuration generation, service management (systemd/OpenRC), subscription output for various clients (V2rayN, Clash, ShadowRocket, Throne, Sing-box), and provides an interactive menu for ongoing operations. It supports both interactive and non-interactive (parameterized or config-file) deployment modes, and includes a Dockerfile for containerized deployment. The architecture is a monolithic Bash script with functions for system detection, dependency installation, certificate generation, JSON config creation, firewall management, and traffic statistics via clash_api. External dependencies include sing-box, cloudflared, jq, qrencode, nginx, and openssl. The script is widely used (5559 stars) and actively maintained, with recent commits addressing bug fixes and feature additions.

RATING: 7.6/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
Nyr/wireguard-install β˜… 4927 1003 APPLICATION

This repository contains a single bash script (`wireguard-install.sh`) that serves as an interactive installer and manager for a WireGuard VPN server on Linux. It automates the full lifecycle: detecting the OS (Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS, Fedora), installing WireGuard (or BoringTun for containerized environments), configuring firewall rules (firewalld or iptables), enabling IP forwarding, generating server and client configurations, and providing a menu to add/remove clients or uninstall. The script is designed to be run as a one-liner and handles many edge cases such as NAT detection, multiple IP addresses, and containerized kernels lacking the WireGuard module. It is a mature, battle-tested tool with thousands of stars and no open issues, but it is a monolithic script with no modular components or tests, limiting reusability beyond its intended purpose.

RATING: 7.6/10 MAINT: active DRIFT: low
nuver-labs/vps-audit β˜… 3061 295 APPLICATION

This is a single-file Bash script that performs a comprehensive security and performance audit of a Linux VPS. It checks SSH configuration, firewall status, intrusion prevention systems (Fail2ban/CrowdSec), failed login attempts, system updates, running services, open ports, disk/memory/CPU usage, sudo logging, password policy, and SUID files. The script outputs color-coded PASS/WARN/FAIL results to the console and writes a detailed timestamped report to a file. It is designed for Ubuntu/Debian-based systems and requires root or sudo privileges. The architecture is a monolithic Bash script with no external dependencies beyond standard Linux utilities and optional tools like UFW, Fail2ban, and Docker. The code is well-structured with configurable thresholds and file paths, demonstrating solid Bash scripting practices. However, it is not designed for reuse as a library; it is a standalone tool.

RATING: 7.6/10 MAINT: stale DRIFT: low
β–Έ 1 reusable components found
jojo2357/kiwix-zim-updater β˜… 212 20 APPLICATION

The kiwix-zim-updater.sh is a Bash script designed to maintain a local collection of ZIM files (used by the Kiwix offline Wikipedia reader) by checking for updates on the download.kiwix.org server. The script operates in a dry-run mode by default, allowing users to preview changes before applying them, and can be switched to live mode with the `-d` flag. It supports both HTTP and BitTorrent download methods, verifies file integrity via SHA-256 checksums, and can optionally purge outdated ZIM files after successful updates. The script follows a modular structure with functions for specific tasks: self-update (using git to check for and apply script updates), catalog scraping (fetching and parsing the Kiwix OPDS feed to identify available ZIMs), flag processing (handling command-line arguments and validating the ZIM directory), and the main update loop (comparing local and remote ZIM versions, initiating downloads, and managing file operations). Key features include interrupt-resumable downloads via lock files, automatic cleanup of abandoned downloads, and configurable size filters to limit downloads to a specified range. Technically, the script relies on standard Unix tools (wget, grep, numfmt, sha256sum) and git for self-update. It is actively maintained, with the latest commit being very recent, and shows low technical drift due to its dependence on stable, well-established tools. While the script's internal functions are not designed for easy extraction due to heavy use of global variables, they embody solid Bash scripting practices and domain-specific solutions for managing Kiwix ZIM libraries.

RATING: 7.4/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
Stan-breaks/ytsurf β˜… 606 37 APPLICATION

ytsurf is a single-file Bash script that turns the terminal into a YouTube frontend. It scrapes YouTube search results and channel pages via curl and perl, parses the embedded JSON with jq, and presents results in a fuzzy-finder (fzf, rofi, sentaku, or tv) with thumbnail previews rendered via chafa. Once a video is selected, the script delegates playback to mpv (or iina/syncplay) and downloading to yt-dlp. The tool supports audio-only mode, format selection, subscription management with a personalized feed, watch history, playlists, and queueing. It caches search results and feed data to avoid redundant network calls, uses a config file for persistent settings, and offers multi-selector support. While functionally rich and well‑structured for a shell script, the codebase is tightly coupled into a single file (∼1400 lines), lacks unit tests beyond basic CI sanity checks, and relies on scraping fragile YouTube HTML. The packaging (Nix, Homebrew, AUR) and CI (ShellCheck on Linux/macOS) demonstrate good distribution and quality assurance.

RATING: 7.3/10 MAINT: maintained DRIFT: low
β–Έ 1 reusable components found
elitak/nixos-infect β˜… 1923 303 APPLICATION

This repository contains a single bash script, nixos-infect, which automates the conversion of a Linux server running a non-NixOS distribution into a NixOS installation. It is designed for use on freshly provisioned cloud servers and supports multiple providers (DigitalOcean, Hetzner, Vultr, etc.) through environment variables and auto-detection. The script performs environment preparation (dependency checks, swap creation), generates NixOS configuration files (hardware-configuration.nix, configuration.nix, and optionally networking.nix) based on the current system state, installs the Nix package manager, sets up the NixOS channel, builds the system profile, and switches to the new configuration. It handles both EFI and BIOS boot, detects existing swap, and preserves SSH host keys and other critical files via the NIXOS_LUSTRATE mechanism. The script is monolithic and tightly coupled, with no modular components suitable for extraction. It is well-structured for a bash script, with clear functions and error handling, but lacks tests or CI/CD. Its value lies in its practical utility for quickly deploying NixOS on unsupported hosts, and it has been tested on many cloud providers.

RATING: 7.0/10 MAINT: active DRIFT: low
r3nor/mullvad-tailscale β˜… 202 16 APPLICATION

This repository provides a bash script (`mnf`) and an nftables rules file (`mullvad.rules`) that enable running Mullvad VPN alongside Tailscale or Zerotier on Linux. The script orchestrates the Mullvad CLI, nftables, and the mesh networking service to ensure traffic from the Tailscale/Zerotier network bypasses the VPN (or is correctly routed) while all other traffic goes through Mullvad. It supports country selection, RAM-only servers, custom DNS, and selective teardown. The code is a single, well-structured bash script with clear functions and argument parsing. It is not a library or framework but a purpose-built tool for a specific network configuration problem. The repository has a small footprint, no tests, and no CI/CD, but it is actively maintained (last commit dated 2026-05-07, though this appears anomalous). The nftables rules file is a simple configuration that marks packets from excluded IP ranges. There are no reusable software components beyond the script itself, which is tightly coupled to the Mullvad/Tailscale/Zerotier ecosystem.

RATING: 6.8/10 MAINT: active DRIFT: low
233boy/v2ray β˜… 29606 16606 APPLICATION

This is a comprehensive V2Ray installation and management script written in Bash. It provides a one-click installer (install.sh) and a management CLI (v2ray.sh) for deploying and operating V2Ray proxy servers on Linux (Ubuntu/Debian/CentOS). The script automates V2Ray core installation, configuration generation for multiple protocols (VMess, VLESS, Trojan, Shadowsocks, Socks, Dokodemo-Door), TLS certificate management via Caddy, dynamic port allocation, BBR enablement, and DNS configuration. It uses a modular architecture with separate source files for each functional area (core.sh for protocol logic, caddy.sh for TLS, dns.sh, bbr.sh, systemd.sh for service management, download.sh for fetching binaries, log.sh, old.sh for migration). The script manages multiple simultaneous configurations via JSON files in /etc/v2ray/conf/ and uses V2Ray's API for hot-reloading. It supports both interactive menu-driven operation and direct command-line arguments for automation.

RATING: 6.6/10 MAINT: maintained DRIFT: medium
β–Έ 4 reusable components found
yonggekkk/warp-yg β˜… 4631 1157 APPLICATION

This repository contains a monolithic bash script (CFwarp.sh) that provides a one-click installation, configuration, and management interface for Cloudflare WARP on Linux VPS systems. The script supports two WARP kernel implementations (wgcf and warp-go), allows switching between IPv4-only, IPv6-only, or dual-stack WARP modes, and includes utilities for upgrading to WARP+ or Teams accounts, monitoring WARP status, and generating WireGuard configuration files. It is a practical tool for VPS owners seeking to unlock Netflix, ChatGPT, or other geo-restricted services through WARP, but the codebase is a single large script with repetitive patterns, heavy reliance on external downloads, and no modularization or testing, making it fragile and difficult to reuse. The high star count and fork activity indicate widespread use, but the engineering quality is average for a system administration script.

RATING: 5.7/10 MAINT: active DRIFT: medium
sun977/Linuxgun β˜… 315 50 APPLICATION

LinuxGun is a collection of Bash shell scripts for Linux security incident response and system hardening. The core scripts (`linuxGun.sh`, `linuxGunPro.sh`, `linuxcheck.sh`) perform comprehensive checks across system information, user accounts, network connections, processes, files, logs, backdoors, tunnels, webshells, malware, memory, hacker tools, kernel modules, Kubernetes, and baseline security configurations. The toolset is designed for emergency triage by system administrators and security analysts, with color-coded output and modular function organization. It includes auxiliary tools for IP blocking (`blockIP.sh`), network interface monitoring (`monitorInter.sh`), process-to-IP connection mapping (`monitorPs2Ip.sh`), and a file upload server (`uploadServer.py`) for transmitting results. The repository also contains AI skill definitions (in `AI-skills/old/`) that describe an automated incident response workflow via SSH, though these appear to be experimental or deprecated. The codebase is functional but shows signs of rapid iteration, hardcoded assumptions (CentOS 7, specific command availability), incomplete modules, and mixed-language comments (Chinese/English). It is not a polished library but a practical, field-tested toolkit for Linux forensics.

RATING: 5.5/10 MAINT: maintained DRIFT: medium
β–Έ 3 reusable components found
── end of results ──
$ submit: