自用 OpenWrt 固件,以减少新系统启动时必须的初始化配置为目标,达到开机无需配置即可使用
- 采用官方原版 ImageBuilder 构建而非从源码构建,几分钟即可构建完成
- 集成 OpenClash,构建固件时只需要提供 clash 配置链接即可在刷机完成后,直接启动 OpenClash
- 可配置默认 LAN 口 IP,PPPoE 账号密码,刷机完成后,不用配置网络
- 可按照官方推荐的 uci 功能进行自定义,无需代码修改,您可以通过 uci 进行几乎任何自定义
git clone https://github.com/ekkog/OpenWrt.git
cd OpenWrt
新建 .env 文件,配置 PPPOE 等相关变量
./run.sh --image=openwrtorg/imagebuilder:mvebu-cortexa9-22.03.3 --profile=linksys_wrt3200acm
OpenWrt 的 image 名字可以从 Docker Hub 上找到
ImmortalWrt 的 image 名字可以从 Docker Hub 上找到
PPPOE_USERNAME=
PPPOE_PASSWORD=
LAN_IP=
CLASH_CONFIG_URL=
添加额外软件包
EXTRA_PKGS=natmap python3-light
支持 OpenWrt 和 ImmortalWrt 所有版本
测试过的版本
- openwrtorg/imagebuilder:x86-64-22.03.3
- openwrtorg/imagebuilder:rockchip-armv8-22.03.3 (R2S)
- immortalwrtorg/imagebuilder:rockchip-armv8-openwrt-21.02.4 (R2S)
- immortalwrtorg/imagebuilder:x86-64-openwrt-21.02.5
Nanopi 系列推荐使用 ImmortalWrt,因为其对 R2S 的优化更好,比如内存,ImmortalWrt 打了 DMC patch,OpenWrt 没有
- https://github.com/vernesong/OpenClash
- https://github.com/MetaCubeX/Clash.Meta
- https://github.com/jerrykuku/luci-theme-argon
OpenWrt 在首次启动时,会执行 /etc/uci-defaults/
目录下的所有脚本,因此您可以通过在该目录下添加脚本,来实现自定义功能。
自定义功能举例:
- 设置默认密码
- 添加信任 SSH 公钥
- 添加 uci 脚本,实现自定义功能
感谢以下项目,使得我的上网体验又有所提升