腳本

腳本目錄

瀏覽 helper.sh 發布的原始 Bash 腳本與命令優先文件。

依任務與系統選擇

比對僅涵蓋已審閱的候選;沒有符合項目不代表已證明不相容。Linux 遷移候選仍需核對主機實際工具、服務管理器與儲存模式,不表示已做實機測試。

選擇系統與任務後查看符合結果。此功能不會探測遠端主機。

沒有腳本同時符合這兩個選擇。請更換系統或任務;此功能不會探測遠端主機。

查看選擇器驗證與限制

本機日誌排查:Docker 資料遷移

貼上 docker-data-move.sh 輸出中的少量相關內容。比對只在目前瀏覽器分頁進行;此工具不會上傳或儲存日誌。貼上前請刪除憑證、權杖、IP 與私人路徑。結果只是原因候選,不是確定診斷。

查看驗證紀錄(四語言,文字)

載入範例會取代輸入。這些是受控示範,不是實機記錄;載入後再按檢查,不執行命令。

查看對應腳本的失敗處理與復原限制 · 查看日誌排查驗證與限制

啟動探針

hello.sh

原始碼執行 uname -a 與 echo。「ready」是無條件提示,不檢查相依套件、權限、磁碟空間或其他安裝器的適用性。

curl -fL 'https://www.helper.sh/hello.sh' -o './hello.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

維運腳本

docker-data-move.sh

來自 tool-tl/docker-data-move.sh 專案,並透過 helper.sh 重新分發,方便直接執行、維運交接與多語文件說明。

curl -fL 'https://www.helper.sh/docker-data-move.sh' -o './docker-data-move.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

安裝腳本

install_docker_ubuntu_2404.sh

一個託管在 helper.sh 的 Ubuntu 24.04.4 LTS 安裝腳本:會清理舊版 Docker 套件、接入 Docker 官方倉庫、安裝 Docker Engine 與 Docker Compose、設為開機自啟,並完成基本驗證。

curl -fL 'https://www.helper.sh/install_docker_ubuntu_2404.sh' -o './install_docker_ubuntu_2404.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

Docker 應用安裝腳本

install_nginx_base_docker.sh

站內腳本建立 /data/nginx,僅在預設檔案不存在時寫入,拉取 nginx:1.22.1 並重建同名容器。它會映射 443,但不設定 TLS。

curl -fL 'https://www.helper.sh/install_nginx_base_docker.sh' -o './install_nginx_base_docker.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

Docker 應用安裝腳本

install_mysql57_base_docker.sh

一個託管在 helper.sh 的腳本,會建立 /data/mysql5.7 目錄結構、寫入基礎 MySQL 5.7 設定、拉取 mysql:5.7.44,並以宿主機掛載目錄的方式啟動容器。

curl -fL 'https://www.helper.sh/install_mysql57_base_docker.sh' -o './install_mysql57_base_docker.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

Docker 應用安裝腳本

install_redis705_base_docker.sh

建立 /data/redis7.0.5,只在 redis.conf 缺少時寫入設定,拉取 redis:7.0.5 並取代同名容器。既有設定與資料會重用,新傳入密碼不會更新既有 requirepass。

curl -fL 'https://www.helper.sh/install_redis705_base_docker.sh' -o './install_redis705_base_docker.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

Docker 應用安裝腳本

install_php72_base_docker.sh

一個託管在 helper.sh 的腳本,會建立 /data/php7.2 目錄結構、寫入基礎 php.ini、拉取 php:7.2-fpm,並以宿主機掛載目錄的方式啟動容器。

curl -fL 'https://www.helper.sh/install_php72_base_docker.sh' -o './install_php72_base_docker.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

Docker 應用安裝腳本

install_workerman3524_base_docker.sh

建立 app 與 logs 目錄,只在缺少時寫入範例應用與 composer.json,每次覆寫 Dockerfile。以可變 PHP 7.2/Composer 標籤建置後強制取代同名容器,只掛載 logs。

curl -fL 'https://www.helper.sh/install_workerman3524_base_docker.sh' -o './install_workerman3524_base_docker.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

OpenVPN 服務端安裝腳本

CentOS 7 OpenVPN 服務端一鍵安裝腳本

針對 LAN 192.168.30.0/24、閘道 192.168.30.1,預期來源 IP 為 192.168.30.110,但 IP 不符僅警告並繼續;覆寫伺服器設定及驗證輔助程式,不是通用 VPN 安裝器。

