refactor: 抽取插件包变量PACKAGES

This commit is contained in:
Olia Lisa
2026-07-24 12:25:15 +08:00
parent 8fa54c5ae3
commit 3f83643cb2
4 changed files with 144 additions and 125 deletions
+27 -21
View File
@@ -46,7 +46,12 @@ build() {
# ──────────────────────────────────────────── # ────────────────────────────────────────────
# lan口ip # lan口ip
# ──────────────────────────────────────────── # ────────────────────────────────────────────
LAN_IP=${2} LAN_IP="${2}"
# =============================================================
# 插件包列表
# =============================================================
PACKAGES="${3}"
# ============================================================= # =============================================================
# 固件输出目录 # 固件输出目录
@@ -59,25 +64,6 @@ build() {
# ============================================================= # =============================================================
EXTRA_IMAGE_NAME="hc5962" EXTRA_IMAGE_NAME="hc5962"
# =============================================================
# 插件包列表(按需增删)
# =============================================================
PKG_LIST=(
vim
nano-full
openssh-sftp-server
luci-i18n-vlmcsd-zh-cn
luci-i18n-argon-config-zh-cn
luci-i18n-arpbind-zh-cn
luci-i18n-package-manager-zh-cn
# 代理插件
luci-i18n-homeproxy-zh-cn
sing-box
)
PACKAGES=$(printf "%s " "${PKG_LIST[@]}")
# ============================================================= # =============================================================
# 颜色输出 # 颜色输出
# ============================================================= # =============================================================
@@ -162,6 +148,26 @@ version=$(ask_input "请输入 ImmortalWrt 版本" "$default_version")
default_lan_ip="192.168.1.1" default_lan_ip="192.168.1.1"
lan_ip=$(input_lan_ip "$default_lan_ip") lan_ip=$(input_lan_ip "$default_lan_ip")
# =============================================================
# 插件包列表
# - 前面加 - 表示从固件中移除该包,例如 -dnsmasq
# - 每行一个,方便增删注释
# =============================================================
pkg_list=(
vim
nano-full
openssh-sftp-server
luci-i18n-vlmcsd-zh-cn
luci-i18n-argon-config-zh-cn
luci-i18n-arpbind-zh-cn
luci-i18n-package-manager-zh-cn
# 代理插件
luci-i18n-homeproxy-zh-cn
sing-box
)
packages=$(printf "%s " "${pkg_list[@]}") # 动态拼接成字符串
# 进入项目根目 # 进入项目根目
project_dir="$(cd "$(dirname "$0")" && pwd)" project_dir="$(cd "$(dirname "$0")" && pwd)"
cd "$project_dir" cd "$project_dir"
@@ -170,4 +176,4 @@ install_dependencies
builder_dir="$(download_imagebuilder "$version")" builder_dir="$(download_imagebuilder "$version")"
build $builder_dir $lan_ip build "$builder_dir" "$lan_ip" "$packages"
+29 -22
View File
@@ -45,11 +45,16 @@ build() {
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
BUILDER_DIR="$1" BUILDER_DIR="$1"
# ──────────────────────────────────────────── # =============================================================
# lan口ip # lan口ip
# ──────────────────────────────────────────── # =============================================================
LAN_IP=${2} LAN_IP=${2}
# =============================================================
# 插件包列表
# =============================================================
PACKAGES=${3}
# ============================================================= # =============================================================
# 固件输出目录 # 固件输出目录
# ============================================================= # =============================================================
@@ -61,25 +66,6 @@ build() {
# ============================================================= # =============================================================
EXTRA_IMAGE_NAME="newifi3" EXTRA_IMAGE_NAME="newifi3"
# =============================================================
# 插件包列表(按需增删)
# =============================================================
PKG_LIST=(
vim
nano-full
openssh-sftp-server
luci-i18n-vlmcsd-zh-cn
luci-i18n-argon-config-zh-cn
luci-i18n-arpbind-zh-cn
luci-i18n-package-manager-zh-cn
# 代理插件
luci-i18n-homeproxy-zh-cn
sing-box
)
PACKAGES=$(printf "%s " "${PKG_LIST[@]}")
# ============================================================= # =============================================================
# 颜色输出 # 颜色输出
# ============================================================= # =============================================================
@@ -164,6 +150,27 @@ version=$(ask_input "请输入 ImmortalWrt 版本" "$default_version")
default_lan_ip="192.168.1.1" default_lan_ip="192.168.1.1"
lan_ip=$(input_lan_ip "$default_lan_ip") lan_ip=$(input_lan_ip "$default_lan_ip")
# =============================================================
# 插件包列表
# - 前面加 - 表示从固件中移除该包,例如 -dnsmasq
# - 每行一个,方便增删注释
# =============================================================
pkg_list=(
vim
nano-full
openssh-sftp-server
luci-i18n-vlmcsd-zh-cn
luci-i18n-argon-config-zh-cn
luci-i18n-arpbind-zh-cn
luci-i18n-package-manager-zh-cn
# 代理插件
luci-i18n-homeproxy-zh-cn
sing-box
)
packages=$(printf "%s " "${pkg_list[@]}") # 动态拼接成字符串
# 进入项目根目 # 进入项目根目
project_dir="$(cd "$(dirname "$0")" && pwd)" project_dir="$(cd "$(dirname "$0")" && pwd)"
cd "$project_dir" cd "$project_dir"
@@ -175,4 +182,4 @@ install_dependencies
builder_dir="$(download_imagebuilder "$version")" builder_dir="$(download_imagebuilder "$version")"
# 构建固件 # 构建固件
build "$builder_dir" $lan_ip build "$builder_dir" "$lan_ip" "$packages"
+40 -36
View File
@@ -73,42 +73,10 @@ build(){
# ──────────────────────────────────────────── # ────────────────────────────────────────────
LAN_IP=${3} LAN_IP=${3}
# ============================================================= # ────────────────────────────────────────────
# 插件包列表 # 插件包列表
# - 前面加 - 表示从固件中移除该包,例如 -dnsmasq # ────────────────────────────────────────────
# - 每行一个,方便增删注释 PACKAGES="${4}"
# =============================================================
PKG_LIST=(
vim-full
nano-plus
bash
curl
shadow-chsh
openssh-sftp-server
luci-i18n-argon-config-zh-cn
luci-i18n-package-manager-zh-cn
luci-i18n-firewall-zh-cn
luci-i18n-arpbind-zh-cn
# 现代终端工具
ripgrep
diffutils
less
# 分区扩容
luci-i18n-diskman-zh-cn
cfdisk
resize2fs
e2fsprogs
losetup
# 代理插件
luci-i18n-daed-zh-cn
luci-i18n-homeproxy-zh-cn
sing-box
)
PACKAGES=$(printf "%s " "${PKG_LIST[@]}")
GREEN="\033[0;32m" GREEN="\033[0;32m"
YELLOW="\033[1;33m" YELLOW="\033[1;33m"
@@ -213,8 +181,44 @@ cd "$project_dir"
default_lan_ip="192.168.1.1" default_lan_ip="192.168.1.1"
lan_ip=$(input_lan_ip "$default_lan_ip") lan_ip=$(input_lan_ip "$default_lan_ip")
# =============================================================
# 插件包列表
# - 前面加 - 表示从固件中移除该包,例如 -dnsmasq
# - 每行一个,方便增删注释
# =============================================================
pkg_list=(
vim-full
nano-plus
bash
curl
shadow-chsh
openssh-sftp-server
luci-i18n-argon-config-zh-cn
luci-i18n-package-manager-zh-cn
luci-i18n-firewall-zh-cn
luci-i18n-arpbind-zh-cn
# 现代终端工具
ripgrep
diffutils
less
# 分区扩容
luci-i18n-diskman-zh-cn
cfdisk
resize2fs
e2fsprogs
losetup
# 代理插件
luci-i18n-daed-zh-cn
luci-i18n-homeproxy-zh-cn
sing-box
)
packages=$(printf "%s " "${pkg_list[@]}") # 动态拼接成字符串
install_dependencies install_dependencies
builder_dir="$(download_imagebuilder "$version")" builder_dir="$(download_imagebuilder "$version")"
build $builder_dir $rootfs_partsize $lan_ip build "$builder_dir" "$rootfs_partsize" "$lan_ip" "$packages"
+48 -46
View File
@@ -70,52 +70,12 @@ build(){
# ──────────────────────────────────────────── # ────────────────────────────────────────────
# lan口ip # lan口ip
# ──────────────────────────────────────────── # ────────────────────────────────────────────
LAN_IP=${3} LAN_IP="${3}"
# ============================================================= # ────────────────────────────────────────────
# 插件包列表 # 插件包列表字符串
# - 前面加 - 表示从固件中移除该包,例如 -dnsmasq # ────────────────────────────────────────────
# - 每行一个,方便增删注释 PACKAGES="${4}"
# =============================================================
PKG_LIST=(
-dropbear
openssh-server
vim-full
nano-plus
bash
curl
shadow-chsh
openssh-sftp-server
luci-i18n-vlmcsd-zh-cn
luci-i18n-argon-config-zh-cn
luci-i18n-package-manager-zh-cn
luci-i18n-firewall-zh-cn
luci-i18n-arpbind-zh-cn
# 现代终端工具
ripgrep
diffutils
less
eza
fish
# 分区扩容
luci-i18n-diskman-zh-cn
cfdisk
resize2fs
e2fsprogs
losetup
# 代理插件
luci-i18n-daed-zh-cn
luci-i18n-homeproxy-zh-cn
sing-box
)
# 动态拼接成字符串
PACKAGES=$(printf "%s " "${PKG_LIST[@]}")
# 颜色输出 # 颜色输出
@@ -241,6 +201,48 @@ rootfs_partsize=$(ask_input "请输入根分区大小(MB)" "$default_rootfs_part
default_lan_ip="192.168.1.1" default_lan_ip="192.168.1.1"
lan_ip=$(input_lan_ip "$default_lan_ip") lan_ip=$(input_lan_ip "$default_lan_ip")
# =============================================================
# 插件包列表
# - 前面加 - 表示从固件中移除该包,例如 -dnsmasq
# - 每行一个,方便增删注释
# =============================================================
pkg_list=(
-dropbear
openssh-server
vim-full
nano-plus
bash
curl
shadow-chsh
openssh-sftp-server
luci-i18n-vlmcsd-zh-cn
luci-i18n-argon-config-zh-cn
luci-i18n-package-manager-zh-cn
luci-i18n-firewall-zh-cn
luci-i18n-arpbind-zh-cn
# 现代终端工具
ripgrep
diffutils
less
eza
fish
# 分区扩容
luci-i18n-diskman-zh-cn
cfdisk
resize2fs
e2fsprogs
losetup
# 代理插件
luci-i18n-daed-zh-cn
luci-i18n-homeproxy-zh-cn
sing-box
)
packages=$(printf "%s " "${pkg_list[@]}") # 动态拼接成字符串
# 进入项目根目 # 进入项目根目
project_dir="$(cd "$(dirname "$0")" && pwd)" project_dir="$(cd "$(dirname "$0")" && pwd)"
cd "$project_dir" cd "$project_dir"
@@ -252,4 +254,4 @@ install_dependencies
builder_dir="$(download_imagebuilder "$version")" builder_dir="$(download_imagebuilder "$version")"
# 构建固件 # 构建固件
build $builder_dir $rootfs_partsize $lan_ip build "$builder_dir" "$rootfs_partsize" "$lan_ip" "$packages"