路由管理页萌化

2017年4月15日更新:最新版固件已加入自定义页面选项,本文作废,图片全部删除(因为没有意义了,也因为我自己配服务器玩脱55)

 

本教程仅用于Padavan固件,其他的就不用看了,前文是研究过程和我的一些想法,如果不想看可以直接往后翻,会找到你想要的。

很早就萌生出“我要有更好看的路由”这种想法,但那时受限于客观条件和技术,一直没有实现(当时在用的是基于VxWorks的水星普通路由)

再后来用上了自己改的OpenWrt路由,但是受限于内存空间,我连luci都没装,但那时候已经对智能路由有了初步的概念,我知道了在基于Linux的路由下,路由就像电脑一样运行着自己的操作系统和其他应用程序,管理页面也只是个使内部软件和用户可以方便交互的网站而已,那么,既然是个网站,我也可以自定义网站内容喽?

玩OpenWrt的朋友都知道,OpenWrt以可定制性,开源而著称。其可定制型尤为明显的体现在了其rootfs用户有着完全的写入读取权限,甚至在不当的设置下,你开的迅雷离线下载会把你要的小电影给下载到路由内置的只有仅仅几十兆甚至几兆的SPI Flash里面。但同时,玩家们也知道,OpenWrt实在是太麻烦了,他始终是各种大神手中的玩物,有时候一言不和就要自己交叉编译个新软件,工具链也要编译一编,实在是烦人,于是我换上了Padavan。
(正是因为上文提到的可直接写入rootfs,所以这里不讲怎么进行OpenWrt的萌化)

Padavan也是一个开源项目,但他有着相对易用的设置界面,同时也有一些国内开源工作者奉献的各种小功能,小插件,虽然定制性不好也不支持多拨,但易用性方面完爆OpenWrt,同时,正是因为定制性问题,也给我带来不少的麻烦。

几天之前,我用斐讯K1刷了这个固件,但是刷好之后觉得不太好看,就重拾了很久之前美化路由的想法,不过爱好特质,咱们走些二次元的,自然就是萌化了。期间因为本人缺少很多Linux的知识,知道的命令很少,所以寻求了很多人的帮助也查阅了一些资料。

这是原本的样子:

啧啧,其实不难看对不对,但我自己不太喜欢这个logo(这个logo是国内汉化编译组的logo)想要换掉,再顺便改一改配色什么的,先不提CSS。利用浏览器开发工具,我很快定位logo文件位于这里:

根据一般的想法,直接去修改就好了,于是我打开了路由的SSH功能,并使用一个可以方便浏览文件结构并进行文件操作的软件WinSCP,然后连接到了我的路由。

嗯,先给www以777权限,然而失败了:
/$ chmod 777 -R /www/
chmod: /www/: Read-only file system
chmod: /www/: Read-only file system

那么是不是因为没有分配权限呢?
/$ busybox mount -o remount,rw /

我想现在可以了,找到那个图标文件,删除!

奇怪了,这就非常不科学了,dmesg也没有看到什么异常,总之就是不能正常低赋予其删除权,后来ntzyz提出了一个意见,他让我试试修改启动参数看看能不能获得写入权,然而我对嵌入式的了解实在是欠缺,网上也缺少相关教程,只好选择放弃。


于是,正确的打开方式在今天就被研究出来了

其实不能说是我研究出来的,这也是我参照了Padavan的文档和一些帮助主题才知道的:

首先,这个固件所有不能修改的内容都是在Flash里面的 ,要用到mtd_storage.sh save 指令才能把放在/etc/storage目录下的内容压缩打包,存进 mtd5 的区块,然后用mound bind来把存进这个区块的数据覆盖在原来的数据上,可这没有卵用,因为源文件没有被修改,倒是类似于把文件链接过来的操作。不过这也是对于我的技术而言唯一可行的方法了,先看看我们有多少空间用于萌化吧
[Shell-Route /home/root]# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00030000 00010000 “Bootloader”
mtd1: 00010000 00010000 “Config”
mtd2: 00010000 00010000 “Factory”
mtd3: 0011b180 00010000 “Kernel”
mtd4: 00654e80 00010000 “RootFS”
mtd5: 00040000 00010000 “Storage”
mtd6: 007b0000 00010000 “Firmware_Stub”
[Shell-Route /home/root]# cat /proc/partitions
major minor  #blocks  name

31        0        192 mtdblock0
31        1         64 mtdblock1
31        2         64 mtdblock2
31        3       1132 mtdblock3
31        4       6483 mtdblock4
31        5        256 mtdblock5
31        6       7872 mtdblock6

就是那个mtd5,嗯,我们只能拿出来256kb来萌化,找个背景大图肯定存不下了。既然是萌化,那肯定就是替换资源喽,所以用以下命令替换
cd  /etc/storage/bin/
wget 你的资源url
chmod 777 你的资源
mtd_storage save
mount --bind /etc/storage/bin/你的资源 /你要替换的资源路径

很简单吧。不过,这样做的话需要每次开机都挂载一遍,所以我们需要把挂载命令放在启动脚本里
mount bind /etc/storage/bin/你的资源 /你要替换的资源路径

然后使用这个命令,保存修改的脚本
mtd_storage.sh save

至此萌化完毕

之前的效果,半成品:

评论

  1. 6年前
    2018-8-14 21:00:02

    编译新手找到了这篇文章2333
    我也在研究改网页源码,还在学习中

    • Shell
      博主
      Jacky
      6年前
      2018-8-14 21:04:11

      我的做法没有那么高端啦…基于linux的固件直接改文件来着(x

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