OpenWrt编译
1. 编译网站
官方:
① : ImmortalWrt : https://firmware-selector.immortalwrt.org/
② : OpenWrt: https://firmware-selector.openwrt.org/
第三方:
① : bozi : https://openwrt.ai/
2. 软件包:
出厂软件包
常用软件包
定制软件包
3. 系统初始化shell脚本
# ============================================================================== # ImmortalWrt 自动配置脚本 - 模块化 带开关 全注释 # 作用:刷完固件自动配置 旁路由、IP、WiFi、密码、主题、防火墙等 # ============================================================================== # ======================== 【一、总开关区】 ======================== # 1 = 开启 | 0 = 关闭 ENABLE_ROOT_PASSWD=1 # 开启ROOT密码自动设置 ENABLE_LAN_IP=1 # 开启LAN口IP(旁路由)自动设置 ENABLE_DHCP_OFF=1 # 开启关闭DHCP(旁路由必须开) ENABLE_FIREWALL=1 # 开启旁路由防火墙直通(必须开) ENABLE_WIFI=1 # 开启AX200双频WiFi自动配置 ENABLE_THEME=1 # 开启Argon主题自动设置 # ======================== 【二、自定义参数区】 ======================== # 管理员密码 ROOT_PASSWORD="" # 旁路由固定IP LAN_IP="192.168.1.6" GATEWAY="192.168.1.1" DNS="192.168.1.1" NETMASK="255.255.255.0" # WiFi名称与密码 WLAN_NAME="" WLAN_PASSWD="" # 主题(默认argon) THEME_NAME="argon" # ======================== 【三、自动执行脚本】 ======================== # 日志输出到 /tmp/setup.log 方便排错 exec >/tmp/setup.log 2>&1 echo "===== 开始自动配置 =====" # -------------------------- # 功能1:设置ROOT密码 # -------------------------- if [ $ENABLE_ROOT_PASSWD -eq 1 ]; then echo "→ 配置ROOT密码" (echo "$ROOT_PASSWORD"; sleep 1; echo "$ROOT_PASSWORD") | passwd >/dev/null fi # -------------------------- # 功能2:配置LAN口固定IP(旁路由) # -------------------------- if [ $ENABLE_LAN_IP -eq 1 ]; then echo "→ 配置LAN IP: $LAN_IP" uci set network.lan.ipaddr="$LAN_IP" uci set network.lan.gateway="$GATEWAY" uci set network.lan.dns="$DNS" uci set network.lan.netmask="$NETMASK" uci commit network fi # -------------------------- # 功能3:旁路由基础优化(关闭DHCP / 关闭WAN / 开启IP转发) # -------------------------- if [ $ENABLE_DHCP_OFF -eq 1 ]; then echo "→ 关闭DHCP、关闭WAN、开启IP转发" # 关闭LAN口DHCP(旁路由不分配IP) uci set dhcp.lan.ignore=1 uci commit dhcp # 关闭无用的WAN/WAN6接口(单网口旁路由用不到) uci set network.wan.proto=none uci set network.wan6.proto=none uci commit network # 开启系统IP转发(旁路由必须开启) uci set network.@globals[0].ip_forward=1 uci commit network fi # -------------------------- # 功能4:旁路由防火墙全开 + NAT(单网口WiFi必须开) # -------------------------- if [ $ENABLE_FIREWALL -eq 1 ]; then echo "→ 配置旁路由防火墙" uci set firewall.@zone[0].input=ACCEPT uci set firewall.@zone[0].output=ACCEPT uci set firewall.@zone[0].forward=ACCEPT uci set firewall.@zone[0].masq=1 # NAT开启,WiFi必须依赖此项 uci commit firewall fi # -------------------------- # 功能5:AX200 双频WiFi自动配置(2.4G + 5G) # -------------------------- if [ $ENABLE_WIFI -eq 1 ]; then echo "→ 配置AX200双频WiFi" # 先删除系统默认无线配置,防止冲突 uci -q delete wireless.radio0 uci -q delete wireless.radio1 uci -q delete wireless.default_radio0 uci -q delete wireless.default_radio1 # ========== 2.4G WiFi配置 ========== uci set wireless.radio0=wifi-device uci set wireless.radio0.type=mac80211 uci set wireless.radio0.band=2g uci set wireless.radio0.channel=auto uci set wireless.radio0.htmode=HT20 uci set wireless.radio0.country=CN uci set wireless.radio0.disabled=0 uci set wireless.default_radio0=wifi-iface uci set wireless.default_radio0.device=radio0 uci set wireless.default_radio0.network=lan uci set wireless.default_radio0.mode=ap uci set wireless.default_radio0.ssid="$WLAN_NAME" uci set wireless.default_radio0.encryption=psk2 uci set wireless.default_radio0.key="$WLAN_PASSWD" # ========== 5G WiFi配置 ========== uci set wireless.radio1=wifi-device uci set wireless.radio1.type=mac80211 uci set wireless.radio1.band=5g uci set wireless.radio1.channel=auto uci set wireless.radio1.htmode=VHT80 uci set wireless.radio1.country=CN uci set wireless.radio1.disabled=0 uci set wireless.default_radio1=wifi-iface uci set wireless.default_radio1.device=radio1 uci set wireless.default_radio1.network=lan uci set wireless.default_radio1.mode=ap uci set wireless.default_radio1.ssid="${WLAN_NAME}_5G" uci set wireless.default_radio1.encryption=psk2 uci set wireless.default_radio1.key="$WLAN_PASSWD" # 保存并重启WiFi uci commit wireless wifi reload fi # -------------------------- # 功能6:设置Argon主题 # -------------------------- if [ $ENABLE_THEME -eq 1 ]; then echo "→ 设置主题为 $THEME_NAME" uci set luci.main.theme="$THEME_NAME" uci set luci.main.mediaurlbase="/luci-static/$THEME_NAME" uci commit luci /etc/init.d/uhttpd restart fi # 配置完成 echo "===== 所有自动配置完成 ====="
浙公网安备 33010602011771号