feat: 增加交互式修改lan口ip功能
This commit is contained in:
@@ -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
|
exit 0
|
||||||
+20
-1
@@ -46,6 +46,11 @@ build() {
|
|||||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
BUILDER_DIR="$1"
|
BUILDER_DIR="$1"
|
||||||
|
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
# lan口ip
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
LAN_IP=${2}
|
||||||
|
|
||||||
# =============================================================
|
# =============================================================
|
||||||
# 固件输出目录
|
# 固件输出目录
|
||||||
# =============================================================
|
# =============================================================
|
||||||
@@ -97,6 +102,15 @@ build() {
|
|||||||
|
|
||||||
mkdir -p "$FILES_DIR"
|
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 目录(如果存在)
|
# 复制自定义 files 目录(如果存在)
|
||||||
# =============================================================
|
# =============================================================
|
||||||
@@ -104,6 +118,7 @@ build() {
|
|||||||
cp -rf "${SCRIPT_DIR}/files/." "$BUILDER_DIR/files/"
|
cp -rf "${SCRIPT_DIR}/files/." "$BUILDER_DIR/files/"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# =============================================================
|
# =============================================================
|
||||||
# 校验 ImageBuilder 环境
|
# 校验 ImageBuilder 环境
|
||||||
# =============================================================
|
# =============================================================
|
||||||
@@ -167,8 +182,12 @@ cd "$project_dir"
|
|||||||
default_version="25.12.1"
|
default_version="25.12.1"
|
||||||
version=$(ask_input "请输入 ImmortalWrt 版本" "$default_version")
|
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
|
install_dependencies
|
||||||
|
|
||||||
builder_dir="$(download_imagebuilder "$version")"
|
builder_dir="$(download_imagebuilder "$version")"
|
||||||
|
|
||||||
build "$builder_dir"
|
build $builder_dir $lan_ip
|
||||||
+19
-1
@@ -65,6 +65,11 @@ build() {
|
|||||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
BUILDER_DIR="$1"
|
BUILDER_DIR="$1"
|
||||||
|
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
# lan口ip
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
LAN_IP=${2}
|
||||||
|
|
||||||
# =============================================================
|
# =============================================================
|
||||||
# 固件输出目录
|
# 固件输出目录
|
||||||
# =============================================================
|
# =============================================================
|
||||||
@@ -116,6 +121,15 @@ build() {
|
|||||||
|
|
||||||
mkdir -p "$FILES_DIR"
|
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 目录(如果存在)
|
# 复制自定义 files 目录(如果存在)
|
||||||
# =============================================================
|
# =============================================================
|
||||||
@@ -168,6 +182,10 @@ cd "$project_dir"
|
|||||||
default_version="25.12.1"
|
default_version="25.12.1"
|
||||||
version=$(ask_input "请输入 ImmortalWrt 版本" "$default_version")
|
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
|
install_dependencies
|
||||||
|
|
||||||
@@ -175,4 +193,4 @@ install_dependencies
|
|||||||
builder_dir="$(download_imagebuilder "$version")"
|
builder_dir="$(download_imagebuilder "$version")"
|
||||||
|
|
||||||
# 构建固件
|
# 构建固件
|
||||||
build "$builder_dir"
|
build "$builder_dir" $lan_ip
|
||||||
@@ -72,6 +72,11 @@ build(){
|
|||||||
# =============================================================
|
# =============================================================
|
||||||
ROOTFS_PARTSIZE="${2:-}"
|
ROOTFS_PARTSIZE="${2:-}"
|
||||||
|
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
# lan口ip
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
LAN_IP=${3}
|
||||||
|
|
||||||
# =============================================================
|
# =============================================================
|
||||||
# 插件包列表
|
# 插件包列表
|
||||||
# - 前面加 - 表示从固件中移除该包,例如 -dnsmasq
|
# - 前面加 - 表示从固件中移除该包,例如 -dnsmasq
|
||||||
@@ -128,6 +133,15 @@ build(){
|
|||||||
|
|
||||||
cd "$BUILDER_DIR"
|
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"
|
mkdir -p "$FILES_DIR"
|
||||||
# 复制 files 目录下的自定义文件到 Image Builder 的 files 目录
|
# 复制 files 目录下的自定义文件到 Image Builder 的 files 目录
|
||||||
if [ -d "${SCRIPT_DIR}/files" ]; then
|
if [ -d "${SCRIPT_DIR}/files" ]; then
|
||||||
@@ -137,6 +151,7 @@ build(){
|
|||||||
echo -e "${YELLOW}[提示] 未找到自定义 files/ 目录,跳过复制${NC}"
|
echo -e "${YELLOW}[提示] 未找到自定义 files/ 目录,跳过复制${NC}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [ ! -f "Makefile" ]; then
|
if [ ! -f "Makefile" ]; then
|
||||||
echo -e "${RED}[错误] 未找到 Makefile,请在 imagebuilder 根目录下运行本脚本!${NC}"
|
echo -e "${RED}[错误] 未找到 Makefile,请在 imagebuilder 根目录下运行本脚本!${NC}"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -219,8 +234,12 @@ version=$(ask_input "请输入 ImmortalWrt 版本" "$default_version")
|
|||||||
default_rootfs_partsize="600"
|
default_rootfs_partsize="600"
|
||||||
rootfs_partsize=$(ask_input "请输入根分区大小(MB)" "$default_rootfs_partsize")
|
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
|
install_dependencies
|
||||||
|
|
||||||
builder_dir="$(download_imagebuilder "$version")"
|
builder_dir="$(download_imagebuilder "$version")"
|
||||||
|
|
||||||
build $builder_dir $rootfs_partsize
|
build $builder_dir $rootfs_partsize $lan_ip
|
||||||
@@ -71,6 +71,11 @@ build(){
|
|||||||
# ────────────────────────────────────────────
|
# ────────────────────────────────────────────
|
||||||
ROOTFS_PARTSIZE="${2:-}"
|
ROOTFS_PARTSIZE="${2:-}"
|
||||||
|
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
# lan口ip
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
LAN_IP=${3}
|
||||||
|
|
||||||
# =============================================================
|
# =============================================================
|
||||||
# 插件包列表
|
# 插件包列表
|
||||||
# - 前面加 - 表示从固件中移除该包,例如 -dnsmasq
|
# - 前面加 - 表示从固件中移除该包,例如 -dnsmasq
|
||||||
@@ -136,6 +141,21 @@ build(){
|
|||||||
# 切换到 Image Builder 目录
|
# 切换到 Image Builder 目录
|
||||||
cd "$BUILDER_DIR"
|
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 目录
|
# 复制 files 目录下的自定义文件到 Image Builder 的 files 目录
|
||||||
if [ -d "${SCRIPT_DIR}/files" ]; then
|
if [ -d "${SCRIPT_DIR}/files" ]; then
|
||||||
echo -e "${YELLOW}[提示] 复制自定义 files/ 目录到 Image Builder${NC}"
|
echo -e "${YELLOW}[提示] 复制自定义 files/ 目录到 Image Builder${NC}"
|
||||||
@@ -160,12 +180,6 @@ build(){
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 创建 files 目录(如果不存在)
|
|
||||||
if [ ! -d "$FILES_DIR" ]; then
|
|
||||||
echo -e "${YELLOW}[提示] files/ 目录不存在,已自动创建${NC}"
|
|
||||||
mkdir -p "$FILES_DIR"
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p "$OUTPUT_DIR"
|
mkdir -p "$OUTPUT_DIR"
|
||||||
|
|
||||||
# 执行构建
|
# 执行构建
|
||||||
@@ -246,6 +260,10 @@ version=$(ask_input "请输入 ImmortalWrt 版本" "$default_version")
|
|||||||
default_rootfs_partsize="600"
|
default_rootfs_partsize="600"
|
||||||
rootfs_partsize=$(ask_input "请输入根分区大小(MB)" "$default_rootfs_partsize")
|
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
|
install_dependencies
|
||||||
|
|
||||||
@@ -253,4 +271,4 @@ install_dependencies
|
|||||||
builder_dir="$(download_imagebuilder "$version")"
|
builder_dir="$(download_imagebuilder "$version")"
|
||||||
|
|
||||||
# 构建固件
|
# 构建固件
|
||||||
build $builder_dir $rootfs_partsize
|
build $builder_dir $rootfs_partsize $lan_ip
|
||||||
|
|||||||
Reference in New Issue
Block a user