From bc0c518947bf0fd70ad999b8212850633a6a58aa Mon Sep 17 00:00:00 2001 From: Olia Lisa Date: Wed, 22 Jul 2026 18:37:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=E5=BC=8F=E4=BF=AE=E6=94=B9lan=E5=8F=A3ip=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/etc/uci-defaults/98-network-setting | 2 +- hiwifi-b70.sh | 21 ++++++++++++++- newifi3_d2.sh | 20 +++++++++++++- r2s.sh | 21 ++++++++++++++- x86-64.sh | 32 ++++++++++++++++++----- 5 files changed, 85 insertions(+), 11 deletions(-) diff --git a/files/etc/uci-defaults/98-network-setting b/files/etc/uci-defaults/98-network-setting index dd726e6..a3400c7 100755 --- a/files/etc/uci-defaults/98-network-setting +++ b/files/etc/uci-defaults/98-network-setting @@ -60,6 +60,6 @@ update_lan_ip(){ } -# update_lan_ip "192.168.50.100" 修改lan口ip +update_lan_ip 192.168.1.1 # 修改lan口ip exit 0 \ No newline at end of file diff --git a/hiwifi-b70.sh b/hiwifi-b70.sh index 58c793c..f3930ef 100644 --- a/hiwifi-b70.sh +++ b/hiwifi-b70.sh @@ -46,6 +46,11 @@ build() { SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" BUILDER_DIR="$1" + # ──────────────────────────────────────────── + # lan口ip + # ──────────────────────────────────────────── + LAN_IP=${2} + # ============================================================= # 固件输出目录 # ============================================================= @@ -97,6 +102,15 @@ build() { mkdir -p "$FILES_DIR" + # 如果存在 LAN IP 设置脚本,则修改默认 LAN 地址 + LAN_SETTING_FILE="${SCRIPT_DIR}/files/etc/uci-defaults/98-network-setting" + if [ -e "$LAN_SETTING_FILE" ]; then + # 根据用户输入的 LAN_IP 修改默认 IP + sed -i \ + "s/^update_lan_ip .*/update_lan_ip ${LAN_IP}/" \ + "$LAN_SETTING_FILE" + fi + # ============================================================= # 复制自定义 files 目录(如果存在) # ============================================================= @@ -104,6 +118,7 @@ build() { cp -rf "${SCRIPT_DIR}/files/." "$BUILDER_DIR/files/" fi + # ============================================================= # 校验 ImageBuilder 环境 # ============================================================= @@ -167,8 +182,12 @@ cd "$project_dir" default_version="25.12.1" version=$(ask_input "请输入 ImmortalWrt 版本" "$default_version") +# lan口ip +default_lan_ip="192.168.1.1" +lan_ip=$(ask_input "请输入lan口ip" $default_lan_ip) + install_dependencies builder_dir="$(download_imagebuilder "$version")" -build "$builder_dir" \ No newline at end of file +build $builder_dir $lan_ip \ No newline at end of file diff --git a/newifi3_d2.sh b/newifi3_d2.sh index bdf1dc2..77282ca 100644 --- a/newifi3_d2.sh +++ b/newifi3_d2.sh @@ -65,6 +65,11 @@ build() { SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" BUILDER_DIR="$1" + # ──────────────────────────────────────────── + # lan口ip + # ──────────────────────────────────────────── + LAN_IP=${2} + # ============================================================= # 固件输出目录 # ============================================================= @@ -116,6 +121,15 @@ build() { mkdir -p "$FILES_DIR" + # 如果存在 LAN IP 设置脚本,则修改默认 LAN 地址 + LAN_SETTING_FILE="${SCRIPT_DIR}/files/etc/uci-defaults/98-network-setting" + if [ -e "$LAN_SETTING_FILE" ]; then + # 根据用户输入的 LAN_IP 修改默认 IP + sed -i \ + "s/^update_lan_ip .*/update_lan_ip ${LAN_IP}/" \ + "$LAN_SETTING_FILE" + fi + # ============================================================= # 复制自定义 files 目录(如果存在) # ============================================================= @@ -168,6 +182,10 @@ cd "$project_dir" default_version="25.12.1" version=$(ask_input "请输入 ImmortalWrt 版本" "$default_version") +# lan口ip +default_lan_ip="192.168.1.1" +lan_ip=$(ask_input "请输入lan口ip" $default_lan_ip) + # 安装依赖 install_dependencies @@ -175,4 +193,4 @@ install_dependencies builder_dir="$(download_imagebuilder "$version")" # 构建固件 -build "$builder_dir" \ No newline at end of file +build "$builder_dir" $lan_ip \ No newline at end of file diff --git a/r2s.sh b/r2s.sh index 8ee0e2c..fb28fb9 100644 --- a/r2s.sh +++ b/r2s.sh @@ -72,6 +72,11 @@ build(){ # ============================================================= ROOTFS_PARTSIZE="${2:-}" + # ──────────────────────────────────────────── + # lan口ip + # ──────────────────────────────────────────── + LAN_IP=${3} + # ============================================================= # 插件包列表 # - 前面加 - 表示从固件中移除该包,例如 -dnsmasq @@ -128,6 +133,15 @@ build(){ cd "$BUILDER_DIR" + # 如果存在 LAN IP 设置脚本,则修改默认 LAN 地址 + LAN_SETTING_FILE="${SCRIPT_DIR}/files/etc/uci-defaults/98-network-setting" + if [ -e "$LAN_SETTING_FILE" ]; then + # 根据用户输入的 LAN_IP 修改默认 IP + sed -i \ + "s/^update_lan_ip .*/update_lan_ip ${LAN_IP}/" \ + "$LAN_SETTING_FILE" + fi + mkdir -p "$FILES_DIR" # 复制 files 目录下的自定义文件到 Image Builder 的 files 目录 if [ -d "${SCRIPT_DIR}/files" ]; then @@ -137,6 +151,7 @@ build(){ echo -e "${YELLOW}[提示] 未找到自定义 files/ 目录,跳过复制${NC}" fi + if [ ! -f "Makefile" ]; then echo -e "${RED}[错误] 未找到 Makefile,请在 imagebuilder 根目录下运行本脚本!${NC}" exit 1 @@ -219,8 +234,12 @@ version=$(ask_input "请输入 ImmortalWrt 版本" "$default_version") default_rootfs_partsize="600" rootfs_partsize=$(ask_input "请输入根分区大小(MB)" "$default_rootfs_partsize") +# lan口ip +default_lan_ip="192.168.1.1" +lan_ip=$(ask_input "请输入lan口ip" $default_lan_ip) + install_dependencies builder_dir="$(download_imagebuilder "$version")" -build $builder_dir $rootfs_partsize \ No newline at end of file +build $builder_dir $rootfs_partsize $lan_ip \ No newline at end of file diff --git a/x86-64.sh b/x86-64.sh index 3aa76d8..58a416d 100644 --- a/x86-64.sh +++ b/x86-64.sh @@ -71,6 +71,11 @@ build(){ # ──────────────────────────────────────────── ROOTFS_PARTSIZE="${2:-}" + # ──────────────────────────────────────────── + # lan口ip + # ──────────────────────────────────────────── + LAN_IP=${3} + # ============================================================= # 插件包列表 # - 前面加 - 表示从固件中移除该包,例如 -dnsmasq @@ -136,6 +141,21 @@ build(){ # 切换到 Image Builder 目录 cd "$BUILDER_DIR" + # 创建 files 目录(如果不存在) + if [ ! -d "$FILES_DIR" ]; then + echo -e "${YELLOW}[提示] files/ 目录不存在,已自动创建${NC}" + mkdir -p "$FILES_DIR" + fi + + # 如果存在 LAN IP 设置脚本,则修改默认 LAN 地址 + LAN_SETTING_FILE="${SCRIPT_DIR}/files/etc/uci-defaults/98-network-setting" + if [ -e "$LAN_SETTING_FILE" ]; then + # 根据用户输入的 LAN_IP 修改默认 IP + sed -i \ + "s/^update_lan_ip .*/update_lan_ip ${LAN_IP}/" \ + "$LAN_SETTING_FILE" + fi + # 复制 files 目录下的自定义文件到 Image Builder 的 files 目录 if [ -d "${SCRIPT_DIR}/files" ]; then echo -e "${YELLOW}[提示] 复制自定义 files/ 目录到 Image Builder${NC}" @@ -160,12 +180,6 @@ build(){ exit 1 fi - # 创建 files 目录(如果不存在) - if [ ! -d "$FILES_DIR" ]; then - echo -e "${YELLOW}[提示] files/ 目录不存在,已自动创建${NC}" - mkdir -p "$FILES_DIR" - fi - mkdir -p "$OUTPUT_DIR" # 执行构建 @@ -246,6 +260,10 @@ version=$(ask_input "请输入 ImmortalWrt 版本" "$default_version") default_rootfs_partsize="600" rootfs_partsize=$(ask_input "请输入根分区大小(MB)" "$default_rootfs_partsize") +# lan口ip +default_lan_ip="192.168.1.1" +lan_ip=$(ask_input "请输入lan口ip" $default_lan_ip) + # 安装依赖 install_dependencies @@ -253,4 +271,4 @@ install_dependencies builder_dir="$(download_imagebuilder "$version")" # 构建固件 -build $builder_dir $rootfs_partsize +build $builder_dir $rootfs_partsize $lan_ip