Scripts
Script catalog
Browse raw Bash scripts and command-first documentation published on helper.sh.
Bootstrap installer
install_docker_ubuntu_2404.sh
A helper.sh-hosted installation script for Ubuntu 24.04.4 LTS that removes legacy Docker packages, installs Docker Engine from the official repository, enables the service, and verifies both Docker and Docker Compose.
curl -fsSL helper.sh/install_docker_ubuntu_2404.sh | sudo bash Docker app installer
install_nginx_base_docker.sh
A helper.sh-hosted script that creates the /data/nginx layout, writes a safe default Nginx configuration, pulls nginx:1.22.1, and runs a restartable container with host-mounted content, config, and logs.
curl -fsSL helper.sh/install_nginx_base_docker.sh | sudo bash Docker app installer
install_mysql57_base_docker.sh
A helper.sh-hosted script that creates the /data/mysql5.7 layout, writes a baseline MySQL 5.7 config, pulls mysql:5.7.44, and runs a restartable container with mounted data, config, and init directories.
curl -fsSL helper.sh/install_mysql57_base_docker.sh | sudo bash Docker app installer
install_redis705_base_docker.sh
A helper.sh-hosted script that creates the /data/redis7.0.5 layout, writes a baseline Redis configuration, pulls redis:7.0.5, and runs a password-protected container with mounted data and config.
curl -fsSL helper.sh/install_redis705_base_docker.sh | sudo bash Docker app installer
install_php72_base_docker.sh
A helper.sh-hosted script that creates the /data/php7.2 layout, writes a baseline php.ini, pulls php:7.2-fpm, and runs a restartable container with mounted application code, config, and logs.
curl -fsSL helper.sh/install_php72_base_docker.sh | sudo bash Docker app installer
install_workerman3524_base_docker.sh
A helper.sh-hosted script that creates the /data/workerman3.5.24 layout, writes a minimal Workerman application, builds a local PHP 7.2 CLI image with Workerman 3.5.24, and runs a restartable container.
curl -fsSL helper.sh/install_workerman3524_base_docker.sh | sudo bash Network server installer
install_openvpn_server_centos.sh
Designed for a CentOS 7 OpenVPN server whose LAN address is 192.168.30.110 with gateway 192.168.30.1. The script pushes the 192.168.30.0/24 route to VPN clients and applies SNAT on the server LAN interface so clients can talk to the full 192.168.30.0/24 network without adding static routes on every LAN device.
curl -fsSL helper.sh/install_openvpn_server_centos.sh | sudo bash Network client installer
install_openvpn_client_ubuntu.sh
Designed for Ubuntu 20.04, 22.04, and 24.04 LTS hosts that use username/password OpenVPN client authentication and need a repeatable way to install, copy client files, and start the service.
curl -fsSL helper.sh/install_openvpn_client_ubuntu.sh | sudo bash Network client installer
install_openvpn_client_centos7.sh
Designed for CentOS 7 hosts that use username/password OpenVPN client authentication and need a repeatable way to install the package, place client files, attach DNS hooks, and start the systemd service. When the config files are not supplied, it still installs OpenVPN and prepares /etc/openvpn/client/ for you to add them later.
curl -fsSL helper.sh/install_openvpn_client_centos7.sh | sudo bash Network client installer
install_openvpn_client_anolis8.sh
Designed for Anolis OS 8 (RHEL 8 compatible) hosts that use username/password OpenVPN client authentication and need a repeatable way to install the package, place client files, attach DNS hooks, and start the systemd service. When the config files are not supplied, it still installs OpenVPN and prepares /etc/openvpn/client/ for you to add them later.
curl -fsSL helper.sh/install_openvpn_client_anolis8.sh | sudo bash OpenVPN client maintenance
disable_openvpn_client_dns.sh
A companion to install_openvpn_client_centos7.sh for hosts where the VPN should keep tunneling traffic but must stop forcing its own DNS (e.g. 10.7.7.53). It backs up the client config, comments out the DNS hooks, restarts the service, and can optionally write your own resolvers via --set-dns. Idempotent and reversible.
curl -fsSL helper.sh/disable_openvpn_client_dns.sh | sudo bash System maintenance
switch-centos7-repo.sh
A helper.sh-hosted CentOS 7 repository switching script that helps replace old or unreachable yum repos with a working mirror source so package installation and updates can continue.
curl -fsSL -o switch-centos7-repo.sh helper.sh/switch-centos7-repo.sh && sudo bash switch-centos7-repo.sh System maintenance
optimize_centos7_ssh.sh
Designed for legacy CentOS 7 hosts where SSH login is slow because the daemon waits on reverse DNS lookup, GSSAPI negotiation, or IPv6 fallback. The script backs up sshd_config, enforces the recommended settings, validates the syntax, and then restarts sshd.
curl -fsSL helper.sh/optimize_centos7_ssh.sh | sudo bash Security hardening
centos_disable_password_ssh.sh
Built for CentOS and similar OpenSSH hosts that should move from password-based login to key-only access. The script refuses to proceed unless a usable authorized_keys file exists for the target user, then updates sshd_config with idempotent edits and validates the result before reloading the daemon.
curl -fsSL helper.sh/centos_disable_password_ssh.sh | sudo bash Docker router lab
install_bleachwrt_docker_centos7.sh
A conservative one-shot installer derived from a local BleachWrt Docker repository. It installs or starts Docker, creates a macvlan network, persists /etc/config, and intentionally avoids proxy, VPN bypass, and traffic circumvention configuration.
curl -fsSL helper.sh/install_bleachwrt_docker_centos7.sh | sudo bash -s -- --yes Developer utility
tree-to-file.sh
A helper.sh-hosted shell script for Linux, macOS, and common Unix environments that exports a filtered directory tree into a text file. It prefers the system tree command, attempts installation through the available package manager when tree is missing, and still produces output through a built-in find plus awk fallback.
curl -fsSL helper.sh/tree-to-file.sh | sh