curl -fL 'https://www.helper.sh/install_openvpn_server_centos.sh' -o './install_openvpn_server_centos.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

OpenVPN 客戶端安裝腳本

install_openvpn_client_ubuntu.sh

適用於 Ubuntu 20.04、22.04 和 24.04 LTS。腳本面向使用帳號密碼驗證的 OpenVPN 客戶端場景,提供可重複執行的安裝、複製設定和啟動服務流程。

curl -fL 'https://www.helper.sh/install_openvpn_client_ubuntu.sh' -o './install_openvpn_client_ubuntu.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

OpenVPN 客戶端安裝腳本

install_openvpn_client_centos7.sh

使用 yum、EPEL 與 systemd。缺少完整設定/驗證檔案組時,只準備目錄後結束;檔案齊全時複製或沿用、清除 CRLF、設為 600 並重新啟動所選用戶端執行個體。

curl -fL 'https://www.helper.sh/install_openvpn_client_centos7.sh' -o './install_openvpn_client_centos7.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

OpenVPN 客戶端安裝腳本

install_openvpn_client_anolis8.sh

使用 dnf、EPEL 與 systemd。缺少完整設定/驗證檔案組時,只準備目錄後結束;檔案齊全時複製或沿用、清除 CRLF、設為 600 並重新啟動所選用戶端執行個體。

curl -fL 'https://www.helper.sh/install_openvpn_client_anolis8.sh' -o './install_openvpn_client_anolis8.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

OpenVPN 客戶端維護

disable_openvpn_client_dns.sh

適用於既有 CentOS 7 風格 OpenVPN 用戶端,希望保留隧道但停用 DNS 鉤子的情況。腳本會先備份目標設定,再註解符合條件的鉤子。使用 --set-dns 時,會依主機環境修改作用中的 NetworkManager 連線設定或覆寫 /etc/resolv.conf;腳本不提供自動回復。

curl -fL 'https://www.helper.sh/disable_openvpn_client_dns.sh' -o './disable_openvpn_client_dns.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

系統維護

switch-centos7-repo.sh

這是 LinuxMirrors 上游腳本的站內副本。用於 CentOS 7 時會重寫 yum 倉庫定義並更新中繼資料;若在提示中確認,也可能停用 firewalld 與 SELinux。CentOS 7 已結束支援。

curl -fL 'https://www.helper.sh/switch-centos7-repo.sh' -o './switch-centos7-repo.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

系統維護

optimize_centos7_ssh.sh

適用於 SSH 登入明顯變慢的 CentOS 7 舊主機,常見根因是 sshd 等待反向 DNS、GSSAPI 協商或 IPv6 回退。腳本會先備份 sshd_config,再寫入建議設定、檢查語法,然後重啟 sshd。

curl -fL 'https://www.helper.sh/optimize_centos7_ssh.sh' -o './optimize_centos7_ssh.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

安全加固

centos_disable_password_ssh.sh

適用於需要從密碼登入切換到僅金鑰登入的 CentOS 或類似 OpenSSH 主機。腳本只檢查目標使用者的 authorized_keys 檔案非空,接著修改 sshd_config 並在重新載入服務前校驗語法;檔案非空不代表操作者持有相符的私鑰。

curl -fL 'https://www.helper.sh/centos_disable_password_ssh.sh' -o './centos_disable_password_ssh.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

Docker 旁路由實驗

install_bleachwrt_docker_centos7.sh

覆寫儲存的 network/env 與 systemd 單元,啟用 IPv4 轉送與混雜模式,重新啟動 Docker,並在服務啟動時取代同名容器/網路;不作為通用正式環境路由器建議。

curl -fL 'https://www.helper.sh/install_bleachwrt_docker_centos7.sh' -o './install_bleachwrt_docker_centos7.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。

開發工具

tree-to-file.sh

一個託管在 helper.sh 的 Shell 腳本,適用於 Linux、macOS 與常見 Unix 環境,用來把過濾後的目錄樹匯出到文字檔。它優先使用系統自帶的 tree;若未安裝,會依目前環境嘗試呼叫套件管理器安裝;若安裝仍不可行,則自動回退到內建的 find + awk 方案,但權限或檔案系統錯誤仍可能導致失敗。

curl -fL 'https://www.helper.sh/tree-to-file.sh' -o './tree-to-file.sh'

此命令只會下載檔案:請用文字編輯器檢查儲存的原始碼並核對版本,再另外決定是否執行。