前段时间,华硕发布了高达联名款RT-AX82U和RT-AX86U,除了船新配色外,还搭载了定制主题皮肤,煞是好看。虽然我心里的小鹿乱撞,心动不已,无奈家境贫寒。于是,琢磨着咱们能不能把这新皮肤移植到其他asuswrt/merlin路由器呢?答案是:我不会!要不,咱们来修改修改背景图?

0. 前期准备
0.1 一个U盘。
容量大小不限,文件格式不限,插上路由器可以正常识别、挂载即可。
Tips:
0.2 顶部title栏背景图。
title栏背景图像素为998×54,有效像素约980×54(即图片两边各留9像素的空白边),圆角半径10像素,保存为PNG格式备用。

0.3 主页背景图。
主页背景图宽度像素建议为X+998+X(X为图中左边红框宽度像素),高度像素与红框一致。保存为PNG格式备用。
举个例子:假设左边红框像素为400×1000,那么主页背景图像素应为(400+998+400)×1000。

0.4 base64编码图片
将两张背景图分别上传到OKTools,记下base64编码备用。

1. 启用路由器SSH服务。
登陆路由器管理界面,找到系统管理—>系统设置—>服务—>启用SSH,选择Lan Only—>应用本页面设置。

- 修改CSS样式。
2.1 拷贝index_style.css。
把路由器/www/index_style.css拷贝到电脑。命令如下:
scp remote_username@remote_ip:/www/index_style.css /local_folder
举个例子,我的路由器管理后台ip为192.168.50.1,用户名为admin,我想将index_style.css保存到桌面一个叫“web”的文件夹,那么命令就是:
scp admin@192.168.50.1:/www/index_style.css C:UsersAlphaDesktopweb

2.2 修改index_style.css。
2.2.1 将第3-5行的内容修改为:
background-color:#21333e;
background:url(data:image/png;base64,iVBORw0KGgoAAAAN……)#283437 no-repeat;
background-size: 1802px 999px;
background-position: center 0%;
margin: 0px;
background:#2834379;
Tips:
- backgroud:url后面的括号要替换成前面经base64编码后的主页背景图代码。
- backgroud-size修改为主页背景图分辨率。
2.2.2 将第43行background:url后面的括号中的内容替换成经base64编码后的title栏背景图代码。

3.将index_style.css上传至路由器/jffs。
由于/www只有读取权限,需要将index_style.css 上传到路由器可读写分区/jffs。命令如下:
scp /local_folder remote_username@remote_ip:/jffs
再举个例子,上面提到我把index_style.css保存在桌面一个叫web的文件夹内,那么把index_style.css上传至路由器/jffs命令就是:
scp C:UsersAlphaDesktopwebindex_style.css admin@192.168.50.1:/jffs

4.挂载index_style.css。
ssh登录路由器后,运行下面命令挂载修改后的index_style.css。
mount --bind /jffs/index_style.css /www/index_style.css
至此,在浏览器登录路由器管理后台即可看到新的背景图。
5.添加开机自启动脚本。
5.1 配置OPT环境。
登录路由器管理后台—>USB 相关应用—>下载大师。点击“安装”后稍等片刻,待下载大师安装完后OPT环境即配置完成。
Tips:
- 用不到下载大师可以在安装完毕后卸载之,opt环境会保留。

5.2 创建开机自启动脚本。
vi /opt/etc/init.d/S50changeskin
Tips:
- S50changeskin为脚本文件名,可以随意修改,但是必须以大写S+两位数字开头。
往脚本内添加以下内容:
#! /bin/sh
mount --bind /jffs/index_style.css /www/index_style.css

5.3 修改脚本权限
chmod 755 /opt/etc/init.d/S50changeskin
5.4 创建脚本控制文件
vi /opt/lib/ipkg/info/changeskin.control
Tips:
- ***.control需与前面的脚本文件名对应。例如:当脚本文件名为S50changeskin时,control文件应命名为changeskin.control。
往***.control内添加以下内容
Enabled: yes

赶紧重启路由器,看看咱们路由器背景是不是变啦。
最后附上两张背景图:
- 1.titile_bg.png
- 2.background.png
教程是不是很简单,估计大家都学会啦。那么,咱们有缘再见?
参考:
- 1.【然并卵】有意思教程第二季
- 2.ASUS AC88U 路由器开机自启方法