mirror of
https://github.com/Dichgrem/Dwrt-build.git
synced 2026-02-05 02:11:56 -05:00
chore:actions
This commit is contained in:
80
diy.sh
80
diy.sh
@@ -14,15 +14,67 @@ echo "🚀 添加自定义 feed 源..."
|
||||
|
||||
echo "✅ feeds 添加完成"
|
||||
|
||||
# 检测项目类型(OpenWrt 或 ImmortalWrt)
|
||||
DETECT_TARGET_FILE="package/base-files/files/etc/openwrt_release"
|
||||
if [ -f "$DETECT_TARGET_FILE" ]; then
|
||||
if grep -qi "immortalwrt" "$DETECT_TARGET_FILE"; then
|
||||
TARGET_TYPE="ImmortalWrt"
|
||||
elif grep -qi "openwrt" "$DETECT_TARGET_FILE"; then
|
||||
TARGET_TYPE="OpenWrt"
|
||||
else
|
||||
TARGET_TYPE="OpenWrt"
|
||||
fi
|
||||
else
|
||||
# 如果检测文件不存在,通过其他方式判断
|
||||
if [ -d "feeds/packages" ]; then
|
||||
TARGET_TYPE="ImmortalWrt"
|
||||
else
|
||||
TARGET_TYPE="OpenWrt"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "📋 检测到目标类型:$TARGET_TYPE"
|
||||
|
||||
# 1. 默认 hostname
|
||||
sed -i "s/ImmortalWrt/Dwrt/g" package/base-files/files/bin/config_generate
|
||||
CONFIG_GEN_FILE="package/base-files/files/bin/config_generate"
|
||||
if [ -f "$CONFIG_GEN_FILE" ]; then
|
||||
if [ "$TARGET_TYPE" = "ImmortalWrt" ]; then
|
||||
sed -i "s/ImmortalWrt/Dwrt/g" "$CONFIG_GEN_FILE"
|
||||
else
|
||||
sed -i "s/OpenWrt/Dwrt/g" "$CONFIG_GEN_FILE"
|
||||
fi
|
||||
echo "✅ Hostname 已修改为 Dwrt"
|
||||
else
|
||||
echo "⚠️ $CONFIG_GEN_FILE 不存在,跳过 hostname 修改"
|
||||
fi
|
||||
|
||||
# 2. 默认 IP 地址
|
||||
sed -i 's/192.168.2.1/192.168.1.1/' package/base-files/files/bin/config_generate
|
||||
if [ -f "$CONFIG_GEN_FILE" ]; then
|
||||
if grep -q "192.168.2.1" "$CONFIG_GEN_FILE"; then
|
||||
sed -i 's/192.168.2.1/192.168.1.1/' "$CONFIG_GEN_FILE"
|
||||
echo "✅ 默认 IP 已修改为 192.168.1.1"
|
||||
elif grep -q "192.168.1.1" "$CONFIG_GEN_FILE"; then
|
||||
echo "✅ 默认 IP 已经是 192.168.1.1"
|
||||
else
|
||||
echo "⚠️ $CONFIG_GEN_FILE 中未找到默认 IP 地址"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 3. 默认 root 密码
|
||||
HASH=$(openssl passwd -1 'password')
|
||||
sed -i "s|root::0:0:99999|root:${HASH}:0:0:99999|" package/base-files/files/etc/shadow
|
||||
SHADOW_FILE="package/base-files/files/etc/shadow"
|
||||
if [ -f "$SHADOW_FILE" ]; then
|
||||
HASH=$(openssl passwd -1 'password')
|
||||
if grep -q "^root::" "$SHADOW_FILE"; then
|
||||
sed -i "s|root::0:0:99999|root:${HASH}:0:0:99999|" "$SHADOW_FILE"
|
||||
echo "✅ root 密码已设置"
|
||||
elif grep -q "^root:" "$SHADOW_FILE"; then
|
||||
echo "⚠️ root 账户已设置密码,跳过"
|
||||
else
|
||||
echo "⚠️ $SHADOW_FILE 中未找到 root 账户"
|
||||
fi
|
||||
else
|
||||
echo "⚠️ $SHADOW_FILE 不存在,跳过 root 密码设置"
|
||||
fi
|
||||
|
||||
# 4. 设置默认 LuCI 主题为 argon
|
||||
mkdir -p package/base-files/files/etc/uci-defaults
|
||||
@@ -31,6 +83,7 @@ uci set luci.main.mediaurlbase=/luci-static/argon
|
||||
uci commit luci
|
||||
EOF
|
||||
chmod +x package/base-files/files/etc/uci-defaults/99_set_theme
|
||||
echo "✅ LuCI 主题已设置为 argon"
|
||||
|
||||
# 5. 默认加载 BBR 拥塞控制算法
|
||||
mkdir -p package/base-files/files/etc/sysctl.d
|
||||
@@ -38,16 +91,28 @@ cat >package/base-files/files/etc/sysctl.d/99-bbr.conf <<'EOF'
|
||||
net.core.default_qdisc=fq_codel
|
||||
net.ipv4.tcp_congestion_control=bbr
|
||||
EOF
|
||||
echo "✅ BBR 拥塞控制算法已启用"
|
||||
|
||||
# 6. 修改默认 shell 为 bash
|
||||
sed -i "s|/bin/ash|/bin/bash|g" package/base-files/files/etc/passwd
|
||||
# 你需要在 .config 中确保包含 bash,例如:
|
||||
# echo 'CONFIG_PACKAGE_bash=y' >> .config
|
||||
PASSWD_FILE="package/base-files/files/etc/passwd"
|
||||
if [ -f "$PASSWD_FILE" ]; then
|
||||
if grep -q "/bin/ash" "$PASSWD_FILE"; then
|
||||
sed -i "s|/bin/ash|/bin/bash|g" "$PASSWD_FILE"
|
||||
echo "✅ 默认 shell 已修改为 bash"
|
||||
elif grep -q "/bin/bash" "$PASSWD_FILE"; then
|
||||
echo "✅ 默认 shell 已经是 bash"
|
||||
else
|
||||
echo "⚠️ $PASSWD_FILE 中未找到 ash 或 bash"
|
||||
fi
|
||||
else
|
||||
echo "⚠️ $PASSWD_FILE 不存在,跳过 shell 修改"
|
||||
fi
|
||||
|
||||
# 7. 自定义 SSH 登录横幅
|
||||
mkdir -p package/base-files/files/etc
|
||||
if [ -f "scripts/custom-files/banner.txt" ]; then
|
||||
cp scripts/custom-files/banner.txt package/base-files/files/etc/banner
|
||||
echo "✅ 使用自定义 banner"
|
||||
else
|
||||
cat >package/base-files/files/etc/banner <<'EOF'
|
||||
| | _____ _____ ____________/ |______ | |
|
||||
@@ -57,6 +122,7 @@ else
|
||||
\/ \/ By Dich \/
|
||||
-----------------------------------------------------
|
||||
EOF
|
||||
echo "✅ 默认 banner 已设置"
|
||||
fi
|
||||
|
||||
# 8. 自定义 LuCI 概览设备型号
|
||||
|
||||
Reference in New Issue
Block a user